单片机课程设计:电子钟.doc
《单片机课程设计:电子钟.doc》由会员分享,可在线阅读,更多相关《单片机课程设计:电子钟.doc(30页珍藏版)》请在冰豆网上搜索。
摘要
围绕电子钟系统的设计与开发工作进行研究和实践,详细介绍了电子钟系统的整体结构、硬件设计、软件设计,系统方案以及其的开发和具体实现。
介绍一种基于在系统可编程技术和C51编译器配有集成开发的新型电子钟的设计方法,阐述了其工作原理和软硬件设计。
在硬件上,用KEIL公司的C51大规模集成芯片对其外围电路进行集成,用1片8051实现了几十片分离元件才能实现的功能,几乎将整个系统下载于同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强了系统的可靠性和性价比。
该电子钟特别适用于家庭、办公大楼、公共场所等。
关键词电子钟;单片机;硬件设计;软件设计
ABSTRACT
Aroundtheelectronicclocksystemdesignanddevelopmentofthestudyandpractice,detailstheelectronicclocksystemoverall,hardwaredesign,softwaredesign,systemsolutionsaswellasthedevelopmentandimplementation.Introductionofanewtechnologybasedonin-systemprogrammingandC51compilerequippedwithanintegrateddevelopmentofnewelectronicclockdesignmethod,explainshowitworksandsoftwareandhardwaredesign.InthehardwarecompanieswithKEILC51large-scaleintegratedcircuitchiponitssurrounding,tointegrate1tablet8051implementationofscoresoftabletsseparationcomponentstoimplementfunctionality,almosttheentiresystemfordownloadonthesamechip,implementationoftheso-calledSOC,therebygreatlysimplifiessystemstructure,enhancessystemreliabilityandhighperformance/priceratio.Theelectronicclockisparticularlyrelevantforhome,officebuildingsandpublicplace,etc.
Keywordselectronicclock;single-chip;hardware;softwaredesign
目录
1系统总体设计方案………………………………………………………………4
1.1设计课题任务………………………………………………………………4
1.2功能要求说明………………………………………………………………4
1.3总体方案介绍及工作原理…………………………………………………4
2硬件系统的设计…………………………………………………………………6
2.1系统各功能模块介绍………………………………………………………6
2.2系统电路图…………………………………………………………………7
2.3系统元器件清单……………………………………………………………7
3软件系统的设计…………………………………………………………………8
3.1设计使用单片机资源介绍…………………………………………………8
3.2软件系统各功能模块介绍…………………………………………………8
3.3软件系统程序流程框图……………………………………………………9
3.4软件系统的程序……………………………………………………………10
4系统的仿真分析及结论…………………………………………………………11
4.1系统设计的使用说明………………………………………………………11
4.2系统设计的仿真结果………………………………………………………11
4.3系统的误差分析…………………………………………………………12
4.4设计体会…………………………………………………………………12
4.5教学建议……………………………………………………………………13
参考文献………………………………………………………………………………14
致谢…………………………………………………………………………………15
附录
(1)……………………………………………………………………………16
附录
(2)……………………………………………………………………………17
1系统总体设计方案
1.1设计课题任务
设计一个具有特定功能的电子钟。
1.2功能要求说明
(1)、屏幕保护和检查(P.从右至左流动);
(2)、按下A键显示8个P.,然后开始运行;
(3)、时分秒、年月日之间用“-”分割,并闪烁;
(4)、运行时按下A键进入调整时钟状态;再按一次恢复运行;
(5)、在运行状态下,按下B\C\D分别显示三种功能,可切换观看,按A键返回运行;
(6)、在各调整状态下,按B调秒(日),C调分(月),D调时(年),短时间按下只加一次,长时间按下不停歇的加数,调整完毕后按A键返回运行状态;
(7)、定时功能:
在运行时按下B显示定时,再按B进入调整状态,设置完成按A返回;
(8)、当“时”小于10时,高位不显示,即高位“清零”;
(9)、秒表功能:
在运行时按下C键,进入秒表功能,奇数次C开启秒表,偶数次C关闭,按A键返回。
(10)、在运行时按下D键显示日期,再按D进入调整状态,按A键返回。
1.3总体方案介绍及工作原理
电子钟的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。
在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。
CPU控制原理图如图1.1所示。
2硬件系统的设计
2.1系统各功能模块介绍
2.1.1AT89S52控制模块
考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、数码管的显示控制,定时器应用等,我们选择了学习过的AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。
AT89S52 主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器,1000次擦写周期,全静态操作:
0Hz~33Hz 三级加密程序存储器 32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.1.2键盘功能模块
根据系统的基本的要求,基于时间的观看和设定等功能,采用由四个键构成的独立式键盘分别接在AT89S52单片机的P1.0-P1.3,非常的方便,同时相对于独立式键盘大大节省了空间,在软件的设计时带来了极大的方便,使程序简易明了,可读性强。
本次设计中,四个键分别定义为A键、B键、C键和D键,对应着时间显示与控制,定时控制,秒表控制,日历显示与控制,各键功能单一,互不影响,操作起来十分的清晰与方便。
2.1.3数码管显示模块
显示模块要具有显示时分秒,年月日和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。
数码管的八个位控口接在AT89S52单片机的P0口线上,从左到右顺序连接,段控制线接在AT89S52单片机的P2口线上,从低位到高位对应连接.再由于数码管的本身显示亮度不够,所以一般都会在其位控和段控口前加上一定的驱动电路,本次设计中采用三极管作为驱动。
本次采用的数码管型号为CPS05641BR。
2.1.4定时提示模块
电子钟的另外一个要求功能是在定时到达时候发出闹铃,本次设计利用蜂鸣器来实现。
具有电路结构非常简单,控制极其方便等优点。
2.2系统电路图
总原理图.总布局图.PCB图见附录
(1)
2.3系统的元器件清单
本系统中所用到的元件如表2.1所示。
表2.1系统元器件表
器件
型号
数量
器件
型号
数量
单片机
AT89S52
1个
按键
普通
4个
晶振
12MHZ
1个
开关
6脚双路
2个
电容
22μF,33pF
1个,2个
数码管
CPS05641B
8个
电阻
普通
若干
下载接口
10针接口
1个
蜂鸣器
脉冲式
1个
单排针
普通
若干
30
3软件系统的设计
3.1使用单片机资源介绍
AT89S52的P0,P1,P2口作为输入输出口,且部分用到P1,P3口作为第二功能:
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
XTAL1、XTAL2:
晶振输入
RST:
复位输入
片内资源主要为:
定时器/计数器T0,定时器/计数器T1,定时器中断0,通用寄存器前三组,
专用寄存器A、PSW、IE、P1、P2、P3、TCON、SCON,位寻址单元F0H、F1H、F2H、F3H、F4H、F5H。
3.2软件系统各功能模块介绍
3.3.1独立式键盘模块
独立式键盘软件设计通过在主程序中调用子程序KEY去执行键盘扫描和调用子程序ANKEY去执行相应的功能,单片机P1口在复位后保持高电平,当键按下相应口线为低电平,此时CPU做初期判断,之后延时12ms,确定为按键后等待键松,之后执行子程序。
达到通过键功能程序的分支执行相应的程序段,完成对应的操作。
3.2.2数码管显示模块
数码管显示是通过调用子程序DISP来实现的,由于数码管的显示要求有实时性,所以在执行其他的程序的时候依然要经常调用显示子程序DISP。
数码管的段控由CPU改变P2口相应位电平来实现,为实现不同的显示功能,设置了不同的显示缓冲单元,通过控制标志位控制。
数码管的位控由CPU改变P0口相应位电平来实现,基于人的视觉延迟性,通过从右到左的循环保证所有数码管都被点亮。
3.2.3闹铃、秒表模块
在软件的设计中闹铃提示