单片机最小应用系统设计报告单片机多点定时数字钟的设计_第1页
单片机最小应用系统设计报告单片机多点定时数字钟的设计_第2页
单片机最小应用系统设计报告单片机多点定时数字钟的设计_第3页
单片机最小应用系统设计报告单片机多点定时数字钟的设计_第4页
单片机最小应用系统设计报告单片机多点定时数字钟的设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 电 子 科 技 大 学单片机最小应用系统 设 计 报 告 指导老师: 学 生: 学 号: 机电工程学院2009年5月单片机最小应用系统设计报告一、设计题目1二、设计内容与要求1三、设计的目的与意义1四、系统硬件图14.1系统的硬件电路原理图24.2 各主要芯片及相应组成电路3五、程序流程图4六、系统程序5七、系统说明与分析127.1设计步骤127.2设计内容13八、总结13九、参考文献14一、 设计题目多点定是数字钟的设计二、设计内容与要求以at89s51单片机为核心器件,组成一个定时数字钟系统,系统显示器由四位数字型数码管组成,分别显示小时和分钟,能够随时对当前时间进行调整,并能构随时输入

2、定时时间,在定时时间到时会有提示音提示时间已到。三、设计的目的意义1. 通过本课程设计的学习,掌握数码管显示电路的动态显示原理;2. 了解到cd4511是一个用于驱动共阴极 led (数码管)显示器的 bcd 码七段码译码器,如下特点:具有bcd转换、消隐和锁存控制、七段译码及驱动功能的cmos电路能提供较大的拉电流,可直接驱动led显示器;3. 掌握单片机定时器、中断的工作原理以及动态显示的编程方法,可以设计可以调整的数字闹钟。4. 完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。5. 进行题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。6.

3、用at89c51,cd4511设计出题目所要求的波形实现循环显示,并针对实际设计过程中软、硬件设计方面出现的问题提出相应解决办法。四、系统的硬件电路图4.1系统的硬件电路原理图系统的硬件电路图如图1所示,从图中可以看到该电路主要有时钟电路、复位电路等组成。电源电路有设备提供,在原理图上不在说明,本文简单介绍电源电路的组成原理。该图为多点定时数字钟的硬件电路图4.2 各主要芯片及相应组成电路1)8051单片机:2) 时钟电路 该电路主要有电容c1、c2和晶振y1组成。其组成原理图如图2所示,图中xtal1为芯片内部振荡电路的输入端,xtal2为芯片内部振荡电路的输出端。图为时钟电路3)复位电路

4、单片机通常采用的复位方式有上电复位和按钮复位两种。本次设计用的复位方式是按钮电平复位。其原理图如图3所示。当按下按钮sw时,电容对r6迅速放电,reset端变为高电平,reset松开后,电容通过电阻r6进行充电,reset端恢复为低电平。图为复位电路五、程序流程图定时器t0初始化并开中断该图为主程序框图 该图为中断数码管动态显示框图六、系统的程序sw1 equ p3.0 ;定义校分按钮sw2 equ p3.1 ;定义校时按钮sw3 equ p3.2 ;定义设定按钮sw4 equ p3.3 ;定义设定结束按钮buzzer equ p3.4 ;定义蜂鸣器输出按钮dis equ p2 ;定义显示器控

5、制口ms equ 10h ;定义50ms计数器secs equ 11h ;定义秒计数器minute equ 12h ;定义分钟计数器hour equ 13h ;定义时计数器dm equ 14h ;定义显存地址tminute equ 18h ;定义定时分单元thour equ 19h ;定义定时时单元ttab equ 1ah ;时间表指针org 0000hajmp main ;转主程序org 000bhajmp t0int ;转t0定时程序main:mov sp ,#60h mov p3,#0ffh ;将p3.0p3.3设置为输入口 lcall clear setb ea ;允许中断 setb

