电子时钟单片机课程设计.doc_第1页
电子时钟单片机课程设计.doc_第2页
电子时钟单片机课程设计.doc_第3页
电子时钟单片机课程设计.doc_第4页
电子时钟单片机课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第1章 系统总体方案选择与说明1.1设计要求(1)时间显示形式为hh:mm:ss(h,m,s分别代表时间的小时,分钟,秒钟)。(2)显示器选用lcd显示器。(3)显示时间可以调整,具备闹钟功能1.2设计思路根据设计要求,选择at89c51单片机为核心控制器件。显示采用l液晶显示屏,与单片机的接口为p0。闹钟的喇叭由p3端口的p36控制。1.3 设计方案该电子时钟由89c51,button,1602 lcd液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。第2章 设计系统结构框图与工作原理2.1系统结构框图 lcd显示电路时钟电路at89c51单片机独立按键输入电路喇叭电路图2-1 系统结构框图喇叭电路2.2 系统的工作原理该电子时钟由stc89c51,button,1602 lcd液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12mhz,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键k1,就会关闭时钟,当按下闹钟按键k3时时钟就会进入设置时间界面,但是时钟不会停止工作,按k2键,就可以对时钟和闹钟要设置的时间进行调整。第章硬件电路设计3.时钟电路设计 单片机利用外部12mhz晶振构成振荡电路作为时钟源,时钟电路的原理如图3-1图3-1 时钟电路图3.2独立按键输入电路按键处理设置为:当有没键按下时,时钟正常运行;当按一次k1,时钟停止走动,按k2对秒进行调整;当k1按2次时,按k2 对分进行调整;当k1按下3次时,按k2 对小时进行调整,当按下4次k1时,校时完毕,时钟按设定的时间进行正常走时。当按1次k3进入闹钟设置界面,时钟继续进行走时,按k2对秒进行设置;当按2次k3,按k2对分进行设置;当按3次k3,按k2对秒进行设置;当按下4次k3时,闹钟设置完毕进入时钟显示界面。电路图如图3-2图3-2 独立按键电路3.3 单片机系统 at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-3 图3-3 单片机系统图管脚说明:vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。3.4 液晶显示lcd1602采用标准的16脚接口,第1脚:vss为电源地;第2脚:vdd接5v电源正极;第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10k的电位器调整对比度);第4脚:rs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:rw为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:e(或en)端为使能(enable)端。 第714脚:d0d7为8位双向数据端;第1516脚:空脚或背灯电源。电路如图3-4 图3-4 lcd液晶显示图 第4章 程序设计初始化4.1程序流程图 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。系统的流程图如图4-1显示字母time开中断tho和tlo装入初值 f_k1=0&f_k3=0yeslcd显示按键k2按键k1按键k3f_k3/f_k2=0f_k1/f_k2=0nono进行时间调整yes yes喇叭闹钟时间=当前时间进行闹钟设置yes图4-1 程序流程图4.2 设计思路 本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序和lcd液晶驱动程序。定时中断程序是利用单片机内部定时器0 实现1秒的定时,然后再利用软件延时实现分小时,时间调整程序是利用单片机的内部存贮器,把调整好的时间写到显示时间的存贮单元,然后启动定时器开始计时并显示,延时程序是利用软件实现延时达到去抖得目的。液晶启动程序是为了把单片机的数据送到显示器的同时让显示器的第6脚使能端的电平实现由1到0的负跳变,使显示器执行显示命令。主程序就是利用这些子程序中断程序实现显示,定时,闹钟等功能。 第5章 调试结果及说明5.1 时钟正常运行调试仿真图 图5.1 时钟开始计时仿真图 图5.2 时钟运行一段时间后的仿真图5.2 闹钟调试仿真图 5.3 对闹钟的秒进行设置 5.4 对闹钟的分进行设置 5.5 对闹钟的小时进行设置 5.6 设置好的闹钟时间 5.7 闹钟响铃5.3时间调整仿真 5.8 对秒进行调整 5.9 对分进行调整 5.10 对时进行调整 5.11 调整好的时间 第6章 使用说明 当么有键按下时,时钟正长运行;当按一次k1,时钟停止走动,按k2对秒进行调整;当k1按2次时,按k2 对分进行调整;当k1按下3次时,按k2 对分进行调整,当按下4次k1时,校时完毕,时钟按设定的时间进行正常走时。当按1次k3进入闹钟设置界面,时钟继续进行走时,按k2对秒进行设置;当按2次k3,按k2对分进行设置;当按3次k3,按k2对秒进行设置;当按下4次k3时,闹钟设置完毕进入时钟显示界面。第7章 心得体会两周的课程设计到目前为止可以说是告一段落了,我也顺利的完成了自己的课题简易电子时钟的设计,由于自己一心准备考研在这次课程设计上除了那些必要的时间其余也么有花太多的时间,老师要我改进的第三个跑表功能由于在程序上除了点问题就么花时间去做了,所以这次设计还不算很完美刚开始被分到这个课题的,感觉挺迷茫的,当时就只知道软件编程要用到定时器,自己也就在这方面懂一点,其余的关于硬件电路,液晶显示电路的驱动的什么都不知道,后来回来之后就看了一下五一单片机课程设计那本书,在网上找了一些资料对硬件电路的设计有了一定的了解。在大脑里面有了一个大致的思路了,于是就把仿真软件装好。第二天就开始焊接电路板了,由于以前进攻实习的时候有过焊接经验,所以还比较顺利但是由于那些焊孔太小太密,有时候也会把两个连接起来但是后来还是成功的让他们分开了,经过一上午的焊接总算完成了,但是其中还是有不少的虚焊。电路板焊接成功后通电试验,led灯和显示灯不亮后来经检查发现原来是led 灯焊接反了,显示灯不亮是因为有两个焊孔连接起来了,经过处理之后总算是圆满完成任务了,但是把拆下来确实是个棘手的事,几次都有种想砸板子的冲动了。下午就进行硬件电路的设计了在硬件方面的设计由于有了前面的基础还比较顺利,于是就在网上找了程序调试成功了。后来星期四下午自己又对这个程序进行了一定的修改,终于达到了原先预想。在完成单片机课程设计后,发现还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能很顺利的完成。但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。在此对我们的指导老师林国汉老师表示真心的感谢。 第章 参考文献1、单片机原理及应用李建忠 编 西安电子科技大学出版社。2、单片微型计算机原理与接口技术 高峰 编 电子工业出版社。3、单片机应用新技术教程邹逢兴 编 高等教育出版社。4、16位微型计算机原理接口及其应用 朱宇光 编 电子工业出版社。5、微型计算机原理与接口技术 吴秀清 编 中国科学技术出版社。6、微型计算机接口技术 邓亚平 编 清华大学出版社。7、单片机原理及及应用 王迎旭 编 机械工业出版社。第章附录9.1 附录a系统原理图9.1电子时钟原理图9.2 附录b 程序清单#include#define uchar unsigned char#define uint unsigned intuchar table=time;sbit lcden=p34;sbit lcdrs=p35;sbit beep=p36;extern void key1();extern void key2();extern void key3();uchar num,hour=12,minite,second,ahour,aminite,asecond,a,f_k1,f_k2,f_k3;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)lcdrs=0;p0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;p0=date;delay(5);lcden=1;delay(5);lcden=0;void write_add(uchar add,uchar date)uchar aa,bb;aa=date/10;bb=date%10;write_com(0x80+add);write_data(0x30+aa);write_data(0x30+bb);void init()lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);void display(uchar h,uchar m,uchar s) write_com(0x80+0x04); write_data(:);write_data(0x30+(h/10);write_data(0x30+(h%10);write_data(:);write_data(0x30+(m/10);write_data(0x30+(m%10);write_data(:);write_data(0x30+(s/10);write_data(0x30+(s%10);write_data( );write_data( );write_data( );write_data( );void main()init();tmod=0x01;th0=(65535-50000)/256;tl0=(65535-50000)%256;ea=1;tr0=1;et0=1;for(num=0;num4;num+)write_data(tablenum);while(1)key1();key2();key3();if(ahour=hour&aminite=minite&second10)beep=beep;if(f_k1=0&f_k3=0)display(hour,minite,second);void timer0() interrupt 1 th0=(65535-50000)/256; tl0=(65535-50000)%256; a+; if(a=20)a=0;second+;if(second=60)second=0;minite+;if(minite=60)minite=0;hour+;if(hour=24)hour=0;#include reg52.h#define uchar unsigned char#define uint unsigned intsbit k1=p10;sbit k2=p11;sbit k3=p12;extern uchar f_k1,f_k3,second,minite,hour,ahour,aminite,asecond;extern void write_com(uchar com);extern void write_add(uchar add,uchar date);extern void display(uchar h,uchar m,uchar s);void delay_key(int i)while(i-);void key1() if(k1=0)delay_key(100);if(k1=0)tr0=0;while(!k1);f_k1+;if(f_k1=4)f_k1=0;write_com(0x0c);tr0=1;if(f_k1=1|f_k3=1)write_com(0x80+0x0c);write_com(0x0f);if(f_k1=2|f_k3=2)write_com(0x80+0x09);if(f_k1=3|f_k3=3)write_com(0x80+0x06);void key

温馨提示

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

评论

0/150

提交评论