数字时钟52712.doc_第1页
数字时钟52712.doc_第2页
数字时钟52712.doc_第3页
数字时钟52712.doc_第4页
数字时钟52712.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

努力不一定成功,但成功必须努力!目录1、引言22、时钟设计方案及其工作原理22.1 时钟设计方案22.2时钟工作原理23、硬件设计与实现33.1单片机简介及其最小系统原理图33.2 LCD1602简介及其显示原理图43.3调时电路及其原理图54、程序设计54.1程序设计流程图54.2源程序:见附录54.3 时钟原理的仿真65、元器件选择、仿真与制作65.1原器件详细清单65.2 PCB板设计75.3印制板制作75.4组装及焊接76、调试87、操作说明88、结束语8参考文献9附录101、引言时间是人类生活中不可或缺的重要元素。如果没有时间的概念,社会将不会有所发展和进步,从古代的沙漏、十二天干地支,到后来的机械以及当今的石英钟,都充分显示出了时间的重要性,同时也代表着科技的进步,致力于计时器的研究和充分发挥时钟作用,将有着重要的意义。电子时钟主要是利用电子技术将时钟电子化、数字化、多功能化、体积小、LCD显示界面好、可扩展性强等特点,被广泛应用于生活和工作中。当今市场上电子时钟种类繁多,外形小巧别致。也有体积较大的,如公共场所的大型电子时钟等。电子时钟首先是数字化了时间显示等,在此基础上,人们可以根据不同场合的需求,在时钟加上其他功能,如万年历等。2、时钟设计方案及工作原理2.1时钟设计方案电子时钟既可以通过纯硬件实现,也可以通过软硬件结合实现,通过多方面的考虑,本设计决定采用具有集成度高、体积小、控制功能强等特点的AT89S52单片机来实现时钟设计,另外采用16位LCD1602液晶显示器显示日期、星期和时间,用3个开关按钮构成调时电路, 5V直流供电,外加一复位电路。本设计电路简单,成本低廉,在功能方面有待改进。2.2时钟工作原理本系统以AT89S52芯片为核心,通过液晶LCD1602作为显示模块。利用单片机AT89S52通过程序进行计算处理,最后送到液晶显示模块进行显示出日期、星期和时间。如果日期、时间和星期不正确,可以连接P1.1、P1.2、P1.3的开关S1、S2、S3对它们进行校准。3、硬件设施及其实现3.1单片机简介及其最小系统原理图:简介:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符 。AT89S52单片机最小系统电路原理图:本系统采用ATMEL公司的单片机AT89S52来实现,利用单片机软件编程灵活、自由度大的特点,力求用软件完善各种控制算法和逻辑控制。本系统选用的AT89S52芯片时钟可达12MHz,运算速度快,控制功能完善。其内部具有256字节RAM,而且内部含有8KB的flash ROM 不需要外扩展存储器,可使系统整体结构更为简单、实用。主控芯片AT89S52单片机最小系统电路原理图如下所示: 图1 AT89S52单片机系统原理图3.2液晶LCD1602简介:显示容量:162个字符; 芯片工作电压:4.55.5V; 工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V; 字符尺寸:2.954.35(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示:表1编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极液晶显示模块电路原理图如下:该模块有控制器HD44780、驱动器HD44100和液晶板组成。HD44780是典型的液晶显示控制器,它集控制和驱动于一体,本身就可以驱动单行16字符或2行8字符。对于2行16字符的显示要增加HD44100驱动器。HD44780由字符CGROM、自定义字符发生器CGRAM和显示缓冲区DDRAM组成。图2 LCD1602液晶显示原理图 3.3调时电路: 调时电路由“P1.1/P1.2/P1.3按键接地”构成,按下S1按键,选择需要调整的项目,此时电子时钟停止走动,此时若再按下S2键则进行加时调整;若按下S3键则进行减时调整。时间调整从秒到 年均完毕后,电子时钟开始走动,从而实现了时间调整功能。 图3 调时电路原理图4、程序设计结构框图4.1程序设计流程图开始初始化 写时间、日期、星期读时间、日期、星期显示子程序修改日期、时间和星期程序 返回 图4 程序设计结构框图4.2源程序:见附录 4.3 时钟原理的仿真制作PCB版之前先用proteus软件进行仿真,仿真成功后开始做板。其仿真图如下所示:图5 时钟原理仿真图5、元器件选择与制作5.1元器件详细清单见下表:表2元件名称数量元件名称数量AT89S521二极管Diode 1N41481LCD160212根排针212MHZ晶振1发光二极管(红)110uF电解电容110K、2.2K、1K、10电阻各130pF普通电容2按钮45.2 PCB板设计使用DXP2004绘图软件,在13*8方厘米的区间布局、布线,注意元件的封装以及焊盘得到大小要根据实物元件的实际情况。线的宽度设为1毫米,地线为1.5毫米,电源线为1.2毫米;焊盘内径设为0.9毫米,外径分别为2毫米。根据需要对PCB进行补泪滴。最终的PCB板图如下所示:图6 PCB板图5.3 印刷板制作 印刷板设计合理与否关系到电路在焊接、装配、调试中是否方便。好的印刷板必须排列紧凑、使用方便。打印好PCB图后就可以印刷电路板了,印完之后就拿去腐蚀然后涂上松香防止被氧化。等到松香晾干之后就开始钻孔。5.4 组装及焊接首先用万用表测出各电阻的阻值以及各电容的大小。根据原理图把元器件放到电路板上(先放电阻再放电容然后放体积比较大的元件)焊好。焊接时要注意方法,电烙铁与电路板成九十度角,既要和焊盘接触又要和元件的引脚接触,接触时间不要过长(不然会烧坏元件的)大概十秒左右就行了。拿起电烙铁时要快,这样焊口才圆滑。把所有元件都焊好之后用剪刀把元件的长引脚剪掉。8 专业课程设计论文 撰写人:许丽丽努力不一定成功,但成功必须努力!6、调试用下载头将写好的程序烧录到单片机后,没有显示正确的日期、星期和时间,通过用万用表等工具仔细的检查,发现:首先是晶振损坏了,其次是电位器焊接不正确。随后更换晶振,将电位器拆卸重新焊接好后即可正确显示日期、星期和时间。7、操作说明根据下表的操作说明实现时间的调整: 表3时 间S1:秒S2:加;S3减S1:分S2:加;S3减S1:时S2:加;S3减星 期 S1:星期S2:加;S3减日 期S1:日S2:加;S3减S1:月S2:加;S3减S1:年S2:加;S3减8、结束语 本设计以AT89S52单片机为核心部件,单片机系统完成显示日期、时间、星期等功能。通过对本设计的思考,更加加深了我对单片机的认识,熟练了对单片机的控制,本设计还有许多需要改进的地方,我会在接下来的日子里继续完善我的设计,在原来的基础上增加温度测量的设计、电子音乐盒、用DS1302芯片实现精确时间的设计等,努力将该设计做得更好,更实用。 参考文献:1谭浩强著.C语言程序设计.第三版.北京:清华大学出版社,2005.7 2郭天祥编著. 新概念51单片机C语言教程. 北京:电子工业出版社,2009.13杨素行主编.模拟电子技术简明教程.第三版.北京:高等教育出版社,2009.34李全利编著.单片机原理与接口技术.第2版.北京:高等教育出版社,2009.15江思敏、陈明.Protel电路设计教程.第2版.北京:清华大学出版社,2006.126朱清慧,Proteus教程:电子线路设计、制版与仿真,清华大学出版社,2008,97郭文川,单片机原理与接口技术,中国农业出版社,2007,1附录源程序如下所示:#include#define uchar unsigned char#define uint unsigned intsbit rs=P20;sbit lcden=P22;sbit s1=P11; /选择要调整的项目,左移sbit s2=P12;/加sbit s3=P13;/减uchar count,s1num;uchar shi,fen,miao,zhou,ri,yue,nian;uchar code table= 2010-12-31 5;uchar code table1= 09:59:50;void delay(uint z)uint x,y;for(x=0;xz;x+)for(y=0;y110;y+);void w_com(uchar com)rs=0;lcden=0;P3=com;delay(5);lcden=1;/给高脉冲delay(5);lcden=0;/*写指令*/void w_data(uchar date)rs=1;lcden=0;P3=date;delay(5);lcden=1;delay(5);lcden=0;/*写数据*/*初始化函数*/void w_sfm(uchar add,uchar date)/时分秒uchar shi,ge;shi=date/10;ge=date%10;w_com(0x80+0x40+add);w_data(0x30+shi);w_data(0x30+ge); void w_zhou(uchar add,uchar date)/周uchar z;z=date;w_com(0x80+add);w_data(0x30+z);void w_ryn(uchar add,uchar date)/日uchar shi,ge;shi=date/10;ge=date%10;w_com(0x80+add);w_data(0x30+shi);w_data(0x30+ge);void init()uchar num;lcden=0;/初始化使能为0fen=59;miao=50;shi=23;zhou=5;ri=31;yue=12;nian=10;w_com(0x38);/写入显示模式指令码w_com(0x0c);/写入显示开/关及光标指令码w_com(0x06);/当写一个字符后,地址指针加一,光标加一,不动光标不闪烁w_com(0x01); /清零作w_com(0x80);/代表第一行第一位for(num=0;num15;num+)w_data(tablenum);delay(5);w_com(0x80+0x40);/代表第二行第一位for(num=0;num12;num+)w_data(table1num);delay(5); w_sfm(4,shi); w_sfm(7,fen); w_sfm(10,miao); w_zhou(14,zhou); w_ryn(4,nian); w_ryn(7,yue); w_ryn(10,ri); TMOD=0x01; TH0=(65536-50000)/256;/50毫秒产生一次中断 TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void keyscan()if(s1=0)/闪烁位置/选择要调整的项目,左移delay(10);if(s1=0) s1num+;while(!s1);if(s1num=1)/s1键按一下依次从秒分周日月时向左移TR0=0;w_com(0x80+0x40+0x0b);w_com(0x0f);/左移光标开始闪烁if(s1num=2)w_com(0x80+0x40+0x08);w_com(0x0f);/左移光标开始闪烁if(s1num=3)w_com(0x80+0x40+0x05);w_com(0x0f);/左移光标开始闪烁if(s1num=4)w_com(0x80+0x0e);w_com(0x0f);/左移光标开始闪烁if(s1num=5)w_com(0x80+0x0b);w_com(0x0f);/左移光标开始闪烁if(s1num=6)w_com(0x80+0x08);w_com(0x0f);/左移光标开始闪烁if(s1num=7)w_com(0x80+0x05);w_com(0x0f);/左移光标开始闪烁if(s1num=8)s1num=0;w_com(0x80+0x40+12);w_com(0x0c);/光标恢复原样,不闪烁TR0=1;if(s1num!=0)/用于调节年月日时分秒if(s2=0)delay(10);if(s2=0)while(!s2);if(s1num=1)/秒升调节miao+;if(miao=60)miao=0;w_sfm(10,miao);w_com(0x80+0x40+11);if(s1num=2)/分升调节fen+;if(fen=60)fen=0;w_sfm(7,fen);w_com(0x80+0x40+8);if(s1num=3)/时升调节shi+;if(shi=24)shi=0;w_sfm(4,shi);w_com(0x80+0x40+5);if(s1num=4)/周升调节zhou+;if(zhou=8)zhou=1;w_zhou(14,zhou);w_com(0x80+14);if(s1num=5)/日升调节ri+;if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|yue=12)if(ri=32)ri=1;w_ryn(10,ri);w_com(0x80+11);if(yue=2)if(ri=30)ri=1;w_ryn(10,ri);w_com(0x80+11);if(yue=4|yue=6|yue=9|yue=11) if(ri=31)ri=1;w_ryn(10,ri);w_com(0x80+11);if(s1num=6)/月升调节yue+;if(yue=13)yue=1;w_ryn(7,yue);w_com(0x80+8);if(s1num=7)/年升调节nian+;if(nian=99)nian=1;w_ryn(4,nian);w_com(0x80+5);if(s3=0)delay(5);if(s3=0)while(!s3);if(s1num=1)/秒降调节miao-;if(miao=-1)miao=59;w_sfm(10,miao);w_com(0x80+0x40+11);if(s1num=2)/分降调节fen-;if(fen=-1)fen=59;w_sfm(7,fen);w_com(0x80+0x40+8);if(s1num=3)/时降调节shi-;if(shi=-1)shi=23;w_sfm(4,shi);w_com(0x80+0x40+5);if(s1num=4)/周降调节zhou-;if(zhou=0)zhou=7;w_zhou(14,zhou);w_com(0x80+14);if(s1num=5)/日降调节 ri-;if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|yue=12)if(ri=0)ri=31;w_ryn(10,ri);w_com(0x80+11);if(yue=2)if(ri=0)ri=29;w_ryn(10,ri);w_com(0x80+11);if(yue=4|yue=6|yue=9|yue=11) if(ri=0)ri=30;w_ryn(10,ri);w_com(0x80+11); if(s1num=6)/月降调节yue-;if(yue=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论