基于单片机的数字钟设计Word格式.docx
- 文档编号:6508582
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:27
- 大小:326.84KB
基于单片机的数字钟设计Word格式.docx
《基于单片机的数字钟设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字钟设计Word格式.docx(27页珍藏版)》请在冰点文库上搜索。
单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制[6],外围控制电路主要包括晶振电路模块、复位电路模块、按键电路模块以及数码管显示电路模块,通过这些控制电路的连接构成完整的电路,其结构框图如图1所示。
图1数字钟系统结构图
3.2功能分析
1.准确计时,以数字形式显示时、分、秒的时间;
2.小时的计时为24小时制,分和秒的计时要求为60进位;
3.八位数码管显示HH-MM-SS(时分秒),按键“模式键”依次选择调整“时”,“分”,“秒”,按键“加键”依次加1,按键“减键”依次减1;
4.晶振电路起到减小误差,提高精确度的作用;
5.复位电路是对单片机的初始化操作。
3.3数字钟设计原理
数字钟的实现一般有两种方法:
其一是直接用单片机的定时计数器产生固定时间,这种方法的优点是可以省去一些外围的芯片,其缺点是只能适用于一些要求不是十分精确、不作长期保留的场合;
而对于要求较高的场合,则必须选用专用的芯片[7],本设计采用的是第一种方法。
直接用单片机的定时计数器产生固定时间,这种方法的工作原理是利用单片机芯片的定时器产生固定时间,模拟时钟的时、分、秒。
基于这一原理构成的数字钟系统主要由以下几部分组成:
89C51单片机控制器电路,按键开关电路,8位数码管显示电路,复位电路,晶振电路五部分构成。
其工作原理电路图如图2所示。
图2数字钟设计原理图
3.3.1键盘控制电路
数字钟最基本的功能除了能正常显示时间外,还需要对时间进行设置和调整,所以要配以相应的键盘控制电路。
该设计的键盘控制电路主要包括3个按键:
P3.0作为系统的模式选择键,用来选择是正常走时还是分别对时、分、秒进行调整;
P3.1作为进行时分秒调整时的增加时间按键;
而P3.2作为进行时分秒调整时的减少时间按键。
键盘控制电路的硬件连接图如图3所示。
图3键盘控制电路
3.3.2晶振电路
晶振的全称叫晶体振荡器,它在单片机系统里作用非常大,主要作用是产生单片机所需的时钟频率,单片机执行程序所需的时间完全取决于单片机晶振所提供的时钟频率,时钟频率越高,那么单片机运行速度就越快[8]。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。
高级的精度更高。
有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
晶振电路如图4所示。
图4晶振电路
3.3.3复位电路
复位是单片机的初始化操作。
单片机启动运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作:
07H写入堆栈指针SP,P0口—P3口均置1,程序计数器PC和其他特殊功能寄存器SFR全部清零。
只要RST持续为高电平,单片机就处于循环复位状态[9]。
单片机的复位方式有上电自动复位和手工复位两种,本设计采用的是手动复位方式,其电路图如图5所示。
图5复位电路
3.3.4数码显示电路
发光二极管显示器驱动(点亮)的方法有两种。
一种是静态驱动法,即给欲点亮的LED通以恒定的定流。
这种驱动方法要有寄存器,译码器,驱动电路等逻辑部件。
当需要显示的位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。
另一种是动态驱动方法,这种方法是给欲点亮的LED通过通以电流,此时LED的亮度是通断的平均亮度。
为保证亮度,通过LED的脉冲电流应数倍于其额定电流值。
利用动态驱动法可以减少需要的逻辑部件和连线,单片机应用系统中常采用动态驱动法[10]。
数码管有两种接法即共阳极接法和共阴极接法。
所谓共阳共阴,是针对数码管的公共脚而言的。
一个1位典型的数码管,一般有10个脚,8个段码(7段加1个小数点),剩下两个脚接在一起。
共阳指的是公共脚是正极(阳极),所有的段码实际上是负极,当某一个或某几个段码位接低电平,公共脚接高电平时,对应的段码位就能点亮,进而组合形成我们看到的数字或字母。
共阴刚好相反,也就是公共脚是负极(阴极),段码位是阳极,当公共脚接地,段码位接高电平时,对应段码位点亮[11],本次设计选择共阴极数码管,其中有6位显示“时”,“分”,“秒”,剩下两位显示“—”数码管A~DP接单片机P1端口用于段选,1~9接单片机P2端口用于位选。
各个段码实际上是一个发光二极管,既然是发光二极管,就有正负极,为了防止驱动数码管电流过大而损坏,各端口接1K电阻。
8位共阴极LED数码显示电路如图6所示。
图6八位8段共阴极LED数码显示
4.数字钟的软件设计
4.1程序设计内容
单片机软件设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。
设计步骤如下所示。
1.采用模块化程序结构设计软件,首先将整个软件分成若干功能模块;
2.根据流程图,编写源程序;
3.上机调试各模块程序;
4.与硬件一起联调,最后完成全部调试工作。
4.2系统设计流程图
4.2.1主程序流程
图7主程序流程图
4.2.2定时器中断流程
图8定时器中断流程图
定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;
如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;
如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间,定时器中断流程图如图8所示。
4.2.3时间显示流程图
时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示.,时间显示流程图如图9所示。
图9时间显示流程图
5.系统调试
5.1KeilC51软件环境简介
KeilC51集成开发环境是基于80C51内核的微处理器软件平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立、管理、程序编译、链接、目标代码生成、软硬件仿真等完整的开发流程[12]。
尤其是C编译工具在产生代码的准确性和效率方面达到了较高水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。
KeilC51集成开发环境的主要功能有以下几点[13]:
(1)uVision2forWindows一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;
(2)C51国际标准优化C交叉编译器。
代码产生可重定位的目标模块;
(3)A51宏汇编器。
从80C51汇编源代码产生可重定位的目标模块;
(4)BL51链接/定位器。
组合由C51和A51产生可重定位的目标模块,生成绝对目标模块;
(5)LIB库管理器。
从目标模块生成连接器可以使用的库文件;
(6)OH51目标文件至HEX格式的转换器。
从绝对目标模块生成IntelHEX文件;
(7)RTX-51实时操作系统。
简化了复杂的实时应用软件项目的设计。
keilC51软件编译环境如图10所示。
图10keilC51软件编译环境
5.2Proteus软件环境简介
本系统的硬件设计首先是在Proteus软件环境中仿真实现的。
Proteus软件集成了高级原理绘图、混合模式SPICE电路仿真,PCB板设计以及自动布线来实现一个完整的电子设计系统[14]。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。
Proteus软件主要具有以下几个方面的特点[15]:
(1)设计和仿真软件Proteus是一个很有用的工具,它可以帮助学生和专业人士提高他们的模拟和数字电路的设计能力。
(2)它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。
(3)它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。
(4)它可以仿真目前流行的单片机,如PICS,ATMEL-AVR,MOTOROLA,8051等。
(5)在设计综合性方案中,还可以利用ARES开发印制电路板。
Proteus软件仿真环境如图11所示。
图11Proteus软件仿真环境
5.3数字钟系统PROTUES仿真调试结果
5.3.1引脚连接
8位高亮共阴极型数码管,单片机P1.0~P1.7接数码管A~DP脚,P2.0~P2.7接数码管9~1脚,P3.0~P3.2接模式键,加键,减键三个控制键,晶振电路连接单片机18,19端口(XTAL1,XTAL2),复位电路连接单片机端口9(RST),单片机的31号端口接VCC,
(注意:
20和40引脚分别接地和VCC),如图12所示。
图12引脚连接图
5.3.2仿真结果(电路原理图)
用PROTUES软件,根据数字电子钟的原理图,选择如图按钮开始仿真
,画出仿真图,如果显示如图
,则说明没有错误,即仿真成功得到仿真结果如图13如下所示。
图13数字钟的PROTES仿真
.5.3.3元件列表
序号
器件名称
数量
备注
1
主控芯片AT89C51(51系列均可以)
2
C51系列芯片均可以
8个(8段)共阴极数码管
8
(7SEG-MPX8-CC-BLUE)共阴极
3
普通电阻
25
大小为1k欧姆
4
普通按键
按键
5
电源
5V
6
PCB板
大小15cm*15cm
7
DB9串口,连线
各1个
与电脑或单片机连接下载线
USB接口,连线
与电脑或单片机连接USB下载线
9
晶振
2个
频率12mHZ(CRYSTAL)
10
电容
2个30pF,1个电解电容22uF
11
导线
若干
普通导线
参考文献
【1】林志琦,郎建军,等基于Proteus的单片机可视化软硬件仿真【M】.北京:
北京航空航天大学出版社,2006:
25.
【2】徐爱钧.单片机原理实用教程—基于Proteu虚拟仿真【M】.北京:
电子工业出版社,2009:
34.
【3】侯玉宝,陈忠平,李成群,等基于Proteu的51系列单片机设计与仿真【M】.北京:
电子工业出版社,2008:
21-42.
【4】周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真【M】.北京:
54.
【5】龙威林,杨冠声,胡山,单片机应用入门—AT89S51和AVR【M】.北京:
化学工业出版社,2008:
67.
【6】龚尚福,朱宇,郭秀才,王忠民,微机原理与接口技术【M】.西安:
西安电子科技大学出版社,2008:
32.
【7】李广第,朱月秀,冷祖祁,单片机基础【M】.北京.北京航空航天大学出版社,2007:
12.
【8】求是科技,靳达,单片机应用系统开发实例导航【M】.北京:
人民邮电出版社,2003:
9.
【9】戴佳,戴卫恒.51单片机C语言应用程序设计【M】.北京:
电子工业出版社,2006:
76.
【10】付家才.单片机控制工程实践技术【M】.北京:
化学工业出版社,2004:
25-27.
【11】张大明,彭旭昀,尚静基.单片微机控制应用技术【M】.北京:
机械工业出版社,2006:
56-57.
【12】赖麒文.8051单片机C语言彻底应用【M】.北京:
科学出版社,2002:
【13】何宏.单片机原理与接口技术【M】.北京:
国防工业出版社,2006:
29-43.
【14】刘松.单片机技术与应用【M】.北京:
机械工业出版社,2011:
30-31.
【15】王迎旭.单片机原理与应用【M】.北京:
8-9.
附录(源程序)
ORG0000H
LJMPMAIN
ORG000BH
LJMPDINGSHI
ORG001BH
LJMPTIAOSHI
STYLEBITP3.0;
模式健
PLUSBITP3.1;
加键
MINUSBITP3.2;
减键
SHIEQU30H;
时针
FENEQU31H;
分针
MIAOEQU32H;
钞针
MAIN:
MOVSHI,#00H
MOVFEN,#00H
MOVMIAO,#00H
MOV33H,#00H;
时钟扫描
MOV34H,#00H;
分钟扫描
MOV35H,#00H;
秒钟扫描
MOV36H,#00H;
时钟扫描计数
MOV37H,#00H;
时钟扫描闪烁
MOV38H,#00H;
分钟扫描计数
MOV39H,#00H;
分钟扫描闪烁
MOV3AH,#00H;
秒钟扫描计数
MOV3BH,#00H;
秒钟扫描闪烁
MOV3CH,#00H;
定时
MOV3DH,#00H;
模式
MOV40H,#00H;
消抖
MOVSP,#50H;
堆栈指针
MOVDPTR,#TABLE;
查找表首地址
MOVTH0,#(65535-20000)/256;
定时器初值
MOVTL0,#(65535-20000)MOD256
MOVTH1,#(65535-20000)/256
MOVTL1,#(65535-20000)MOD256
MOVTMOD,#11H;
定时器工作方式设置,T0,T0设置为方式一
SETBPT0;
设置T0为高优先级
SETBET0;
开定时器中断
SETBET1
SETBTR0;
启动定时器
SETBTR1
SETBEA;
开总中断
DISPLAY:
MOVA,33H
CJNEA,#00,X1;
判断时针是否扫描
MOVP2,#7FH;
选通数码管时钟的十位
MOVA,SHI
MOVB,#10
DIVAB;
把时针的十位个位分离
MOVCA,@A+DPTR;
把时针的十位放在累加器A中
MOVP1,A;
显示时针的十位
LCALLDELAY;
延时
MOVP2,#0BFH;
选通时针的个位
MOVA,B
MOVCA,@A+DPTR
MOVP1,A
LCALLDELAY
MOVA,37H
CJNEA,#01,X3;
判断是否闪烁
X1:
INC36H
MOVA,36H
CJNEA,#10,X2
MOV33H,#00
X2:
CJNEA,#20,X3
MOV36H,#00
MOV33H,#01
X3:
MOVP2,#0DFH;
显示分隔符
MOVA,#40H
MOVP1,A
MOVA,34H;
分针的显示
CJNEA,#00,F1
MOVP2,#0EFH
MOVA,FEN
DIVAB
MOVCA,@A+DPTR
MOVP2,#0F7H
MOVA,39H
CJNEA,#01H,F3
F1:
CJNEA,#10,F2
MOV34H,#00H
F2:
CJNEA,#20H,F3
MOV36H,#00H
MOV34H,#01H
F3:
MOVP2,#0FBH;
MOVA,35H
CJNEA,#00H,M1
MOVP2,#0FDH;
秒针的显示
MOVA,MIAO
MOVP2,#0FEH
MOVA,3BH
CJNEA,#01,M3
M1:
INC3AH
MOVA,3AH
CJNEA,#10,M2
MOV35H,#00H
M2:
CJNEA,#20H,M3
MOV3AH,#00H
MOV35H,#01H
M3:
LJMPDISPLAY
DINGSHI:
PUSHACC
PUSHPSW
MOVTH0,#(65535-20000)/256;
定时器赋初值
INC3CH
MOVA,3CH
CJNEA,#50,J1;
判断是否为一秒,若为一秒顺序执行,否发生跳转
MOV3CH,#00H;
定时次数清零
INCMIAO;
秒针加一
CJNEA,#60,J1;
判断是否为一分
MOVMIAO,#00;
秒针清零
INCFEN;
分针加一
CJNEA,#60,J1;
判断是否为一时
MOVFEN,#00H;
分针清零
INCSHI;
时针加一
CJNEA,#24,J1;
判断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 设计