当前位置:文档之家› 51单片机课程设计——智能风扇

51单片机课程设计——智能风扇

51单片机课程设计——智能风扇
51单片机课程设计——智能风扇

智能电风扇的设计

学院**********************专业班级*****

学生姓名****

指导教师******

20**年*月**日

引言

随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。

现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。

存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。

之所以会产生这些隐患的根本原因是:缺乏对环境的检测。

如果能使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的不足。本次设计就是围绕这两点对现有电风扇进行改进。

1.总体方案设计及功能描述

本设计是以AT89C51单片机控制中心,主要通过提取热释电红外传感器感应到的人体红外线信息和温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。

功能描述:电风扇工作在四种状态:手动调速状态、自动调速状态、定时状态、停止状态。

手动状态时可以手动调节速度;自动状态时通过温度高低自动调节速度,如果出现手动现象则变为手动状态;定时状态时可以调节定时时间,并设定是否启动定时,之后可以手动退出,也可以在不操作6秒后自动退出进入手动状态;停止状态时可以被唤醒并进入自动状态。

当没有检测到人体存在超过3分钟或定时完毕时进入停止状态。

在数码管显示方面,当没有定时时,只显示气温,当定时启动时气温和定时剩余时间以3秒的速度交替显示。

系统方框图如下图所示,主要包括:输入、控制、输出三大部分8个功能模块。

图1-1系统方框图

2.功能模块硬件简介与实现

2.1键盘输入电路

由于设计中用到的按键数目不多,所以可以直接用AT89C51的通用IO 端口且选用AT89C51的P1口(内部有上拉电阻)作为键盘接口。对于按键只需一端接地另一端接P1口即可。见下图(2-1):

图 2-1

2.2热释电红外传感器模块

2.2.1热释电红外线传感器原理简介

人体辐射的红外线中心波长为 9~10um ,而探测元件的波长灵敏度在 0.2~20um 范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为 7~10um ,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。

实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。在环境温度有ΔT 的变化时,由于有热释电效应,在两个电极上会产生电荷ΔQ ,即在两电极之间产生一微弱的电压ΔV 。

2.2.2热释电红外线传感器应用

热释电红外线传感器有三个端口,如图2-2所示:一个接电源、一个接地、一个信号端口,当有人进入其检测区域时,信号端口便产生一个电平跳变,并维持数秒钟,我们就是利用这个跳变来判断是否有人在这个检测区域。

图2-2

2.3温度传感器

2.3.1温度传感器DS18B20简介

新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线,在实际应用中取得了良好的测温效果。

DS18B20的主要特性:

(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)测温温范围-55℃~+125℃

(3)最高分辨率为0.0625℃。

2.3.2 DS18B20的一般操作过程

(1)、初始化;

(2)、跳过ROM(命令:CCH);

(3)、温度变换(命令:44H);

(4)、读暂存存储器(命令:BEH);

注:每次读取温度都要经过上面四个过程。

2.3.3 DS18B20的温度存储方式即温度计算

DS18B20是用12位存储温度,最高位为符号位,下图为它的温度存储方式:

表2-1 DS18B20温度存储地址分配

这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

2.4数码管显示电路

2.4 174ls164简介

移位寄存器是一类应用很广的时序逻辑电路,在时钟脉冲的作用下,低位寄存器的数码送给高位寄存器,作为高位寄存器的次态输出。 在时钟脉冲的作用下,高位寄存器的数码送给低位寄存器,作为低位寄存器的次态输出;移位寄存器:除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。

74ls164是八位串入并出移位寄存器,其工作电压范围4.75~5.25V ,大于2V 的高电平输入、小于0.8V 的低电平输入,clock 最高响应频率为25MHZ ,八位并行输出可以直接驱动八段数码管。74ls164的引脚图及功能图如下所示:

图2-3 74ls164的引脚图及功能图

2.4.2共阴极八段数码管简介

共阴极八段数码管是将八段发光二极管封装在一起且二极管的阴极连在一起,原理图如下图所示,公共端接低电平,其它八个端口高电平点亮相应的二极管,低电平相反。

图2-4

