基于51单片机的电子时钟设计.doc_第1页
基于51单片机的电子时钟设计.doc_第2页
基于51单片机的电子时钟设计.doc_第3页
基于51单片机的电子时钟设计.doc_第4页
基于51单片机的电子时钟设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

昆明工业职业技术学院课程设计任务书设计题目:电子时钟电路班 级:2010级电气自动控制技术3班学生姓名: 学 号: 指导教师: 莫丽薇 职 称: 讲师 指导小组组长: 杨云英 教学班负责人: 吕姝宜 设计时间:2012年6月18日至2012年7月1日 一、设计目的及设计要求(一)设计目的:按要求完成单片机实现电子时钟系统(二)设计要求及技术指标1、采用MCS51系列单片机设计一个嫩而过显示时、分、秒的电子时钟。2、刚打开电源是,显示的数据为12:00:00,然后电路会自动开始计时。电路中应有时、分、秒的各自单独的时间调整按钮。当显示数据变为23:59:59时,接下来的显示数据应变为00:00:00.时间调整按钮每按一次,应使相应调整的显示时间值家1.3、位码采用P1口通过38译码器实现,段码采用P1口通过74LS47芯片实现。 (二)课程设计说明书应包含的内容1、目录2、系统工作原理3、电子时钟设计总体电路图4、程序流程图5、程序模块设计6、设计分析总结7、参考文献(三)课程设计应完成的图纸(1)时钟电路设计电路图 A4 一张(2)时钟电路设计程序流程图 A4 一张(四)其它要求:设计说明书采用A4纸打印,要求采用宋体小四,并标上页码。(五) 课程设计(论文)的期限: 自 2012年6月18日至2012年7月1日(六)课程设计(论文)进度计划:起讫日期工作内容备 注6月18日6月18日-6月19日6月20日-6月23日6月24日-6月26日6月27日-6月30日7月1日下达课程设计任务书收集设计资料拟定设计初稿修改设计方案、绘制设计草图编制设计说明书、正式绘图交设计资料,进行质疑。目 录一、 课程设计名称1、单片机简介()2、设计意义()二、设计方案1、电子时钟应用方向()2、时钟芯片的重要性()3、构成电子时钟的设计思路()三、设计内容8051单片机实现的控制及时钟调整()四、硬件与软件部分 1电子时钟的概述() 2,电子时钟的硬件电路设计() 2.1选用单片机() 2.2 8051单片机引脚 () 2.3单片机各接口功能:() 2.4单片机工作原理() 2.5,发光二级管8字数码管的显示() 2.5.1数码管有共阴极、共阳极两种接法() 2.5.2 LED显示分为静态显示和动态显示两种方式() 2.6定时器/计数器T0中断服务程序() 2.7 74LS138译码器()2.8 74LS47芯片()2.9电子时钟校时()五、电子时钟的软件部分1、程序流程图()2、时钟电路工作工作原理()六、总结七、参考文献八、附录附录一 时钟电路设计电路图 附录二 时钟电路控制程序图一、课程设计名称:51单片机电子时钟1、单片机简介单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。2、设计意义本课程设计主要掌握数码管显示电路的动态显示原理,了解74LS138芯片和74LS47芯片运行方式,掌握扫描工作原理,掌握MCS-51单片机定时器、中断工作原理以及处理程序编程方法,利用MCS-51单片机的功能与74LS138芯片、74LS47芯片、数码管等部件组合构成一个用于显示时间的数字电路,时、分、秒都可调整。 单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。二、设计方案: 1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。3、通过应用8051单片机、74LS47芯片、74LS138芯片和数码管来组成一个完整的时钟控制电路,应用各自的功能,相互组合,通过汇编语言实现各自原件相互联系在一起,掌握一些数字电路的逻辑控制,时序控制三、设计内容: 使用8051单片机作为时钟控制芯片,应用单片机内部的定时/计数器T0 实现软时钟的目的。首先将T0设定工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。还要实现对时间的调整功能,8051的P0.0、P0.1、P0.2外接三个独立按键,当按下P0.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P0.1按键时,对显示的数码管进行加一的功能;当按下P0.2按键时,对显示的数码管进行减一的功能,达到调整时间的目的。四、硬件与软件部分1,电子时钟的概述概述电子时钟功用,利用 MCS51 单片机定时、中断功能完成时间的定时工作。 整个系统具有参数设定和时间运行,显示时、分、秒的电子时钟。开机时显示时间为12:00:00,然后电路会自动开始计时,电路中时、分、秒各自有单独的时间调整按钮,当时间到23:59:59时,接下来显示时间变为00:00:00参数设定完后,电子时钟显示由6个LED数码显示器显示时、分、秒 2,电子时钟的硬件电路设计2.1选用单片机1、选用单片机 MCS51 系统选用 8051 单片机,8051 单片机内有 4KROM、256 字节 RAM,程序存放在 4KROM。系统组成有:2.2 8051单片机引脚VCC - 芯片电源,接+5VVSS - 接地端XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲ALE 功能:用来锁存 P0 口送出的低 8 位地址,PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入 编程脉冲。PSEN:外 ROM 读选通信号。RST/VPD:复位/备用电源,RST(Reset)功能:复位信号输入端,VPD 功能:在 VCC 掉电情况下,接备用电源。EA/VPP:内外 ROM 选择/片内 EPROM 编程电源,EA 功能:内外 ROM 选择端,VPP 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程电 源 VPP。单片机I/O接口扩展当单片机构成系统时,常常I/O接口不够用,此时可以用MCS-51单片机的扩展接口,根据相应的需求扩展接口吗,利用MCS-51单片机的串行接口扩展并行I/O接口2.3单片机各接口功能:、时钟电路,用8051单片机的内部有一个高增益的反相放大器,其输入端XTAL1,输出端XTAL2,用输入端XTAL1引脚和输出端XTAL2引脚指教接入一个晶振,工作时钟采用12MHz的晶振频率产生一个精确的周期性脉冲信号的自激振荡器、 RAM,51单片机有片内存储器RAM还有特殊寄存器SFR,可以存放数据但是不能用来当做数据寄存器使用,也就是说用户不能随意的使用,特殊功能寄存器是可以随意读写的,属于RAM,RAM的主要功能用于存放程序运行中的数据和结果的存储。 、ROM,用于存储预先编写的程序,属于只读程序存储器 、I/O接口,8051单片机有四组接口,分别是P0、P1、P2、P3。P0:系统不进行扩展时作为通用I/O接口,P0口有输出数据、读引脚、读锁存器的功能;P1口除了能做通用的I/O接口外,是专用的用户数据通讯端,P1端口是具有输出锁存的静态;P2口增加了实现功能转换的多路开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。此外P2口不能输出静态的数据,自身输出外部程序存储器的高8位地址,执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口P3口除了作为通用I/O端口使用外,每个端口线都具有第二功能,当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号。由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口。2.4单片机工作原理单片机运行时,单片机本身自带的上电复位电路自动向单片机输入有效的复位信号,使单片机内各寄存器及端口复位到初始化状态,使程序计数器PC复位到0000H,然条后复位信号自动去除掉,CPU开始从0000H地址读取指令,暂存到指令寄存器,由指令译码器译码,译码结果送入定时与控制电路,产生各种定时与控制信号,控制CPU执行指令要求的控制、运算、读/写数据等操作程序计数器具有加1功能,当执行完一条指令时,PC会自动跳转指向下一条指令实现顺序控制,当执行完后没有循环指令时,直到程序运行完成后,PC不在执行加1指令,从而使程序不在顺序执行,实现程序终止。2.5,发光二级管8字数码管的显示2.5.1数码管有共阴极、共阳极两种接法。共阴极接法:将多只LED的阳极连接在一起即为共阴式,数码管各段dp,g,f,e,d,c,b,a从高到低顺序排列连接到并行接口各位相连,当作为共阴极接法时高电平有效。共阳极接法:将多只LED的阳极连接在一起即为共阳式,共阳式与共阴极不同共阳极低电平有效,但是在显示时对于共阳极接法,会是数码管在不需要工作时依然工作,所以在使用数码管时,一般采用共阴极接法2.5.2 LED显示分为静态显示和动态显示两种方式 静态显示:静态显示占用 CPU 时间短,显示简单、稳 定,但当显示位数较多 时,占用接口资源多。 动态显示接口电路较简单,但占用 CPU 时间, 显示亮度较静态显示差, 一般说,显示位数较多时,采用 动态或串并转换;显示位数较少时,采用静态显示方式。选用共阴极 LED,将共阴极点连接在一起接地,每一位的段选线与一个8位并行口相 连,只要将要显示的字符的字型码送至并行口锁存,LED显示器上便立即显示出该字符,直到 CPU 送来一个新的字型码为止,由于静态显示每位数码管均 有独立的段选码,耗电量大,硬件多。动态显示:将各位数码管的段并联接在一起,由 P1 口控制(字型口) ,每一个数码管的共阴极(共阳极)接到 P2.0、P2.1 作为 位选信号。虽说要显示的字型码通过 P1 口同时送到了每一个数码管,但它们不 会同时显示同一个字符,只有控制共阴极(共阳极)的位选信号有效时,对应的 数码管才会显示相应字符。这种由字型口控制要显示字符的字形码,依此循环选 通每位数码管的位选信号就得到了动态显示效果。 它主要是利用人眼的视觉暂留 特性及数码管得余光特性,看上去似乎是多位数码管同时显示。是当显示位数较 多时,节省硬件,接口电路简单,但显示占用 CPU 时间。2.6定时器/计数器T0中断服务程序 T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把他们的值放到存储器单元的指定位置。2.7 74LS138译码器对3个输入信号进行译码。得到8个输出状态。G1,G2A,G2B,为数据允许输出端,G2A,G2B低电平有效。G1高电平有效。A,B,C为译码信号输出端,Y0Y7为译码输出端,低电平有效。本实验中用作位码译码器选择通过A、B、C的输入来选择输出Y0Y7,从而使得在数码管上显示出相应的时间。2.8 74LS47芯片 74LS47芯片主要作为段码译码器,把用于将BCD码转化成数码块中的数字,然后我们就能看到从0-9的数字,通过A、B、C、D四个选择输入端来组合相应的BCD码,来使输出0-9的数字显示于数码管。2.9电子时钟校时定义三个按键时按键,分按键,加1键,用8051单片机的P0.0、P0.1、P0.2相连接,保证芯片的正常工作,同时加上了限流电阻。每个按键都是相互独立的,在使用按键进行调时间时,由于每个按键占用了一条I/O接口线,按键之间不会相互影响,按键工作以高、低电平状态,通过采用8051单片机汇编语言的编程,软件控制操作,在按键控制时,没有按键按下则时钟正常走下去,当时按下时加1到24时时进行清零,分按下时加1到60时进行清零,正常工作时,分和秒运行到59时自动跳转为00,然后在顺序执行。五、电子时钟的软件部分将程序以模块方式分割成具有相应功能的子程序,根据系统功能,合理安排主程序任务,中断服务程序任务,程序有两个分支:参数整定及时钟运行 。1、程序流程图:2、时钟电路工作工作原理: 电子时钟各部分连接完毕后,接通电源,整个电路进入复位状态,然后对时钟进行调试状态,通过按键操作和软件程序的配合使用,达到时间的调整和设定,硬件电路完成后,通过汇编语言编写的应用程序,存储于8051单片机的ROM中,通过对CPU的调用,读取数据,实现中断,计时,加1等指令。晶振产生一个频率脉冲,系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。在整个电子时钟电路中单片机主要分配各部分的运行,实现位码段码的选择,以及数码管显示出相应的数据值,达到一个微型计算机的控制要求,控制时、分、秒各自的加1与程序循环达到一天24小时的计时。六、总结经过一段时间整理资料,把课程设计分成了硬件和软件两大模块来完成电子时钟电路。硬件部分主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模块、显示模块、定时/计数模块,最后把几个模块整合在主程序模块中,使得程序简单明了。整个设计过程中遇到的最大问题是软件的编写,由于采用的是汇编语言其间使用到的各种寄存器、存储器地址、变量很多,很难对程序的整体把握。通过电子钟的设计,对单片机的原理、结构、外围电路进一步的了解。 通过对电子时钟的设计,使本组同学把单片机应用于实际生活当中,让我们感觉到单片机的应用广泛,经过这次课程设计,让我们更加清晰的了解单片机,同时也锻炼了我们的团队合作精神,也是让我们能力的一种提升。七、参考文献1单片机原理与应用技术王丰 栾学德 ,北京航空航天大学出版社,2007。3电子技术刘阿玲 北京理工大学出版社,2009八、附录 附录一 时钟电路设计电路图附录二 时钟电路控制程序图 ORG 00H 主程序起始地址 JMP START 主程序START ORG 0BH 定时器T0中断起始地址 JMP TIM0 定时器T0中断子程序TIM0START: MOV SP,#70H 设置堆栈指针 MOV 28H,#00 设置显示位数扫描指针初值为0 MOV 2AH,#12H 设置时钟显示寄存器初值为12H MOV 2BH,#00 设置分钟显示寄存器初值为00H MOV 2CH,#00 设置秒钟显示寄存器初值为00H MOV TM0D,#01H 设置定时器T0工作方式为1 MOV TH0,#0F0H 定时4ms的初值,即0F060H MOV TL0,#60H 初值的低位 MOV IE,#82H 定时器T0中断允许 MOV R4,#250 保证后面实现中断250次,即1s的延时 SETB TR0 启动定时器T0LOOP: JB P0.0,N2 若秒没有按键,就转去下一步检查分 CALL DELAY 延时5ms,消除抖动 MOV A,2CH 将秒寄存器的值载入累加器A ADD A,#01H A的内容加1 DA A 十进制调整 MOV 2CH,A A的值存入秒寄存器 CJNE A,#60H,N1 看是否已经是60s,若不是就继续检查 MOV 2CH,#00 已经是60s,就清空秒寄存器的值N1: JNB P0.0,$ 秒按键还没有放开就循环等待 CALL DELAY 延时5ms,消除抖动N2: JB P0.1,N4 若分没有按键,就转去下一步检查时钟 CALL DELAY 延时5ms,消除抖动 MOV A,2BH 将分寄存器的值载入累加器A ADD A,#01H A的内容加1 DA A 十进制调整 MOV 2BH,A A的值存入分寄存器 CJNE A,#60H,N3 看是否已经是60分,若不是就继续检查 MOV 2BH,#00 已经是60分,就清空分寄存器的值N3: JNB P0.1,$ 分按键还没有放开就循环等待 CALL DELAY 延时5ms,消除抖动N4: JB P0.2,LOOP 若时没有按键,就转回去检查看是否秒有按键 CALL DELAY 延时5ms,消除抖动 MOV A,2AH 将时寄存器的值载入累加器A ADD A,#01H A的内容加1 DA A 十进制调整 MOV 2AH,A A的值存入时寄存器 CJNE A,#24H,N5 看是否已经是24时,若不是就继续检查 MOV 2AH,#00 已经是24时,就清空时寄存器的值N5: JNB P0.2,$ 时钟按键还没有放开就循环等待 CALL DELAY 延时5ms,消除抖动 JMP LOOP 返回重新检查看是否有按键定时器T0中断子程序TIM0: MOV TH0,#OFOH 定时初值重设 MOV TL0#60H PUSH ACC 将累加器的A值暂存于堆栈 PUSH PSW 将PSW的值暂存于堆栈 DJNZ R4,X2 计时中断不满1s就退出继续中断 MOV R4,#250 计时1s CALL CLOCK 调用计时子程序CLOCK CALL DISP 调用显示子程序DISPX2: CALL SCAN 调用扫描子程序SCAN POP PSW 到堆栈取出PSW的值 POP ACC 到堆栈取回累加器ACC的值 RETI 返回主程序扫描子程序SCAN MOV R0,#28H INC R0 显示位数扫描值加1 CJNE R0,#6,X3 扫描位数不为6就准备控制输出 MOV R0,#0 扫描位数为6,就令其值为0X3: MOV A,R0 扫描位数载入A ADD A,#20H A加上20H(显示寄存器地址)=各时间显示区地址 MOV R1,A 各时间显示区地址存入A MOV A,R0 扫描位数存入A SWAP A 将A的高低4位交换(其高4位为扫描的位数,低4位为 显示数据值) ORL A,R1 将扫描值于显示数据组合 MOV P1,A 显示输出 RET计时子程序CLOCK: MOV A,2CH 秒寄存器值载入A ADD A,#1 加1s DA A 十进制调整 MOV 2C

温馨提示

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

评论

0/150

提交评论