文档介绍:单片机课程设计报告
设计内容及要求:
根据设计要求,完成带语音报时功能电子钟系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。
要求:
原理图中元件电气图形符号符合国家标准;
整体布局合理,注标规范、明确、美观,不产生歧义。
列出完整的元件清单(标号、型号及大小、封装形式、数量)
(4) 图纸幅面为A4。
布局、布线规范合理,满足电磁兼容性要求。
在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。
编写并调试驱动程序。
功能要求:
电子钟具有显示年、月、日、分、时、秒及星期功能,可识别闰年。
具有星期报警功能;可在一天内设置多达32个报警时间(时分)。报警时,蜂鸣器先鸣响10秒。
能借助键盘设置日期、时间及报警时间。
功能完善、稳定可靠。
撰写设计报告。
设计摘要与流程图:
相关跳线
JP101
JP102
JP105
JP106
JP201
JP202
JP203
JP204
JP205
SWDIP
1-2 开路
2-3 开路
1-2短路
2-3开路
1-2
短路
2-3 开路
1-2
短路
2-3 开路
1-2 开路
2-3 短路
1-2 开路
2-3 短路
1-2 短路
2-3 开路
1-2
开路
2-3
短路
1-2
短路
2-3 开路
OFF
,工作于串行方式0。设置定时器存储器,用来存放计时值。然后,考虑1S定时时间到的中断服务子程序,正确调整计时存储器的值。主程序中,按如下步骤执行:
初始化堆栈指针SP,D口的状态,T2, PCON和SCON,8255(U107)可编程并行I/O接口芯片的工作方式,中断控制器
在调试区,初始化年,月日,时分,分秒,闹钟位和星期。
功能键子程序
处理"Enter"键的子程序
"校时/定时输入"子程序
T2的中断服务程序
各时间单元的计数处理与缓冲区处理子程序
判断是否位闰年
存放数据、调整数据排列
专门处理days_COUNT的子程序
处理定时状态下,输入缓冲区时间刷新的子程序
串行口UART0的中断服务程序
键盘检测,进一步处理定时的子程序,键盘扫描程序、时间比较子程序
因此,流程图为:
定义各值意义
主程序开始
各芯片,储存器,定时器,串行口,调试区等初始化
扫描按键输入是否有效
时间比较子程序,判断闹钟报警时间
判断按键是功能键还是数字键
各时间单元计数处理和缓冲区处理
校时定时输入
处理各功能键
读信息
确认,退出,并保存
LED显示
报警
闹钟时间与当前时间比较
:
键盘的分布:
较时
7
8
9
年
确定
4
5
6
月日
取消
1
2
3
时分
闹钟设置
查
0
周
分秒
通过LED显示年,月日,时分,分秒,闹钟位和星期。
在调试区设置初始年2004,5月1日,12时59分,59分秒,闹钟位12和星期6。
有键盘控制年,月日,时分,分秒,闹钟位和星期的显示,按下键盘SWF显示年份,按下键盘SWE 显示几月几日,按下键盘SWD 显示时分,按下键盘SWC 显示分秒,按下键盘SWB 显示闹钟报警点和星期。
再通过以下几个键盘控制年,月日,时分,分秒,闹钟位和星期的调整和设置:按下键盘UP, 最低位在闪,表示处于调整,此时,按下显示年份的键盘SWF,或按下显示月日份的键盘SWE,或按下显示时分的键盘SWD,有或者按下显示分秒的键盘SWC,再就是按下显示星期的键盘SWB来进行调整,按下键盘SW8,SW5 进行高两位调整,按下键盘SW9,SW6 进行低两位调整;
按下键盘DOWN 进行闹钟,星期报警功能;可在一天内设置多达32个报警时间(时分) 调时,过程如上面所叙;调好后,再按下确定键盘ENTER或按下取消键盘ESC,确定时间或者取消调整的时间,按下键盘SWA就能查询闹钟的设定值,进行核照。
部分系统程序的设计:
功能键子程序: 由于每个按键都有自己的值,通过CJINE两数比较转移功能,设置键盘DOWN,ESC,ENTER,UP功能定义为定时,取消,确定,校时;把SWF,SWE,SWD,SWC,SWB,SWA定义为显示年,年,月日,时分,分秒,闹钟位,星期和查询功能
"校时/定时输入"子程序: 在调试区和初始化作用下,按键WF,SWE,SWD,SWC,,通过判断比较作用下,进行相应的时间区校时,把每一时间段的年,月日,时分,分秒,闹钟位和星期地址送给某寄存器保存起来
时间单元的计数处理与缓冲区处