O B

A GND O O A

B O

C O

D O SERIAL INPUTS OUTPUTS OUTPUTS

2.4.3显示电路设计

此显示电路采用两位静态数码管显示,用八位串入并出移位寄存器74LS164作为驱动电路,采用共阴极八段数码管原理图示意图如下:

图 2-5

从图中可以看出控制线只有两条:1、数据线;2、移位脉冲线。它只占用很少的IO 口。

2.5

发光二极管电路

发光二极管简称为LED ,它是半导体二极管的一种。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R

可用下式计算:

R =(E -U f )/I f

式中E 为电源电压,U f 为LED 的正向压降,I f 为LED 的一般工作电流。发光二极管的两根引线中较长的一根为正极,应按电源正极。

与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。

由于AT89C51的P0口是开漏输出,所以此电路可以设计位如下简单形式:

图2-6

L E D 1

2.6蜂鸣器电路

蜂鸣器工作原理简介:当控制端口通以不同频率及不同占空比的信号时蜂鸣器将发出不同强度及不同频率的声音。由于其具有比传统的喇叭体积小,价格低等优点,所以此次提示音电路选用蜂鸣器。具体电路见下图:

图2-7

2.7继电器控制电路

2.7.1继电器简介

继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

它有几个重要指标:

1、额定工作电压:正常工作时线圈所需要的电压。

2、直流电阻:继电器中线圈的直流电阻。

3、吸合电流:继电器能够产生吸合动作的最小电流。

4、释放电流:继电器产生释放动作的最大电流。

5、触点切换电压和电流:继电器允许加载的电压和电流。

蜂鸣器

2.7.2继电器驱动电路设计及工作原理简介

采用晶闸管也可以用于小电流控制大电流电路,但是其控制电路比较复杂,而采用继电器其控制电路就比较简单,且具有电气隔离作用。虽然其响应速度没有晶闸管快但在低频情况下采用继电器控制电路较为方便。其电路图如下所示:

图2-8

电路工作原理简介:当控制端口为低电平时,三极管导通继电器吸合,常闭触电断开,常开触点闭合。当控制端口为高电平时三极管关断,继电器线圈通过二极管放电并断开,常闭、常开触电复位。

3.软件设计与实现

3.1整体设计思路介绍

软件设计整体思路:主程序部分进行一些初始化以及温度的读取;外部中断0进行红外线感应延时时间的重新加载;定时器0进行键盘的扫描及相关操作;定时器1进行显示、温控速度、以及相关需要延时(如倒计时等等)的操作。在显示方面,进行了一些改善----要显示的值有变化才进行重新刷新,否则不刷新。这样就大大提高了效率及最终的显示效果(不会出现不该亮的部分还有亮的现象)。

3.2主要部分流程图如下:

3.2.1主程序流程图

图3-1

3.2.2外部中断流程图

图3-2 3.2.3定时器0中断流程图

图3-3

3.2.4定时器1中断流程图

图3-4

结束语

早在《单片机原理及接口技术》这门课还未结束的时候,陆仲达老师就给我们布置了基于51单片机的课程设计。我从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。

关于51的应用设计,从上课开始我就不满足于那些诸如电子钟、交通灯控制等司空见惯的设计,我希望能把主题定位得更新颖、更具挑战性,正好夏天也到了,于是把题目定为:智能电风扇的设计。

题目确定下来,我便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导老师的指导及同学的帮助下,我终于对自己的工作方向和方法有了初步掌握。资料已经查找完毕,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。

当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的课程设计稿件我的心里是甜的,我觉得这一切都值了。这次课程设计论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。

本设计最终实现了电风扇的手动调速、温控自动调速、定时、温度显示、人体检测等预期功能,其中定时在1到99分钟连续可调,人体检测范围角度120度、距离6米,人体检测延时时间3分钟,定时器自动退出时间6秒。存在不足之处就是人体检测抗干扰方面不够好,需要提高。

我不会忘记这难忘的半个月的时间。课程设计论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用protel 99 se设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。

在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。

在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成课程设计。

附录:程序清单

