时钟程序单片机_第1页
时钟程序单片机_第2页
时钟程序单片机_第3页
时钟程序单片机_第4页
时钟程序单片机_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录第一章 设计背景1第二章 课程设计说明22.1 课程设计目的22.2 课程设计要求3第三章 系统方案与总体结构3第四章 数字时钟硬件构成34.1 数字时钟设计概图34.2 选用芯片简介44.2.1 80C51简介44.2.2 8155简介94.2.3 3-8线译码器74LS138简介114.2.4 LED数码管简介134.3 数字时钟工作原理图14第五章 数字时钟软件设计16第六章 总结19第一章 设计背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更

2、新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命

3、。单片机模块中最常见的是数字时钟,数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至

4、各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。 第二章 课程设计说明 2.1 课程设计目的课程设计是本课程教学中极为重要的实践性教学环节,它不但起着提高本课 程教学质量、水平和检验学生对课程内容掌握程度的作用,而且还将起到从理论过渡到实践的桥梁作用。因此,必须认真组织,周密布置,积极实施,以达到下述教学目的。 1通过课程设计,使学生进一步巩固、深化和扩充在单片机原理及相关课程方面的基本知识、基本理论和基本技能,达到培养学生独立思考、分析和解决实际问题的能力。 2通过课程设计,使学生养成严谨科学、严肃认真、一丝不苟和实事求是的工

5、作作风,达到提高学生基本素质的目的。 3.通过课程设计,让学生独立完成利用单片机实现某一实际控制系统的基本设计工作,达到培养学生综合应用所学知识和实际查阅相关设计资料的能力的目的。 4.通过课程设计,使学生熟悉设计过程,了解设计步骤,掌握设计内容,达到培养学生设计电路、实现软件编程和编写设计说明书能力的目的,为学生今后从事相关方面的实际工作打下良好基础。 2.2 课程设计要求 (1)根据设计课题的技术指标和给定条件,在教师指导下,能够独立而正确地进行方案论证和设计计算,要求概念清楚、方案合理、方法正确、步骤完整;(2)要求学生掌握单片机的设计内容、方法和步骤;(3)要求会查阅有关参考资料和手册

6、等;(4)要求学会选择有关元件和参数;(5)要求学会绘制有关电路图和设计流程图;(6)要求学会编写设计说明书。第三章 系统方案与总体结构 系统采用通用的80C51芯片,显示器为6个共阳极LED数码管,用1个74LS164芯片和一个8155I/O 扩展芯片驱动数码管(74LS164具有将串行信号变为并行信号),用3-8译码器74LS138的输出作为动态扫描时数码管的选通信号。选用P0.0-P0.7作为显示数据值的输出,连接在8155的D0D7输入端,8155的PB0和PB1连接到74LS164,而74LS164的并行输出连接到数码管,以保证数码管表示的时分秒同时显示。时间以24小时为一个周期,数

7、字时钟钟的格式为:XX XX XX,由左向右分别为:时、分、秒。完成显示由秒加1,一直加1至59,再恢复为00;分加1,一直加1至59,再恢复00;时加1,一直加1至23,再恢复00。第四章 数字时钟硬件构成 4.1 数字时钟框图设计80C51 815574LS164数码管uA2003图1 数字时钟框图4.2 选用芯片简介 4.2.1 80C51简介虽然目前单片机的品种很多,但其中最具代表性的当属Intel公司的MCS-51单片机系列。MCS-51以其典型的结构、完善的总线、SFR的集中管理模式、位操作系统和面向控制功能的丰富的指令系统,为单片机的发展奠定了良好的基础。MCS-51系列的典型芯

8、片是80C51(CHMOS型的8051)。为此,众多的厂商都介入了以80C51为代表的8位单片机的发展,如Philips、Siemens(Infineon)、Dallas、ATMEL等公司,我们把这些公司生产的与80C51兼容的单片机统称为80C51系列。特别是在近年来,80C51系列又有了许多发展,推出了一些新产品,主要是改善单片机的控制功能,如内部集成了高速I/O口、ADC、PWM、WDT等,以及低电压、微功耗、电磁兼容、串行扩展总线和控制网络总线性能等。 鉴于80C51系列在硬件方面的的广泛性、代表性和先进性以及指令系统的兼容性,可用其作为本教材的介绍对象;至于其他类型的单片机,在深入学

9、习和掌握了80C51单片机之后再去学习已不是什么难事。图2 80C51单片机管脚图 单片机内部结构图为如图3所示: 图3单片机内部结构图 80C51单片机管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后

10、,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编

11、程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为80C51的一些特殊功能口,如下所示:口管脚备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通表1 管脚P3口表P0,P1,

