




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖 南 工 学 院毕业设计说明书课题名称:基于单片机的数字钟的设计专业名称:电子信息工程技术学生班级:电信0502学生姓名: 学生学号:402050240指导老师: 2008年3月前 言 单片机是一门应用性很强的专业技术,其理论与实践技能是从事机电类专业技术工人员所不可缺少的,所以学好单片机是我们步向社会并且立足社会的防身工具。单片机以其高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成数字钟,它可广泛应用于工业、农业、日常生活等领域,与传统钟表相比较,它具有高精度、高可靠性、操作方便、价格便宜、智能化等特点,是钟表的一个发展方向,具有一定的实用价值。 本课程设计是数字钟的设计与制作,在这次课程设计中主要包括三大主要部分:一是电路图和pcb板的绘制;二是根据pcb板来制作电子钟的实物;三是根据流程图来编写出其相应的程序。 本课程设计包括数字钟总体方案的选择、数字钟的工作原理、整机电路原理、电源电路原理图及pcb图的制作、列出全部电路元器件清单、单元电路工作原理介绍(电源电路、时钟电路、复位电路、键盘/显示接口电路及所用主要芯片介绍);单片机硬件资源的使用分配情况;画出数字钟软件系统主程序、各子程序、中断服务程序及各功能程序的流程框图等诸多内容。 本书在写的过程中出现很多问题,请读者多多包涵。 编者:王飞 2008年3月 湖南工学院单片机课程设计数字钟的设计目 录1、数字钟方案选择1 1.1方案论证12、数字钟的工作原理2 2.1实现时钟计时的基本方法2 2.2数字钟的时间显示2 2.3数字钟的启、停及时间调整23、数字钟整机电路方框图34、部分电路及芯片介绍3 4.1电源的设计3 4.2 at89s52芯片6 4.3 复位电路8 4.4 时钟电路9 4.5 键盘显示电路10 4.6 74ls244芯片115、地址分配12 5.1存储器地址分配12 5.2硬件资源分配136、数字钟元件清单137、程序流程图13 7.1主程序流程框图14 7.2中断流程框图15 7.3其他流程框图168、程序清单21 8.1 “p.”点显示序清单21 8.2自动运行程序清单23 8.3自动调整程序清单269、数字钟的使用说明32设计体会33参考文献34附录35 附录1数字钟原理图35 附录2电源原理图36附录3下载线图36附录4电子钟pcb图371、数字钟方案选择 1.1方案论证对于实时时钟而言,显示显然是另一个重要的环节。通常有两种显示方式:动态显示和静态的显示。 方案一:串口扩展,led静态显示。如图1所示,该方案占用口资源少,采用串口传输实现静态显示,显示亮度有保证,但硬件开销大,电路复杂,信息刷新速度慢,比较适用于并行口资源较少的场合。方案二:8155扩展,led动态显示。 如图2 所示,该方案硬件连接简单,但动态扫描的显示方式需占用cpu较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本次数字钟的设计是组合以上方案,软件计时,led动态显示。如图3所示,该方案的单片机芯片采用atmel公司的at89s52,它一种低功耗、高性能的cmos 8位单片机。由于实时测控任务少,采用动态显示,节省i/o口,硬件电路比较简单,成本低。2、数字钟的工作原理2.1实现时钟计时的基本方法:利用mcs-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算:把定时器设为工作方式1,定时时间为100ms,则计数溢出10次即得时钟计时最小单位秒,而10次计数可用软件方法实现。假设使用t/c0,方式1,100ms定时,fosc=6mhz。则初值x满足(216-x)2=100000x=1553601111100101100003cb0h(2) 采用中断方式进行溢出次数累计,计满10次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。2.2 数字钟的时间显示数字钟的时钟时间在六位数码管上进行显示,因此,在内部ram中设置显示缓冲区共6个单元。 led5 led4 led3 led2 led1 led0 7eh 7dh 7ch 7bh 7ah 79h显示缓冲区从左至右依次存校时、分、秒的数值。2.3 数字钟的启、停及时间调整数字钟设置4个按键通过程序控制来完成数字钟的启、停及时间调整。a键控制数字钟的启、停;b键调整时;c键调整分;d键调整秒。3.数字钟整机电路方框图数字钟的工作主要框图如图4所示:这个框图就构成了一个简单的单片机应用系统。它的核心部分是at89c52,配以输入、输出及外设电路。4、部分电路及芯片介绍4.1 电源的设计电源的稳压电路根据调整元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路,集成稳压电路等;根据调整元件与向载连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。该设计中采用了线性工作状态的线性集成稳压电源。我们知道直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成,设计框如图5所示:4.1.1 各部分简介(1) 电源变压器电源变压器作用是将电网220v的变流电压v1变换成整流滤波电路所需的变流电压v2。变压器副边与原边的功率比p2/p1=,式中为变压器的效率。(2) 整流滤波电路整流电路将交流电压变成单向脉动的直流电压;滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压。常用的整流电路有全波整流电路、单相半流整流电路、桥式整流电路、及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流电路克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,与半波整流电路相比较,其输出电压提高,脉动成分减小了。整流电路将交流电变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路的后面加接滤波电路,以滤去交流成分。滤波电路常见的有电容滤波电路、电感滤波电路及型滤波电路。本设计采用电容滤波电路。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压u0=0.9v,接上电容滤波后,空载时的输出直流电压u0=uc=u2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数rlc有关,rlc越大,u0越大。(3) 稳压电路稳压电路的作用是当输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。由于三端式稳压器只有三个引出端子,具有应用时外接元件少、使用方便、性能稳定、价格低廉等优点,因而广泛应用。三端式稳压器有两种,一种称为固定输出三端稳压器,另一种称为可调输出三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。三端固定输出集成稳压器通用产品有cw7800t系列和cw7900系列。正压系列:cw7800系列,该系列稳压块有过流、过热和调整管工作保护,以防过载而损坏。一般不需要接元件即可工作,有时为改善性能也加少量元件。负压系列:cw7800系列与cw7900系列相比,除了输出电压极性、引脚定义不同外,其他特点都相同。稳压电源的技术指标分为两种:一是特性指标:包括允许的输入电压、输出电压、输出电流及输出电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数(或电压调整流器率)、输出电阻(或电流调整率)、温度系数及纹波电压等。4.1.2 电源的设计直流稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。我们在设计过程中所用到的电源有12v和+5v,12v的电源所用到的集成稳压器为w7812与w7912,其它原器件与+5v相类似,因此这里只介绍输出为+5v的电源,至于12v的双电源原理一样。根据要求v0=+5v,稳压系数在0.2%,故可先用集成稳压(w7805)。w7805的稳压差为u1u22v,所以根据公式u1=(23)+u2,现在为了留有余量,取3v,其输入电压为u1=5+3=8v。稳压器的输入电流即为整流滤波电路的负载电流,故i1=i0(max)+id=300+8=308ma。由变压器副边电压: 令取u2=7v整流二极管和滤波电参数确定:正向平均电流: 最大反向电压: urmur(max)=2u2=10v所以整流二极管选用其耐压值为50v,最大整电流为1a的整流器流管in4004。滤波电容的参数计算: 因此,取c=1000 f电容的耐压 :取ucm25v,故滤波电容参数为c:1000 f/25v电源变压器容量:副边电流有效值:iz=(1.52)il=(1.52)308=462616ma取iz为500 ma副边容量:p2=u2i2=70.5=3.5va原边的容量: 取t=0.6 故平均容量为: 因此取p=10va4.1.3 器件的介绍(1)电源变压器的作用是220v的交流电压变换成桥式整流电路所需要的交流电压u1=10v。(2)整流滤波电路的作用是交流电压u1转换成波动直流电压。再经过滤波电容滤除纹波,输出直流电流。(3)三端集成稳压器的作用是将脉动的直流电流稳定在5v。(4) 二极管的作用是保护稳压器。在输出端接负载的情况下,如果其中一路电源稳压器输入端开路,则另一端输出则可通过负载反作用于输入端开路的芯片,极有可能损坏该稳压芯片;加入二极管后,由于二极管的限幅,电源在理论上要直接与地完全连接,从而大大降低落在集成芯片上的反压,保护芯片不被击穿。4.2 at89s52芯片at89s52 是一种低功耗、高性能的cmos 8位单片机。它带有8k flash 可编程和擦除的只读存储器(eprom),该器件采用atmel的高密度非易失性存储器技术制造,与工业上标准的80c51和82c52的指令系统及引脚兼容,片内flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。at89s52提供了8k字节flash ,256字节ram,32线i/o口,3个16位定时器/计数器,6向量两极中断,一个双工串行口,片内根据振荡器和始终电路等标准功能。此外,at89s52设有静态逻辑,并支持软件选择的两种节电运行方式、空闲方式使cpu停止工作,而允许ram、定时器/计数器、串行口和中断系统继续工作。掉电方式下,片内振荡器停止工作,由于之中被冻结,一切能都停止,只有片内ram的内容被保存,直到硬件复位才恢复正常工作。4.2.1 at89s52的结构框图at89s52结构框图(如图6所示):4.2.2 at89s52单片机的特点 (1) 与mcs-51产品相兼容;(2) 具有8kb可改写的flash 内部程序存储器,可写/擦1000次;(3) 全静态操作:0hz-24mhz;(4)三级程序存储器加密;(5) 256字节内部ram;(6) 32根可编程i/o口;(7) 3个16位定时器/计数器。 (8) 8个中断源;(9) 可编程中串行口;(10) 低功耗空闲和掉电方式。4.2.3 管脚、引线与功能at89s52单片机为40引脚芯片如图6 所示:(1) 引脚信号介绍:p00p07 p0口8位双向口线p10p17 p0口8位双向口线p20p27 p0口8位双向口线p30p37 p0口8位双向口线ale地址锁存控制信号在系统扩展时,ale用于控制把p0口输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。此外由于ale是以晶振六分之一的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲作用。/psen外部程序储器读选取通信号在读外部rom时/psen有效(低电平),以实现外部rom单元的读操作。/ea访问程序存储器控制信号当/ea信号为低电平时,对rom的读操作限定在外部程序存储器;而当/ea信号为高电平时,则对rom的读操作是从内部程序存储器开始,并可延至外部程序存储器。rst 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。xtal1和xtal2外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电空;当使用外部时钟时,用于拉外部的时钟脉冲信号。vss:地线vcc:+5v电源(2) 信号引脚的第二功能:由于工艺及标准化等原因,芯片的引脚数目是有限制的,例如mcs51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了需要与可能的矛盾。因此,给一些信号引脚赋以双重功能。这些第二功能如下表1所示: 4.2.4 总线结构at89s52的管脚除了电源、复位、时钟接入、用户i/o口部分p3外,其余管脚都是为实现系统扩展而设置的。这些管脚构成了三总线形式,即:(1) 地址总线(ab):地址总线宽度为16位,因此,其外部存储器直接地址外围为64k字节。16位地址总线由p0经地址锁存器提供低8位地址(a0a7);p2口直接提供高8位地址(a8a15)。(2) 数据总线(db):数据总线宽度为8位,由p0口提供。(3) 控制总线(cb):由部分p3口的第二功能状态和4根独立控制线reset、/ea、ale、/pse组成。4.3 复位电路4.3.1复位电路图如图8:复位电路是使单片机的cpu或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键。通常单片机复位操作有上电复位、信号复位、运行监视复位,运行监视有程序运行监视和电源监视。(1) 上电复位。上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。(2) 信号复位。信号复位是在单片机正常供电情况下,在复位引脚端加以复位信号而产生的复位。根据不同情况有按键操作复位、唤醒复位、控制复位等。(3) 系统运行监视复位。系统监视复位是系统出现非正常情况下复位,通常有电源监测复位和程序运行监视复位。电源监测复位是在电源下降到一定电平状态或电源未到达额定电平要求时的系统复位;程序运行监视复位则是程序运行失常时的系统复位。在此设计中,采用了按键复位电路。4.3.2 复位电路工作原理上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间reset引脚获得高电平,随着电容的充电,rerst引脚的高电平将逐渐下降。rerst引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作。所以本设计选用第二种上电复位与按键均有效的各单位电路。4.4 时钟电路时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地作。4.4.1 时钟振荡电路图如图9:4.4.2 时钟信号的产生单片机内部有一个高增益反相放大器,其输入端为芯片引脚xtal1,其输出端为引脚xtal2。而在芯片的外部,xtal1和xtal2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。只要在单片机的xtal1和xtal2引脚外接晶体振荡器就构成了自激振荡器并在单片机内部产生时钟脉冲信号。电容器c1和c2的作用是稳定频率和快速起振,电容值在530pf,典型值为30pf。外部时钟方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20ns,且为频率低于12mhz的方波。4.5 键盘显示电路键盘、显示电路是很多设计中必不可少的输入、输出设备。4.5.1 键盘电路与通用单片机键盘相比,单片机应用系统中的键盘种类很多,键盘中按键数量设置依系统操作要求而定。单片机应用系统中键盘有独立式和行列式两种。(1) 独立式键盘。独立式键盘中,每个按键占用一根i/o口线,每个按键电路相对独立。i/o口通过按键与地相连,i/o口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。i/o口内部有上拉电阻时,外部可不接上拉电阻。(2) 行列式键盘。行列式键盘采用行列电路结构。在该设计中采用的是四按键独立式键盘(其中有1键为复位键,其余四键为功能键)。4.5.2 显示电路(1) 常所说的led显示器由七个发光二极管组成,因此也称之为七段led 显示器,其排列形状如图10所示:此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管的不同组合,可以显示多种数字、字母或者其他符号。led显示器中的发光二极管共有两种连接方法:共阳极接法 把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5v。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。共阴极接法 把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。七段发光二极管,再加上一个小数点,共计8段。因此提供给led显示器的字型代码正好一个字节。采用led显示器。led显示器由七个发光二极管组成,本设计采用共阴级接法。显示方式采用动态显示方式。原因在于:静态显示方式要求口线多,占用资源多,成本就高,而动态显示方式,电路简单、节省口线、成本低。(2) 显示方式 静态显示所谓静态显示,是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。这种显示方法每一位都需要有一个8位输出控口控制。静态显示时,较小的驱动电流就可以得到较高的显示亮度,所以可由接口芯片直接驱动。并行输出显示位数越多需要i/o口越多。 动态显示当显示器位数较多时,可以采用动态显示。所谓动态显示就是一位一位地轮流点亮显示器的各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但由于人眼的视觉暂留效应和发光二极管熄灭时的余辉,我们看到的动是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。该设计中采用的是动态显示。4.6 74ls244芯片常用的单向总线驱动器有74ls240(带反向输出)、74ls241和74ls244。如图11为它的外部管脚图。它由8个三态线驱动器分成两组,分别由g1g2 控制。5、地址分配5.1 存储器地址分配 5.2 硬件资源分配 采用定时/计数器t0 p1.0p1.3为键盘输入端 p0.0p0.7接段控线,接led的显示段a,b,c,d,e,f,g,dp p2.5p2.0接位控线,从左至右(led5,led4,led3,led2,led1,led0)采用了定时/计数器t0中断6、数字钟元件清单7、程序流程图流程图可以让人更简明地了解设计者的思路,我们的程序清单便是根据流程图写出。以下为各部分流程图。7.1 主程序流程框图如图12所示7.2 中断流程框图如图13所示:7.3其它程序流程图7.3.1 显示“p.”点流程框图如图14所示:7.3.2 自动运行流程框图如图15所示:7.3.3自动调整运行流程图如图16所示:7.3.4 加1子程序流程框图如图17所示:7.3.5 键扫子程序流程框图如图18所示:8、程序清单定时器/计数器的使用:定时器/计数器0,定时功能,工作方式1,提供100毫秒的定时时间;系统中断源的使用:定时器/计数器中断0,计满10次即得到秒计时单位 secge equ 30h ;秒个位存储单元 secsh equ 31h ;秒十位存储单元 minge equ 32h ;分个位存储单元 minsh equ 33h ;分十位存储单元 houge equ 34h ;时个位存储单元 housh equ 35h ;时十位存储单元 intcishu equ 45h ;要求的计数溢出次数,即1秒计时的循环次数位定义 keyaa bit 20h.0 ;a键处理结果位标志 keybb bit 20h.1 ;b键处理结果位标志 keycc bit 20h.2 ;c键处理结果位标志 keydd bit 20h.3 ;d键处理结果位标志8.1 “p.”点显示程序清单 org 0000h ajmp main org 0030h main: mov sp, #60h ;确定堆栈区 mov psw, #00h mov r0, #20h ;ram首地址 mov r7, #5fh ;ran单元个数 ml: mov r0, #00h inc r0 djnz r7, ml tsf: mov 79h, #10h ;“ p.”字符序号送显示缓冲区 mov 7ah, #10h mov 7bh, #10h mov 7ch, #10h mov 7dh, #10h mov 7eh, #11h lcall disp ;调显示子程序显示提示符“p.” ljmp tsf tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh db 6fh, 77h, 7ch, 39h,5eh,79h,71h,00h,0f3h ;共阴极字形代码延时2毫秒子程序 dl: setb rs1 setb rs0 mov r7, #02h dl1: mov r6, #0ffhdl2: djnz r6, dl2djnz r7, dl1 clr rs1 setb rs0 ret disp: push dph push dpl push acc push psw clr rs1 ;改变当前寄存器组为组1 setb rs0 mov r1, #79h ;显示缓冲存储单元首地址 mov r2, #0feh ;从右至左显示 disp1: mov a, r1 mov dptr, #tabmovc a, a+dptrmov p0, a ;送段控mov p2, r2 ;送位控acall dl ;延时2毫秒mov a, r2jnb acc.5, disp2rl a inc r1mov r2, aajmp disp1disp2: clr rs1 ;恢复当前寄存器组为组0 clr rs0pop pswpop accpop dplpop dphret8.2 自动运行程序清单 org 0000h start: ajmp main org 000bh ljmp pito main: mov sp, #60h ;确定堆栈区 mov psw, #00h mov r0, #20h ;ram首地址 mov r7, #5fh ;ram单元个数 ml: mov r0, #00h inc r0 djnz r7, ml mov tmod, #01h ;定时器/计数器0,工作方式1 mov tl0, #0b0h ;置定时器初值,延时时间为100ms mov th0, #3ch setb ea ;ea置1,中断总允许 setb et0 ;et0置1,定时器/计数器0中断允许 clr tr0 mov intcishu, #0ah ;中断次数 mov r2, #2fhp.显示 tsf: mov 79h, #10h ;“ p.”字符序号送显示缓冲区 mov 7ah, #10h mov 7bh, #10h mov 7ch, #10h mov 7dh, #10h mov 7eh, #11h lcall disp ;调显示子程序显示提示符“p.” loop: djnz r2, tsf ddisp: lcall disp setb tr0 ;开定时器0 tsf1: mov 79h, secge ;时,分,秒的储存单元mov 7ah, secsh mov 7bh, minge mov 7ch, minsh mov 7dh, houge mov 7eh, housh ljmp ddisp tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh db 6fh, 77h, 7ch, 39h,5eh,79h,71h,00h,0f3h ;共阴极字形代码延时2毫秒子程序 dl: setb rs1 setb rs0 mov r7, #02h dl1: mov r6, #0ffh dl2: djnz r6, dl2 djnz r7, dl1 clr rs1 setb rs0 ret disp: push dph push dpl push accpush psw clr rs1 ;改变当前寄存器组为组1 setb rs0 mov r1, #79h ;显示缓冲存储单元首地址 mov r2, #0feh ;从右至左显示 disp1: mov a, r1 mov dptr, #tabmovc a, a+dptrmov p0, a ;送段控 mov p2, r2 ;送位控acall dl ;延时2毫秒mov a, r2jnb acc.5, disp2rl ainc r1mov r2, aajmp disp1 disp2: clr rs1 ;恢复当前寄存器组为组0 clr rs0pop pswpop accpop dplpop dphret中断服务程序 pito: push dpl push dph push psw push acc setb rs1 ;改变当前寄存器组为组3 setb rs0 mov tl0, #0b0h ;重装定时器计数初值 mov th0, #3ch mov a, intcishu ;循环次数减1 dec a mov intcishu, a jnz ret0 ;不满10次,转ret0返回 mov intcishu, #0ah ;满10次,开始计时操作 mov r0, #secsh ;秒十位存储单元地址 lcall dadd1 ;十进制秒加1 mov a, r2 xrl a, #60h ;判是否到60秒 jnz ret0 ;不到,转ret0返回 lcall clr0 ;到60秒,秒显示缓冲单元清0 mov r0, #minsh ;分十位存储单元地址 lcall dadd1 ;十进制分加1 mov a, r2 xrl a, #60h ;判是否到60分 jnz ret0 ;不到,转ret0返回 lcall clr0 ;到60分,分显示缓冲单元清0 mov r0, #housh ;时十位存储单元地址 lcall dadd1 ;十进制时加1 mov a, r2 xrl a, #24h ;判是否到24时 jnz ret0 ;不到,转ret0返回 lcall clr0 ;到24时,时显示缓冲单元清0 ret0: clr rs1 ;恢复当前寄存器组为组0 clr rs0 pop acc pop psw pop dph pop dpl reti ;中断返回十进制加1子程序 dadd1: mov a, r0 ;取十位数 dec r0 swap a ;十位数占高4位 orl a, r0 ;个位数占低4位 add a, #01h da a mov r2, a ;全值暂存r2中 anl a, #0fh mov r0, a ;个位值送显示缓冲单元 mov a, r2 inc r0 anl a, #0f0h swap a mov r0, a ;十位值送显示缓冲单元 ret十位、个位数缓冲单元清0子程序 clr0: clr a mov r0, a ;十位数缓冲单元清0 dec r0 mov r0, a ;个位数缓冲单元清 ret8.3自动调整程序清单 org 0000h start: ajmp main org 000bh ljmp pito main: mov sp, #60h ;确定堆栈区 mov psw, #00h mov r0, #20h ;ram首地址 mov r7, #5fh ;ram单元个数 ml: mov r0, #00h inc r0 djnz r7, ml mov tmod, #01h ;定时器/计数器0,工作方式1 mov tl0, #0b0h ;置定时器初值,延时时间为100ms mov th0, #3ch mov intcishu, #0ah ;中断次数 setb ea ;ea置1,中断总允许 setb et0 ;et0置1,定时器/计数器0中断允许 clr tr0p.显示 tsf: mov 79h, #10h ;“ p.”字符序号送显示缓冲区 mov 7ah, #10h mov 7bh, #10h mov 7ch, #10h mov dh, #10h mov 7eh, #11h lcall disp ;调显示子程序显示提示符“p.” key1: lcall key ;调键扫 jz tsf ;无键按下则显示提示符“p.” jnb keyaa, tsf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖南-湖南动物检疫员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北机械热加工五级(初级工)历年参考题库含答案解析
- 2025年老年教育课程设置与教学方法中的老年科技素养提升实践报告
- 2025年事业单位工勤技能-湖北-湖北农业技术员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北假肢制作装配工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北中式烹调师三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-海南-海南计量检定工四级(中级工)历年参考题库含答案解析
- 智慧交通系统2025年交通流量预测技术安全性评估报告
- 2025年事业单位工勤技能-河南-河南计算机文字录入处理员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南工勤技能(公共科目)历年参考题库典型考点含答案解析
- Codesys培训课件教学课件
- 甲方业主项目管理手册
- 句法 课件-初升高衔接英语课程
- 安装聚氨酯冷库板施工方案
- 医院培训课件:《黄帝内针临床运用》
- 峥嵘岁月 课件-2024-2025学年高中音乐人音版(2019) 必修 音乐鉴赏
- 《医院医疗技术临床应用管理制度》
- 建筑装饰工程涂料施工技术考核试卷
- 2024年人社法律法规知识竞赛考试题库及答案
- 知识题库-人社劳动知识竞赛测试题及答案(十五)
- 《民宿管家》课件-民宿管家之预订接待
评论
0/150
提交评论