/*********************************************************************** touwenjian.h

***********************************************************************/ typedef unsigned char byte;

typedef unsigned int word;

//以下管脚配置

//ds18b20部分

sbit DQ =P3^4;

//显示部分

sbit DB=P2^0;

sbit CP=P2^1;

//发光显示部分

sbit LED_dingshi=P0^0;

sbit LED_shoudong =P0^1;

sbit LED_zidong=P0^2;

sbit LED_kuai =P0^3;

sbit LED_zhong =P0^4;

sbit LED_man =P0^5;

//键盘定义部分

#define wujian 0x3f

sbit KEY1=P1^0 ; //状态转换/启动

sbit KEY2=P1^1 ; //+10 / 1

sbit KEY3=P1^2 ; //-10 / 2

sbit KEY4=P1^3 ; // 3

sbit KEY5=P1^4 ; // 0 确定

//继电器控制部分

sbit JDQ1=P2^4; //0表示开通,1表示关断

sbit JDQ2=P2^5;

sbit JDQ3=P2^6;

//蜂鸣器部分

sbit call=P2^7; //低电平鸣叫

/*********************************************************************** ds18b20.c

***********************************************************************/ #include

#include"touwenjian.h"

/*****************************************************

延时子程序

*****************************************************/

extern void delay(word useconds)

{

for(;useconds>0;useconds--);

}

/*****************************************************

复位子程序

******************************************************/

static byte ow_reset(void)

{

byte presence;

EA=0;

DQ = 0; // pull DQ line low

delay(45); // leave it low for 480us //551us

DQ = 1; // allow line to return high

delay(4);// wait for presence //61us

presence = DQ; // get presence signal

delay(40); // wait for end of timeslot //491us

EA=1;

return(presence); // presence signal returned

} // 0=presence, 1 = no part

/*******************************************************

从1-wire 总线上读取一个字节子程序

********************************************************/

static byte read_byte(void)

{

byte i;

byte value = 0;

EA=0;

for (i=8;i>0;i--)

{

value>>=1;

DQ = 0; // pull DQ low to start timeslot

DQ = 1; // then return high

{unsigned char i;

for(i=0;i<2;i++);}//11us

if(DQ)value|=0x80;

delay(6);// wait for rest of timeslot

}

EA=1;

return(value);

}

/******************************************************** 向1-WIRE 总线上写一个字节

*********************************************************/ static void write_byte(char val)

{

byte i;

EA=0;

for (i=8; i>0; i--) // writes byte, one bit at a time

{

DQ = 0; // pull DQ low to start timeslot

DQ=0;

DQ = val&0x01; //6US

delay(5);// hold value for remainder of timeslot //74us

DQ = 1;

val=val>>1;

}

EA=1;

delay(5);

}

/******************************************************* 读取温度

*******************************************************/ word Read_Temperature(void)

{

union{

byte c[2];

word x;

}temp;

ow_reset();

write_byte(0xCC); // Skip ROM

write_byte(0xBE); // Read Scratch Pad

temp.c[1]=read_byte();

temp.c[0]=read_byte();

ow_reset();

write_byte(0xCC); //Skip ROM

write_byte(0x44); // Start Conversion

return temp.x;

}

/***************************************************************

求解温度

***************************************************************/

extern byte Real_Tem(void)

{

word wen;

wen=Read_Temperature();

return((wen>>4)&0x00ff);

}

/*********************************************************************** Main.c

***********************************************************************/ #include

#include"touwenjian.h"

//数据区

#define time_default 41

byte dingshi_time=time_default;//存放定时时间''''''

bit flag_dingshi=0; //0表示没有定时

word dingshi_jishu3=1000;//1000*60=1分钟

//

bit flag_dingshi_delay=0;//1表示有

byte dingshi_delay=100;

//

#define hwx_delay_const 3 //人体感应延时时间

byte hwx_delay=hwx_delay_const;//用于保存红外线触发延长时间

word hwx_jishu1=0;

//

byte wendu=0;//用于存放温度值''''''

//

#define low_wen 18

#define mid_wen 20

#define hig_wen 24

#define vhi_wen 28

//