6、et0 clr f0mov tmod ,#01h ;清数码管闪亮控制标志mov tl0,#0b0h ;预装50ms初值mov th0,#3chmov b ,#50 mov ms,#0 mov secs ,#0 ;预装秒初值mov minute ,#01h ;预装分初值mov hour ,#0ch ;预装时初值mov tminute ,#0 ;预置定时分mov thour,#6h ;预装定时时setb tr0 ;启动t0loop1:setb buzzer mov r0,#minute lcall split ;调用子程序lcall disp ;调用显示程序mov a,secs lcall com

7、p mov r0,#minutelcall splitlcall dispscan:jb sw3,loop1lcall tset ;调用设定时间设置程序sjmp loop1 tset:lcall clear ;调用时间表清除程序lcall bbset0:mov r0,#minute lcall splitlcall disp ;调用显示子程序jnb sw3,set0setb f0mov ttab,#20hset1:mov r0,#tminutelcall splitlcall dispjnb sw1,setm ;判断设置分按钮是否有效jnb sw2,seth ;判断设置时按钮是否有效jnb s

8、w3,savejnb sw4,set1sjmp sexitsetm:mov r0,#tminutelcall splitlcall dispjnb sw1,setmmov a,tminute ;取定时分add a,#1 ;定时分加1da a ; 十进制调整mov tminute ,a ;保存定时分cjne a ,#60h ,set1mov tminute ,#0sjmp set1seth:mov r0,#tminute lcall splitlcall dispjnb sw2,seth ;等待sw2释放mov a,thour ;取定时时add a,#1 ;定时时加1da amov thour

9、,acjne a ,#24 ,set1mov thour ,#0sjmp set1save:mov r0,#tminutelcall splitlcall disp ;调用显示子程序jnb sw3,savelcall bbmov r0,ttab ;取时间表指针mov r0,thourinc r0mov r0,tminuteinc r0mov ttab,r0cjne r0,#60h,set1 ;判断时间表是否存满sexit:lcall bbclr f0retbb:mov r5,#40hloop3:mov r6,#80hdjnz r6,$cpl buzzerdjnz r5,loop3setb bu

10、zzerretsplit:mov r1,#dm ;显存首地址mov a,r0 ;取分钟anl a,#0f0h ;取分钟的个位mov r1,a ;送显存inc r1 ;mov a,r0 anl a,#0f0h ;取分钟的个位swap amov r1,a ;送显存inc r1inc r0mov a,r0 ;取小时anl a,#0f0h ;取小时个位mov r1,ainc r1mov a,r0anl a,#0f0hswap amov r1,a ;送显存retdisp: push 00 ;保护现场push 01push 02 push 03push accmov r0,#dm ;显示缓冲区首地址mov

11、 r2,#0efhjnb f0,disp0djnz b,disp1cpl f0mov b,#50sjmp disp1disp0:clr f0disp1:orl dis ,#0f0h ;关显示器mov r3,#100djnz r3,$jb f0,hidemov a,r2 ;取位控码anl a,#0f0h ;屏蔽无关位 orl a,r0mov dis ,ahide:mov r3,#200djnz r3,$inc r0 ;指向下一位显存mov a,r2 ;取字位码rl amov r2,ajb acc.0,disp1 ;判断显示器是否扫描一遍deeit:pop accpop 03pop 02pop 0

12、1pop 00ret comp:mov r1,#20h ;时间表首地址comp1:mov a,r1 ;取时间表的小时cjne a,hour,comp5inc r1mov a,r1cjne a,minute,comp6mov r5,#40mov r4,#10mov r6,#30mov r7,#40comp2:mov r0,#minutelcall splitlcall disp ;调用显示程序djnz r6,comp2mov r6,#30cpl buzzerdjnz r5,comp2mov r5,#40 ;响铃comp3:mov r0,#minutelcall splitlcall dispdj

