单片机80C51倒计时

合集下载

80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。

以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。

定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。

2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。

计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。

3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。

例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。

在计数模式下,定时常数由外部事件发生的时间间隔决定。

4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。

中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。

5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。

6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。

为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。

51单片机指令周期,机器周期,时钟周期详解

51单片机指令周期,机器周期,时钟周期详解

51单片机指令周期,机器周期,时钟周期详解51单片机有指令周期,机器周期,时钟周期的说法,看似相近,但是又都不太一样,很容易混淆。

还是详细分析一下。

时钟周期:单片机外接的晶振的振荡周期就是时钟周期,时钟周期=振荡周期。

比方说,80C51单片机外接了一个11.0592M的晶体振荡器,那我们就说这个单片机系统的时钟周期是1/11.0592M,这里要注意11.0592M是频率,周期是频率的倒数。

机器周期:单片机执行指令所消耗的最小时间单位。

我们都知道51单片机采用的CISC(复杂指令指令集),所以有很多条指令,并且各条指令执行的时间也可能不一样(有一样的哦),但是它们执行的时间必须是机器周期的整数倍,这就是机器周期的意义所在。

8051系列单片机又在这个基础上进行细分,将一个机器周期划分为6个状态周期,也就是S1-S6,每个状态周期又由两个节拍组成,P1和P2,而P1=P2=时钟周期。

这也就是经常说的8051系列单片机的的时钟频率是晶振频率的12分频,或者是1/12,就是这个意思。

现在(截至2012)新的单片机已经能做到不分频了,就是机器周期=时钟周期。

指令周期:指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。

传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。

现在(截至2012)新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。

来看这张8051单片机外部数据,这里ALE和$PSEN$的变化频率已经小于一个机器周期,如果使用C语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。

80C51单片机的定时计数器

80C51单片机的定时计数器

80C51单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式1.定时器/计数器的工作方式0<1)电路逻辑结构当图6-7中的计数器=13位<TH的8位与TL低5位)即得方式0的逻辑电路图。

<2)工作方式0的特点①两个定时器/计数器T0、T1均可在方式0下工作;②是13位的计数结构,其计数器由TH全部8位和TL的低5位构成<高3位不用);③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。

应说明的是,方式0采用13位计数器是为了与早期的产品兼容,计数初值的高8位和低5位的确定比较麻烦,所以在实际应用中常由16位的方式1取代。

2.定时器/计数器的工作方式1<1)电路逻辑结构方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。

其逻辑电路如图6-11所示。

<2)工作方式1的特点①两个定时器/计数器均可在方式1下工作;②是16位的计数结构,其计数器由TH的全部8位和TL的全部8位构成;③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。

<3)计数/定时的范围在方式1下,当为计数工作方式时,由于是16位的计数结构,所以计数范围是:1~65536。

当为定时工作时,其定时时间=<216-计数初值)×机器周期,例如:设单片机的晶振频率f=12MHz,则机器周期为1μs,从而定时范围:1μs~65536μs。

因为80C51单片机的定时计数器是可编程的。

因此,在利用定时/计数器进行定时计数之前,先要通过软件对他进行初始化,初始化一般应进行如下工作:①设置工作方式,即设置TMOD中的各位GATE、C/T、M1M0。

②计算加1计数器的计数初值COUNT,并将计数初值COUNT 送入TH、TL中。

计数方式:计数值 = 2n – COUNT ,计数初值:COUNT= 2n –计数值。

基于C51的倒计时器设计

基于C51的倒计时器设计

广州理工学院《单片机原理与应用》课程设计报告设计课题:基于C51的倒计时器设计学院:电气与电子工程学院班级:姓名:学号:指导教师:日期:2020.11.6---2020.11.19评分:摘要本系统采用STC89C52单片机,设计一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数字,4位数码管显示计时数字,可选择倒计时范围在(1-9999),设定时间后,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。

关键词:STC89C52;数码管显示;可控倒计时器A B S T R AC TS TC89C52m i c ro c on t rol l er i s ap pl i e d i n t hi s s ys t e m, de s i gn ana d j u s t ab l e t i m e r, t h ec ou nt do wn t i m er n um b er c a n f r e el y t h r ou gh t h eb ut t o ns t o a dd KEY1/m i n us K E Y2N u m b e rs, t h e fo ur d i gi t a l t u b e d i s pl a y t i m i n g Nu m b e r s,c an ch oo s e t he c o unt do w n r a n ge i n (1-9999), s e t t i n g t i m e,p r ess t h e b ut t on K EY3s t ar t t h e c ou nt do wn,wh e n t h e c o un td ow n t o z er o, b uz ze r t o re c e i v e si gn al s, s e nd s out t he a l a r m.K E Y W O R DSSTC89C52; Digital tube display; Controlled countdown timer目录概述 (1)一、方案设计 (2)1.1设计任务及其要求 (2)1.2器材选定 (2)二、硬件设计 (3)2.1复位电路 (3)2.2按键电路 (3)2.3时钟振荡电路 (4)2.4单片机最小系统模块电路 (4)三、软件设计 (5)3.1程序流程图 (5)3.2设置数值加减程序 (6)3.3设置倒计时程序 (6)3.4设置蜂鸣器程序 (7)3.5总程序 (7)四、调试与实现 (11)4.1实物连线 (12)4.2连线步骤 (13)4.3模块测试 (14)4.4功能实现 (14)五、课程设计体会与总结 (15)5.1总结 (15)参考文献 (15)附录 (16)附录表1 倒计时器元件清单 (16)概述本项目是由单片机通过执行设定设定的程序,设计的一款可调倒计时器,该倒计时器数字可以通过按键加KEY1/减KEY2自由设定数值,由4位数码管显示计时数值,选择在(1-9999)的倒计时范围内,设定时间,按下按键KEY3开始倒计时,当倒计时为0时,蜂鸣器接收到信号,发出警报声。

