版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业论文专 业电气自动化班 级D08-7班姓 名李娜指导教师孙 常 华 二0一0年十二摘 要单片机计算机即单片微型计算机。(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习应用,从而达到学习、设计、开发软、硬的能力。时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让
2、我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了基于单片机电子时钟,截止今日,单片机应用技 术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。【关键词】:电子,时钟目 录绪论1一、概述2 (一)课题研究的目的和意义2 (二)国内外研究的现状及发展趋势2(三)课题设计目的务与要求3二、总体方案设计4(一)实现时钟计时的基本方法4(二)电子钟
3、的时间显示4(三)电子钟的时间调整4(四)总体方案介绍51、计时方案52、控制方案5三、系统硬件电路设计6(一)单片机模块设计6 1、芯片分析7 2、晶振电路8 3、复位电路9(二)数码显示模块设计9(三)按键模块设计10四、系统软件设计11(一)系统软件设计分析11 1、系统总体流程图11(二)源程序代码12五、系统仿真与实验测试19(一)电子时钟时刻仿真效果图19参考文献20致谢21附录22绪 论单片机在多功能数字钟中的应用已是非常普遍的,人们对电子时钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为电子时钟的核心控制器,可以通过它的时钟信号进行实现计时功能
4、,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术或数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89S51为核心元件同时采用LED数码管显示器动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。 一、概述课题研究的目的和意义数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方
5、便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改
6、造和产品的更新换代,应用前景广阔。(1) 国内外研究的现状及发展趋势从单片机电子时钟近年的发展趋势来看,正朝着多层次用户、多品种、多规格、高精度、小体积、低能耗等方面发展。在这种趋势下,时钟的数字化,智能化已经成为现代时钟生产研究的主导设计方向。带有时钟功能的电子产品和电子设备进年来广泛地出现在国内外市场中。例如奥运会倒计时显示屏、铁路安全显示屏、生产线看板、体育比赛记时屏、大型室外高亮度时钟等,这类产品覆盖银行、医院、地铁车站、体育运动、电视台、监控系统、高大建筑物等行业。作为一种人机接口方式,语音比LCD,鼠标键盘等设备更易于使用。而在设计里加上语音提示、音乐或者其他语音功能,还使得设计显
7、得既人性化又有趣,不但能提高开发者的兴趣和积极性,同时也能让设计作品与众不同,从而得到了各界领域的广泛应用所以对语音的研究有很大的实际意义。(三)课题设计目的与要求目的:按要求完成单片机实现电子时钟系统。要求:1)采用MSC-51系列单片机设计一个能显示时、分、秒的电子时钟。2)刚打开电源时,显示的数据为12:00:00,然后电路会自动开始计时。电路中有时、分、秒的各自单独的时间调整按钮。当显示数据变为23:59:59时,接下来的显示数据应变为00:00:00.时间调整按钮每按一次,应使相应调整的显示时间值加1。3)位码采用P1口通过3-8译码器实现,段码采用P1口通过74LS47芯片实现。1
8、、 总体方案设计2.1 实现时钟计时的基本方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。假设使用T/C0,方式1,50ms定时,fosc=12MHz。则初值X满足(216-X)×1/12MHz×12s =50000sX=155363CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。电子钟的时间显示电子钟的时钟时间在六位数码管上进
9、行显示,因此,在内部RAM中设置地址单元。25H 24H 23H 22H 21H 20H 时十位 时个位 分十位 分个位 秒十位
10、 秒个位2.3 电子钟的时间调整时间调整:用3个按键通过程序控制来完成。2.4 总体方案介绍计时方案利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。控制方案AT89S51的P1口外接74LS47译码器再接八个LED数码管(LED8LED1)构成的显示器,作LED的段码输出口,P1口接3-8译码器作八个LED数码管的位控输出线,P0口外接三个按键时、分、秒构成键盘电路。硬
11、件介绍1) AT89S51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有4K Flash 可系统编程的只读存储器(EPROM),该器件采用ATMEL公司的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8 位微处理器于单片芯片中, 片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,可灵活应用于各种领域。AT89S51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内
12、部RAM,32 个IO 口线,看门狗(WDT),两个数据指针,两个16 位定时计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51 可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2) 74LS47是BCD-7段数码管译码器/驱动器, 74LS47的功能用于将BCD码转化成数码块中的数字,通过它解
13、码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的I/O开销。因此是一个非常好的芯片!但是由于目前从节约成本的角度考虑,此类芯片已较少用,大部份情况下都是用动态扫描数码管的形式来实现数码管显示。译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用.3) 74LS138是一个3位二进制译码器,通常所说的3-8译码器,A、 B、C是三个输入端,Y1Y7是八个输出端且低电平有效,另设三个使能端G1、G2A、G2B用以控制译码器工作及扩展
14、功能。 三 、系统硬件电路设计、根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、译码器模块,数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。图1 硬件电路方框图单片机模块设计芯片分析AT89S51单片机引脚图右图:MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V电源。VSS:接地。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用
15、于接外部时钟脉冲信号。P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。P3口:P3
16、口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如所示。AT89S51的内部构成3.译码器74LS47引脚图如下: 逻辑图数字 或功能输入BI/RBO输出LTRBIDCBAabcdefg01100001000000111x00011100111121x00101001001031x00111000011041x01001100110051x01011010
17、010061x01101110000071x01111000111181x10001000000091x100110001100101x101011110010111x101111100110121x110011011100131x110110110100141x111011110000151x111111111111BIxxxxxx01111111RBI10000001111111LT0xxxxx1000000074LS47真值表74LS138引脚图如下: 逻辑图真值表晶振电路右图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚
18、XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉。晶振电路复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证
19、RESET为高电平的时间大于两个机器周期,便能正常复位。3.2 数码显示模块设计系统采用动态显示方式,用74LS138来控制LED数码管的段控线,而用74LS47来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图5 数码显示电路3.3 按键模块下图为按键模块电路原理图,时钟调控键,分钟调控键,秒钟调控键。按键模块电路原理图4、 系统软件设计4.程序流程基本的程序流程应该是:在主程序中检测各个时间按钮是否有动作若有,就储存并修改相关的
20、的时间寄存器的值,若没有,就继续检测。在计时子程序中将各时间寄存器的值逐个加1,每加一次就要检查是否已超过显示的上限值,这样在后面就便于处理,在扫描显示子程序中,将扫描位数指针与20H相加,从而得到相应的显示数据;然后按照显示的位数加显示数就的格式,将数据从P1口输出到数码管上去显示,当然还有定时中断子程序,在这里,它实现计时1S的时间延时。图 7 系统总体流程图4.2 源程序代码ORG 00H;主程序起始地址JMP START;主程序STARTORG 0BH;定时器T0中断起始地址JMP TIM0;定时器T0中断子程序TIM0START:MOV SP;#70H;设置堆栈指针MOV 28H,#
21、00;设置显示位数扫描指针初值为0MOV 2AH,#12H;设置时钟显示寄存器初值为12HMOV 2BH,#00;设置分钟显示寄存器初值为00HMOV 2CH,#00;设置秒钟显示寄存器初值为00HMOV TMOD,#01H;设置定时器T0工作在方式1MOV TH0,#0F0H;定时4ms的初值,即0F060HMOV TL0,#60H;初值的低位MOV IE,#82H;定时器T0中断允许MOV R4,#250;保证后面实现中断250次,即1s的延时SETB TR0;启动定时器T0LOOP:JB P0.0,N2;若秒没有按键,就转去下一步检查分CALL DELAY;延时5ms消除抖动MOV A,
22、2CH;将秒寄存器的值载入累加器A ADD A,#01H;A的内容加1DA A;十进制调整MOV 2CH,A;A 的值存入秒寄存器CJNE A,#60H,N1;看是否已经是60秒,若不是就继续检查MOV 2CH,#00;已经是60秒,就清空秒寄存器的值N1:JNB P0.0,$;秒按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动N2:JB P0.1,N4;若分没有按键,就转去下一步检查时钟CALL DELAY;延时5ms,消除抖动MOV A,2BH;将分寄存器的值载入累加器AADD A,#01H;A的内容加1DA A;十进制调整MOV 2BH,A;A的值存入分寄存器CJNE
23、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;将时寄存器的值载入累加器AADD A,#01H;A的内容加1DA A;十进制调整MOV 2AH,A;A的值存入时寄存器CJNE A,#24H,N5;看是否已经是24时,若不是就继续检查MOV 2AH,#00;已经是24时,就清空寄存器的值N5:JNB P0.2,$;时钟按
24、键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动JMP LOOP;返回重新检查看是否有按键;*定时器T0中断子程序*TIM0:MOV TH0,#0F0H;定时初值重设MOV TL0,#60HPUSH ACC;将累加器A的值暂存于堆栈PUSH PSW;将PSW的值暂存于堆栈DJNZ R4,X2;计时中断不满1s就退出继续中断MOV R4,#250;计时1sCALL CLOCK;调用计时子程序CLOCKCALL DISP;调用显示子程序DISPX2:CALL SCAN;调用扫描子程序SCADPOP PSW;到堆栈取回PSW的值POP ACC;到堆栈取回累加器ACC的值RETI;返回
25、主程序;*扫描子程序*SCAN:MOV R0,#28HINC R0;显示位数扫描值加1CJNE R0,#6,X3;扫描位数不为6就准备控制输出MOV R0,#0;扫描位数为6,就另其值为0X3:MOV A,R0;扫描位数载入AADD A,#20H;A加上20H(显示寄存器地址)=各时间显示区地址MOV R1,A;各时间显示区地址存入AMOV A,R0;扫描位数存入ASWAP A;将A的高低4位交换(其高4位为扫描;的位数,低4位为显示数据值)ORL A,R1;将扫描值与显示数据组合MOV P1,A;显示输出RET;*计时子程序*CLOCK:MOV A,2CH;秒寄存器值载入AADD A,#1;
26、加1秒DA A;十进制调整MOV 2CH,A;A的值存入秒寄存器CJNE A,#60H,X4;A不等于60秒,就跳出程序去显示MOV 2CH,#00;已经是60秒,就清0MOV A,2BH;分寄存器值载入AADD A,#1;加1分DA A;十进制调整MOV 2BH,A;A的值存入分寄存器 CJNE A,#60H,X4;A不等于60分,就跳出程序去显示MOV 2BH,#00;已经是60分就清0MOV A,2AH;时寄存器值载入AADD A,#1;加1小时DA A;十进制调整MOV 2AH,A;A的值存入是寄存器CJNE A,#24H,X4;A不等于24时,就跳出程序去显示MOV 24H,#00;
27、已经是24时,就清0X4:RET;*显示子程序*DISP:MOV R1,20H;20H为显示寄存器单元MOV A,2CH;将秒寄存器的内容存入AMOV B,#10H;设B累加器的值为10HDIV AB;A/B,商存入A(十位数),余数存入(个位数)MOV R1,B;将显示的个位数存入20H显示寄存器单元INC R1MOV R1,;A将显示的十位数存入21H显示寄存器单元INC R1MOV A,2BH;将分寄存器的内容存入AMOV B,#10H;设B累加器的值为10HDIV AB;A/B,商存入A(十位数),余数存入(个位数)MOV R1,B;将显示的个位数存入22H显示寄存器单元INC R1M
28、OV R1,A;将显示的十位数存入23H显示寄存器单元INC R1MOV A,2AH;将时寄存器的内容存入AMOV B,#10H;设B累加器的值为10HDIV AB;A/B,商存入A(十位数),余数存入(个位数)MOV R1,B;将显示的个位数存入24H显示寄存器单元INC R1MOV R1,A;将显示的十位数存入25H显示寄存器单元RET;*延时5ms消除抖动*DELAY:MOV R6,#60D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D1RETEND五、系统仿真与实验测试5.1 系统仿真运用proteus软件进行仿真现在proteus软件中建立一个新的文件,再根据自己的要求选择所需的器件,把器件进行适当的排位后进行连接,连接后运行软件进行仿真。如右图。5.2 实验测试电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为12:00:00的仿真图:12:00:00时刻的仿真效果图参考文献1 刘阿玲:电子技术北京理工大学出版2倪志莲:单片机应用技术北京理工大学出版社3肖婧:单片机入门与趣味实验设计,北京航天航空大学出版社4 社胡辉:胡辉单片机应用系统设计与训练,中国水利水电出版社5 李
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年旅游公司浮动抵押合同
- 个人住宅租借押金及季度租金合同样本(2024版)一
- 二零二五年度专业印刷品设计、印刷与打印服务合同3篇
- 事业单位基本建设粉刷工程分包合同2024版B版
- 2025年度烘焙连锁面包砖供应链合作协议4篇
- 二零二五年度干股虚拟股分红激励方案合同范本
- 2025年度玩具货物运输委托服务协议
- 二零二五年度物业小区个人承包社区物业服务综合解决方案协议
- 2025年度家用空调拆装安全操作规范及应急处理合同
- 二零二五年度家政服务公司保姆雇佣协议
- 海外资管机构赴上海投资指南(2024版)
- 山东省青岛市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 墓地销售计划及方案设计书
- 从偏差行为到卓越一生3.0版
- 优佳学案七年级上册历史
- 铝箔行业海外分析
- 纪委办案安全培训课件
- 超市连锁行业招商策划
- 城市道路智慧路灯项目 投标方案(技术标)
- 【公司利润质量研究国内外文献综述3400字】
- 工行全国地区码
评论
0/150
提交评论