《单片机原理及应用》期末课程设计-基于单片机的多功能数字钟_第1页
《单片机原理及应用》期末课程设计-基于单片机的多功能数字钟_第2页
《单片机原理及应用》期末课程设计-基于单片机的多功能数字钟_第3页
《单片机原理及应用》期末课程设计-基于单片机的多功能数字钟_第4页
《单片机原理及应用》期末课程设计-基于单片机的多功能数字钟_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录 第1节 引 言3第2节 设计方案的选择与论证4第3节 系统原理设计5 3.1 设计思想53.2 系统框图5第4节 硬件设计64.1元器件清单64.2电路设计及其工作原理6 4.2.1控制部分6 4.2.2数码管显示部分7 4.2.3发光二极管电路9 4.2.4闹钟设计9 4.2.5按钮与开关部分94.3无线控制电路104.3.1发射模块104.3.2接收模块10第5节 软件设计135.1程序原理概述135.2总的设计思想135.3程序代码13第6节 调试17第7节 结束语18参考文献基于单片机的多功能数字钟数理与信息工程学院 071计算机专升本 赖燕燕指导教师:余水宝 第1节 引 言

2、本系统采用单片机AT89C51控制,以AT89C51为核心,它完成整个系统的信息处理及协调功能,本次设计我们选用ATMEL公司的AT89C51芯片,其功能强大,兼容性好,还支持软件选择的空间和掉电两种节电方式。本设计的软件,硬件都采用模块化的设计方法,提高了设计的效率。 本次设计通过对一个实现定时、时钟显示、报时、闹钟、无线电控制等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由AT89C51、LED数码管、按键、三极管、74LS47、74LS138、VD5026、VD5027、电阻等组成。能实现时钟时、分、秒的显示。也具有时间设置、闹铃开和关设

3、置、制式切换、无线控制。文章后附有电路图、程序清单。第2节 设计方案的选择与论证 该课题主要有两种方案:一种是用数字电路通过硬件实现,另一种是用单片机通过软件编程实现。在以上两种方案中:第一种是直接采用的是数字电路,但是在外围电路和控制比较麻烦,需要比较多的器件来控制;第二种是采用软件来实现一些特定功能,硬件电路只需要一些显示部件和控制部件,其他的都是由软件来实现。第一种一切都由硬件实现,几乎没有软件编程,但电路复杂、芯片多、后续制板及硬件调试麻烦而且成本高;第二种虽电路简单、芯片少、成本低,但编写程序相当复杂。经过一番利弊的权衡及对今后电子业发展趋势的考量,最后敲定用单片机方案实现。另外用单

4、片机实现本设计也有两种可选的子方案:第一种,用软件编程实现设计中的钟控功能;另一种则选用单片机加时钟芯片实现钟控功能。在本次主要的是时间的设计,因此对时间的精度要求是比较高的,竟量是误差减少到最小值,但是为了更好的练习复习自己在以前所学习的编程能力,所以不采用单片机加时钟芯片的方案,直接用软件编程实现钟控功能。总的来看,单片机已成为工控领域、尖端武器、日常生活中最广泛使用的计算机,且将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格方向发展,因此敲定用单片机加软编程方案符合今后电子业发展趋势;另外运用此方案既能将自己以前学过的模拟电路、数字电路、单片机、汇编语言、Protel99等

5、知识结合实践进行一次全面的检测,又能为将来实际制作电路积累宝贵的经验。第3节 系统原理设计3.1 设计思想单片机控制系统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。本次我们选用ATMEL公司的AT89C51芯片;其功能强大,兼容性好。AT89C51是与8051兼容的CHMOS微控制器。与CHMOS工艺的8051一样,支持软件选择的空闲和掉电两种节电方式。 在AT89C51的P2.0P2.3是数码管的段选;P2.4P2.6是数码管的位选。P1.0和P1.1是发光二极管。是显示制式切换后的工作制式.P1.2是蜂鸣器,作闹铃和准点报时用。P0.0P0.7是按键的判断输入口,是对时间调整

6、闹铃时间设置,和其他功能的区分。3.2系统框图制式切换控 制按钮时间控 制无线电时间控制闹铃控 制触摸开 关单片机译码电 路声音驱动电 路触摸报时电 路制式切换和制式显示电路驱动电 路时显示分显示秒显示闹铃图3-1第4节 硬件设计 4.1元器件清单表4-1 元器件清单表器件数量/规格单面覆铜板1块AT89C51单片机1块74LS471块74LS1382块74LS1481只VD50261只VB50271只共阳数码管8只9012三极管8只按钮开关18只蜂鸣器1只电阻10k,4.7k,100,8.2k,100k,200k发光二极管LED2只电容器10uf(1只),30pf(2只)晶振12M(1只)接

