完整word版单片机毕业设计完整版Word下载.docx
《完整word版单片机毕业设计完整版Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版单片机毕业设计完整版Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
2.1时钟电路的设计3
2.2复位电路的设计4
2.3数码显示电路的设计5
2.4按键电路的设计7
2.5蜂鸣器电路的设计8
2.6接线图9
三、软件系统设计方案
3.1模块化设计方案10
3.2主程序的设计11
3.3LED动态显示程序的设计14
3.4计时程序模块的设计17
3.5键盘程序的设计19
3.6蜂鸣器程序的设计22
3.7整个程序23
四、总结
总结与致谢28
参考文献29
使用说明29
第II页
一绪论
1.1单片机简介
1.1.1单片机的产生
计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成
电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展,从而出现了单片微型计算机。
所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处理器CPU、存储器ROM和RAM、输入/输出(I/O)接口电路等集成在一块集成电路芯片上的微型计算机,简称单片机。
总体来讲,单片机可以用以下“表达式”来表示:
单片机=CPU+ROM+RAM+I/O+功能部件
1.1.2单片机的特点
随着现代科技的发展,单片机的集成度越来越高,CPU的位数也越来越高,已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有以下特点:
1体积小,功耗低,价格便宜,重量轻,易于产品化。
2控制功能强,运行速度快,能针对性地解决从简单到复杂的各类控制问题,满足工业控制要求,并有很强的位处理和接口逻辑操作等多种功能。
3抗干扰能力强,适用温度范围宽。
由于许多功能部件集成在芯片内部,受外界影响小,故可靠性高。
4虽然单片机内存储器的容量不可能很大,但存储器和I/O接口都易于扩展。
5可以方便的实现多机和分布式控制。
1.1.3单片机的应用
单片机的应用具有面广量大的特点,目前它广泛的应用于国民经济各个领域,对技术改造和产品的更新起着重要作用。
主要表现在以下几个方面:
1单片机在智能化仪器、仪表中的应用:
由于单片机有计算机的功能,它不仅能完成测量,还既有数据处理、温度控制等功能,易于实现仪器、仪表的数字化和智能化。
2单片机在实时控制中的应用:
单片机可以用于各种不太复杂的实时控制系统中,如一般性的温度控制、液面控制、电镀顺序控制等。
将测量技术、自动控制技术和单片机技术相结合,充分发挥单片机的数据处理和实时控制功能,使系统工作于最佳状态。
3单片机在机电一体化中的应用:
单片机有利于机电一体化技术的发展,已广泛应用于数控机床、医疗设备、汽车设备等。
4单片机在多机系统中的应用:
单片机在多机系统中的应用是将来单片机发展的主要模式,它可以提高单片机的可靠性,使系统运行速度更快。
5单片机在计算机外围设备中的应用:
单片机广泛应用于打印机、绘图机等多种计算机的外围设备,特别是用于智能终端,可大大减轻主机负担,提高系统的运行速度。
6单片机在家用电器中的应用:
单片具有体积小、重量轻、价格便宜等特点,所以家电产品中配上微电脑后,使其身价百倍,功能更强,使用方便,灵活,深得用户欢迎。
7单片机在通信中的应用:
单片机广泛应用于移动通信领域,使移动电话的功能更强大,操作更方便。
二硬件系统设计方案
2.1时钟电路的设计
如图2-1所示。
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1
和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图1所
示。
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。
电
路中,电容器C1和C2对振荡器频率有微调作用,通常的取值范围30±
!
0pF;
石英晶体
选择6MHZ或12MHZ都可以。
其结果只是机器周期时间不同,影响计数器的计数初值。
U1
图2-2复位电路的设计
2.2复位电路的设计
如图2-2所示。
单片机的RET引脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。
复位以后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程
序。
单片机的复位方式有上电自动复位和手工复位两种。
图2是51系列单片机常用的上电复位和手动复位的组合电路,只要VCC上升时间不超过1ms,它们都能很好地工作。
阻容器件的参考值为,
2.3数码显示电路的设计
如图2-3所示。
单片机应用系统中,通常都需要进行人机对话。
这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行结果等。
显示器、键盘电路就是用来完成人机对话活动的人机通道。
LED显示器的驱动是一个非常重要的问题,由系统硬件设计框图可知,显示电路由LED显示器、段驱动电路和位驱动电路组成。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。
因此,在实际使用中必须接入LED驱动电路。
LED显示器的显示控制方式分为静态显示和动态显示两种,因此在选择LED驱动
器时,一定要先确定显示方式。
静态显示方式就是在任意时刻,所有显示器都按照各自接收的字型码同时显示对应的字符。
静态显示方式要求每位LED显示器的公共端必须接地(对共阴极LED),或接咼电平(对共阳极LED),而每位LED显示器都由一个具有锁存功能的8位端口去控制。
这里所指的8位端口可以直接采用并行I/O接口,也可以采用扩展的串行输入/并行输出移位寄存器。
动态显示是单片机应用系统中最常用的显示方式之一。
它是把所有显示器的同名字
端互相并联在一起,并把它们接到字形口上。
为了防止各个显示器同时显示出相同的字符,每个显示器的公共端还要受另一组信号控制,即把它们接到字位口上。
这样,对于一组LED数码显示器需要由两组信号控制:
一组是字形口输出的字形码,用来控制显示什么用的字符;
另一组是字位口输出的字位码,用来控制将字符显示在第几位显示器上。
在这两组信号的控制下,使各位显示器依次从左至右轮流点亮一遍,过一段时间再轮流点亮一遍,如此不断重复。
虽然在任一时刻只有一位显示器被点亮,但由于显示器具有余辉效应,而人眼又具有视觉惰性,所以看起来与全部显示器持续点亮效果完全一样。
若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可。
而且只须考虑段的驱动,因为共阳极接+5V,而共阴极接地,所以
位的驱动不需要考虑。
动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,
要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此厂家就生
产了位数、尺寸、型号不同的LED显示器供选择。
在本设计中,选择4位一体的时钟型LED显示器,简称“4-LED”前两位显示“天数”的十位和个位,中间两位显示“小时”的十位和个位,后两位显示“分”的十位和个位。
4-LED显示器的引脚如图3所示,是一个共阴极接法的6位时钟型LED显示器。
其中a、b、c、d、e、f、g为6位LED各段的公共引出端。
D1、D2、D3、D4、D5、D6分别是每一位的共阴极输出端,dp是小数点引出端。
4LED
图2-3数码显示电路的设计
2.4按键电路的设计
如图2-4所示,在倒计时时钟应用系统工作时按钮应具备随时对当前时间进行调整的功能。
要实现此功能,可以接入键盘输入电路。
键盘结构的选择:
在单片机组成的测控系统及智能化仪器中,用得最多的是非编码键盘。
键盘结构可以分为独立式键盘和矩阵式两类。
在本例中只需要3个按键,因此选择独立式键盘。
如图4,电路由按键和三个电阻组成,按键分别命名为day+1、hou叶1和minute+1键,按键可以采用轻触开关,电阻采用1KQ的。
键盘与单片机的接口电路设计:
如图2-4所示,将键盘直接与单片机的P2口连接。
用P2.2、P2.1、P2.0引脚分别与day+1、hou叶1、minute+1相连。
三个按键功能的设计思路如下:
Day+1键功能:
设置当前时间离奥运会举行时间的间隔,即天数。
Hour+1键功能:
设置当前的时间,即当电子时钟的时间有误差时,需要随时对它进行调整。
Minute+1键功能:
与hour+1键的功能一致,将时间达到更精确,以至分秒一
图2-4按键电路的设计
2.5蜂鸣器电路的设计
如图2-5所示。
设计要求定时时间到时要有声音提醒信号产生,可选择一只蜂鸣器来实现这一功能。
压电式蜂鸣器工作时约需10mA的驱动电流,并设计一个相应的驱动及控制电路。
电路设计如图5所示,蜂鸣器作为三极管VT1的集电极负载,当VT1导通时,蜂鸣器发出鸣叫声音,VT1截止时,蜂鸣器不发声。
蜂鸣器电路与单片机的接口:
VT1的基极接到单片机P2口的P2.3引脚,P2.3引脚作为输出口使用。
当P2.3=0时,VT1导通时,使蜂鸣器的两个引脚间获得将近5V的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音。
当P2.3=1时,VT1截止,蜂鸣器的两
引脚间的直流电压接近于0V,蜂鸣器不发声。
vee
图2-5蜂鸣器电路的设计
2.6接线图
三软件系统设计方案
3.1模块化的方案
进行应用软件设计时可采用模块化程序设计方法,其优点是:
每个模块的程序结构简单,任务明确,易于编写、调试和修改。
程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充
对于使用频繁的子程序可以建立子程序库,便于多个模块调用。
便于分工合作,多个人同时进行程序的编写和调试工作,加快软件研制进度。
设计方案及框图:
如图2-6所示。
根据设计要求,首先要确定软件设计方案,即确定该软件应该完成哪些功能;
其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。
划分模块时应遵循下述原则:
每个模块应具有独立的功能,能产生一个明确的结果。
模块之间的控制参数应尽量简单,数据参数应尽量少。
模块长度适中。
根据模块的划分原则,将该程序划分成6个模块。
主程序
当刖时间倒计时模块
图2-6整体设计框图
3.2主程序的设计
主程序的内容一般包括:
主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。
程序的起始地址
MCS-51系列单片机复位后,(PC)=0000H,而0003H—002BH分别为各中断源的入口地址。
所以,编程时应在0000H处写一跳转指令。
主程序的初始化内容
所谓初始化,是对将要用到MCS—51系列单片机内部部件或扩展芯片进行初始化工作状态设定。
MCS—51系列单片机复位后,特殊功能寄存器IE,IP的内容均为00H,所以应对IE,IP进行初始化编程,以开放CPU中断,允许某些中断源中断和设置中断优先级等。
主程序设计框图
主程序清单:
ALB_SETBITP3.2;
调节闹钟控制器
M_SETBITP3.3;
分钟控制位
H_SETBITP3.4;
小时控制位
SECONDEQU30H
;
秒计数器
MINUT