基于单片机的倒计时器(计数器)课程设计)

基于单片机的倒计时器(计数器)课程设计)

目录目录 (1)摘要 (3)ABSTRACT (4)第一章设计要求与方案确定 (5)1.1设计意义 (5)1.2设计要求 (5)1.3方案确定 (5)第二章硬件电路 (6)2.1单片机概述 (6)2.1.1 单片机基础 (6)2.1.2单片机与单片机系统 (7)2.1.3 单片机的产生与发展 (7)2.2MCS-51系列单片机介绍 (8)2.2.1 80C51 芯片介绍 (8)2.2.3 最小系统 (9)2.2.4 定时与中断的概念 (10)2.4LED显示电路设计与器件选择 (12)2.4.1.LED显示器的选择 (13)2.4.2LED驱动芯片选择 (13)2.5按键电路设计 (13)2.6蜂鸣器电路的设计 (14)第三章倒计时器的设计 (15)3.1倒计时器系统设计方案及框图 (15)3.2程序设计 (15)3.2.1主程序设计 (15)3.2.2倒计时模块设计 (17)3.2.3键盘扫描数码管显示程序 (17)第四章倒计时器设计仿真 (18)4.1设置倒计时初值 (18)4.2开始倒计时 (18)4.3倒计时结束并报警 (18)总结 (20)参考文献 (21)致谢 (22)附录1 倒计时器设计源程序 (23)附录2 所用元器件清单 (23)摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。

在实时控制和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。

装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。

通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。

当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。

为了简化电路,降低成本,采用以软件为主的的接口方法。

80C51单片机智能小车设计分析

80C51单片机智能小车设计分析

首先分析计时精度 , 由于计时系统所采用的是新型显示芯 片 ,所 以其 理论误差 可以控制在 1sy以内;其次,采用 电机 / 轴光 电码盘检测技术进行测速系统 的设计 , 电机车和车轮轴 在 间采用 的是齿轮箱二级减速 , 比为 1 1 ; 变 / 6 车轮周长为 1 5 m 3m , 电机轴和光 电码盘是安装在一起 的,电机轴每转会产 生 2脉 冲 ,而 车轮则有 3 2个脉冲产生 ,使得测距理论精度可 以控制 在 1 5m / 2 4 2 m 4 5 m 3 m 3 = . 2 m < . m以内;最后 由于本设计采用 了 实际测量 与软件补偿 技术 , 以可 以将定位精度 的误差控制在 所 1m 0 m以内。
【 南建辉, 7 】 熊呜, 王军茹. S 5 MC 一 1单 片机 原理及应 用实例 f . M1 北京 :清华 大学 出版社 ,20 04
[ 者简介] 作 叶伟慧 ( 9 5 ),女,广东湛江人 ,硕士研 17 一 究生 , 广东海洋大学寸金学院信息技术系讲师 , 主要研 究方向: 嵌入式系统 。
参考文献: … 陈伯 时, 电力拖动 自动控 制 系统【 , M] 北京: 机械 x J -k出版 ,
社 , 0 2 4 0
图2 :小车前行与倒车的控制 电路 4 调速 。 . 在设计过程 中一共设计 了三种调速系统方案 ,即 串电阻调速系统 、 宽调速 系统 以及静止可控整流 系统 , 脉 经过 综合 比较后决 定采用 H型双极型可逆脉宽调速变换器实现小 车 的调速功 能, 并对小车 的前行 与后退进 行控 制。 工作过程 其 上文 已做 阐述 ,此处不再赘 述 。 三、软件 设计 对 于微机 控制系统而言, 在设计过程 中硬件 系统只是其中 部分,软件 系统的设计是另外举足轻重的一部分 , 它的主要 内容就是如何根据每个生产对象的实际需要设计 出应用程序 。 具体的程序代码此处不做赘述 , 主要叙述一下程序的安装与维 护。软件 设计完成后便能够生成可执行文件 , 在测试 时点击可 执行文件程序就能正常运行 。 当系统设计完成并安装好各个功 能板卡驱动后 , 要及时进行系统备份 ,以便后续维护 软件 时更 方便 。 外,还要进行重 置功能的设 置,可 以使系统 的安全性 此 得到保证 ,如果系统启动 了重 置功 能,即可恢复到初 始状态 。 四 、系统测试 与性 能评估 在设计制作 完成 后着 重对数据 的精度进 行测试, 包括 计时 精度 以及测距精度和 定准 精度 , 对其 结果进 行分 析做 出如 下性 能评估 :

80C51系列单片机指令表

80C51系列单片机指令表

80C51系列单片机指令表80C51系列单片机指令以A开头的指令有18条,分别为:ACALL addr11ADD A,RnADD A,directADD A,@RiADD A,#dataADDC A,RnADDC A,directADDC A,@RiADDC A,#dataAJMP addr11ANL A,RnANL A,directANL A,@RiANL A,#dataANL direct,AANL direct,#dataANL C,bitANL C,/bit1. ACALL addr11指令名称:绝对调用指令指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0指令功能:构造目的地址,进行子程序调用。

