eetopcn_电子钟.pdf
上传人:sy****28 上传时间:2024-09-14 格式:PDF 页数:26 大小:2MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

eetopcn_电子钟.pdf

eetopcn_电子钟.pdf

预览

免费试读已结束,剩余 16 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

电子钟&温度计制作梅林mlnin@163.com相信每个学单片机的人都有过做电子钟的经历吧!我曾经在面包板上做过两电子钟,加上这个是第三个了。这个是从2007年五一劳动节开始做的,大约用了一个星期才做出来。还叫了几个同学来看过,他们都说做的不错,自己也高兴了好一阵子。后来,我去电信系实验室玩,自那以后就高兴不起来了。李秀军和王辉正在做智能车,罗斌正在做单片机和FPGA的实验。曾生伟和赵裴的ARM+UCOS+GUI+CAN也做好了。本来这个文档快做好了,突然之间发现自己做的这个东西太简单了,所以就不好意思再继续写下去了。今天是2007年7月30号,离我毕业只有三天之遥,想来想去,还是决定继续把这个文档做完,就算给自己留个纪念吧,毕竟大学四年真正做出来的东西也就这一样了!方案是AT89C2051+DS1302+DS18B20+74HC164。AT89C2051有15个IO。DS1302用去3个,DS18B20用去1个,数码管动态显示用去6个,按键用去4个,峰鸣器用去1个。正好全部用完。第一个按键是功能切换,在时间显示和温度显示之间切换。第二个按键在设置时间的时候用来切换时间位。第三个按键是时间加。第四个按键是时间减。PROTEUS原理图编写程序我手头上有一份汇编语言写的DS1302驱动程序,还有一份11.0592hz下的DS18B20驱动程序,还有一个按键处理程序模板。编程工作有:将汇编版的DS1302驱动程序改成C语言版的;将11.0592Mhz版的DS18B20驱动程序改成4Mhz版的;写按键处理程序;写主程序。程序总共有600行,1.7K大小,由于空间不够,所以没有年月日显示功能,也没有闹钟功能。只能显示时间和温度。程序调试LED动态显示,按键响应,DS1302驱动,DS18B20驱动,这几个模块我都很顺利的调试成功了,但把它们合并在一起,却花了我三个通宵的时间!程序中有三个与时间相关的地方,DS18B20每隔750MS完成一次转换,LED每隔5MS显示一位,还要每隔10MS扫描一次按键状态。协调这三个模块,花了我不少时间。用的方法也很笨,我用T0中断来控制LED显示,T1中断来扫描按键,用指令延时来控制DS18B20的转换时间(现在我想我只用一个定时器就能完成这些工作了!)。再就是按键处理程序也比较麻烦,要不是有PROTEUS在线仿真,我肯定要累死。LED板原理图123456AG4D0D5G3G2D1AVCCU2123456P1VCC141RXD4*LED1FBVCCRXDA8D0132RXDG1G2G3四个数码管RXDD0RXD7C11uFD1123D7TXDD1D76D2114D6G1BD2D65BD3105D5G2D3D54R21K96D4G39D43TXD87G4TXDGND2EDDPCGG4174LS164VCCHeader8789101112CD4D3D7D2D6G1CTitle电子钟PART1_DISPBOARDDrawnbyT313_2_12梅林DDate2007年5月2日D123456CPU板原理图123456C2XTAL1U1SW1RST119P17R3P10RSTP1.7VCC30pF18P16AP1.61KSW_PBARXD217P15P3.0(RXD)P1.54MTXD316P14SW2P3.1(TXD)P1.4G1615P13R4P11C3P3.2(INT0)P1.3VCCXTAL2G2714P12P3.3(INT1)P1.21KSW_PBG3813P11P3.4(T0)(AIN1)P1.130pFG4912P10SW3P3.5(T1)(AIN0)P1.0R7P12VCCR6P3711P3.71KSW_PB1KVCCRSTXTAL2420SW4XTAL2VCCXTAL1510R8P37C5XTAL1GNDVCC1KSW_PB10uFAT89C2051BBVCCC4220uFU3VCCP3DS18B20VCCP2VCCP5P418VCC2VCC127P15112X1SCLK12336P16221X2I/O45P17GNDRSTHeader2Header232.768kHZVCCDS1302CP13CR14K7P1VCCVCC1RXD2TXDP14R5Q13G190124G21KU45G36+G478-Header