7、插件8口(4副),2口(2副)底座6只语音芯片1只芯片6块4.2电路设计及其工作原理4.2.1控制部分:AT89C2051单片机AT89C51单片机概述:AT89C51单片机是国Atmel公司生产的采用高性能的静态89C2051设计,是一个低电压,高性能CHMOS 8位单片机,片内含4kbytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。 AT89C51是一个功能强大的单片机,但它只有40个引脚,32个双向输入/输出(

8、I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。此外,由于器件采用了动态设计,可提供很宽的操作频率范围(频率0HZ24MHZ)。即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。图4-1 AT89C51时钟电路连接在本设计中AT89C51的时钟电路采用内部时钟方式,此方式是在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器。在本设计中XTAL1和

9、XTAL2两端跨接12MHz晶体振荡器,其发出的脉冲直接送入内部时钟电路。本设计采用按键手动复位的按键电平复位。图4-2 89C2051外部复位电路设计AT89C51在本设计中的I/O口应用:AT89C51的P2.0P2.3控制7448译码实现数码管段选;AT89C51的P2.4P2.6控制74LS138实现数码管位选;AT89C51的P1.1 P1.1控制AM PM显示;AT89C51的P1.2控制蜂鸣器实现闹钟的闹铃;AT89C51的P0连接按钮,用于输入校时、定时信号和停止信号。4.2.2数码管显示部分 本设计中所涉及数码管皆采用共阴数码管,显示电路为动态扫描式显示。图4-3数码管及显示

10、电路选择数码管显示位选:AT89C51的P2.4P2.6输出控制数码管位选,在本次设计的电路中,因为是使用的是共阴数码管,因此由AT89C51的P2.4P2.6的输出控制74LS138,使之输出相应的端口为低电平,控制数码管点亮。 74ls138芯片简介:图4-4 74LS138芯片 74ls138芯片是由非门,与门和与非门组成的3线8线译码器,由A1,A2,A3三个端口输入的不同的信号,经过译码,输出端口输出相应的二进制数字。现将输入与输出的对应关系图表示如下:图4-5译码真值表图4-6 数码管位选原理数码管段选AT89C51的P2.0P2.3控制7448译码实现数码管段选,在本次设计的电路

11、中,由于二级管使用的是共阴数码管,在输出的是要高电平。在设计的时候,怕在芯片输出的电流信号过大,因此在输出的时候加了限流电阻,为保护数码管,防止烧坏。 图4-7 数码管段选原理4.2.3 发光二极管电路 在本次设计电路之中,由于在内存的不足,因此在闹钟的秒脉冲有发光二极管来显示,当过一秒起点亮一次,由P1.1口输出,在其内部无上拉电阻,因此在其外部另接了10K上拉电阻,能够在起输出高电平的时候快速执行。图4-84.2.4 闹钟设计当设计的时间到达的时候,要驱动蜂鸣器,使其能够响起,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率的

12、矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。4.2.5 按钮与开关部分S1按钮: 秒加1键 ;S2按扭: 分加1键;S3按扭: 时加1键;S4按扭: 制式转换键;S5按扭: 闹钟停止键;S6按扭: 闹钟调整时间开关;S7按扭: 设置时间开关;S8按扭: 闹钟开关。图4-9按键电路原理4.3无线控制电路4.3.1发射模块八个按钮通过编码送入VD5026芯片,经过发射模块315M发射。图4-104.3.2接收模块通过接收模块接收,经74LS138解码送到VD5027,送到单片机的PO口进行控制。图4-11图4-12 电路图

13、图4-13 PCB图第5节 软件设计 5.1程序原理概述 在程序设计这一环节,本次将其分为时钟中断程序、时钟显示程序、键盘程序、闹钟定时控制程序、闹钟响闹程序、音乐响闹程序、主程序、各程序衔接程序。在以下几节中将根据实际各个部分的编程及调试顺序,依次介绍各程序的设计思想和流程。5.2总的设计思想 在本次主要是使用的是数字闹钟,因此主要部分是数字钟的实现,因此要实现这样的功能必须要在硬件的电路上实现数字钟的实现,然后在此基础上逐步实现其他的功能, 数字电子钟的程序大概可以分为三个部分:时钟主程序、时钟显示程序、时钟中断程序。时钟主程就是对时钟的各个模块的实现。时钟显示程序是将秒显示用发光二极管显

14、示,每一秒点亮一次;将分个位、分十位、时个位、时十位数据存储单元的计时数据通过设置段选和位选、由74LS47段选译码,最后显示在相应的数码管上。时钟中断程序则通过重设计时、1秒计时与时钟程序相结合实现秒个位、秒十位、分个位、分十位、时个位、时十位数据存储单元的数据按计时规则加1进位和清零,以配合时钟显示程序实现数字电子钟。在实现数字电子钟的基础上,逐一添加调试键盘程序、闹钟定时程序,闹钟音乐程序,最后实现设计目标。键盘程序就是通过软件扫描各按键状态来实现各按钮的功能。5.2程序代码k0 bit p0.0k1 bit p0.1k2 bit p0.2k3 bit p0.3k4 bit p0.4k5

15、 bit p0.5k6 bit p0.6k7 bit p0.7xiaoshi data 2ahfengzhong data 2bhmiao data 2ch org 0000h jmp start org 000bh jmp tim0start: mov sp,#70h ;设置堆栈在70H mov 28h,#00 ;显示寄存器初值为12H mov 2ah,#12h mov 2bh,#00 mov 2ch,#00 mov tmod,#b mov th0,#high(65536-4000) mov tl0,#low(65536-4000) mov ie,#b mov r4,#250 setb tr

16、0loop: jb p0.0,n2 call delay mov a,2ch add a,#01h da a mov 2ch,a cjne a,#60h,n1 mov 2ch,#00n1: jnb p0.0,$ call delayn2: jb p0.1,n4 call delay mov a,2bh add a,#01h da a mov 2bh,a cjne a,#60h,n3 mov 2bh,#00n3: jnb p0.1,$ call delayn4: jb p0.2,loop call delay mov a,2ah add a,#01 da a mov 2ah,a cjne a,#

17、24h,n5 mov 2ah,#00n5: jnb p0.2,$ call delay jmp looptim0: mov th0,#high(65536-4000) mov tl0,#low(65536-4000) push acc push psw djnz r4,x2 mov r4,#250 call clock call dispx2: call saomiao pop psw pop acc retisaomiao: mov r0,#28h inc r0 cjne r0,#6,x3 mov r0,#0x3: mov a,r0 add a,#20h mov r1,a mov a,r0

18、swap a orl a,r1 mov p2,a retclock: mov a,2ch add a,#1 da a mov 2ch,a cjne a,#60h,x4 mov 2ch,#00 mov a,2bh add a,#1 da a mov 2bh,a cjne a,#60h,x4 mov 2bh,#00 mov a,2ah add a,#1 da a mov 2ah,a cjne a,#24h,x4 mov 2ah,#00x4: retdisp: mov r1,#20h mov a,2ch mov b,#10h div ab mov r1,b inc r1 mov r1,a inc r

19、1 mov a,2bh mov b,#10h div ab mov r1,b inc r1 mov r1,a inc r1 mov a,2ah mov b,#10h div ab mov r1,b inc r1 mov r1,a retdelay: mov r6,#60d1: mov r7,#248 djnz r7,$ djnz r6,d1 retend第六节 调试 在绘制好PCB以后,就用腐蚀液将不需要的铜泊进行腐蚀和打孔,然后用万用表检查线路的好坏,在进行腐蚀的时候,由于在腐蚀的时候是人工的,而且在用镊子摇PCB板的时候,将需要的线路给划伤,所以就被腐蚀液给腐蚀了,将无法复原,因此就必须在

20、腐蚀完后用电烙铁将线路补好,再使用万用表检查以消除电路的短路与断路. 结 束 语 任何一个作品都不可能是完美的,这个作品也一样。按照人类的习惯,电子钟的时和分之间,分和秒之间都应该有“:”此符号,但在此设计中却没有达到这一点 (要解决这个问题只需要将第三个和第五个LED数码管倒一下就行了);这个数字钟显示的亮暗度是无法调解的(需要在软件设计中加入一个分支程序);在位选和段选用的是独立连接式键盘,如果换作矩阵式键盘,可以使得接口线更加的节省,从而可以连接更加丰富的功能。基于以上的不足,根据余老师在上课时的讲解,我虽然知道该在方面对其进行修改,但是具体实现起来还是有点困难的,我现在也终于明白了余老

21、师的那句话只要动手就能学到东西。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,选一个自己有兴趣的题目。其次,对老师的要求要一丝不苟的去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在学习态度方面,自从进入大学以后在这一方面我从不认为自己是懒惰的,但这次课程设计使我对学习态度有了重新的认识勤奋不等于好结果,只有科学的方法加上汗水才能出成品啊!对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工科专业的大学生,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。其次在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的当考试结束,开始课程设计的时候,我有一种莫名的火气,天哪!这可怎么办,时

温馨提示

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

评论

0/150

提交评论