12、P2,P3口引脚图为如图4: 图4 P0,P1,P2,P3口引角图其中我们用了P0口和P1口。定时/计数器简介 1.工作模式寄存器TMOD(89H) 工作模式寄存器TMOD用于控制T0和T1的操作模式,TMOD中,低4位用于T0,高4位用于T1,如下所示:D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0高4位用于T1低4位用于T0门控位GATE。GATE=0时,只要用软件使TR0或TR1置1就启动了定时器,而不管INT0或INT1的电平是高还是低。GATE=1时,只有INT0或INT1管脚为高电平,而且由软件使TR0或TR1置1时,方能启动定时器工作。方式选择位C/

13、T。C/T=0时,为定时方式。定时器对8051机器周期计数。C/T=1时,为计数方式,计数器的输入为来自T0或T1的外部脉冲。操作模式控制位M1和M0。M1和M0可形成4种编码,对应于定时器/计数器的4种操作模式。如下所示:M1 M0操作模式功能描述00方式013位计数器01方式116位计数器10方式2自动重装8位计数器11方式3两个8位计数器2.控制寄存器TCON(88H)定时器控制寄存器TCON除可字节寻址外,各位还可位寻址,TCON字位如下:8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0TF1是T1溢出标志位。当T1溢出时由硬件自动使中断

14、触发器TF1置1,并向CPU申请中断。当CPU响应进入中断服务程序后,TF1又被硬件自动清0。TF1也可以用软件清0。TF0是T0溢出标志位。TR1是T1运行控制位。可用软件置1或清0来启动或关闭T1。使TR1位置1后,定时器T1便开始计数。TR0是T0运行控制位。外部中断位。低4位是外部中断位,他们是IE1,IT1,IE0,IT0,为外部中断INT1,INT0请求及请求方式控制位。8051复位时,TCON的所有位被清0。4.2.2 8155简介2.1 课程设计目的 2.2 课程设计要求 4.1 数字时钟框图设计4.2 选用芯片简介 4.2.1 80C51简介4.2.2 8155简介8155引

15、脚图及功能描述8155有40个引脚,采用双列直插封装,其引脚图和组成框图如下页图所示。我们对8155的引脚分类说明如下: 图5 8155管脚图地址/数据线AD0AD7(8条):是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。I/O口总线(22条):PA0PA7、PB0PB7分别为A、B口线,用于和外设之间传递数据;PC0PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。 a.控制寄存器格式如下D7 D6 D5 D4 D3 D2 D1 D0TM2TM1IEBIEAPC2PC1PBPA A口控制位,PA=

16、1输出方式,PA=0输入方式 B口控制位,PB=1输出方式,PB=0输入方式I/O 口方式PC2 PC1=00 方式1 11 方式2 01 方式3 10 方式4A口中断允许控制,“1”为允许,“0”为禁止B口中断允许控制,“1”为允许, “0”为禁止定时/计数方式控制TM2、TM1=00 空操作 11 停止计数 01 计数值减为1时停止 10 启动计数器(3) 控制总线(8条):RESET:复位线,通常与单片机的复位端相连,复位后,8155的3个端口都为输入方式。WR, RD:读/写线,控制8155的读、写操作。ALE:地址锁存线,高电平有效。它常和单片机的ALE端相连,在ALE的下降沿将单片

17、机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存器。CS:片选线,低电平有效。IO/M:RAM或I/O口的选择线。当=0时,选中8155的256 B RAM;当=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。TIMERIN、TIMEROUT:定时/计数器的脉冲输入、输出线。TIMERIN是脉冲输入线,其输入脉冲对8155内部的14位定时/计数器减1;为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。8155的I/O接口及RAM地址分配 表2 I/O接口及定时器地址

18、编码AD2 AD1 AD0选中I/O口及定时器低8位地址编码0 0 0控制(命令)状态寄存器00H0 0 0 PA口01H0 1 0 PB口02H0 1 1 PC口03H1 0 0 定时器低8位04H1 0 1定时器高8位05H 作片外RAM使用当CE=0,IO/M=0时,8155只能做片外RAM使用,共256 B。其寻址范围由以及AD0AD7的接法决定,这和前面讲到的片外RAM扩展时讨论的完全相同。当系统同时扩展片外RAM芯片时,要注意二者的统一编址。对这256 B RAM的操作使用片外RAM的读/写指令“MOVX”。 作扩展I/O用当 CE=0,IO/M=1时,此时可以对8155片内3个I

19、/O端口以及命令/状态寄存器和定时/计数器进行操作。与I/O端口和计数器使用有关的内部寄存器共有6个,需要三位地址来区分。4.2.3 3-8线译码器74LS138简介 当一个选通端(E1)为高电平,另两个选通端(/E2)和/(E3))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。图6 74LS138管脚图 4.2.4 LED数码显示器简介 图7 八段数码管图1、本实验仪提供了8段码数码管LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,采用动态方式显示。8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到

