已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能时钟控制课程设计题 目: 基于单片机的智能时钟控制系统设计 东华理工大学 姓 名: 学 院: 机械与电子工程学院 班 级:学 号:得 分: 指导教师: 2011 年 10月 08日基于单片机的智能时钟控制毕业设计摘要:本设计主要为实现一款可正常显示时钟/秒表,带有定时闹铃的多功能智能电脑钟。本文对当前电脑钟开发手段进行了比较和分析,最终确定了采用单片机技术实现智能电脑钟。本设计应用at89c51芯片作为核心及6位led数码管显示时、分、秒,以24时计时方式运行,使用按键开关可实现时、分调整,时钟/秒表功能的转换及定时等功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精度高,操作简单,编程容易。该电脑钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词:智能;闹铃;定时;led数码管;abstractthe key for the realization of a design can be displayed properly clock / stopwatch, timer with multi-functional intelligent computer alarm clock. this article discusses the development of computer clock means were compared and analyzed, ultimately determined by microcontroller technology to achieve intelligent computer clock. at89c51 chips in this design application as a core and six led digital display hours, minutes and seconds to run 24 hours a time, using the key switch can be realized, the sub-adjust, clock / stopwatch functions of conversion and timer functions. this method provides the advantage of simple circuit, reliable performance, real good time and high precision, simple operation and programming easy. the computer can be used in ordinary life and work, can also be modified to improv performance, add new features to peoples life and work more convenient.key words: computer clock; at89c51; led digital tube; stopwatch目 录摘要abstract前言1.方案设计与论证1.1计时模块1.2键盘模块1.3显示模块1.4数据通讯模块2.系统硬件设计2.1时钟电路模块设计2.2复位电路模块设计2.3键盘电路模块设计2.4显示模块模块设计2.5数据通信模块设计3.系统软件设计3.1系统主程序设计3.2系统子程序设计3.2.1显示程序设计3.2.2调时功能程序设计3.2.3秒表功能程序设计3.2.4定时器t0中断服务程序设计3.2.5定时器t1中断服务程序设计3.2.6单片机与pc机数据通信程序设计总结参考文献前言(引言):基于单片机的智能时钟系统设计 时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显示了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。在单片机构成的装置中,数字时钟是必不可少的部件。它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。随着人类科技文明的发展,人们对于时钟的要求在不断地提高。时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。基于mcs-51单片机的智能时钟系统具有显示准确、直观、易于调整等特点。 单片机自诞生以来给全世界人类的生活和工作起到了剧烈的变化,而mcs-51单片机是我国使用最早、最易掌握和应用的一款单片机。通过该系统的设计,对单片机的原理和功能有个较系统和全面的掌握,初步学习到有关工程设计的方法和思路。这样以后的就业面会更加宽广,也可以满足当今社会对单片机开发人才的大量需求。纵观传统的电路设计,大部分是采用分立元件进行设计,既复杂成本又高。随着集成化的发展,现在系统的设计都是在模块化的基础上设计系统的。本课题是基于智能化和模块化的前提下设计智能数字时钟的,通过对设计目标的分析,分立出各个模块,然后根据各个模块的功能,选择适当的芯片进行设计的。本课题的研究,对智能化、模块化设计具有较强的推广应用价值。本文的主要内容是利用51单片机设计一个智能数字时钟系统,使其实现以下功能:1:具有时间显示和报时、校时功能,24小时制;2:具有定时功能定时闹铃;3:具有查询功能,4具有跑表功能。为此设计,我查阅的好多数据库,如:中国学术期刊数据库,中文科技期刊数据库,万方数字化期刊,独秀知识库文献,超星数字图书馆,spingerlink来源文献,ebsco数据库,中国标准服务网等。正文:智能时钟系统设计1.方案设计与论证1.1计时定时方案方案一:采用实时时钟芯片实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计s时数据的更新每秒自动进行一次,不要程序干预。计算机可通过中断或查询方式读取计时数据进行显示,因此计时功能的实现无需占用cpu的时间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性ram,可用来存放需长期保存但有时也需变更的数据。由于功能完善,精度高,软件程序设计相对简单,且计时不占用cpu时间,因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。1方案二:软件控制利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时及秒表计时。该方案节省硬件成本,且能使设计者对单片机的指令系统能有更深入的了解,从而掌握单片机应用技术mcs-51汇编语言设计方法,因此,本系统设计采用此种软件控制方法来实现计时。而由于at89c51单片机片内的flash可允许在线重新编程,也可使用通用非易失性存储器编程。它将通用cpu和在线可编程flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性价比的微控制器。 本系统采用方案二,使用at89c51单片机,它的功能强大,而且也较容易购买。 1.2键盘方案 方案一:采用独立式按键电路 每个键单独占有一根i/o接口线,每个i/o口的工作状态互不影响,此类键盘采用端口直接扫描方式。但是当按键较多时占用单片机的i/o数目较多。 方案二:采用阵列式键盘此类键盘是采用行列扫描方式,当按键较多时可以降低占用单片机的i/o口的数目。因本系统用到的按键比较少,采用独立式键盘不会浪费i/o口线,所以本系统采用独立式键盘。1.3显示方案方案一:静态显示静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出去后,数码管始终显示该数据(不变),cpu不再控制led。到下一次显示时,再传送一次新的显示数据。静态显示的接口电路采用一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接vcc。这种接法,每个数码管都要单独占用一个并行i/o口,以便单片机传送字形码到数码管控制数码管的显示。显然其缺点就是当显示位数多时,占用i/o口过多。方案二:动态显示动态扫描用分时的方法轮流控制每个显示器的com端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。动态驱动一般用于多位led数码管显示,主要是节省驱动管脚,减少器件。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现led的显示1.4数据通信方案方案一:利用rs-232连接pc机实现数据通信我们采用89c51单片机作为下位机运行windows98的pc机作为上位机,两者通过rs-232串行口进行通信。传输介质为二芯屏蔽电缆。由于rs-232信号电平和单片机串行口信号电平不一致,必须进行两者之间的电平转换。我们可以通过采用集成电平转换芯片max232进行rs-232/ttl电平转换2. 系统硬件设计2.1 时钟电路模块设计如图2-2所示为时钟电路原理图,在at89c51芯片内部有一个高增益反相放大器其输入端为芯片引脚xtal1,输出端为引脚xtal2。而在芯片内部,xtal1和xtal2之间跨接晶体振荡器和微调电容,从而构成了一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。3图2-2 时钟电路原理图at89c51单片机内部包括一个8位cpu,片内振荡器和时钟电路,由4kb闪存组成的程序存储器,128字节的数据存储器,四个8位并行i/o口,一个全双工串行口,两个16位定时/计数器,5个中断源,提供两个中断优先级,21个特殊功能寄存器,可寻址各64kb的外部程序存储器和数据存储器,有位寻址功能及较强的布尔数据处理能力,有两种软件可选的低功耗运行方式(空闲和掉电方式)。2.1.1 at89c51单片机的外形和引脚、图2-3 at89c51引脚图管脚说明:at89c51的引脚除了vcc(供电电压)和gnd(接地)之外,按其功能可分为以下三类:1)时钟电路引脚xtal1和xtal2;xtal1:反向振荡放大器的输入及内部时钟工作电路的输入xtal2:来自反向振荡器的输出。at89c51内部有一个高增益的反相放大器,xtal1和xtal2分别为反向放大器的输入和输出端,在这两段之间接入晶体或陶瓷振荡器,即可构成一个高稳定度的片内振荡器作为单片机的时钟。也可以加一个外部振荡信号到它的输入端作为时钟源,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2)i/o端口引脚:p0口:为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为低八位地址接收。 p2口:为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 p3引脚的第二功能,如表2-1所示:表2-1 p3引脚的第二功能引脚第二功能p3.0rxd串口数据输入p3.1txd串口数据输出p3.2int0外部中断0输入p3.3int1外部中断1输入p3.4t0外部计数脉冲输入p3.5t1外部计数脉冲输入p3.6wr外部ram写选通p3.7rd外部ram读选通 3)控制类引脚:rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令时ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。ea/vpp:程序存储器选择/编程电压输入端。当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。由于at89c51内部有4kb的闪存作为程序存储器,因此在实际使用时该引脚直接连到电源正端;而编程闪存时则接12v电源正端。2.1.2 at89c51的工作方式at89c51在上电后,通过复位电路的作用进入复位状态,复位后内部各特殊功能寄存器恢复到表2-2所列的值。表2-2 特殊功能寄存器复位值srf 复位值 srf 复位值 pc 0000h tmod 00h acc 00h tcon 00h b 00h th0 00h psw 00h tl0 00h sp 07h th1 00h dptr 0000h tl1 00h p0-p3 0ffh scon 00h ip xxx00000 sbuf 不变 ie 0xx00000 pcon0xxxxxxx接着,单片机就开始执行程序存储器中的程序,进入“程序运行”方式。此外,单片机还有两种软件可编程的节电模式,它是由电源控制寄存器pcon中的idl和pd来控制的。1)空闲节电模式。当idl=1时,进入该模式,单片机进入睡眠状态,片上ram和特殊功能寄存器中的内容保持不变,单片机外设仍处于激活状态。有两种情况可以使单片机终止空闲节电模式: 任何被允许的中断。当中断产生时,idl被硬件清零,空闲节电模式被终止,单片机进入中断服务程序,中断服务处理完成后,单片机执行使其进入空闲节电模式的那条指令后面的指令。 硬件复位也可使单片机终止空闲节电模式。空闲节电模式被终止后,同样也是执行使其进入空闲节电模式的那条指令后面的指令。2)掉电模式。当pd=1时,单片机进入掉电模式,振荡器停止工作,ram和sfr的内容保持不变。只有硬件复位可以使单片机终止掉电模式,这时sfr的内容被重新定义,ram不变。2.1.3 at89c51单片机的存储器at89c51有片内程序存储器和片内数据存储器,片内程序存储器是4kb可反复擦写的闪存,其地址范围为0000h0fffh。片内数据存储器包括四部分: 通用寄存器组。每组由r0r7八个通用寄存器组成,共四组,可以通过程序状态字psw的rs0和rs1位来选用其中的某一组。地址00h1fh。 位地址空间。用于存储布尔逻辑数据,可位寻址,地址是20h2fh。 数据存储区。用于存储字节数据,也可以当做运算时的寄存器,地址是30h7fh. sfr特殊功能寄存器。功能见表2-3;表2-3 特殊功能寄存器名 称功 能地 址名 称功 能地 址acc 累加器 0e0h ie中断允许 0a8h b乘法寄存器 0f0h tmod定时计数器方式 89hpsw程序状态字 0d0h tcon定时计数器控制 88hsp堆栈指针 81h th0t0高字节 8chdph数据指针高字节 83h tl0t0低字节 8ahdpl数据指针低字节 82h th1t1高字节 8dh p08位并行口0 80h tl1t1低字节 8bh p18位并行口1 90h scon串口控制字 98h p28位并行口2 0a0h sbuf串口数据缓冲 99h p38位并行口3 0b0h pcon电源控制 87h ip中断优先 0b8h2.1.4 at89c51单片机的串口at89c51单片机有一个全双工的串行数据接口,可以将单字节的8位数据,一位一位地串行发送或接收。在单片机中这项功能是由接收数据引脚rxd和发送数据引脚txd来实现的。sbuf是收发共用的数据缓冲器(地址为99h),收发使用不同的读写指令来区分。该串口具有不同的工作方式和传输速率等,还能产生发送或接收中断,这些都可以通过串口控制寄存器scon设定或根据其值来判断,方法见表2-4;表2-4 串口控制寄存器scon位 名 称 功 能用 法 0 ri接收中断标志产生中断时为1 1 ti发送中断标志产生中断时为1 2 rb8方式2,3时收到的第9位数据 3 tb8方式2,3时发送的第9位数据 4 ren接收允许软件置1 5 sm2方式2,3时的多机通信协议允许 6 sm1方式选择 见表2-5 7 sm0表2-5 串口工作方式选择方 式m1m0功 能000同步移位寄存器方式1018位波特率可变2109位波特率可变,波特率为f/64(或32)3119位波特率可变2.1.5 at89c51单片机的中断at89c51有五个中断源,两个外部中断(ie0和ie1),两个定时/计数器中断(tf0和tf1),一个串口中断(ri和ti合为一个中断源)。前四个中断源的中断标志位在tcon的相应位中,串口的中断标志位在scon中。各中断源均可通过中断允许寄存器if单独允许或禁止,if可按位寻址设定,各位的意义见表2-6:表2-6 中断允许寄存器if位名 称功 能用 法0 ex0外部int0中断允许 1:允许中断 0:禁止中断1 et0定时器0中断允许2 ex1外部int1中断允许3 et1定时器1中断允许4 es串口中断允许5et2定时器2中断允许6保留位7ea 总中断允许 0:禁止所有的中断各中断源可以有不同的优先级别,优先级别由中断优先级寄存器ip确定,见表2-7:表2-7 中断优先级寄存器ip位名 称功 能用 法0px0外部int0中断优先级1:中断优先1pt0定时器0中断优先级2px1外部int1中断优先级3pt1定时器1中断优先级4ps串口中断优先级5pt2定时器2中断优先级中断产生后即转入相应的中断服务子程序处理中断。各中断服务子程序的入口地址如表2-8所列:表2-8 中断服务子程序入口地址中断源入口地址默认的优先顺序外部int0中断0003h依次递减定时器0中断000bh外部int1中断0013h定时器1中断001bh串口中断0023h定时器2中断002bh2.1.6 at89c51单片机定时/计数器at89c51有两个16位定时/计数器t0和t1,它们的工作方式由特殊功能寄存器tmod各位确定,见表2-9。运行由tcon的部分相关位控制,见表2-11。表2-9 tmod控制字位名 称功 能用 法0m0 t0方式选择见表2-101m12c/tt0定时/计数选择0;定时,1:计数3gatet0门控位gate=1时,计数受外部引脚p3.3控制,p3.3=1时才能计数4m0t1方式选择见表2-105m16c/tt1定时/计数选择0;定时,1:计数7gatet1门控位gate=1时,计数受外部引脚p3.3控制,p3.3=1时才能计数表2-10 定时/计数器t0和t1工作方式选择方 式m1m2功 能000由th高8位和tl低5位组成的13位定时/计数器10116位定时/计数器210自动重载8位定时/计数器,tl为计数器,th为计数常数3118位定时/计数器(仅用于t0) 表2-11 tcon控制字位名 称功 能用 法0it0中断0方式选择0:电平触发,1:边沿触发1ie0中断标志中断置1 2it1中断1方式选择0:电平触发,1:边沿触发3ie1中断标志中断置14tr0t0运行1:启动,0:停止5tf0t0溢出标志溢出置1请求中断服务,中断响应后硬件自动清零6tr1t1运行1:启动,0:停止7tf1t1溢出标志溢出置1请求中断服务,中断响应后硬件自动清零2.2 复位电路设计如图2-4所示为复位电路原理图,复位时单片机的初始化操作,其主要功能是把pc初始化为0000h,使单片机从0000h单元开始执行程序,并使其它功能单元处于一个确定的初始状态。本复位电路采用的是按键复位,它是通过复位端经电阻与vcc电源接通而实现的,它兼具上电复位功能。因本系统的晶振的频率为12mhz,所以,位信号持续时间应当超过2us才能完成复位操作。5图2-4 复位电路原理图2.3 键盘电路设计如图2-5所示为键盘电路原理图,本系统采用的是独立式键盘结构,每个按键单独占用一根i/o口线,每个按键的工作不会影响其它i/o口线的状态。它软件是采用查询式结构,首先逐位查询每根i/o口线的输入状态,如某一根i/o口线输入为低电平,则可确认该i/o口线所对应的按键已按下,然后,再转向该键的功能处理程序。图2-5 键盘电路原理图 按键使用方法:(1)长按t0键进入调分状态:分单元闪烁,按t0键加1,按t1键减1。再长按t0键进入小时调整状态,时单元闪烁,加减调整同调分相同。再长按t0键退出时间调整状态,时钟从0s开始计时。(2)在正常时钟状态下,按下t1键进行入跑表状态,按t2键暂停,再按t2键跑表清0。再按t2键跑表又启动,按t1键退出跑表回到时钟状态。(3)按t3键进入设定闹时状态,显示式样为00:00:,其中高2位代表时,低2位代表分,可进行分设定,按t2键,分加1;按t0键,分减1。再按t3键进入时调整状态,显示式样为00:00:,按t2键,时加1;按t0键,时减1。按t1键,闹铃有效,显示式样变为00:00:0;再按t1键,闹铃无效,显示式样又变成为00:00:。再按t3键,调整闹钟时间结束,恢复正常时间的显示。在闹铃时可按一下t3键停闹,不按则闹铃1分钟。2.4 显示模块设计系统采用动态显示方式,用p0口来控制led数码管的段控线,而用p2口来控制其位控线。动态显示通常都是采用动态扫描的方式进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图2-6中9012作为位驱动器,而74ls244在电路中起驱动段码的功能,8个510欧姆电阻则起限流作用。图2-6 显示原理图2.5数据通信模块由于max232为半双工状态,所以只采用一对差分信号线。a端和b端分别为接收和发送的差分信号端,当a引脚的电平高于b时发送的数据为1,当a引脚的电平低于b时发送的数据为0,因此与单片机的联接非常简单。同时a和b 端接匹配电阻为100。由于pc机只配有rs232接口,若实现rs232接口与8051 单片机的通信,必须使用232 /485接口卡,接口卡采用九芯联接线,分别与pc机并通过max232与8051单片机相联,接口卡的主要目的是将rs232电平转换为ttl电平,接口卡可控制多台单片机, pc机和单片机串行通信数据采集系统接口电路如图所示。单片机芯用at89c51串口通信电路 3. 系统软件设计3.1系统主程序设计本设计中的计时采用定时器t0中断完成,秒表使用定时器t1中断完成。主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序系统主程序如下:dispfirst equ 30h ;显示首址存放单元bell equ p1.7 ;蜂鸣器conbs equ 2fh ;存放报时次数*中断入口程序* org 0000h ;程序执行开始地址 ljmp start ;跳到标号start执行 org 0003h ;外中断0中断程序入口 reti ;外中断0中断返回 org 000bh ;定时器t0中断程序入口 ljmp intt0 ;跳至intt0执行 org 0013h ;外中断1中断程序入口reti ;外中断1中断返回 org 001bh ;定时器t1中断程序入口 ljmp intt1 ;跳至intt1执行 org 0023h ;串行中断程序入口地址 reti ;串行中断程序返回*主程序开始*start: lcall st ;上电显示 mov r0,#00h ;清00hh内存单元 mov r7,#80hcleardisp: mov r0,#00h inc r0 djnz r7,cleardisp mov 20h,#00h ;清20h(标志用) mov 7ah,#0ah ;放入“熄灭符”数据 mov tmod,#11h ;设t0、t1为16位定时器 mov tl0,#0b0h ;50ms定时初值(t0计时用) mov th0,#3ch ;50ms定时初值 mov tl1, 0b0h ;50ms定时初值(t1闪烁定时用) mov th1,#3ch ;50ms定时初值 setb ea ;总中断开放 setb et0 ;允许t0中断 setb tr0 ;开启t0定时器 mov r4,#14h ;1s定时用计数值(50ms20) mov dispfirst,#70h ;显示单元为70h75h以下为主程序循环start1: lcall display ;调用显示子程序 jnb p1.0,setmm1 ;p1.0口为0时,转时间调整程序 jnb p1.1,funss ;秒表功能,p1.1按键调时用,作减1操作 jnb p1.2,funpt ;秒表stop、puse、clr jnb p1.3,tsfun ;定时闹铃设定 jb 08h,qqqq ;标志为1时,整点报时 ajmp start1 ;p1.0口为1时,跳回start1funpt: ljmp funptt;以下为键等待释放时显示不会熄灭用wait21: lcall display ajmp wait22wait31: lcall display ajmp wait33wait41: lcall display ajmp wait44wait51: lcall display ajmp wait55wait61: lcall display ajmp wait66*加1子程序*add1: mov a,r0 ;取当前计时单元数据到a dec r0 ;指向前一地址 swap a ;a中数据高4位与低4位交换 orl a,r0 ;前一地址中数据放入a中低4位 add a,#01h ;a加1操作 da a ;十进制调整 mov r3,a ;移入r3寄存器 anl a,#0fh ;高4位变为0 mov r0,a ;放回前一地址单元 mov a,r3 ;取回r3中暂存数据 inc r0 ;指向当前地址单元 swap a ;a中数据高4位与低4位交换 anl a,#0fh ;高4位变为0 mov r0,a ;数据放入当前地址单元中 ret;子程序返回*分减1子程序*sub1: mov a,r0 ;取当前计时单元数据到a dec r0 ;指向前一地址 swap a ;a中数据高4位与低4位交换 orl a,r0 ;前一地址中数据放入a中低4位 jz sub11 dec a ;a减1操作sub111: mov r3,a ;移入r3寄存器 anl a,#0fh ;高4位变为0 clr c ;清进位标志 subb a,#0ahsub111: jc sub1110 mov r0,#09h ;大于或等于0ah时,为9sub110: mov a,r3 ;取回r3中暂存数据 inc r0 ;指向当前地址单元 swap a ;a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教学总结10篇
- 最美中学生主题演讲稿(11篇)
- 金融员工试用期工作总结(34篇)
- 幼儿园自检自查报告
- 考试作弊的批评通报(3篇)
- 新教材高考地理二轮复习二7类选择题技法专项训练技法1排除法含答案
- 江西省上饶市广丰横山中学2024-2025学年度八年级上学期十一月物理测试卷
- 甘肃省永昌县第一高级中学2024-2025学年高一上学期期中考试化学试卷(含解析)
- 2023年高考语文二轮复习试题:压缩语段与扩展语句(新高考专用)含解析
- 2024年河北省公务员考试《行测》真题及答案解析
- 《中华商业文化》第五章
- (完整版)华为虚拟化技术方案
- 3dMAX菜单中英文对照表(完整版)
- 分析化学期中试卷
- 企业供应链保障措施怎么写
- 大学生安全教育(综合篇)学习通课后章节答案期末考试题库2023年
- 台湾民主自治同盟
- 初中英语-现在进行时 过去进行时(含练习)
- 小学综合实践活动《业体验及其他活动5.创建我们自己的“银行”(如阅读、道德、环保)》优质课教案-10
- 人 大 代 表 履 职 档 案
- C25喷射混凝土配合比设计与使用
评论
0/150
提交评论