byte time_stor=100; //存储主观时间//触发显示

byte wendu_stor=low_wen;//存储主观温度//触发显示

//

enum station0{zidong,dingshi,shoudong,weak}state;

//函数说明区

extern byte Real_Tem(void );

extern void delay(word useconds);

void mingjiao(void);

void display(byte input,bit kkl);

void auto_speed(void);

void weak_default(void);

/******************************************************************* 主程序

*******************************************************************/

void main()

{

//定时器0用于键盘扫描

TMOD=0x01|TMOD;//定时器0的1方式

TH0=0xd8;TL0=0xf0; //定时器0初始化10ms扫描一次

//定时器1用于显示

TMOD=0x10|TMOD;//定时器1的1方式

TH1=0x15;TL1=0xA0; //定时器1初始化60ms中断一次

//外部中断

TCON=TCON|0x01;//外部中断0都下降沿触发

//以下为开启部分

IP=0X01; //两个定时器同等优先级

IE=0x8b; //开启定时器0,1,外部中断0中断

//

while(Real_Tem()==85);

auto_speed();

LED_zidong=0; //刚开始为自动方式

P1=P1|0X7C; //拉高五个键盘

wendu_stor=100; //两个不可能值//用于启动显示

time_stor=100; //两个不可能值//用于启动显示

//

TR0=1; //开启定时器0

TR1=1;

while(1)

{

wendu=Real_Tem();

}

}

/*********************************************************************** ************

定时器0中断服务子程序

功能:进行键盘处理

说明:键盘输入为P1.0到P1.4

*********************************************************************** ************/

void time0(void) interrupt 1