其方法是以指令提供的11位地址(al0~a0),取代PC的低11位,PC的高5位不变。

操作内容:PC←(PC)+2SP←(SP)+1(SP)←(PC)7~0SP←(SP)+1(SP)←(PC)15~8PC10~0←addrl0~0字节数:2机器周期:2使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。

2. ADD A,Rn指令名称:寄存器加法指令指令代码:28H~2FH指令功能:累加器内容与寄存器内容相加操作内容:A←(A)+(Rn),n=0~7字节数:1机器周期:1影响标志位:C,AC,OV3. ADD A,direct指令名称:直接寻址加法指令指令代码:25H指令功能:累加器内容与内部RAM单元或专用寄存器内容相加操作内容:A←(A)+(direct)字节数:2机器周期:1影响标志位:C,AC,OV4. ADD A,@Ri指令名称:间接寻址加法指令指令代码:26H~27H指令功能:累加器内容与内部RAM低128单元内容相加操作内容:A←(A)+((Ri)),i=0,1字节数:1机器周期:1影响标志位:C,AC,OV5. ADD A,#data指令名称:立即数加法指令指令代码:24H指令功能:累加器内容与立即数相加操作内容:A←(A)+data字节数:2机器周期:1影响标志位:C,AC,OV6. ADDC A,Rn指令名称:寄存器带进位加法指令指令代码:38H~3FH指令功能:累加器内容、寄存器内容和进位位相加操作内容:A←(A)+(Rn)+(C),n=0~7字节数:1机器周期:1影响标志位:C,AC,OV7. ADDC A,direct指令名称:直接寻址带进位加法指令指令代码:35H指令功能:累加器内容、内部RAM低128单元或专用寄存器内容与进位位加操作内容:A←(A)+(direct)+(C)字节数:2机器周期:1影响标志位:C,AC,OV8. ADDC A,@Ri指令名称:间接寻址带进位加法指令指令代码:36H~37H指令功能:累加器内容、内部RAM低128单元内容及进位位相加操作内容:A←(A)+((Ri))+(C),i=0,1字节数:1机器周期:1影响标志位:C,AC,OV9. ADDC A,#data指令名称:立即数带进位加法指令指令代码:34H指令功能:累加器内容、立即数及进位位相加操作内容:A←(A)+data+(C)字节数:2机器周期:1影响标志位:C,AC,OV10. AJMP addr11指令名称:绝对转移指令指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0指令功能:构造目的地址,实现程序转移.其方法是以指令提供的11位地址,取代PC的低11位,而PC的高5位保持不变.操作内容:PC←(PC)+2PCl0~0←addrll字节数:2机器周期:2使用说明:由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB.11. ANL A,Rn指令名称:寄存器逻辑与指令指令代码:58H~5FH指令功能:累加器内容逻辑与寄存器内容操作内容:A←(A)∧(Rn),n=0~7字节数:1机器周期:112. ANL A,direct指令名称:直接寻址逻辑与指令指令代码:55H指令功能:累加器内容逻辑与内部RAM低128单元或专用寄存器内容操作内容:A←(A)∧(diret)字节数:2机器周期:113. ANL A,@Ri指令名称:间接寻址逻辑与指令指令代码:56H~57H指令功能:累加器内容逻辑与内部RAM低128单元内容操作内容:A←(A)∧((Ri))i=0,1字节数:1机器周期:114. ANL A,#data指令名称:立即数逻辑与指令指令代码:54H指令功能:累加器内容逻辑与立即数操作内容:A←(A)∧data字节数:2机器周期:115. ANL direct,A指令名称:累加器逻辑与指令指令代码:52H指令功能:内部RAM低128单元或专用寄存器内容逻辑与累加器内容操作内容:direct←(A)∧(direct)字节数:2机器周期:116. ANL direct,#data指令名称:逻辑与指令指令代码:53H指令功能:内部RAM低128单元或专用寄存器内容逻辑与立即数操作内容:direct←(direct)∧data字节数:3机器周期:217. ANL C,bit指令名称:位逻辑与指令指令代码:82H指令功能:进位标志逻辑与直接寻址位操作内容:C←(C)∧(bit)字节数:2机器周期:218. ANL C,/bit指令名称:位逻辑与指令指令代码:B0H指令功能:进位标志逻辑与直接寻址位的反操作内容:C←(C)∧(bit)字节数:2机器周期:280C51系列单片机指令以C开头的指令有10条,分别为: CJNE A,dircet,relCJNE A,#data,relCJNE Rn,#data,relCJNE @Ri,#data,relCLR ACLR CCLR bitCPL ACPL CCPL bit1. CJNE A,dircet,rel指令名称:数值比较转移指令指令代码:B5H指令功能:累加器内容与内部RAM低128字节或专用寄存器内容比较,不等则转移。

80C51单片机指令的取指、执行时序80C51单片机指令的取指、执行时序

80C51单片机指令的取指、执行时序80C51单片机指令的取指、执行时序

80C51单片机指令的取指、执行时序来源:21ic作者:关键字:80C51单片机指令时序使用ALE信号作为低8位地址的锁存控制信号。

ALE接到外部锁存器时,高电平期间,51的p0输出地址,低电平时锁存器将地址锁存,在ALE低电平时,(PSEN为低)p0口可以传输数据(指令),这样就可以地址/数据复用了。

以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平有效,以实现对ROM 的读操作。