13、nz r4,comp3mov r4,#20cpl buzzerdjnz r7,comp3mov r7,#40comp4:lcall dispmov a,secsjz comp4comp5:inc r1comp6:inc r1cjne r1,#60h,comp1ret clear:mov r0,#20h ;定时时间表首地址mov a,#0ffhloop2:mov r0,a ;清除定时时间表inc r0cjne r0,#60h,loop2ret t0int:push acc ;保护现场mov tl0 ,#0b0h ;50ms定时mov th0,#3chjb f0,lp2jnb sw1,verm ;

14、判断校分按钮是否有效jnb sw2,verh ;判断校时按钮是否有效lp2:inc msmov a,ms cjne a,#3,lp3clr ledlp3:cjne a,#20,t0exit ;判断一秒是否到setb ledmov ms ,#0inc secsmov a,secscjne a,#60,t0exit ;判断秒是否等于60mov secs,#0 ;秒清零mov a,minute ;分加1add a,#1 ;十进制调整da amov minute ,acjne a,#60,t0exit ;判断分是否等于60mov minute ,#0 ;分清零mov a,hour ;时加1add a,

15、#1 ;十进制调整da amov hour,acjne a,#24h ,t0exitmov hour ,#0t0exit:pop accreti ;中断返回verm:mov a,minute ;取分add a,#1 ;分加1da amov minute,a ;保存分cjne a ,#60,verm1mov minute,#0verm1:mov secs ,#0pop accreti ;中断返回verh:mov a,hour ;取时add a,#1da amov hour,a ;保存时cjne a ,#24,verh1mov hour ,#0verh1:mov secs ,#0pop accre

16、ti ;中断返回end七、系统的功能分析与说明7.1设计步骤1. 理解设计任务要求(通过阅读有关资料及调查研究);2. 对总体方案进行分析、论证;3. 系统硬件电路的设计;4. 系统控制软件的设计;1) 以功能明确、相互界面能清晰分割的软件程序为基础,确定主程序流程框图;2) 以主程序流程框图为基础,确定各模块程序算法及实现的功能,进一步确定各模块程序流程框图;3) 根据软件流程框图,用at89c51汇编语言编写主程序和延时子程序;4) 系统软、硬件的调试;5) 编写课程设计说明书;6) 答辩验收7.2设计内容1.该系统控制器有四位led数码显示器,具有基本时钟及多点报时功能,可用于作为时间指

17、示及多点时间提醒。 2.时间校对 在任何时候均可通过按压校时和校分按钮进行显示时间调整。每按动一下校时按钮,小时自动加1;当小时指示为24时,再加1将自动清零。每按动一下校分按钮,分自动加1,当分钟指示59时,再按动校分按钮,分钟将变为00.3.设定定时时间需要设定报时时间的点时,应首先按设定按钮,然后再按动校时和校分按钮,是指示的时间与要求的时间一致,再按设定按钮保存。设定完毕,最后按结束按钮退出设定状态,返回正常的计时状态。八、总结1、在设计系统过程中,学会用protel 画原理图和pcb图。通过查阅相关的书籍,设计了电路原理图,经过仿真和反复的修改电路中元器件的参数得到了可行的电路图。2

18、、接下来是最关键的步骤电路板的调试,软硬件相结合,开始将程序烧到硬件电路中,刚开始工作比较正常,达到了题目的要求,当程序运行几个循环后,发现开始出现错误。输出的波形比较紊乱,然后进行故障的排查,检查硬件和软件都没有问题,再进行一次调试还是不行,通过查阅cdd4511译码芯片的资料,发现问题的所在,自己将片选信号接到地上可能导致一直工作状态,出现程序紊乱的现象。 3、经过学习单片机接口实验这门课,使自己对单片机有了更深入的了解,提高了自己的动手能力。很感谢在整个课程学习中老师和师兄们的指导,以及同班同学的热心帮助。九、参考文献1 肖玲妮,袁增贵.protel99se.北京:清华大学出版社,2003.2 江太辉.mcs-51系列单片机原理与应用m.广州:华南理工大学出版社,2002.3 何立民.单片机应用系统设计系统配

温馨提示

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

评论

0/150

提交评论