皖西学院单片机电子时钟课程设计报告_第1页
皖西学院单片机电子时钟课程设计报告_第2页
皖西学院单片机电子时钟课程设计报告_第3页
皖西学院单片机电子时钟课程设计报告_第4页
皖西学院单片机电子时钟课程设计报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、 目 录 第一部分 摘要2第二部分 设计任务和要求2.1 单片机课程设计目的22.2 单片机课程设计要求2第三部分 设计方案2.1 总体设计方案说明32.2 系统方框图32.3 系统流程图3第四部分 系统硬件设计4.1 单片机型号的选择44.2 LCD显示电路54.3 键盘输入电路54.4 复位6第五部分 仿真电路图7第六部分 元件清单图7第七部分课程设计总结7第八部分 参考文献8第九部分 电子时钟源程序9单片机的电子时钟设计第一部分 摘要单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上

2、。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。第二部分 设计任务与要求2.1 单片机课程设计目的本次课程设计要求学生在学习单片机原理及应用这门课程的基础上,在对芯片知识及编程语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。通过该课程设计,可以使学生对单片机原理及应用这门课有更深刻的了解和认识,同时在做

3、课程设计的过程中也锻炼了学生将书本上的知识应用到具体实践上的能力,同时也培养了自身的创新能力,自主设计能力和动手能力。2.2 单片机课程设计要求本次课程设计需要利用单片机内部定时器T0产生50MS定时,定时时间到用软件计数器计数,当计数到2次时,即为1S,使秒单元内容加1,当秒内为60时,使分单元的内容加1,同时秒复位,同理当分单元的内容为60时,时单元的内容加1。利用上述原理设计一个电子时钟,可以实现电子钟走时和校对;电子钟上电开始走时,通过6个LED显示时、分、秒;通过按键可以进行时间的调整。第三部分 设计方案3.1 总体设计方案说明本次课程设计我们的设计方案是用AT89C51芯片来控制,

4、通过P0端口来控制7段共阴极数码管的显示,及控制时间的显示。通过P2端口来控制数码管显示位置。外加一个复位电路。3.2 系统方框图图2.1 系统方框图3.3 系统流程图图2.3 系统流程图第四部分 系统硬件设计4.1 单片机型号的选择89C51是最理想的电子时钟开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程

5、闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。图4.1 单片机的型号4.2 数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起

6、。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来图4.2 显示电路4.3 按键电路设计该设计用到了个键盘,实现的功能比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及复位的控制。直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现

7、小时的调节,同样每按一次小时加一。达到时间调节的目的。图4.3 按键电路4.4 单片机的复位电路单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。图4.4 复位电路第五部分 电路仿真图5.1 电路仿真图第六部分 元件清单图元器件型号/大小单片机AT89S51按键开关4六段数码显示管共阴极电阻10K、电容1uF第七部分 课程设计总结在杨老师的教导下,通过两周的

8、学习基本懂得了电子时钟的原理和设计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的数字时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充

9、分的理解。最后,感谢杨老师对我的细心的指导,正是由于杨老师的细心的辅导,使得我的课程设计能够顺利的完成。谢谢!第八部分 参考文献黄友锐 单片机原理及应用 合肥工业大学出版社朱定华 单片机原理及接口技术实验 北方交通大学出版社2002.11.李光才 单片机课程设计 实例指导 北京航空航天大学出版社 2004. 第九部分 电子时钟源程序 #include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int/*七段共阴管显示定义*/ uchar code dispcode

10、 =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,      0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF;/*定义并初始化变量*/uchar seconde=0;uchar minite=0;uchar hour=12;uchar mstcnt=0;sbit P1_0=P10;            

11、0;    / second 调整定义sbit P1_1=P11;                 /minite调整定义sbit P1_2=P12;                 /hour调整定义/*函数声明*/void delay(uchar

12、 k );      /延时子程序void time_pro( );    /时间处理子程序void display( );       /显示子程序void keyscan( );                /键盘扫描子程序/*/*延时子程序*/*/void delay (uchar k)uchar j

13、;while(k-)!=0)       for(j=0;j<125;j+)     ;        /*/*时间处理子程序*/*/void time_pro( void)         if(seconde=60)             

14、;       /秒钟设为60进制          seconde=0;            minite+;           if( minite=60)      &#

15、160;       /分钟 设为60进制              minite=0;                hour+;          

16、0;   if(hour=24)              / 时钟设为24进制                 hour=0;               &

17、#160;             /*/ /* 显示子程序*/ /*/ void display(void)                  P2=0xfe;        P0=dispcodehour/10;    

18、60;   /显示小时的十位        delay(4);        P2=0xfd;        P0=(dispcode(hour%10)|0X80;   /显示小时的个位        delay(4);    &

19、#160;   P2=0xfb;        P0=dispcodeminite/10;      /显示分的十位        delay(4);        P2=0xf7;        P0=(dispcodeminite%10

20、)|0X80;    /显示分的个位        delay(4);        P2=0xef;        P0=dispcodeseconde/10;       /显示秒的十位        delay(4

21、);        P2=0xdf;        P0=dispcodeseconde%10;      /显示秒的个位        delay(4);      /*/*键盘扫描子程序*/*/void keyscan (void)     if

22、(P1_0=0)                /按键1秒的调整                  delay(30);             &#

23、160; if(P1_0=0)                                          seconde+;     

24、0;                if(seconde=60)                        seconde=0;        &

25、#160;                      if(P1_1=0)                /按键2分的调整           

26、60;       delay(30);               if(P1_1=0)                          

27、0;          minite+;                    if(minite=60)                  

28、;    minite=0;                if(P1_2=0)                /按键3小时的调整              &

29、#160;    delay(30);               if(P1_2=0)                             &#

30、160;            hour+;                    if(hour=24)                &

31、#160;     hour=0;                         void timer0(void) interrupt 1 using 0 /定时器0方式1,50ms中断一次         TH0=0x3c;TMOD = 0x11;        mstcnt+; 

温馨提示

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

评论

0/150

提交评论