毕业设计78单片机(简易电子钟设)
更新时间:2024-01-25 09:46:01 阅读量: 教育文库 文档下载
简易电子钟的设计
前 言
二十多年来,电子计算机技术已广泛应用于测试领域中。电子计算机对人类社会的进步和发展有着阶层的飞跃,它是现代化社会的象征,是人们工作、学习、生活不可缺少的。在近几年发展起来的智能仪器,无论是在测量的灵敏度、准确度、可靠性、功能等方面,还是在解决测试技术问题的深度及广度方面都有了巨大的发展,它以一种崭新的面貌展现在人们的面前。随着大规模集成电路及计算机技术的迅速发展,智能仪器将会有更广阔的应用前景。而单片机以其高性能、高速度、体积小、价格低廉、稳定可靠而得以在智能仪器中被广泛的应用。
本次设计是用51系列单片机中的AT89S52制作简易电子钟。电子钟是智能化仪器仪表的一种,它可广泛应用于工业、农业、日常生活等领域。它以微控制器为核心,与传统钟表相比较,它具有高精度、高可靠性、操作方便、价格便宜、智能化等特点,是钟表发展的新方向,具有一定的实用价值。本次采用的AT89S52 是一种低功耗,高性能的CMOS 8位微型计算机,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。正因为它有这么多特点,所以在实现本次设计的简易电子钟系统中不需外部资源扩展。
简易电子钟能正确反映实际时间值,能完成时、分、秒的显示调整。本次简易电子钟课程设计采用ASM51软件完成用汇编语言编写。通过本次设计能让我们对专业的电子画图软件(Protel)、51系列单片机的工作原理、对汇编语言编写程序有更深刻的了解。
本次设计由于时间仓促以及设计者水平有限,难免存在着一些不足和错漏之处,诚肯和大家一起研究探讨,在此特别感谢老师提出的宝贵意见和一直以来的耐心指导。
2007.12.05
编 者:戴 建
I
简易电子钟的设计
目 录
第1章 简易电子钟设计方案的选择和论证........................................................1
1.1 采用实时时钟芯片...................................................................................................................1 1.2 键盘与显示选择发案.................................................................................................................2
第2章 单元电路的设计.........................................................................................3
2.1 电源的设计...............................................................................................................................3 2.2 时钟和复位电路.......................................................................................................................3 2.2.1 时钟电路................................................................................................................................3 2.2.2 复位电路................................................................................................................................4 2.3 显示接口电路...........................................................................................................................4 2.4 键盘接口电路的设计...............................................................................................................5 2.5 主电路原理图、PCB图...........................................................................................................6 2.5.1 主电路原理图........................................................................................................................6 2.5.2 电源电路原理图....................................................................................................................7 2.5.3 主电路PCB电路图...............................................................................................................7 2.5.4 下载线电路PCB板图...........................................................................................................8
第3章 硬件资源、存储器单元地址分配说明..............................................................8
3.1 硬件资源说明...........................................................................................................................8 3.2 数据存储器单元地址分配.......................................................................................................8 3.3 程序存储器单元地址分配.......................................................................................................9
第4章 程序设计思路与程序流程图.....................................................................9
4.1 程序设计思路.........................................................................................................................10 4.2 监控程序流程图.....................................................................................................................10 4.3 “P.”点显示子程序流程图.......................................................................................................11 4.4 显示子程序流程图.................................................................................................................11 4.5 键盘扫描子程序流程图.........................................................................................................11 4.6 时间设置子程序流程图.........................................................................................................12 4.7 中断自动计时程序流程图.....................................................................................................13 设计体会..........................................................................................................................................14 元器件清单......................................................................................................................................15 参考文献..........................................................................................................................................15 附录..................................................................................................................................................................16
附录A 程序清单...........................................................................................................................................16
附录B 简易电子钟操作说明........................................................................................................24
Ⅱ
简易电子钟的设计
第1章 简易电子钟设计方案的选择和论证
本次简易电子钟系统功能简单,用单片机的最小系统就能得以实现。而单片机的最小系统设计中实际上最重要的就是对键盘/显示器接口电路的设计,由于系统功能不同所以要求就不同,接口设计也就不同。对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。下面是本人在设计前对各种设计方案的考虑:
1.1 采用实时时钟芯片
利用各生产厂家生产的一系列实时时钟芯片,如DS1302、DS1287、DS12887等,这引起实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时器功能,计时数据每秒自动更新一次,不需程序干预。单片机可通过查询或中断方式读取计时数据进行显示,因而计时时不占用CPU的时间,程序简单。此外实时时钟芯片带有锂电池做后备电源,具备京剧不停止的计时功能。由于用实时时钟芯片功能完善,精度高,软件程序设计简单,因此在工业实时测控系统中被多采用。
方案一: 利用8051芯片I/O口构成键盘/显示接口电路
因此次简易电子钟设计系统功能单一,要用到8051芯片的I/O端口较少,所以可以直接用8051芯片的P0口、P1口、P2口以及P3口来构成键盘、显示的输入输出端口。如图1所示,采用动态显示, AT89C52的P0口和P2口外接由LED数码管(LED5~LED0)构成的显示器,用P0口作LED的段码
输出口,P2口作LED数码管的位控输出线,P1口外接四个按键A、B、C、D构成键盘电路。
方案二: 采用8155芯片扩展键盘 /显示器接口电路
Intel公司研制的8155不仅具有两个8位的I/O端口(A口和B口)和一个6位的I/O端口(C口),而且还可以提供256B的静态RAM存储器和一个14 位的定时/计数器,它和单片机的接口非常简单。此方案(如图2所示)对于I/O的资源比较紧张的电路合适,数据线 控制线单片机经8155扩展后多了
22个I/O口,且这些I/O具有寄存器功能,只有新的数据才能将其替换,跟P0不同,所以还可以用来跟其它类型的芯片会传送数据,但是其编程比较繁琐,键盘和显示程序得重新编写,对于智能化应用非常广的今天,这些可以交给专用键盘显示芯片完成。
湖南工学院 电气0502 戴建 401050242
1
简易电子钟的设计
方案三: 采用8279芯片扩展键盘/显示器接口电路
8279是Intel公司生产的专用的可编程键盘、显示器接口芯片,键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8或16位LED数码管显示。
这样可以大大节省CPU对键盘、显示器的操作时间,从而减轻了CPU的负担,而且显示稳定、程序简单,不会出现误动作。如图3所示,此方案对单片机的口线利用较少,对于以后我们进行其它的扩展留了很大的空间,大大减少了我们为键盘按键的前后消抖编程的时间,缩短了开发时间,由它构成的标准键盘、显示接口电路在单片机应用系统中使用越来越广泛。
1.2键盘与显示选择方案 方案一:独立式按键/LED动态显示
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独站用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。
独立式按键电路配制灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此在按键多较多时,I/O口线浪费较大时,不宜采用。
动态显示方式比较节省I/O口,硬件电路较静态显示方式简单,但其亮度不如静态显示方式,而且显示位数较多时,CPU要依次扫描,占用CPU较多的时间。
方案二:矩阵式按键/LED静态显示
矩阵式(又称行列式)键盘。它由行线和列线组成,按键位于行、列线的交叉点上。显然,在按键数量较多时,矩阵式键盘较之按键式键盘要节省很多I/O口。但需要编程控制,所以适用于按键较多的场合。
采用静态显示,显示亮度有保证,但硬件开销大,电路复杂,信息刷新速度慢,比较适用于按键较多的场合。
综上所述,再根据设计任务书的要求,我们采用1.1的方案一和1.2的方案一利用8051芯片I/O口构成键盘/显示接口电路,该方案不仅能完成简易电子钟的功能,还能减少外部硬件资源,使电路简单明了,所以我们采用此方案。
湖南工学院 电气0502 戴建 401050242 2
简易电子钟的设计
第2章 单元电路的设计
2.1 电源的设计
常用小功率直流稳压电源电路由电源变压器、整流电路、滤波电路、稳压电路等四部分组成,如图4所示。
交流电源变压器整流电路滤波电路稳压电路直流输出图4 直流稳压电源基本电路框图
稳压电路根据调整元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路,集成稳压电路等。根据调整元件与向载连接方法,可分为并联
型和串联型。根据调整元件工作状态不同,可分为线性和开关稳压电路。
作为小功率的稳压电源以三端式串联型的应用最为普遍,三端式集成稳压式,它具有体积小,外围元件少、性能稳定可靠、使用调整方便和价廉等优点,也因此获得广泛使用。三端式是指稳压电路仅有输入、输出、接地三个接线端子。有固定式和可调式两种类型,此外又分为正或负电压类型 。W7800系列为三端固定正电压输出集成稳压器;W7900系列为三端固定负电压输出集成稳压器。型号中最后两位数表示输出电压的稳定值,有5V、6V、9V、12V、18V、和24V。
在此次设计中,我们没有要求做直流电源,在此只做理论上的分析。电源电路的总设计图如图5所示:
图5 直流稳压电源电路图
2.2 时钟和复位电路
2.2.1 时钟电路
时钟信号通常由两种方式产生:一是内部振荡方式,二是 时钟电路原理图如图6所示,在单片机内部有一个高增益
湖南工学院 电气0502 戴建 401050242
3
外部时钟方式。
简易电子钟的设计
反相放大器,只要在单片机的XTAL1和XTAL2引脚外接晶体振荡器就构成了自激振荡器,并在单片机内部产生时钟脉冲信号。电容器C1和C2的作用是稳定频率和快速起振。
外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20ns,且为频率低于12MHz的方波。 2.2.2 复位电路
复位操作有两种基本形式:一种是上电复位,另一种是按键复位。 复位电路原理图如图7所示,上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降ERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作。
所以本设计选用第二种方案,即上电复位与按键复位均有效的复位电路。
2.3 显示接口电路
单片机应用系统最常用的显示器是LED(发光二极管显示器)、LED(液晶显示器)。这两种显示器可显示数字、字符及系统的状态。它们的驱动电路简单、易于实现且价格低廉,因此,得到了广泛应用。本次设计只要显示6位数字,
不需显示图形或字符,因而采用七段数码管做显示器。LED显示器有共阴极与共阳极两种结构,如图8所示。
共阴极LED显示块的发光二极管阴极并接,如图中(a)所示,当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管则阳极并接,如图中(b)所示, 当某个发光二极管的阴极为低电平时,发光二极管点亮。
通常的七段LED显示器块中有八个发光二极管,也有人叫做八段显示器,其中七个发
湖南工学院 电气0502 戴建 401050242
4
简易电子钟的设计
光二极管构成七笔字形“8”,一个发光二极管构成小数点。
七段显示块与单片机接口非常容易。只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符。通常将控制发光二极度管的8位字节数据称为段选码。
LED显示工作方式可分为静态显示和动态显示。在静态显示方式下,共阴极应固定接地,共阳极应固定接高电平。我们采用的是利用8051芯片I/O口构成键盘/显示接口电路,为简化电路,降低成本,显示将采用动态显示。在动态显示中将所有相同位的段控线并联在一起,由一个I/O口线控制,8段由8个I/O口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。LED动态显示电路只需要两个8位I/O口。其中一个8位I/O口控制段控码,另一个8位I/O口控制位选。由于所有段控码都由一个8位I/O控制,因此,在同一瞬间,6只LED都会显示相同的字符。要想每位显示不同的字符,必须采用扫描显示方式。即在每一瞬间只使某一位显示相应字符。在此瞬间,段选控制I/O口输出相应字符段选码,位选控制I/O口在该显示位送入选通电平(共阴极送低电平,阳极送高电平)以保证该位显示相应字符。如此循环,使每位显示该位应显示字符,并保持延时一段时间,以造成视觉暂留效果。
2.4 键盘接口电路的设计
由若干个按键组成的键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。 独立式键盘每个键单独占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,如图9所示。
矩阵式键盘按键排列为行列式矩阵结构,也称行列式键盘结构。4行4列共16个键,只占用8根I/O口线,如图10矩阵式按键电路所示,故键数目较多时,可节省口线。但这种结构的软件编程较繁。
键盘的工作方式可分为编程控制方式和中断控制方式。
CPU在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。这种方式为编程扫描方式。单片机在正常应用过程中,并不会经常进行键操作,因而编程控制方式使CPU经常处于空查询状态。在CPU工作任务十分繁重的情况下,为提高CPU的效率,可采用中断控制方式。只要有键按下,便向CPU申请中断,CPU响应中断后,在中断服务程序中进行键盘扫描、
湖南工学院 电气0502 戴建 401050242
5
简易电子钟的设计
查键值与键处理等工作。
我们此次设计只有4个按键,因此采用独立式键盘。
2.5 主电路原理图、PCB图
系统的设计方案以及各电路部分确定以后,为了制作电路板,我们必须用专业软件画出电路原理图,再制PCB板图。 2.5.1 主电路原理图
主电路原理图如图11所示:
图11 主电路原理图
湖南工学院 电气0502 戴建 401050242
6
简易电子钟的设计
2.5.2 电源电路原理图
电源电路原理图如图12所示:
图12 直流稳压电源电路图
2.5.3 主电路PCB电路图
设计PCB主电路图如图13所示:
图13 PCB主电路图
湖南工学院 电气0502 戴建 401050242 7
简易电子钟的设计
2.5.4 下载线电路PCB板图
下载线电路PCB板图如图14所示。
图14
第3章 硬件资源、存储器单元地址分配说明
3.1 硬件资源说明
P0口接数码管段控线驱动芯片74LS244的输入端口; P2口接数码管位控线驱动芯片74LS244的输入端口; P1口接4个按键(P1.0~P1.3对应接A、B、C、D键); 定时器T0工作在定时方式1; 中断源为定时器中断T0
3.2 数据存储器单元地址分配
LED6 EQU 7DH ;时的十位显示缓冲区 LED5 EQU 7CH ;时的个位显示缓冲区 LED4 EQU 7BH ;分的十位显示缓冲区 LED3 EQU 7AH ;分的个位显示缓冲区 LED2 EQU 79H ;秒的十位显示缓冲区 LED1 EQU 78H ;秒的个位显示缓冲区
湖南工学院 电气0502 戴建 401050242
8
简易电子钟的设计
3.3 程序存储器单元地址分配
内部资源情况
主程序----- 0068H--0190H 中断子程序-------0414H--060EH 键扫子程序-------0191H--0410H 显示子程序-------0645H--0686H 显示处理子程序---0611H--0641H
RAM分区:37H时值的暂存单元,36H分值的暂存单元,35H秒值的暂存单元 78H,7AH,7CH, 分别为秒.分.时个位的显示缓冲区. 79H,7BH,7DH, 分别为秒.分.时十位的显示缓冲区.
第4章 程序设计思路与程序流程图
4.1 程序设计思路
简易电子钟的运行主要是利用单片机定时/计数器的工作和中断服务的作用完成计时功能的。首先时钟电路产生单片机工作时所需要的时钟信号,这是单片机能够正常工作的前提,而单片机有无定时的基础以及定多长的时间,这些还需要我们人为的确定。钟表的时钟要运行,首先要有“秒”的计时,因为单片机内部是没有规定的“秒”的概念。同时它工作在不同的工作方式时,它的计数初值也是不同的。这就要我们人为首先计算出计数的初值了,这就可以实现所谓的定时了。如果单片机的定时时间到了的话,那么单片机会自动地产生中断使程序转向中断服务程序执行,中断服务程序执行完了就会返回原程序,等待下一次定时时间的到来再产生中断。在此基础上,单片机就会按照人为设定的程序执行下去。使单片机能计算其它时间量。
当然,单片机如果要执行多种不同的计时功能的话,还需要选择多种不同的工作方式,这样才不会使单片机产生混乱。因为不同的计时功能它的基本计时单位是不同的。我们知道,时钟的基本计时单位是秒,而秒表的基本计时单位却是毫秒了,因而我们把定时器的初始时间设计为50ms,将其乘以20便可得到我们的时间秒单位。
湖南工学院 电气0502 戴建 401050242 9
简易电子钟的设计
4.2 监控程序流程图
监控程序流程图如图14:
开始子程序入口堆栈,PSW.RAM,定时器,中断初始化现场保护调“P.”显示子程序“P.”字型序列号送显示缓冲区调键扫描子程序调显示子程序N是“A”键Y恢复现场显示“00.00.00”返回开定时器、中断 图15 “P.”显示调键扫描子程序子程序流程图N是“A”键Y关定时器调键扫描子程序调时间设置子程序N是“A”键Y图14 监控程序流程图
4.3 “P.”点显示子程序流程图
“P.”点显示子程序流程图如图15:
湖南工学院 电气0502 戴建 401050242
10
简易电子钟的设计
4.4 显示子程序流程图
显示子程序流程图如图16:
4.5 键盘扫描子程序流程图
键盘扫描子程序流程图如图17:
现场保护据显示缓冲区字型序列号查表得字段码送字段码到P0口送位控码到P2口延时2毫秒改变字段码序列改变位控码N扫描达6次Y现场恢复返回图16 显示子程序流程图
湖南工学院子程序入口现场保护有键按下N调显示子程序Y两次调用显示子程序有键按下NY求取键号N调显示子程序键被释放Y恢复现场返回图17 键盘扫描子程序流程图0502 戴建 401050242
11
电气简易电子钟的设计
4.6 时间设置子程序流程图
时间设置子程序流程图如图18:
保护现场是“B”键NY时单元个位加1是“C”键NYN”键N十位等于2Y分单元个位加1是“DY个位等于10NN秒单元个位加1个位等于4N等于10YYY个位清0个位清0个位清0等于10NY时单元十位加1十位清0分单元十位加1个位清0等于6N秒单元十位加1Y等于6N十位清0Y十位清0调显示子程序恢复现场返回图18 时间设置子程序
湖南工学院 电气0502 戴建 401050242
12
简易电子钟的设计
中断自动计时程序流程图
中断自动计时程序流程图如图19:
中断入口保护现场①分加1重置定时器初值60分到N循环次数加1Y分单元清0循环了8 次N②Y时加1循环次数置024小时到N秒加1Y时单元清060秒到N②②Y恢复现场秒单元清0①返回图19 中断自动计时子程序流程图湖南工学院 电气0502 戴建 401050242 13
4.7
简易电子钟的设计
设计体会
在测试简易电子钟过程中,发现存在以下问题:简易电子钟计时时间比实际时间慢,经过分析产生问题的主要原因有以下几点:
①对一秒钟产生的基准是:对定时器T0定时50ms,每中断一次,判断是否中断满20次,是就产生一秒的基准时间。单片机执行中断的时间是很准确的,但是在中断程序中,中断响应时间为3到8个机器周期。这是产生误差的主要原因。
②硬件产生的误差,我们的基本时钟是由外部提供的12MHZ的晶振,如晶振的精度不高,也将产生的误差。
③人为误差,本次测试是用简易电子钟秒表和电脑时钟做比较:首先把电脑时钟打开,然后当电脑电钟到零秒时,马上按下 不可能完全消除的。
为了能尽量减小简易电子钟与实际时间的误差,我们将定时器的初始值人为调大,以弥补响应中断时的3至8个机器周期时间,至于人为误差,我们是不可避免的。
经过一个多月的努力奋战,我终于完成了简易电子钟的课程设计,在设计过程中,得到指导老师桂友超老师的耐心指导与热情帮助,并提出了许多宝贵的意见,以及同组成员的努力配合,在此表示衷心的感谢。
在硬件电路制作阶段,我们到图书馆、网上查阅各种资料,不断在电脑上操作专业软件,使我们在理论分析设计和动手操作能力等各方面得到了极大提高。我们通过对设计任务书的具体要求分析思考,再加上以前在学校进行的各种相关实践和实习积累的经验,首先出色的完成了硬件电路板的制作,虽然在初次制板时因不细心、不熟习制作流程而导致第一块电路板报废,但总结了经验给后面制板的同学提了个醒。硬件电路板制好后,在利用ASM51软件编写程序调试时,遇到了不少困难,这使我们学会了耐心分析问题,并进一步锻炼自己去攻破难题的能力。我们除了完成简易电子钟的设计任务外,还根据各种要求进行进一步的程序设计,这使我们比其他同学学到了更多的知识,这更增加了我们以后参加工作能出色完成任务的信心。
这次课程设计整体来说是成功的,但我们也发现了自己许多错漏和不足之处。譬如,最简单的程序没写好就想着写更复杂的程序,做事还是缺乏耐性和细心,当有时遇到问题时,总觉得无从下手,对于课本上的知识不能很好的组织起来。在编写各功能程序时,特别是后来增添的比较复杂的程序,如在编写年、月、日和秒表功能程序时,闰年判断子程序,大小月判断子程序,中断程序等,在软件调试过程未发现问题,但在硬件运行时又与自己想要的结果大不相同,头脑一下变成空白。最后在经过反复检查,反复调试后才把问题解决。问题解决以后再回头一想,其实问题并不是很难,只是自己未细心注意。
在本课程设计过程中,桂老师提供了宝贵的设计方法以及程序调式技巧,在此再次给桂老师致以忠心的感谢!
湖南工学院 电气0502 戴建 401050242
14
键,让它和电脑时钟同时从零秒开始计时,记下时
间时差。等过了几分钟或是更长时间后,再比较两者的时间差,这是人为的操作,故误差是
简易电子钟的设计
元器件清单
元器件 AT89S52 LED 按键 晶振12MHz 发光二极管 30pF 有极性22μF 单面板 470μF 排 针 数量(个) 1 8 5 1 1 2 1 1 2 1 元 器 件 芯片插座(40脚) 芯片插座(20脚) 电阻1K欧姆 电阻200欧姆 限流电阻300欧姆 上拉电阻5.1K欧姆 USB线 排 阻 USB线接口 ISP下载线 数量(个) 1 2 6 1 8 4 1 1 1 1根 参考文献
[1] 刘守义主编,单片机应用技术[M],西安:西安电子科技大学出版社,2002.8; [2] 陈伟人主编,MCS-51系列单片机实用子程序集锦[M],北京:清华大学出版
社,1993.3;
[3] 何立民编著,MCS-51 系列单片机应用系统设计 系统配置与接口技术[M],
北京:北京航空航天大学出版社,1990.1;
[4] 张毅刚主编,MCS-51单片机应用设计[M],哈尔滨:哈尔滨工大学出版社,
1990.8;
[5] 李华主编,MCS-51 系列单片机实用接口技术[M],北京:北京航空航天大学出版社,1993.8。
湖南工学院 电气0502 戴建 401050242
15
简易电子钟的设计
附 录
附录A--程序清单
PINTO EQU 0400H ORG 0000H LJMP MAIN ORG 000BH LJMP PINT0 ORG 0050H
;*************************************************************************
主 程 序
;**************************************************************************
MAIN: MOV SP, #60H ;内部初始化 MOV PSW, #00H MOV DPTR, #TAB MOV R0, #08H MOV R7, #78H CLR A
ML1: MOV @R0, A INC R0
DJNZ R7, ML1
MOV TMOD, #01H ;定时器赋初值 MOV TL0, #09BH MOV TH0, #035H SETB EA SETB ET0
MOV 30H, #013H
MOV R3, #78H MOV A, #78H
湖南工学院 电气0502 戴建 401050242
16
简易电子钟的设计
MOV R6, #06H MOV 32H, #0FEH
LOOP: MOV A, #0CH ;显示P点 MOV P0, A MOV A, 32H MOV P2, #10100000
JB P1.0, LOOP ;键盘扫描等待启动 LCALL DIR LCALL DIR
JB P1.0, START ;看键是否真正按下,
按下则转到启动
PSF: JB P1.0, CL LCALL DIR LCALL DIR LJMP PSF
CL: MOV R1, #78H MOV R4, #06H MOV A, #0C0H PCLR: MOV @R1, A INC R1
DJNZ R4, PCLR AJMP START
START: SETB TR0 ;真正启动 TZJ: LCALL TZJA LCALL DIR LJMP TZJ
;******************************************************************
键 扫 子 程 序
;*********************************************************************
湖南工学院 电气0502 戴建 401050242
17
简易电子钟的设计
ORG 0191H
TZJA: JNB P1.0, PDDA ;判A键是否再次按下 LJMP PASS ;去抖动 PDDA: LCALL DIR LCALL DIR
JNB P1.0, APSF ;判A是否真正按下,按下则转移到到判A是否松开
LJMP PASS
APSF: JB P1.0, OFF ; LCALL DIR SJMP APSF OFF: CLR TR0 TZJB: LCALL DIR
JNB P1.1, PDDB LJMP TZJC PDDB: LCALL DIR LCALL DIR
JNB P1.1, BPSF LJMP TZJC BPSF: JB P1.1, CLB LCALL DIR SJMP BPSF
CLB: MOV R2, 37H
CJNE R2, #17H, CLB0 MOV R2, #00H SJMP CLB1 CLB0: INC R2
CLB1: MOV 37H, R2 LCALL KHXSCL LCALL DIR TZJC: LCALL DIR
JNB P1.2, PDDC LJMP TZJD PDDC: LCALL DIR LCALL DIR
若松开执行A键的功能湖南工学院 电气0502 戴建 401050242
18
简易电子钟的设计
JNB P1.2, CPSF LJMP TZJD CPSF: JB P1.2, CLC LCALL DIR SJMP CPSF CLC: MOV R2, 36H
CJNE R2, #03BH, CLC0 MOV R2, #00H SJMP CLC1 CLC0: INC R2
CLC1: MOV 36H, R2 LCALL KMXSCL LCALL DIR TZJD: LCALL DIR
JNB P1.3, PDDD LJMP TZJA2 PDDD: LCALL DIR LCALL DIR
DPSF: JB P1.3, CLD LCALL DIR SJMP DPSF CLD: MOV R2, 35H
CJNE R2, #03BH, CLD0 MOV R2, #00H AJMP CLD1 CLD0: INC R2
CLD1: MOV 35H, R2 LCALL KSXSCL LCALL DIR TZJA2: LCALL DIR
JNB P1.0, PDDA2 LJMP TZJB PDDA2: LCALL DIR LCALL DIR
JNB P1.0, PSFA2 LJMP TZJB
湖南工学院 电气0502 戴建 401050242
19
简易电子钟的设计
PSFA2: JB P1.0, PASS0 LCALL DIR SJMP PSFA2 PASS0: NOP
SETB TR0 PASS: RET
;*******************************************************************
中 断 服 务 程 序
;*******************************************************************
ORG 0417H
PINT0: PUSH PSW ;进栈保护 PUSH A SETB PSW.3 MOV R3, 30H DEC R3
MOV 30H, R3
CJNE R3, #00H, CZ ;计时是否满8次,不是则反回
MOV A, 35H ;重新装初值 ADD A, #01H MOV 35H, A MOV 30H, #013H MOV TH0, #03DH MOV TL0, #0B0H AJMP SCL
CZ: MOV TH0, #035H MOV TL0, #09BH AJMP KYPINT SCL: MOV R5, 35H CJNE R5, #03CH, PR5 MOV 35H, #00H MOV A, 36H ADD A, #01H
湖南工学院 电气0502 戴建 401050242
20
简易电子钟的设计
MOV 36H, A LCALL KSXSCL AJMP MCL PR5: LCALL KSXSCL MCL: MOV R6, 36H
CJNE R6, #03CH, PR6 MOV 36H, #00H MOV A, 37H ADD A, #01H MOV 37H, A LCALL KMXSCL AJMP HCL PR6: MOV 36H, R6 LCALL KMXSCL HCL: MOV R7, 37H
CJNE R7, #18H, PR7 MOV 37H, #00H LCALL KHXSCL AJMP KYPINT PR7: MOV 37H, R7 LCALL KHXSCL KYPINT: CLR PSW.3 POP A POP PSW RETI
;*******************************************************************
显 示 处 理 子 程 序
;******************************************************************* ORG 0611H KSXSCL: MOV A, 35H MOV B, #0AH DIV AB
湖南工学院 电气0502 戴建 401050242
21
简易电子钟的设计
MOVC A, @A+DPTR MOV 79H, A MOV A, B MOVC A, @A+DPTR MOV 78H, A RET
KMXSCL: MOV A, 36H MOV B, #0AH DIV AB
MOVC A, @A+DPTR MOV 7BH, A MOV A, B MOVC A, @A+DPTR ANL A, #7FH MOV 7AH, A RET
KHXSCL: MOV A, 37H MOV B, #0AH DIV AB
MOVC A, @A+DPTR MOV 7DH, A MOV A, B MOVC A, @A+DPTR ANL A, #7FH MOV 7CH, A RET
;**************************************************************
显 示 子 程 序
;**************************************************************
DIR: MOV A, 78H MOV P0, A
湖南工学院 电气0502 戴建 401050242
22
简易电子钟的设计
SETB P2.0
ACALL DELY ACALL DELY CLR P2.0 MOV A, 79H MOV P0, A SETB P2.1 ACALL DELY CLR P2.1 MOV A, 7AH MOV P0, A SETB P2.2 ACALL DELY CLR P2.2 MOV A, 7BH MOV P0, A SETB P2.3 ACALL DELY CLR P2.3 MOV A, 7CH MOV P0, A SETB P2.4 ACALL DELY CLR P2.4 MOV A, 7DH MOV P0, A SETB P2.5 ACALL DELY CLR P2.5 RET
;******************************************************************
延 时 子 程 序
;*************************************************************
湖南工学院 电气0502 戴建 401050242
23
正在阅读:
毕业设计78单片机(简易电子钟设)01-25
换牙作文450字06-21
201*年乡镇党建工作汇报08-08
环境监测复习题04-27
江苏省淮安市2018年高二学业水平(期末)政治模拟试卷(含答案)02-02
我的异想天开作文600字07-15
课时跟踪检测(十一) 细胞的增殖12-25
物料捆绑防跑防滑安全技术措施02-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 电子钟
- 毕业设计
- 单片机
- 简易
- 江苏省2017届高考数学模拟试卷(十)
- 计算机软件工程专业大学毕业实习周记原创范文
- 华润置地武汉大区组织管理手册
- 供配电实验
- 现代文阅读品味语言教学设计
- 苏教版四年级上册《练习5》练习
- 初中生物教学设计与反思模板 - 图文
- 中庭满堂架搭设方案
- 教你在Google PageRank值更新前预测自己的新PR
- 预防职务犯罪知识竞赛试题
- 普通植物病理学复习提纲
- 高三数学(理)总复习--金版教程《高效作业》带详解答案3-8
- 语言文字运用 学案2
- 毕业设计-X5032立式铣床进给系统的数控改造
- 2017中小学教师职业道德规范心得体会(4篇)
- 梅山武术表演解说词课件
- 行政法练习题三
- LTE跟踪信令 - 掉线判断
- 发行与承销
- 人生意义是如何肯定 辩论稿