20、。6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显示位。74LS164是串行输入并行输出转换电路,串行输入的数据位由8155的PB0控制,时钟位由8155的PB1控制输出。写程序时,只要向数据位地址输出数据,然后向时钟位地址输出一高一低两个电平就可以将数据位移到74LS164中,向显示位选通地址输出高电平就可以点亮相应的显示位。本实验仪中数据位输出地址为0e102H,时钟位输出地址为0e102H,位选通输出地址为 0e101H。本实验涉及到了8155 I0/RAM扩展芯片的工作原理以及74LS164器件的工作原理。2、七段数码管的字型代码表如下表:显示字形gfedcba段

21、码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h4.3 数字时钟工作原理图图8数字时钟电路总图第五章 数字时钟软件设计由于电路设计得极其巧妙,许多功能都可以由硬件完成,因此软件设计就比较简单了。下面介绍软件设计的要点:主程序:首先进行初始化,设置数字时钟的计时初值为23:59:00,启动T0进

22、行50ms定时,且允许T0中断。然后检测S1-S6是否按下,当按键S1-S6按下时,转入时、分、秒计数值的调整程序,系统主程序流程图如图9所示。中断主程序设置初值00:00:00定时T50ms五十秒是否已过 开中断 显示NY图9 系统主程序流程图定时器T0中断子程序:中断服务子程序的作用是进行时、分、秒的计时与显示。定时器T0用于定时,定时周期设为50ms,中断累计20次(即1s)。定时器T0中断服务程序流程图如图10所示。中断程序 重启T0保存现场是否1sSecond+1是否1分Minute+1是否1小时Hour +1是否24小时时间清零中断返回图10定时器T0中断服务程序流程图时、分、秒计

23、数值调整子程序TIME:时间计数单元分别在40H(s),41H(min),42H(h)内存单元中,在计数单元中采用组合BCD码计数。TIME子程序的作用是当满1秒时,对秒计数单元进行加1操作,满60向分进位;对分计数单元进行加1操作,满60向时进位;对时计数单元进行加1操作,满24清零。程序清单:OUTBIT EQU 0E101H;CLK164 EQU 0E102H;DAT164 EQU 0E102H;IN EQU 0E103H;LEDBUF EQU 40H; 0RG 0000H LJMP MAIN ORG 000BH LJMP INT0;MAIN: MOV SP, #60H ;初始化 MOV

24、 A, #03H MOV DPTR, #0E100H MOV DPTR, A MOV 40H, #00H MOV 41H, #00H MOV 42H, #00H MOV 43H, #00H MOV 44H, #00H MOV 45H, #00H MOV R4, #14H MOV R5, #3CH MOV R6, #3CH MOV R7, #18H MOV TMOD, #01H ;设置定时器 MOV TH0, #3CH ;定时器初值 MOV TL0, #0B0H SETB TR0 ;启动定时器LOOP1: LCALL DISPLAY ;显示 sjmp loop1 INT0: ; PUSH DPH

25、 ;PUSH DPL PUSH A PUSHR0 PUSH R1 MOV TH0,#3CH ;重新设置定时器初值 MOV TL0,#0B0H SETB TR0 ;启动定时器 DJNZ R4 IN0 Mov A,45h Add A,#01h AD A Mov A, 45h MOV R4,#14H DJNZ R5 IN0 Mov A , 43h Add A,#01h AD A Mov A, 43h MOV 45H,#00H MOV R5,#3CH DJNZ R6 IN0 Mov A , 41h Add A,#01h AD A Mov A, 41h MOV 43H,#00H MOV R6,#3CH

26、DJNZ R7 IN1 MOV 41h, #00hIN0: Mov r3, #03h Mov r0,#45hIN1: mov a,r0lcall ptds 拆字子程序 Djnz r3 IN0 POP R1 POP R0 POP A RETI ptds: mov r1,a lcall ptds1 mov a,r1 swap aptds1: anl a,#0fh mov r0,a dec r0 retDISPLAY: setb 0d3h mov r0, #LEDBuf mov r1, #6 ; 共6个八段管 mov r2, #b ; 从左边开始显示Loop: mov dptr, #OUTBIT m

27、ov a, #00h movx dptr, a ; 关所有八段管 mov a, r0 mov dptr,#LEDmap movc a,a+dptr mov B, #8 ; 送164DLP: rlc a mov r3, a mov acc.0, c anl a,#0fdh mov dptr, #DAT164 movx dptr, a mov dptr, #CLK164 orl a,#02h movx dptr, a anl a,#0fDh movx dptr, a mov a, r3 djnz B, DLP mov dptr, #OUTBIT mov a, r2 movx dptr, a ; 显示一位八段管 ;mov r6, #1 ; call Delay mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 mov

温馨提示

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

评论

0/150

提交评论