以EA信号作为内外程序存储器的选择控制信号,当其为低电平时,对ROM的读操作限定在外部的程序存储器,当其为高电平时, 对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器.由RD和WR信号作为扩展数据存储器和I/O口的读选通、写选通信号。

EA信号是表示是当前指令是读内,还是外存储器的控制信号。

如:当选用无片内存储器的单片机,或者不打算用片内存储器时,EA必须接低电平,此外,片外程序存储器的起始地址应该安排在片内存储器之后。

RD和WR信号就相对好理解,就是当读数据时(不分内外、RAM、ROM)它就有效。

WR也是这样的。

80C51单片机指令的取指、执行时序现按4类指令介绍CPU时序。

因为CPU工作的过程就是取指令与执行指令的过程,所以CPU必须先取出指令,然后才能执行指令。

1.双字节单周期指令由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在S1P2与S4P2。

在S1P2读入机器码74并送入指令寄存器IR,在S4P2读入数据03送入累加器A,即读2取2。

在指令的执行过程中,P0口要分时传送地址与数据,因此当操作码的地址从P0口输出后,必须发地址锁存信号ALE给74LS373锁存器,将地址锁存在74LS373内,腾出P0口读入机器码74。

在取数据03时同样要发ALE信号。

因此,在一个机器周期内地址锁存信号二次有效,见80C51时序图2-13。

基于51单片机的9999秒倒计时器设计

基于51单片机的9999秒倒计时器设计
第八周
熟悉毕业设计方案,查阅相关资料
完成方案的初步设计,开题报告
电路的仿真和PCB板的设计
软件流程的设计和软件的编写
完成软件的编写与调试
硬件电路的装配与调试
电路的软硬件综合调试
完成毕业设计
参考文献
[1] 李朝青.单片机原理及接口技术(简明修订版).北京航空航天大学出版社,1998
[2] 李广弟.单片机基础[M].北京航空航天大学出版社,1994
A
0
1
1
1
0
1
1
1
77H
B
0
1
1
1
1
1
0
0
7CH
C
0
0
1
1
1
0
0
1
39H
D
0
1
0
1
1
1
1
0
5EH
E
0
1
1
1
1
0
0
1
79H
F
0
1
1
1
0
0
0
1
71H
.
1
0
0
0
0
0
0
0
80H
5.3LED 数码管显示方式
LED显示器工作方式有两种:静态显示方式和动态显示方式。
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
①一个8位CPU;
②一个片内振荡器和时钟电路;
③4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);

基于51单片机能实现任意时间倒计时。

基于51单片机能实现任意时间倒计时。

倒计时器只要修改此文档15页源程序的(如下图)的到计时初值即可实现想要的倒计时。

比如30分钟倒计时修改分钟十位和各位即可。

一、设计要求:由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。

倒计时到,由蜂鸣器发出报警。

绘制系统硬件接线图,并进行系统仿真和实验。

画出程序流程图并编写程序实现系统功能。

二、设计的作用目的:此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。

通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。

本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。

本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

三、具体设计:1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。

如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。

单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。

80C51的定时、计数器

80C51的定时、计数器

工作方式3将 分成为两个独立的 位计数器TL0和TH0 。 分成为两个独立的8位计数器 工作方式 将T0分成为两个独立的 位计数器 和
5.3.4 定时 计数器用于外部中断扩展 定时/计数器用于外部中断扩展
扩展方法是,将定时 计数器设置为计数器方式 计数器设置为计数器方式, 扩展方法是,将定时/计数器设置为计数器方式,计数初值 设定为满程,将待扩展的外部中断源接到定时/计数器的外部 设定为满程,将待扩展的外部中断源接到定时 计数器的外部 计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产 计数引脚。从该引脚输入一个下降沿信号,计数器加 后便产 生定时/计数器溢出中断 计数器溢出中断。 生定时 计数器溢出中断。 例如,利用 扩展一个外部中断源 扩展一个外部中断源。 例如,利用T0扩展一个外部中断源。将T0设置为计数器方 设置为计数器方 按方式2工作 工作, 的初值均为0FFH,T0允许中 式,按方式 工作,TH0、TL0的初值均为 、 的初值均为 , 允许中 开放中断。 断,CPU开放中断。其初始化程序如下: 开放中断 其初始化程序如下: MOV TMOD,#06H 为计数器方式2 , ;置T0为计数器方式 为计数器方式 MOV TL0,#0FFH , ;置计数初值 MOV TH0,#0FFH , SETB TR0 启动T0工作 ;启动 工作 SETB EA ;CPU开中断 开中断 SETB ET0 允许T0中断 ;允许 中断
GATE:门控位。GATE=0时,只要用软件使 :门控位。 = 时 只要用软件使TCON中的 中的 TR0或TR1为1,就可以启动定时 计数器工作;GATA=1时, 计数器工作; 或 为 ,就可以启动定时/计数器工作 = 时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 要用软件使 或 为 , 平时,才能启动定时/计数器工作 计数器工作。 平时,才能启动定时 计数器工作。即此时定时器的启动条 加上了或引脚为高电平这一条件。 件,加上了或引脚为高电平这一条件。 :定时 计数模式选择位。 定时/计数模式选择位 为定时模式; 定时 计数模式选择位。 =0为定时模式; =1 为定时模式 C/T C /T C /T 为计数模式。 为计数模式。 M1M0:工作方式设置位。定时 计数器有四种工作方式, 计数器有四种工作方式, :工作方式设置位。定时/计数器有四种工作方式 进行设置。 由M1M0进行设置。 进行设置

