基于单片机51的电子时钟设计Word格式文档下载.docx
《基于单片机51的电子时钟设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机51的电子时钟设计Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。
4.绘制控制软件流程图;
5.编写相应的控制程序;
6.利用Protel绘制系统原理图及PCB图,要求PCB图进行手工布线设计。
3.设计工作任务及工作量的要求(包括课程设计说明书、图纸、实物样品等)
按照任务书要求,完成课程设计说明书一份,系统原理图及PCB图,程序清单一份
4.主要参考文献:
【1】李朝青单片机原理及接口技术。
北京航空航天大学出版社,2005年
【2】李群芳肖看单片机原理、接口及应用。
清华大学出版社,2005年
【3】陈汝全电子技术常用器件应用手册。
机械工业出版社,2004年
【4】沈精虎电路设计与制版——Protel99SE入门与提高,2007年
【5】张俊谟单片机中级教程原理与应用。
北京航空航天大学出版社,2000年
5.毕业设计工作进度计划:
原理图、PCB图、程序清单
6.工作计划及进度
2011年
5月30日~6月1日查相关资料,掌握单片机原理及相关的接口技术。
6月2日~6月5日根据设计任务查阅相关资料,选择所需的外围器件。
6月6日~6月7日进行原理图设计,用Protel绘制原理图和PCB图
6月8日~6月9日绘制控制程序流程图,编写相应的控制软件。
6月10日~6月11日完成课程设计说明书
6月11日答辩或成绩考核
目录
1.单片机简介及工作原理…………………………………………1
2.MCS-51定时器/计数器、中断系统简介………………………4
3.键盘和LED数码管显示器简介…………………………………4
4.时钟模块……………………………………………………………5
5.基本原理……………………………………………………………5
6.硬件电路……………………………………………………………6
7.软件程序流程及代码……………………………………7八.设计制作流程………………………………………………………8
9.总结………………………………………………………………10
十.主要参考文献……………………………………………………13
1.单片机简介及工作原理:
1.单片计算机即单片微型计算机。
(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最为典型和最有代表性的一种。
AT89C51是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。
AT89C51具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.电源模块:
采用直流稳压电源作为系统主电源,干电池作为辅助电源。
不仅不需要经常更换电源,并且当市电停止时能够采用干电池做为系统电源,使用更加安全可靠。
AT89C51单片机40个引脚按引脚功能大致可分为4个种类:
电源、时钟、控制和I/O引脚。
图2-7AT89C51引脚排列图
⒈电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
注:
用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。
但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。
⒉时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:
控制线共有4根,
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
二.单片机复位电路的连接
实单片机复位电路如下图所示。
三.键盘和LED数码管显示器简介
1.键盘
本系统共用12个数码管,从右到左依次显示秒个位、秒十位、分个位、分十位、时个位,时十位,日个位,日十位,月个位,月十位,年调整位。
采用软件译码动态显示。
按键处理设置为:
如没有按键,则时钟正常走时。
当按下K0按键时,进入调分状态,时钟停止走动;
按K1可K2按键可进行加1或减1操作;
继续按K0键可分别进行分和小时的调整;
最后按K0键将退出调整状态,时钟开始计时运行。
2.LED显示
LED显示屏(LEDpanel):
LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。
它是一种通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个通常是红色的小灯组成,靠灯的亮灭来显示字符。
用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
四.时钟模块:
时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:
RST复位、I/O数据线、SCLK串行时钟。
时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW,其接线电路如图4所示:
五.基本原理
1.定时器/计数器T0
定时器/计数器T0用于时间计时。
选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;
分单元加到60则对时单元加1,同时分单元清0;
时单元加到24则对日单元加1,同时日单元清0;
日单元加到28,30或31则对月单元加1,同时日单元清0,月单元加到12则对年单元加1,同时对月单元清0,标志一年时间计满。
在对各单元计数的同时,把它们的值放到存储单元的指定位置。
六.硬件电路
七.软件程序流程及代码
1.T0中断服务程序流程图
2.主程序流程图
3.程序代码
ORG0000H
LJMPSTART
ORG000BH;
定时器/计数器T0中断程序入口
LJMPINTT0;
主程序
START:
MOVR0,#70H
MOVR7,#0CH
INIT:
MOV@R0,#00H
INCR0
DJNZR7,INIT
MOV72H,#10
MOV75H,#10
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#03CH
SETBEA
SETBET0
SETBTR0
START1:
LCALLSCAN
LCALLKEYSCAN
SJMPSTART1;
延时1MS子程序
DL1MS:
MOVR6,#14H
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET;
延时20MS子程序
DL20MS:
ACALLSCAN
ACALLSCAN
RET;
数码管显示程序
SCAN:
MOVA,78H;
时间存入显示缓冲区相应位置
MOVB,#0AH
DIVAB
MOV71H,A
MOV70H,B
MOVA,79H
MOV74H,A
MOV73H,B
MOVA,7AH
MOV77H,A
MOV76H,B
MOVR1,#70H;
循环扫描显示
MOVR5,#80H
MOVR3,#08H
SCAN1:
MOVA,R5
MOVP2,A
MOVA,@R1
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
MOVA,R5
LCALLDL1MS
INCR1
RRA
MOVR5,A
DJNZR3,SCAN1
MOVP2,#00H
MOVP0,#0FFH
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;
“0~9”,“-”的共阳极字段码
;
定时器/计数器T0中断服务程序
INTT0:
PUSHACC
PUSHPSW
CLRET0
CLRTR0
INC7BH
MOVA,7BH
CJNEA,#14H,OUTT0
MOV7BH,#00
INC78H
MOVA,78H
CJNEA,#3CH,OUTT0
MOV78H,#00
INC79H
MOVA,79H
MOV79H,#00
INC7AH
CJNEA,#18H,OUTT0
MOV7AH,#00
OUTT0:
SETBET0
POPPSW
POPACC
RETI;
按键处理程序
KEYSCAN:
CLREA
JNBP1.0,KEYSCAN0
JNBP1.1,KEYSCAN1
JNBP1.2,KEYSCAN2
KEYOUT:
SETBEA
RET
KEYSCAN0:
LCALLDL20MS
JBP1.0,KEYOUT
WAIT0:
JNBP1.0,WAIT0
INC7CH
MOVA,7CH
CJNEA,#03H,KEYOUT
MOV7CH,#00
SJMPKEYOUT
KEYSCAN1:
JBP1.1,KEYOUT
WAIT1:
JNBP1.1,WAIT1
CJNEA,#02H,KSCAN11
INC79H
CJNEA,#3CH,KEYOUT
SJMPKEYOUT
KSCAN11:
CJNEA,#18H,KEYOUT
KEYSCAN2:
JBP1.2,KEYOUT
WAIT2:
JNBP1.2,WAIT2
CJNEA,#02H,KSCAN21
DEC79H
CJNEA,#0FFH,KEYOUT
MOV79H,#3BH
KSCAN21:
DEC7AH
MOV7AH,#17H
END
八.设计制作流程
1、在PROTEUS中设计硬件
PROTEUS软件使用过程如下:
1)选择元器件
2)放置元器件
3)连线
4)添加程序
5)运行仿真
元器件清单如下:
单片机:
AT89C51
按键:
BUTTON
电阻:
RES
电容:
CAP
晶振:
CRYSTAL
LED数码管:
7SEG-MPX8-CA-BLUE(CA:
共阳,CC:
共阴)
地:
GRAND
电源:
POWER
2、在KEIL51中编写程序,编译、连接形成HEX文件。
3、在PROTEUS中把HEX文件加载到单片机芯片上。
4、运行仿真看结果。
九.总结
这次课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。
在这期间,我得到了很多同学的帮助。
我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。
以前的汇编语言没学好,一开始的程序这块儿就要令我束手无策了。
后来请教我们班的一个同学,看他边做边给我讲解。
最后在计算机上调试成功,后来自己又从头到尾做了一遍,完成了本程序。
最后说明自己对这门课程的感受,课堂教学考虑到大多数同学的需求,主要强调“基本”—基本知识、基本理论、基本方法、基本技能。
而这次设计正是为我们提供了一个深入学习、探索的机会。
10.主要参考文献
【1】李朝青单片机原理及接口技术。