{

byte jianpan;

TH0=0xd8;TL0=0xf0;

jianpan = P1 & wujian;

if(jianpan != wujian) //如果还有键盘值提取键盘值

{

delay(500);//延时消抖

jianpan = P1 & wujian;

if(jianpan==wujian)goto time_out;

switch(state)

{

case dingshi: if(KEY1==0)//状态转换时做些相应的处理

{

state=shoudong;

LED_shoudong=0;

flag_dingshi_delay=0;dingshi_delay=100;

time_stor=100;wendu_stor=100;//触发

mingjiao();

while(KEY1==0);

}

else if(KEY2==0)//加分

{

if(dingshi_time<90)

{dingshi_time+=10;}

dingshi_delay=100;//

mingjiao();

while(KEY2==0);

}

else if(KEY3==0)//减分

{

if(dingshi_time>10)

{dingshi_time-=10;}

dingshi_delay=100;//

mingjiao();

while(KEY3==0);

}

else if(KEY4==0)//定时与否

{

flag_dingshi=~flag_dingshi;

if(flag_dingshi==1){LED_dingshi=0;}

else {LED_dingshi=1;dingshi_jishu3=1000;}

dingshi_delay=100;//

//

mingjiao();

while(KEY4==0);

}

else if(KEY5==0)

{

weak_default();

mingjiao();

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

基于51单片机的智能密码锁

单片机的电子密码锁 目录 第一章绪论......................................................... . (2) 1.1电子密码锁简介......................................................... .. (2) 1.2电子密码锁设计的背景及意 义............................................................................. . (3) 第2章总体设计............................................................................. . (3) 2.1设计分析............................................................................. (3) 2.2系统结构............................................................................. (4) 第3章硬件电路设计............................................................................. (5) 3.1单片机最小系统设计............................................................................. . (5) 3.1.1时钟电路............................................................................. (5) 3.1.2 复位电 路 ............................................................................ . (6) 3.1.3 最小系 统 ............................................................................

单片机课程设计题目

《单片机原理与应用》课程设计题目 1.基于单片机的电子秒表 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。 要求按键输入采用中断方式,按键A接INT0,按键B接INT1。 2.智能电动百叶窗 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。 设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。 按键输入采用中断方式,按键中断请求信号接INT0. 单片机根据设定光强S1和S2(S2 > S1)和实测光强P控制电机M的动作:当P<=S1时,控制M正转以增加进光量; 当P>S2时,控制M反转以减少进光量; 当S1S+1时,控制R断开电加热回路; 当S-1

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

基于51单片机的智能窗帘控制系统设计与实现

项目编号___201111 ___ 江南大学物联网工程学院 大学生创新训练计划结题报告 项目名称基于51单片机的智能窗帘控制系统设计与实现项目负责人晶 所学专业电气工程及其自动化 所在学院物联网工程学院 (手机) 电子信箱diamond-heartqq. 项目起止年月2011/11-2012/05 第一指导教师肖永松 专业技术职务工程师 (手机) 电子信箱https://www.doczj.com/doc/997212568.html, 结题日期2012年5月

江南大学物联网工程学院创新训练计划项目结题验收表学院名称:物联网工程学院填写日期:2012 年5 月

大学生创新训练计划 《基于AT89C51单片机的智能窗帘控制系统》成果精粹 江南大学 二○一二年五月

简介 随着物联网概念的发展,智能家居的理念也渐渐渗透到我们的生活中,受此启发,我们想尝试着做一个智能窗帘的控制系统,希望可以通过光强和时间来控制窗帘的开合。恰好我们都进行了电路、模电数电的学习,也曾初步接触了单片机,我们想通过设计这个控制系统来加深我们对所学容的理解和掌握,更加熟悉使用protel等专业软件。 计划设计一个系统可以实现以下功能: 在自动模式下,在设定的时间,如早成6点至晚上8点,晚上8点至早晨6点,时间控制,可以避免室开灯造成窗帘自动拉开。通过光强控制,在设定光照强度围,窗帘拉开,超过设定强度,如夏日中午,为避免房间被光直射造成温度过高,窗帘关闭。在手动模式下,通过按键来调整窗帘的开合状态。 最终设计使用STC89C51单片机,STC89C51有512字节的数据存储空间,是AT89C51的两倍,并且带有4K字节的EEPROM存储空间,可以断电后保存资料,可以直接使用串口下载,而AT89C51需要专用下载器。 控制系统可以实现对光信号的采集、转换、传输,并根据单片机接收到的信号,结合时钟电路的信号,对步进电机进行控制,通过控制步进电机转向及转动圈数,来实现对窗帘的打开及拉合控制。 设计时对硬件进行了模块化分析,以STC89C51作为主控芯片,光信号采集使用光敏模块,数模转换主要使用PCF8591芯片,显示模块采用1602液晶显示器,时钟电路采用DS1302芯片,电机驱动器主要使用ULN2003。

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

基于51单片机的智能交通灯课程设计

简易智能交通灯设计 1、设计背景 自从1886两个德国人发明了第一辆汽车交通灯改变了交通路况,交通问题也渐渐被人们所重视。从英国伦敦街头的第一个以燃煤气为光源的红,蓝两色的机械扳手式信号灯,到现在以电为光源的红黄绿三色交通灯,不知不觉中交通信号灯在人们日常生活中占据了重要地位。随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。 近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本次课程设计以模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。在一定程度上解决了交通路口堵塞、车辆停车,特殊情况的交通灯等待时间不合理、急车强通等问题。在该次的设计系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 本模拟系统由单片机软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好的模拟了对交通路面的控制。 1.1 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,并基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行倒计时显示电路,灯状态电路,特殊情况按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计和仿真中,程序在KEIL软件中用单片机c语言编写,电路的搭建和仿真实现是在proteus软件中实现的。在本次课程设计中通过对单片机内部结构和工作情况做了一定的研究,充分了解定时器,中断以及延时原理,为本次智能交通灯的设计提供了理论基础。

51单片机课程设计源程序

TIME0_DOWN EQU F0 ;将F0设置为定时器0定时到标志 FINISH_ID EQU 30H ;学号发送标志 KEY_FLAG BIT 00H ;有键按下标志 KEY_LONG BIT 01H ;键长按 KEY_D EQU 31H ;键值存放地址 ADC0809_AD EQU 8000H ;设置ADC0809地址 DAC0832_AD EQU 0000H ;设置DAC0832地址 ADC_FLAG BIT 02H ;设置ADC0809读数据标志 ADC_DATE EQU 32H ;设置ADC0809数据地址 ADC_0 EQU 33H ;ADC0809转化为BCD码后个位存放地址 ADC_1 EQU 34H ;十分位存放地址 ADC_2 EQU 35H ;百分位存放地址 ADC_3 EQU 36H ;千分位存放地址 ORG 0000H ;程序开始,跳转至主程序 0000 020030 LJMP MAIN ORG 0003H ;外部中断0入口0003 020141 LJMP INT0_IN ORG 000BH ;设置定时器0中断入口地址 000B 020132 LJMP TIME0 ORG 0013H ;外部中断1入口0013 020151 LJMP INT1_IN ORG 0030H ;主程序开始地址 0030 758169 MAIN: MOV SP,#69H ;初始化堆栈指针 0033 C292 CLR P1.2 ;显示器清零 0035 D292 SETB P1.2 0037 753000 MOV FINISH_ID,#0 ;将标志位清零 003A C2D5 C LR TIME0_DOWN 003C C200 CLR KEY_FLAG 003E C201 CLR KEY_LONG 0040 753100 MOV KEY_D,#0 0043 C202 CLR ADC_FLAG 0045 753200 MOV ADC_DATE,#0 0048 753300 MOV ADC_0,#0 004B 753400 MOV ADC_1,#0 004E 753500 MOV ADC_2,#0 0051 753600 MOV ADC_3,#0 0054 C291 CLR P1.1 ;初始化键盘,行线置零,有键按下触发中断 0056 C293 CLR P1.3

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

基于51单片机智能控制仪表简单设计

智能控制仪表简单设计 龙岩学院电子信息工程 学号:200402208 姓名:邓晶晶指导老师:吴春富 【摘要】:随着传感器技术、微电子技术、单片机技术的不断发展,为智能控制仪表测控功能的完善、 测控精度的提高和抗干扰能力的增强等提供了条件。本设计介绍了一种用变送器现场采集的温、湿度等信号再经A/D 转换送单片机进行处理,最后通过数码显示器,键盘等硬件设计实现了工作过程的自动化。一般的单片机系统在工业现场等恶劣的环境下容易死机,所以在本文中外加监视电路对系统起保护作 用。 关键词】:AT89C52 单片机;HD7279A; 看门狗;

第1章引言 仪器仪表是人类认识世界的工具,人们借助于各种仪器仪表对各种物理量进行度量,反映其大小与变化规律.随着人类认识能力的提高与科学技术不断进步,仪器仪表技术得到了飞速发展.50年代以前, 仪器仪表多为指针式,其理论基础是机电学?从50年代起,电子技术特别是数字技术的发展,给仪表行业带来了生机,各种数字式仪表相继问世,许多传统的指针式仪表相继被淘汰,数字仪表使仪表外观耳目 一新,数据表达能力与总体性能都大幅提高? 70年代中期,随着微处理器的出现以及单片机的兴起与应 用,设计者将计算机特有的许多优点引入仪表设计,随之产生了一代崭新的智能仪表,使仪表逐渐由数字型向智能化发展,其功能也由单一显示功能转变为具有信息处理、传输、存贮、显示、控制等功能,使仪 表性能产生了质的飞跃.,品种繁多?目前,我国仪器仪表有13大类,1 300多个产品.其中自动化仪表及控制系统是和国民经济各产业部门关系最为密切的一类产品,其传感变送单元与主控装置及I/O接口 均正朝智能化方向发展?在本设计中采用以单片机作为仪表核心控制器件,可以利用A/D转换芯片对标 准信号进行采集、转换,将输入的模拟量转换成单片机能够检测的数字量进行分析和监测控制,同时可 以利用键盘显示电路将相关数据进行显示。与此同时通过所查阅的资料我还了解到随着测量技术的发展 和微处理器的广泛应用,单片机系统的电路越来越复杂,而系统的可靠性问题也越来越突出,一般的单 片机系统在工业现场等恶劣的环境下容易死机,因此系统在这些场合要保证能够稳定的工作就必须外加 监视电路,在设计中采用了美国集把关定时器、电压监控和串行EEPRO三项功能于一体的专用集成芯 片X5045。该芯片的应用将有利于简化单片机系统的结构,增强功能、降低系统的成本,尤其是大大的增加了系统的可靠性。X5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET言号向CPU作出反应。X5045提供了三个时间值供用户选择使用。它所具 有的电压临控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。本次毕业设计旨在掌握智能控制仪表的设计方法,同时掌握在开发系 统下实现部分软件的仿真方法。 第2章控制系统的硬件设计 硬件组成智能仪表的硬件方框图如图 2.1 图2.1 智能控制仪表的原理框图 2

基于51单片机课程设计报告

单片机课程设计 课题:基于51单片机的交通灯设计 专业:机械设计制造及其自动化 学号: 指导教师:邵添 设计日期:2017/12/18 成绩: 大学城市科技学院电气学院 基于51单片机数字温度计设计报告

一、设计目的作用 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。DS18B20支持“一线总线”接口,测量温度围-55°C~+125°C。在-10~+85°C围,精度为±0.5°C。18B20的精度较差,为±2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。 二、设计要求 (1).利用DS18B20传感器实时检测温度并显示。 (2).利用数码管实时显示温度。 (3).当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。 (4).能够手动设置上限和下限报警温度。 三、设计的具体实现 1、系统概述 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案设计框图如下:

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

(完整word版)51单片机课程设计实验报告

51单片机课程设计报告 学院: 专业班级: 姓名: 指导教师: 设计时间:

51单片机课程设计 一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、总原理图及元器件清单 1.总原理图 2.元件清单 三、模块电路分析 1. 最小系统: 单片机最小系统电路分为振荡电路和复位电路, 振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;

图 1 图 2 复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可; 图 3 当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST 为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST 为低电平。正常工作为低电平,高电平复位。 2. 显示模块: 分析发光二极管显示电路: 图 4 发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为

LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,产生自发辐射的荧光。图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。其余四个为功能状态指示灯,实际作用与学习板有关 分析数码管显示电路 图 5 数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。数码管主要用来显示经电路板处理后的程序的运行结果。图中使用了八个八段数码管,可以显示八个0-15的数字。使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。 四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。 1、详细描述硬件安装过程中出现的故障现象,并作故障分析,及解决方法。 六、软件调试

51单片机课程设计 AD转换

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

AD转换 要求: A.使用单片机实现AD转换 B.可以实现一位AD转换,并显示(保留4位数字)设计框图:

方案设计: AD转换时单片机设计比较重要的实验。模数转换芯片种类多,可以满足不同用途和不同精度功耗等。 外部模拟量选择的是简单的电位器,通过控制电位器来改变模拟电压。显示电压值采用一般的四位七段数码管。而AD转换芯片采用使用最广的ADC0809 ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。 下面说明各引脚功能: ?IN0~IN7:8路模拟量输入端。 ?2-1~2-8:8位数字量输出端。 ?ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。?ALE:地址锁存允许信号,输入端,高电平有效。 ?START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 ?EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 ?OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ?CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。

?REF(+)、REF(-):基准电压。 ?Vcc:电源,单一+5V。 ?GND:地 工作原理: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 本次实验采用中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

89C51单片机课程设计之秒表设计实验报告.

这里可以加学校LOGAL 单片机课程设计报告 院系:12级物信系 班别:光信息科学与技术7班 课程名称:秒表设计 姓名:龚俊才欧一景 学号:1210407033 1210407041 指导老师:张涛 2011.12.23

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2软件方案设计 3 程序编写流程及课程设计效果3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会 5 相关查阅资料

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C52RC设计一个4位LED数码显示“秒表”,显示时间为 00.00~99.99秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决三个主要问题,一是有关单片机定时器的使用;二是如何实现LED 的动态扫描显示;三是如何对键盘输入进行编程。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有两个开关按键:其中key1按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key2按键按下去时数码管清零,复位为“00.00”. 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步 的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的 计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 六、课程设计仪器 a) 集成电路芯片8051,七段数码管,89C51单片机开发板 b) MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2)。

相关主题
文本预览
相关文档 最新文档