单片机毕业设计80c51

单片机毕业设计80c51

单片机毕业设计80c51本文的毕业设计主要涉及到80C51单片机的应用。

本篇文章将介绍单片机的基本原理、在数字电子钟的设计中的具体应用、硬件设计和软件编程,并给出程序设计流程与详细实现过程。

一、 80C51单片机的基本原理只要有些基础的理解,学习单片机并不难。

单片机是包含CPU、ROM、RAM和其他外设的一种集成电路(IC)芯片。

单片机因其体积小、功耗低、成本低而在实际应用中广泛使用。

具有代表性的是80C51单片机系列。

80C51单片机有多种不同的型号,每个型号内置指令集在某种程度上都有所不同。

最简单的80C51型号内置的指令集只有40多种指令。

可以想象,由于指令集非常简化、结构紧凑,这样设计出来的芯片具有性能非常稳定的特点。

二、数字电子钟的设计数字电子钟是指采用数字电路或数字电子技术设计的显示时间的钟。

数字电子钟广泛应用于生活中的种种需要,能够比较稳定地显示时间,其他功能还包括定时、闹钟、备忘等选项。

三、数字电子钟的硬件设计数字电子钟的硬件设计涵盖了三个方面:1. 显示电路的设计数字电子钟的显视屏幕通常是7片LED,其中6片是数字显示屏,第7片为冒号显示屏。

这个设计采用COS-8886电路,典型的应用范围是数码电子表、温度计等。

2. 时基方案的设计时基方案是指数字电子钟中的总体控制方案。

这里我们采用的是74HC4060的集成电路。

使用74HC4060,可以非常方便地进行时钟频率的分频设计。

3. 蓝牙通信模块的设计蓝牙通信模块的设计中,我们使用了常见的蓝牙串口传输模块,如HC-06,其工作电压在3.3V ~ 5V之间,具备良好的兼容性。

四、数字电子钟的软件编程数字电子钟的软件编程主要涉及以下两个方面:1. 定时计数器的设计采用80C51单片机设计定时计数器时,需要考虑到时钟频率、计时器精度、转换精度等问题。

借助于8051单片机提供的Timer/Counter模块,可以很方便地实现这个功能。

2. 蓝牙通信程序设计程序设计中需要考虑到串口通信协议,包括蓝牙模块的波特率,校验位和数据位等问题。

单片机原理及应用-第四章80C51单片机的功能

单片机原理及应用-第四章80C51单片机的功能
XOR
对两个操作数执行逻辑异或操作, 并将结果存放在目标地址中。
03
02
OR
对两个操作数执行逻辑或操作,并 将结果存放在目标地址中。
NOT
对操作数执行逻辑非操作,并将结 果存放在目标地址中。
04
控制转移指令
JMP
无条件跳转到指定地址。
JC/JNC
当进位标志位为1或0时,跳转 到指定地址。
JZ/JE
06
80C51单片机的串行通信 接口
串行通信的基本概念
串行通信
通过一条数据线,按照位顺序传输数据,实现数 据的发送和接收。
异步通信
数据传输速率不固定,发送器和接收器使用各自 的时钟。
同步通信
数据传输速率固定,发送器和接收器使用同一时 钟源。
80C51单片机的串行口结构及控制寄存器
要点一
串行口结构
算术运算指令
ADD
将两个操作数相加,并将结果存放在 目标地址中。
SUB
从源地址中减去目标地址中的值,并 将结果存放在源地址中。
MUL
将两个操作数相乘,并将结果存放在 目标地址中。
DIV
将源地址中的值除以目标地址中的值, 并将商存放在源地址中,余数存放在 累加器中。
逻辑运算指令
01
AND
对两个操作数执行逻辑与操作,并 将结果存放在目标地址中。
80C51单片机的应用领域
工业控制
80C51单片机在工业控制领域应用广泛, 如电机控制、自动化生产线控制等。
通信设备
80C51单片机在通信设备领域应用广 泛,如调制解调器、路由器、交换机
等。
智能仪表
80C51单片机可以用于各种智能仪表 的控制系统,如温度、压力、流量等 传感器采集和处理。

80C51系列单片机指令表

