- 0
- 0
- 约7.08万字
- 约 74页
- 2017-01-08 发布于辽宁
- 举报
专业综合课程设计报告
题目:智能电子钟(LCD)
题目智能电子钟(LCD)
设计要求:
制作一个LCD显示的智能电子钟:
(1) 计时:秒、分、时、日、月、年、星期。
(2) 闰年自动判别。
(3) 时间、年、月、日、星期交替显示。
(5) 自定任意时刻自动开/关屏。
(6) 计时精度:误差≤1秒/月(具有微调设置)。
方案论证:
本实验可采用并行时钟芯片(DS12C887)和串行时钟芯片(DS1302),DS1302要用户自己安装后备电池和串口通讯,要32.768KHz的晶振,而DS12C887自带后备电池,并口通讯,无需外围元件,并且DS12C887多了一个字节来记录世纪使用的,处在RAM的32H单元,但是其他的寄存器定义都相同。由于本实验用到了STC12C5A60S2直插40P封装的单片机、nokia5110液晶屏、独立式按键、四路2输入与门并且都是直插的,而且在实验室做PCB只能是单层板,为了节约空间和简化电路于是就选用了串行时钟芯片DS1302。
理论设计:
用CAD软件绘制的硬件原理图
电源和程序下载端口,此部分的USB可提供电源和下载端口适用于USB下载端口,DOWN端口适用于四角插针式下载、BAT为备用电源端口。
CPU主控部分,此部分采用的是高速51系列的STC12C5A60S2的单片机,该芯片不仅运行速度快稳定驱动能力更大,还为用户提供了内部集成8位/10位可调分辨率ADC模块(在此设计中有用到),1KB可擦写EEPROM本设计中用其设计成可调闹钟功能存放闹钟值。
此图为串行数据nokia5110的LCD显示器模块,采用可控背光和可控电源有很好的节能效果。该显示器能显示汉字,字符,图片、并且处理显示数据速度快。
此模块为串行数据实时时钟模块,此模块采用的是达拉斯公司生产的DS1302具有闰年补偿。
此图为按键中断模块,在此模块中每个独立式按键都能申请外部中断及时处理按键按下的值来执行用户的操作。
此图为蜂鸣器模块此模块用于闹钟铃声设计,和开机提示。
此图为PCB版图
此图为PCB打印预览
软件流程图
yes其他键 yes
按下目录键
NO
功能1(时间)
功能2(温度)
功能3(电压)
功能4(闹钟)
程序清单
完整C程序源代码
/**************************************************************************************
* 主程序:顶层程序 *
* 显示默认功能:时间日期显示; *
* 调用子程序; *
* *
***************************************************************************************/
# include intrins.h
# include zimo.h //字模程序;
# include nokia5110.h//5110驱动程序;
# include ds1302.h //ds1302驱动程序;
# include key.h //按键扫描程序;
# include printf.h //显示函数;
# include power.h //电源模块;
# include main.h //引脚定义;
# include delay.h //延时函数;
# include macroandconst.h//数据类型宏定义;
# include ADC.H //ADC电压测量
# include ds18b20.h //温度模块;
void main()
{
system_inint(); //系统初始化;
//Set_RTC();
while(1)
{
checkclock();
caidan(); //菜单显示;
if(menue==0)
{
if(ok==1)
{
LCD_clear(); //清屏幕
while(menue==0) //由此进入时钟功能
{
ok=0;
原创力文档

文档评论(0)