欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    利用MCS-51芯片及相关芯片设计数字钟.doc

    • 资源ID:845798       资源大小:766.79KB        全文页数:14页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    利用MCS-51芯片及相关芯片设计数字钟.doc

    1、中北大学单片机原理及接口技术课程设计说明书1 绪论电子钟已成为人们日常生活中必不可少的物品,广泛用于个人、家庭以及车站、影院、办公室等公共场所,给人们的生活、学习、工作带来了极大的方便。随着电子技术的发展,人们已不再满足于钟表原先最简单的报时,希望出现一些新的功能,诸如日历的显示、闹钟的非接触式止闹、秒表功能、重要日期倒计时显示等,以带来更大的方便,而所有这些,又都是以数字化的电子时钟为基础的。因此,研究数字电子钟及其扩展应用,有着非常现实的意义和实用价值。单片机是指将微处理器、一定容量的RAM和ROM以及I/O口、定时器等电路集成在一块芯片上的完整计算机系统。89C51单片机是一种低功耗、高

    2、性能的,它采用CMOS工艺和高密度非易失性存储器(NURAM)技术,其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的NURAM编程器来编程。因此,89C51是一种功能强、灵活性高,而且价格合理的单片机,可以方便的利用AT89C51定时器和6位7段数码管,设计一个电子时钟。显示格式位 “XX XX XX”,从左向右分别是:时、分、秒。1.1 设计目的利用MCS-51芯片及相关芯片设计数字钟。1.2 设计内容1)硬件设计设计数字钟的电路原理图,用PROTEUS绘制硬件电路。制作实物。2)软件设计(1)时、分、秒的设置及显示;(2)画出程序框图;(3)

    3、调试与分析。用PROTEUS仿真。2 硬件设计2.1 设计的总体思路硬件系统主要由单片机最小应用系统、LED数码管显示模块、晶振模块、按键模块等组成。在使用单片机的过程中必定会使用单片机的最小系统,由于我购买的单片机内部没有晶振,所以设计了外接的晶振模块。鉴于本次课程设计要求制作数字钟,所以使用了六位7段数码管来显示“XX XX XX”,从左向右分别是:时、分、秒。除了能上电复位,还设计了用三个按键实现时、分、秒的调制,使用方便灵活。2.2 单片机最小系统对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统。见图2.1。图2.12.3 晶振模块在AT89C51芯片内部有一个高

    4、增益反相放大器,其输入端为芯片引脚XTAL1(19脚),输出端为引脚XTAL2(18脚)。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。见图2.2。图2.22.4 按键模块用三个按键实现对时分秒的设置,其中一个按键实现对时分秒的控制,接P1.4口,另外两个按键接单片机的P1.5和P1.6口实现加一和减一的功能。2.5 LED数码管显示模块本次课程设计由于要显示时、分、秒,所以采用广泛使用的数码管动态显示接口。动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g

    5、,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示

    6、的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。将数码管的位选信号接P2口的六个位,段选信号接P0口的八个位。再通过Keil软件以及51C语言编程实现数字钟的功能。本系统利用6位LED数码管显示时间,共阴极结构,当要显示某个数字时只要将数字所对应的引脚送入低电平。2.6 硬件连接图通过对设计电路的各个模块的分析,可以用PROTEUS绘制硬件电路。如图2.3所示。图2.32.7制作实物(见附录A)3 软件设计单片机最主要的功能是通过程序来实现各种功能,有了硬件的描述,再加上软件的编程,通过不断的调试与修改程序就能实现本次课程设计的目的。3.1 程序流程图系统总的流程图,见图3.

    7、1。图3.13.2 调试与分析由于在焊接实物之前,我大量查阅了资料,弄明白了此次课程设计任务的基本原理,对原理有了基本的认识后,就开始了焊接工作。虽然焊接花费了我大量的时间,但是在焊好以后上电时,所有的数码管都亮,说明焊接连线没有短路情况。硬件连接好以后就是软件编程,但是编写程序中遇到了挺多问题,比如:编写程序是没有消除抖动。在同学的帮助下,使得数码管能正常实现数字钟的功能。3.3 源程序(见附录B)4 心得与结论本次课程设计以AT89C51为核心部件,实现时间的设置功能。通过六位7段数码管显示可方便地校对时间,利用Keil软件编程完成时钟的功能。通过实物的焊接以及软件的仿真和编写程序基本完成

    8、了数字电子钟的功能,尽量做到了硬件电路简单稳定,减小电磁干扰和其它环境干扰,充分发挥了软件编程的优点,减小了因器件精度不够引起的误差。由于时间有限和本身知识水平的局限,我认为此次设计还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定等。参考文献1 杨文龙.单片机原理及应用M.西安电子科技大学出版社,1993.2 李朝青.单片机原理及接口技术M.北京航空航天大学出版社,2003.3 胡汉才.单片机原理及系统设计M.清华大学出版社,2003.4 杨忠煌,黄博俊,李文昌.单芯片8051实务与应用M.中国水利水电出版社,2001.5 王守中,51单片机开发入门与典型实例M.人民邮

    9、电出版社.6 黄文梅.系统分析与仿真:MATLAB语言及应用M.国防科技大学出版社,1999.7 阎石.数字电子技术(第五版)M.北京高等教育出版社,2006.8 蔡明文,冯先成.单片机课程设计M.华中科技大学出版社,2007.9 陈明萤.8051单片机课程设计实训材料M.清华大学出版社,2004.10 李可为.数字钟电路及应用M.电子工业出版社,1996.11 夏继强,沈德金.单片机实验与实践教程(二)M北航出版社,2001.12 张红润,蓝清华.单片机应用技术教程M清华大学出版社,1997.13 周立功.单片机实验与实践M北京航空航天大学出版社,2004.14 何立民.单片机应用文集(一)

    10、M.北京航空航天大学出版社,1991.15 方大千,鲍俏伟.使用电子控制电路M.国防科技出版社,2003. 16 曾繁泰.EDA工程概论M.清华大学出版社,2002.17 谭会生,张昌凡.EDA技术及应用M.西安电子科技大学出版社,2004.18 李强.键盘接口程序计数J.电子设计出版社,2003.19 肖来胜.单片机技术实用教程M.华中科技大学出版社,2004.20 杨晓川.Portel设计指导教程M.清华大学出版社,2003.致谢首先,很感谢学院给我们电气工程及其自动化专业的学生一次把理论加深的机会,使得我们更好的理解单片机原理及接口技术这门课程,通过实物的焊接以及软件仿真使得自己的动手能

    11、力有了一定的提高;其次,虽然这次课程设计是每个人制作一个实物,但是大家一起讨论,分析,最终调试成功,使大家的思维更加开阔;最后,感谢余老师的研究生给予我们焊接工具的支持。附录A制作的实物照片附录B源程序清单#include#define uint unsigned int#define uchar unsigned charuint hhh,mmm,sss;uint status;/函数声明 void delayMS(uint t) ; void keyprocess(unsigned char key);void display();void timer0();main() /主函数 uch

    12、arsegcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/0,1,2,3,4,5,6,7,8,9 uchar dispbit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/数码管位选码 buffer=0,0,0,0,0,0,0,0; bit keyrel; uchar buf; uchar keyin; keyrel=1; buf=0xff; TMOD=0x01; /T0工作在方式1,16位计数器 TH0=(65536-1000)/256;/ 定时器0设置延时1ms中断初始值 TL0=(65536-1000)%25

    13、6; TR0=1; IE=0x82; /开定时器0中断 status=0; /延时函数 void delayMS(uint t) / 晶振频率12MHZ uint i; while(t-)for(i=0;i=4) status = 0; break; case 0xd0:switch(status) /按下加1键,3种模式下加1 case 0x01:if(hhh24) hhh+; else hhh=0; break; case 0x02:if(mmm60) mmm+; else mmm=0; break; case 0x03:if(sss0) hhh-; else hour=23; break

    14、; case 0x02:if(mmm0) mmm-; else min=59; break; case 0x03:if(sss0) sss-; else sss=59; break; break; default:break; /数码管显示函数void display() uchar i; /正常计时显示 buffer0=hhh/10; / 显示时的十位 buffer1=hhh%10 / 显示时的个位 buffer2=mmm/10; / 显示分的十位 buffer3=mmm%10; / 显示分的个位 buffer4=sss/10; / 显示秒的十位 buffer5=sss%10; / 显示秒的个位 for(i=0;i=1000) / 定时 1S 到,以下为时钟的正常走钟逻辑 count=0; sss+; if(sss60) sss=0; mmm+; if(mmm60) mmm=0; hhh+; if(hhh24) hhh=0; 第 14 页 共14 页


    注意事项

    本文(利用MCS-51芯片及相关芯片设计数字钟.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922