80C51系列单片机指令表
方括符[ ]表示可选项 方括符[ 标号代表指令所在地址,1-8个字母/数字,":"结尾 标号代表指令所在地址, 个字母/数字, 结尾
标号:指令的符号地址. ⑴ 标号:指令的符号地址.
① 用于一段功能程序的识别标记或控制 转移地址. 转移地址. ② 指令前的标号代表该指令的地址, 指令前的标号代表该指令的地址, 用符号表示的地址. 是用符号表示的地址. 一般用英文字母和数字组成. ③ 一般用英文字母和数字组成. 标号必须用冒号" 与操作码分隔. ④ 标号必须用冒号" :"与操作码分隔.
【例】 MOV MOV

A,3 A,3AH A,P0
单元中的数据传送至A ;将内RAM 3AH单元中的数据传送至A中 将内RAM AH单元中的数据传送至 ;将特殊功能寄存器P0口中的数据传送至A 将特殊功能寄存器P0口中的数据传送至A P0口中的数据传送至
说明: AH和 是以direct形式出现的直接地址 说明:3AH和P0是以direct形式出现的直接地址 direct 访问特殊功能寄存器SFR SFR只能采用直接寻址方 访问特殊功能寄存器SFR只能采用直接寻址方 式.
注释:指令功能说明. ⑷ 注释:指令功能说明.
注释属于非必需项, 是为便于阅读, ① 注释属于非必需项 , 是为便于阅读 , 对指令功能作的说明和注解. 对指令功能作的说明和注解. ② 注释必须以";"开始. 注释必须以" 开始.
3.1.2 指令分类
80C51共有111条指令. 80C51共有111条指令. 共有111条指令
A,R0 MOV A,R0 INC A MUL AB ;将R0中的数据传送至A中 中的数据传送至A
⒋ 寄存器间接寻址

51单片机数码管倒计时汇编语言代码

51单片机数码管倒计时汇编语言代码

51单片机数码管倒计时汇编语言代码数码管是一种电子元器件,常用于倒计时、计时和显示数字等场景中。

其中,51单片机作为一种常见的控制芯片,能够对数码管进行比较精确的控制。

本文将介绍51单片机在数码管倒计时中的应用,并给出相应的汇编语言代码。

一、硬件准备首先,我们需要准备一些硬件设备。

具体来说,我们需要一块51单片机的开发板、一组共阳数码管、一个蜂鸣器、一枚按键开关、若干杜邦线和面包板。

在连接各个模块时,需要注意接线的正确性和稳定性。

二、倒计时实现接下来,我们就可以开始编写汇编语言代码了。

代码实现中,需要注意数码管的显示方式以及倒计时时间的设定等细节。

首先,我们定义一些常数,如:COUNT_MAX EQU10;倒计时时长为10sCLK_FREQ EQU12000000;时钟频率为12MHzDELAY_US EQU CLK_FREQ/1000000其中,COUNT_MAX表示倒计时的最大时长,CLK_FREQ表示单片机的时钟频率,DELAY_US表示1us延时所需的机器周期数。

其次,需要定义一些数据段:ORG0SJMP MAINORG0BHDELAY_CNT:DB0ORG0CHMODE_CNT:DB0其中,DELAY_CNT是延时计数器,MODE_CNT是模式计数器。

接着,我们定义主函数:MAIN:CLR P1.5CLR P1.6CLR P1.7MOV TMOD,#01H;设置定时器0为模式1SETB TR0;启动定时器0SETB EASETB ET0SETB EX0MOV R6,#DELAY_USSJMP MODE_SEL首先,需要清空P1.5、P1.6和P1.7引脚,以便控制数码管的显示。

然后,设置定时器0为模式1,并启动定时器0。

接着,开启总中断、定时器0中断和外部中断,设置延时计数器,并跳转到MODE_SEL 模式选择功能。

接下来是MODE_SEL模式选择功能:MODE_SEL:MOV A,MODE_CNTCPL AMOV MODE_CNT,AANL A,#03HJZ MODE_0CJNE A,#01H,MODE_SEL_ENDSJMP MODE_1CJNE A,#02H,MODE_SEL_ENDSJMP MODE_2MODE_SEL_END:CLR TR0CLR EARETI在这个模式下,程序每执行一次,模式计数器加1,并且A寄存器与3进行与操作,最后根据A的值跳转到相应的倒计时模式。

单片机倒计时系统

单片机倒计时系统

单片机倒计时系统单片机倒计时系统可以采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计。

具体功能包括:1.六位LED显示,从59分59秒99开始倒计时。

2.倒计时精度为0.01秒,能正确地进行倒计时。

3.复位后倒计时重新回到初始状态。

单片机倒计时系统的制作方法包括以下步骤:1.确定系统的基本要求:例如数码管上显示计时的时间,可以通过按键实现1小时内初始时间的设定(以秒为分度),并且完成计时,可随时暂停并且重新设置计时时间等。

2.选择合适的单片机型号:根据需要实现的倒计时功能以及控制要求,选择适合的8051单片机型号,例如AT89C51等。

3.设计电路:根据所选的单片机型号和功能要求,设计外围电路,包括按键电路、复位电路、晶振电路、LED显示电路等。

4.编写程序:使用C语言等编程语言编写程序,实现倒计时的功能。

程序应该包括主程序、中断服务程序等。

在编写程序时需要考虑按键的输入、时间的计算、LED的显示等细节问题。

5.调试程序:通过调试程序可以确保程序的正确性和可靠性。

在调试时需要使用调试工具,例如示波器、逻辑分析仪等,对程序的各个部分进行测试和验证。

6.制作电路板:将设计好的电路制作成电路板,将各个元器件按照设计好的位置和连接方式焊接在电路板上。

7.测试系统:完成电路板的制作后,需要进行系统测试,验证是否实现了预期的倒计时功能。

测试时需要使用测试工具,例如电源、按键、LED显示器等,对系统的各个部分进行测试和验证。

总之,单片机倒计时系统是一个比较复杂的系统,需要设计电路、编写程序、制作电路板和测试系统等多个步骤。

在制作过程中需要注意细节问题,确保系统的正确性和可靠性。

单片机设计倒计时器

单片机设计倒计时器

单片机设计倒计时器在我们的日常生活中,倒计时器有着广泛的应用,比如体育比赛、烹饪、考试等等。

通过单片机来设计倒计时器,不仅能够实现精准的计时功能,还能根据不同的需求进行灵活的定制和扩展。

接下来,让我们一起深入了解一下如何用单片机设计一个实用的倒计时器。

首先,我们需要明确倒计时器的基本功能和要求。

一般来说,倒计时器应该具备以下几个主要功能:1、设定倒计时的时间,时间范围可以根据实际需求进行调整,比如从几分钟到几小时。

2、能够清晰地显示剩余的时间。

3、具有启动、暂停和复位等操作按钮。

4、在倒计时结束时,能够发出提示信号,比如声音或者灯光提示。

为了实现这些功能,我们选择合适的单片机作为核心控制单元。

常见的单片机如 51 系列、STM32 系列等都可以满足需求。

以 51 单片机为例,它具有价格低廉、编程简单、资源丰富等优点。

在硬件设计方面,我们需要以下几个主要的组件:1、单片机最小系统:包括单片机芯片、晶振电路、复位电路等,为单片机的正常运行提供必要的条件。

2、显示模块:可以选择数码管或者液晶显示屏(LCD)来显示倒计时的时间。

数码管显示简单直观,适用于对显示效果要求不高的场合;LCD 显示屏则能够提供更丰富的信息显示,比如同时显示时间、日期等。

3、按键模块:用于输入操作指令,如设置时间、启动、暂停、复位等。

4、报警模块:可以使用蜂鸣器或者发光二极管(LED)在倒计时结束时发出提示信号。

下面我们来详细介绍一下各个模块的设计和实现。

单片机最小系统的设计是整个硬件系统的基础。

晶振电路为单片机提供时钟信号,保证其正常运行的时序。

复位电路则在系统出现异常时,能够将单片机恢复到初始状态。

对于显示模块,如果选择数码管,需要通过驱动芯片(如74HC595)来控制数码管的显示。

如果选择 LCD 显示屏,则需要根据显示屏的接口类型(如并行接口或串行接口)来进行相应的连接和编程。

按键模块可以采用独立按键或者矩阵按键的方式。

基于80C51单片机的倒计时器

基于80C51单片机的倒计时器

基于80C51单片机的倒计时器摘要 ------------------------------------------------------------------------------------------------------ 1前言 -------------------------------------------------------------------------------------------------------- 2第一章倒计时系统简介 ------------------------------------------------------------------------------ 3第一节功能说明---------------------------------------------------------------------------------- 3一、设计要求 ------------------------------------------------------------------------------ 3二、方案说明 ------------------------------------------------------------------------------ 3三、系统功能 ------------------------------------------------------------------------------ 4第二章80C51 单片机组成 -------------------------------------------------------------------------- 4第一节80C51 单片机结构-------------------------------------------------------------------- 4第二节、80C51芯片介绍-------------------------------------------------------------------- 4第三节、80C51单片机的引脚功能----------------------------------------------------- 5第四节、80C51单片机的中断------------------------------------------------------------- 7一、中断源---------------------------------------------------------------------------------- 7二、中断控制 ------------------------------------------------------------------------------ 8三、中断源优先级 ------------------------------------------------------------------------ 8四、串行口中断RI 或TI --------------------------------------------------------------- 9第三章硬件设计 ---------------------------------------------------------------------------------------- 9第一节硬件设计------------------------------------------------------------------------------- 9第二节硬件电路设计及电路图 ------------------------------------------------------------ 10第三节LED 数码显示器的结构 ---------------------------------------------------------- 10第四节流程图 ----------------------------------------------------------------------------------- 11第五节总体接线图 ---------------------------------------------------------------------------- 12第五章程序仿真 -------------------------------------------------------------------------------------- 13第六节本章小结 -------------------------------------------------------------------------------------- 15参考文献------------------------------------------------------------------------------------------------ 15附件 1 程序 ------------------------------------------------------------------------------------------- 16摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。

C51倒计时程序设计

C51倒计时程序设计

C51倒计时程序设计一、总体设计方案总体方案设计:用51单片机控制C语言编写设计时、分、秒计时器,8位数码管显示功能,显示格式:“时-分-秒”;总体设计构思:由C语言编写51单片机控制的时、分、秒计时器首先需要设计好硬件电路,根据电路要求编写程序:步骤:(1)采用定时器控制,精确计时,实现时、分、秒的功能;(2)用八位数码管(共阳)显示;(3)编写程序(设初值为23时59分59秒),用Proteus设计仿真电路验证!程序设计:(1)主函数:初始化中断,循环调用显示等待中断;程序模块:T0中断函数、数码管显示函数仿真构成:8位一体的数码管、STC89C51、排阻RP1等二、模块设计方案初始化定义◆文件包含◆常量定义◆变量定义◆数据表格定义#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar codetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};定时计数器及其中断初始化 设置定时器工作方式(TMOD)定时器赋初值(THx,TLx)开总中断(EA=1)开定时计数器中断(ETx=1)启动定时器(TRx=1)void timer0init(void){TMOD=0x01;TH0=(65536-50000)/256;/TL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0}延时函数()定时计数器中断函数 重装初值对溢出中断计数,并判断是否有20次 时间减1,并判断是减到了0显示函数✧输出秒位位码✧输出秒位段码✧输出分位位码✧输出分位段码✧输出时位位码✧输出时位段码void time0() interrupt 1{TH0=(65536-50000)/256;//重装初值TL0=(65536-50000)%256;if(temp==20){temp=0;if(sec==0){if(min==0){if(hour==0){hour=23;}else hour--;min=59;}else min--;sec=59;}else sec--;}else temp++;}主函数●调用初始化函数对定时计数器进行初始化●调用显示函数显示时间仿真电路设计图片三、程序代码/*倒计时及显示程序,适用于寻迹小车实验板*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳七段编码uchar temp=0;//定义定时器溢出计数变量,每隔50ms产生1次溢出,temp加1uchar hour=23,min=59,sec=59;//定义倒计时变量,当temp计数加20(20x50ms=1s)时,time减1/*--定时计数器T0及其中断初始化函数--*/void timer0init(void){TMOD=0x01;//设置定时器0为工作方式1TH0=(65536-50000)/256;//16位计数初值除以256得到高8位初值TL0=(65536-50000)%256;//16位计数初值除以256的余数得到低8位初值EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0}/*----------延时函数---------------*/void delay(uint n){uint i,j;for(i=n;i>0;i--)for(j=124;j>0;j--);}/*定时计数器中断程序,每当定时计数器溢出时触发中断,执行该程序*/void time0() interrupt 1{TH0=(65536-50000)/256;//重装初值TL0=(65536-50000)%256;if(temp==20){temp=0;if(sec==0){if(min==0){if(hour==0){hour=23;}else hour--;min=59;}else min--;sec=59;}else sec--;}else temp++;}/*--------------显示函数------------*/void display(void){P1=0xfe;//输出个位的位码P0=table[sec%10]; //输出时间个位的段码delay(5); //亮5msP1=0xfd;//输出十位的位码P0=table[sec/10]; //输出时间十位的段码delay(5); //亮5msP1=0xf7;//输出个位的位码P0=table[min%10]; //输出时间个位的段码delay(5); //亮5msP1=0xfb;P0=0xbf;delay(5);P1=0xef;//输出十位的位码P0=table[min/10]; //输出时间十位的段码delay(5); //亮5msP1=0xbf;//输出个位的位码P0=table[hour%10]; //输出时间个位的段码delay(5); //亮5msP1=0xdf;P0=0xbf;delay(5);P1=0x7f;//输出十位的位码P0=table[hour/10]; //输出时间十位的段码delay(5); //亮5ms}/*----------主函数-----------------*/void main(void){timer0init();//调用初始化函数对定时计数器进行初始化while(1){display();//调用显示函数显示时间}}四、调试结果五、设计总结关于这次设计应该做一个总结,因为这次项目不是一个人做的,而是我们寝室四个人一起做的,有难度,更有配合的默契。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号;1251401213
《单片机中级教程》实验
(2012级本科)
题目:基于80C51的倒计时器设计
专业:电气工程及其自动化
作者姓名:
指导教师:向根祥
完成日期:2015 年6 月20 日
目录
目录..............................................................................................................................................
一.设计目的和要求 (1)
二.电器元件的选择 (1)
三.程序框图及模拟电路图 (2)
四.引脚说明 (3)
五.程序的编写 (4)
六.程序调试 (5)
七.实验总结 (6)
参考文献 (7)
一.设计目的和要求
1.1设计要求
设计基于89C51的99秒倒计时器。

1.2 设计要求
接通单片机电路后,由单片机89C51的P0和P1口控制倒计时十位,P2口控制个位,实现从99秒开始倒计时
二.电器元件的选择
表2-1 电器元件选择
三.程序框图及模拟电路图
图3-1程序框图
图3-2 模拟电路图
四.引脚说明
(1)电源和晶振
Vcc:运行和程序校验时加+5V。

Vss:接地。

XTAL1:输入到振荡器的反相放大器。

XTAL2:反相放大器的输出,输入到内部时钟发生器。

当用外部振荡时,XTAL1接收外振荡器信号,XTAL2悬空。

(2)I/O口
80C51具有4个I/O口,32根I/O口线。

1P0——8位,漏极开路的双向I/O口。

2P1——8位,准双向I/O口,具有内部上拉电阻。

3P2——8位,准双向I/O口,具有内部上拉电阻。

4P3——8位,准双向I/O口,具有内部上拉电阻。

(3)控制线
1输入控制线:
RST:复位输入信号,高电平有效。

EA/Vpp:片外程序存储器访问允许信号,低电平有效。

2输入、输出控制线:
ALE/PROG:地址锁存允许信号,输出。

PSEN:片外程序存储器选通信号。

五.程序的编写
ORG 0000H
AJMP MAIN
ORG 0050H
MAIN: MOV R2,#99
NEXT1: MOVA,R2
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P1,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
DEC R2
CJNE R2,#0FFH,NEXT1
AJMP MAIN
DELAY:MOV R4,#100
LOOP1:MOV R5,#10
LOOP2:MOV R6,#250
LOOP3:NOP
NOP
DJNZR6,LOOP3
DJNZ R5,LOOP2
DJNZ R4,LOOP1
RET
TABLE:DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H END
六.程序调试
1利用软件Keil进行编程。

图6-1 keil编程
2利用软件Proteus进行电路的模拟仿真。

仿真结果如下图:
图6-2 Proteus仿真
七.实验总结
经过这次课程设计,我收获颇多,有深刻的心得体会。

课程设计让我们受益匪浅。

我们学到了许多关于单片机系统开发的知识,从最开始选题到最后的结题,更使我们得到了充分的锻炼。

通过此次课程设计,使我更加扎实的掌握了有关电子线路单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查我终于找出了问题所在。

在这次的课程设计中,我们遇到了很多困难,过程很艰难,但是我们都克服了,这是对我们自己的肯定。

我们不断发现错误,不断改正,不断领悟,不断获取。

参考文献
[1].张俊谟.单片机中级教程[M].北京航空航天大学出版社。

相关文档
最新文档