当前位置:文档之家› 基于Protues的单片机定时_计数器应用仿真_实验设计毕业论文

基于Protues的单片机定时_计数器应用仿真_实验设计毕业论文

基于Protues的单片机定时_计数器应用仿真_实验设计毕业论文
基于Protues的单片机定时_计数器应用仿真_实验设计毕业论文

毕业论文

基于Protues的单片机定时计数器应用仿真实验设计

本科毕业生毕业设计(论文)

摘要

单片机体积小,功耗小,价格低,用途灵活,无处不在,属于专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中需设计专用的硬件和软件。由于其内部自带两个16位计数器,所以近年来在计数器领域的应用也十分广泛,计数器种类很多,根据构成计数制的不同,可分为二进制计数器和非二进制计数器。根据计数器的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。

本设计通过一个由AT89C51单片机控制,结合显示电路、电源电路、LED数码管以及键盘电路等组成的一个简单的秒表系统,对单片机的定时器/计数器的定时和计数原理进行研究。该系统的核心部分是由单片机最小系统构成,在加上一系列外围电路组成。这个多功能秒表系统能够是实现两位LED显示,显示的最大时间为24小时59分钟59秒,每秒自动加1,能正确地进行计时,还具有快加、复位功能。同时还可以当做时钟来使用。

通过C语言编写代码并使用Proteus仿真、调试,实现了LED显示屏实时时间显示,按键切换显示内容的显示状态。由于Protues具有很强大的仿真调试功能,使用它可以实现在没有单片机硬件仿真器的情况下仍然可以实现单片机系统的软硬件开发的仿真调试。本系统利用Protues这一功能绘制了LED显示屏原理图、单片机最小系统原理图以及整个完整的秒表系统的工作原理图。向Protues中下载代码,连接调试成功。

关键词:单片机秒表protuse

ABSTRACT

Microcontroller has many advantages such as small size, low consumption , low prices, be used widely, and be used everywhere and so on.It belong to the isinaprivate computer. It is a special device, after specialized learning you can master and application it.In the application we must be designed in a dedicated hardware and software.The interior comes with two 16-bit counter, so in recent years it be used widely in the counter field.There are many kinds of counter, According to constitute the notation is different, can be divided into binary counter and the binary counter. According to the counter of the increase and decrease of the trend, and divided into the addition, subtraction, and reversible counter. And preset number and programmable function counter and so on.

This design through the AT89C51 single-chip microcomputer control, combined with the show circuit, the power supply circuit, LED digital tube, and keyboard circuit consisting of a simple stopwatch system, the single chip microcomputer timer/counter of the timing and count principle for research. The core of the system is the smallest part of microcomputer system structure, combined with a series of periphery of circuit. The multi-function stopwatch system can realize is two LED display, display time for 00-99 seconds per second to be automatic add 1, can correctly to add, subtract (fall) time, also has quickly add and reset function.

Through the C language writing code and use Proteus simulation, commissioning, realized the LED display real-time time to show, switch button showing the contents of the display state. Because Protues has very powerful simulation commissioning function, use it can realize in no microcontroller hardware simulation suppressor can still achieve the SCM system hardware and software development of the simulation test. This system USES Protues this function to draw the LED display principle diagram, single chip minimize system diagram and the complete a stopwatch system work principle diagram. Protues to download the code, connection debugging success.

Key words: microcontroller stopwatch protuse

目录

1前言 (1)

2单片机控制电路的设计 (3)

2.1单片机介绍 (3)

2.2单片机的特点和结构原理 (5)

2.2.1单片机的特点 (5)

2.2.2单片机结构 (6)

2.3单片机最小系统电路设计 (8)

3系统外围电路的设计 (11)

3.1键盘电路的设计 (11)

3.1.1按键电路的选择 (11)

3.1.2按键电路的故障及解决方法 (12)

3.2显示电路的设计 (13)

3.2.1显示电路的介绍 (13)

3.2.2LED数码管的工作原理 (13)

3.3晶振振荡电路的设计 (14)

4系统软件的设计 (17)

4.1软件设计概述 (17)

4.2软件设计流程图 (17)

4.3定时中断服务程序流程图 (18)

4.3.1中断的介绍 (18)

4.3.2定时中断的设置 (19)

4.3.3定时中断程序 (20)

5Protues软件仿真 (21)

5.1Protues软件功能简介 (21)

5.2Keilu Vision2.0软件编译 (22)

5.2.1Keilu Vision2.0软件简介 (22)

5.2.2Keilu Vision2.0软件的使用说明 (23)

6系统调试与功能说明 (26)

6.1系统性能测试与功能说明 (26)

6.2系统误差分析 (26)

6.3软件调试问题及解决 (26)

结论 (27)

谢辞 (28)

参考文献 (29)

附录 (30)

1前言

随着科学技术的不断发展与进步[10],目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用具有高度现实意义。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

1.在智能仪器仪表上的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。

2.在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

3.在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

4.在计算机网络和通信领域中的应用

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

5.单片机在医用设备领域中的应用

单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

6.在各种大型电器中的模块化应用

某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。

在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

7.单片机在汽车设备领域中的应用

单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。

此外,单片机在计数器技术领域也有着十分广泛的用途。随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。本文通过对一个简单的秒表系统设计,对单片机的定时/计数功能、最小系统进行研究。并运用Protues这款强大的仿真工具进行仿真,对单片机的研究和学习真正的做到学以致用把科学技术应用于我们的生活。

2 单片机控制电路的设计

2.1 单片机介绍

单片机是一种集成在电路芯片[4],是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机内部也用和电脑功能类似的模块[5],比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影。它主要是作为控制部分的核心部件。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB 板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

2.2 单片机的特点和结构原理

2.2.1 单片机的特点

AT89C51是ATMEL公司推出的51单片机[9],该系列单片机是采用高性能的静态80C51 设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12 时钟和6 时钟操作P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线3 个16 位定时/计数器6 输入4 优先级嵌套中断结构1 个串行I/O 口可用于多机通信I/O 扩展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0 可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结CPU 但RAM 定时器串口和中断系统仍然工作掉电模式保存RAM 的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。它除了具有集成芯片的特点外还有许多特点。

(l)高度集成,体积小、制作方便。单片机内部集成CUP、内存、1/0口,保证控制功能的实现,双列直插40引脚的单片机尺寸大约只1.srnmxsrnrn,贴片式单片机的尺寸大约有小纽扣大小,给设计制作电路带来了方便。

(2)灵活性好、可靠性高。在设计电路时,单片机的最小系统就可以提供电路工作所需的时序,因此在设计电路的时候,只要根据具体要求扩展外围电路就可以达到要求。单片机的工作电压是SV,在单片机内固化不同的程序,实现的功能,它的误差就会控制在可控范围内。

(3)易于扩展ROM、RAM等资源,用途广、价格低。单片机的资源一般可以满足小系统的应用,若系统较大,单片机可以扩展资源,它有便于扩展的结构及控制引脚,利用它们容易构成各种规模的单片机系统和单片机应用系统。每片

STC89C52单片机的价格大致在8元左右,对于学生和大多数研究开发人员可以承担其开发经费。

2.2.2 单片机结构

1. 内部结构框图

89C51系列的各单片机的生产厂商和型号的不同,导致其ROM、RAM、中断系统、外围功能模块以及处理器速度等方面有一定的不同[7],但是其基本结构相同,均包括算术逻辑单元ALU、片内RAM、1/0端口、定时器、中断系统等基本的功能单元。89C51单片机的内部结构如图2.1所示。

图2.1 89C51内部结构图

2. 89C51单片机内部主要部件[1.

3.5.6]

(l) 算数逻辑单元ALU(Arithmetic Logic Unit)。运算器是进行算术/逻辑运算的部件,包括存放操作数和运算结果的累加器和寄存器等。51单片机包含一个8位的算术逻辑单元ALU,它为用户提供了指令系统,在外部时钟频率为12MHz的情况下,多数指令的执行时间仅为lus,乘法指令为4us。它包括运算器、布尔处理器、累加器A、寄存器B、暂存器、程序状态字PSW寄存器等。

(2) 片内存储器。片内存储器包括数据存储器和程序存储器,即RAM、ROM。

51

单片机提供了128B片内RAM存储器,提供了4KB的片内ROM存储器。用于存储控制单片机执行操作的代码,或者进行运算的数据。

(3) 并行I/O口。单片机共有4个8位并行I/O口P1、P2、P3和P4共32根引脚,每个I/O口都有自己寄存器、驱动器和锁存器,保证数据的双向传输的稳定运行。其中P3口具有第二功能,P3口的每位引脚具有特殊功能,其中具体功能如表2.1所示。

(4) 定时/计数系统和中断系统。51单片机内部有两个16位的定时/计数器,通过设置寄存器,实现4种工作模式。中断系统包含5个中断源,即外部中断。、外部中断1、定时器/计数器0溢出中断、定时器/计数器1溢出中断和串口中断。计算机响应中断的先后顺序即中断优先级,系统有默认的级别定义,同时也可以人为设定。

具体的89C51/89C52系列单片机主要包括的功能部件如下:

(l)l个8位的CPU;

(2)片内128/256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如的中间结果、最终结果以及欲显示的数据等;

(3)片内4KB/8KB程序存储器ROMEPROM,用以存放程序、一些原始数据和表格;

(4)4个8位双向UO口,每个端口既可以用作输入,也可以用作输出;

(5)2或3个16位定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果

实现计算机控制;

(6)具有5个或6个中断源、2个中断优先级的中断控制系统:

(7)1个全双工异步串行口,用于实现单片机之间或单片机与PC机之间的串行通信;

(8)片内振荡器和时钟电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHZ;

(9)可寻址外部程序存储器和数据存储器,最大范围均为64KB;

(l0)具有位寻址能力。

从以上介绍的单片机的功能部件可以看出单片机可以实现基本的处理器功能,是计算机的微型化,但是单片机的体积小,集成化高,给设计电路带来了方

便。

2.3 单片机最小系统电路设计

本设计采用的是AT89C51单片机芯片,以它为核心对LED显示屏实现控制。89C51单片机主要由多个基本部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、1/0口(P0-P3口)、串行口、定时/计数器、中断系统及特殊功能寄存器(SFR)。它具有51系列单片机所具有的共同的特点,它有40个引脚,包括8位的I/O口四个:P0、Pl、P2和P3,共32个引脚;电源Vcc引脚,电源地GND引脚,外接晶振引脚XTALI和XTALZ,控制信号引脚:RST、ALE、PSEN和EA[11]。

输入/输出端口:P0、Pl、P2和P3,每个P口都有八位,其中P0口是准双向口,作为输出口的时候,要先向该口写入1,P0口的内部不包含内部上拉电阻,因此在对P0口操作的时候要在其外部电路加入上拉电阻。P3口具有第二功能,具体功能详见表2.1,这里不再赘述。P2口可以用在访问外部程序存储器和16位地址的外部数据存储器时,P2口送出的是高8位地址,P0口提供低8位地址,P0口可分时提供8位数据总线。

控制信号引脚:RST、ALE、PSEN和EA。RST是单片机的复位引脚,外接硬件电路可以实现单片机的复位操作。ALE是地址锁存允许信号引脚,高电平有效,当单片机访问外部存储器时,ALE输出信号作为锁存低8位地址的控制信号。PSEN是程序存储允许输出信号端,主要应用在对片外存储器的操作方面。EA是外部程序存储器地址允许输入端/固化编程电压输入端,主要应用在访问外部ROM,在实际应用时,保持该引脚是高电平即可。

晶振连接引脚:XTAL1和XTAL2,在需要接振荡晶体的时候将两个引脚之间

跨接一个晶振,如果需要采用外部时钟电路的时候,XTAL1输入外部时钟脉冲,XTAL2引脚悬空。

电源引脚:Vcc为电源端,接+5V电压源,GND是接地端,接电源地。

单片机如果要正常工作,需要有时钟脉冲源,使单片机有可以工作的时序脉冲。另外为了防止单片机工作时不稳定,或者出现程序跑飞、死循环等现象,还要有使单片机重新初始化的电路即复位电路,这就组成了单片机的最小系统电路,最小系统电路如图2.2所示。

图2.2 单片机最小系统电路图

时钟电路是由石英晶体及两个电容构成的稳定的自激振荡器,电容通常取值30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为0-24MHZ,晶体振荡器的频率为f osc,89C51的一个机器周期包括12个振荡周期,如果采用6MHz晶体振荡器,则每个机器周期恰为2脚。每条指令都由一个或几个机器周期组成,在89C51系统中,有单周期指令、双周期指令和4周期指令。指令的运算速度和它的机器周期数直接相关,机器周期数较少则执行速度快。但是,晶振的振荡频率不能选择过大,超过了单片机的承受能力单片机就会无法执

行程序。

RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期,即二个机器周期以上,单片机晶振选用16MHZ,则复位信号持续时间应该超过2us,才能完成复位操作。

复位电路分自动复位和按键手动复位两种方式。上电自动复位是在加电瞬间电容通过充电来实现复位,电路图如图2.3所示。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。只要Vcc的上升时间不超过1ms,就可以实现上电复位,当采用12MHz晶体的时候,电容C取值为10us,电阻R取值为8.2K?。手动复位是通过人为的按键使单片机复位,当程序出现不需要的死循环,或者程序跑飞的时候就需要人为的来使单片机复位初始化,这样就可以通过按键来使单片机复位。单片机复位电路通常是上电复位电路和手动复位电路组合在一起使用。

图2.3 手动复位电路和上电复位电路

3 系统外围电路的设计

3.1 键盘电路的设计

为了实现对定时器输入的控制,我们在该设计中加入了按键设置。由于该系统要实现开始计时、停止计时、继续计时、清零、加调时、减调时等功能等6个功能,所以需要6个独立按键满足设计要求。

3.1.1 按键电路的选择

按照键盘与CPU的连接方式可以分为独立式键盘和矩阵式键盘。

(l) 独立式键盘

独立式键盘是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的按键工作状态。独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂,故这种形式适用于按键数量较少的场合。

(2) 矩阵式键盘

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成4×4=16个按键,比直接用端口线连接键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些。

无论是独立键盘还是矩阵键盘,单片机检测其是否被按下的依据都是一样的,也就是检测与该键对应的I/O口是否为低电平。独立键盘有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I/O口相连,因此在检测时需要人为的通过单片机I/O口送出低电平。检测时,先送一列为低电

平,其余几列全为高电平,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平,则我们便可确认当前被按下的键是哪一行那一列的,用同样的方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所有的按键,当有按键被按下时便可判断出按下的键是哪一个键。当然我们也可以将行先置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法[12]。

根据对两种不同键盘电路工作原理的了解,通过对比选择,本系统设计选择采用6个独立式键盘,分别控制切换各种状态。按键接口电路图 3.1所示。P2.1-P2.5接6个按键,分别控制开始计时、停止计时、继续计时、清零、加调时、减调时等功能。功能的实现主要是对按键的扫描,主要体现在软件程序编写方面,根据不同的按键值,执行不同的操作,在具体场合应用中可以将按键的功能重新定义,只要在程序中重新编写就可以,使工作更加有效率。

图3.1 按键接口电路图

3.1.2 按键电路的故障及解决方法

本系统采用的按键的开关为机械弹性开关。当机械触点断开、闭合时,由于弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,有可能伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5-10ms。按键稳定闭合的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次,为了确保对键的一次闭合仅作一次处理,必须去除键抖动。去抖有专用的去抖硬件电路,也有专用的去抖芯片,本系统采用软件方法去除抖动,即检测出键闭合后执行一个延时程序产生5ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平则确认为真正有键按下。延时程序如下所示。

void delay(uint n)

{

uint y,z;

for(z=0;z

{

for(y=0;y<125;y++); //2*125 us= 250 us

}

}

该程序延时250×n us,具体延时多长时间由n决定。

3.2 显示电路的设计

3.2.1 显示电路的介绍

显示器普遍地用于直观地显示数字的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:发光二极管LED(Liquid Crystal Display)显示器、CRT显示器等。

LED显示器是现在最常用的显示器之一,发光二极管LED由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。本系统的显示电路采用六位数码管进行显示。

3.2.2 LED数码管的工作原理

数码管分为共阴极、和共阳极之分,由于本系统使用的数码管属于共阴极,所以下面只对共阴极数码管的工作原理进行叙述。

数码管的显示原理是靠点亮内部的发光二极管来发光,图3.2为数码管内部电路图,由图可以看出,一位数码管的引脚是10个,显示一个8字需要7小段,另外还有个一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管封装10个引脚,其中第3和第8引脚是连在一起的。

图3.2 数码管内部原理图

对于共阴极数码管来说,其8个发光二极管的阴极在数码管内部全部连在一起,所以称为“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。当我们给数码管的任一个阳极加一个高电平时,对应的这个发光二极管就点亮了。如果想要显示一个8字,并且把右下角的小数点也点亮的话,可以给8个阳极全部送高电平,如果想要显示一个0字,那么我们可以除了给“g、dp”这两位送低电平外,其余引脚全部都送高电平,这样就显示出0字了。想让它几,就给相对应的发光二极管送高电平,因此我们在显示数字的时候首先做的就是给0-9十个数字编码,在要它亮什么数字的时候直接把这个编码送到它的阳极就行了。显示电路如图3.3所示。

图3.3 显示电路

3.3 晶振振荡电路的设计

一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到

地,这两个电容串联的容量值就应该等于负载电容。单片机如果要正常工作,需要有时钟脉冲源,使单片机有可以工作的时序脉冲。

时钟电路是由石英晶体及两个电容构成的稳定的自激振荡器,电容通常取值30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为0-24MHz,晶体振荡器的频率为?osc,89C51的一个机器周期包括12个振荡周期,如果采用6MHz晶体振荡器,则每个机器周期恰为2us。每条指令都由一个或几个机器周期组成,在89C51系统中,有单周期指令、双周期指令和4周期指令。指令的运算速度和它的机器周期数第二章单片机控制电路的设计直接相关,机器周期数较少则执行速度快。但是,晶振的振荡频率不能选择过大,超过了单片机的承受能力单片机就会无法执行程序。

AT89C51单片机内部的振荡电路是一个高增益反相放大器,引线XYAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器[8]。这里,选用51单片机12MHz的内部振荡方式,电路如下:电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30P,接线时要使用晶体振荡器X1尽可能接近单片机。

单片机定时器与计数器的工作方式解析

单片机定时器与计数器的工作方式解析 1 工作方式0 定时器/计数器的工作方式0称之为13位定时/计数方式。它由TL(1/0)的低5位和TH (0/1)的8位组成13位的计数器,此时TL(1/0)的高3位未用。 我们用这个图来讨论几个问题: M1M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。C/T:前面我们说过,定时/计数器即可作定时用也可用计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在我们??编程者。如果C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。顺便提一下:一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用的,这是个极普通的常识,几乎没有教材会提这一点,但很多开始学习者却会有此困惑。 GATE:看图,当我们选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器端,中间还有一个开关,显然这个开关不合上,计数脉冲就没法过去,那么开关什么时候过去呢?有两种情况 GATE=0,分析一下逻辑,GATE非后是1,进入或门,或门总是输出1,和或门的另一个输入端INT1无关,在这种情况下,开关的打开、合上只取决于TR1,只要TR1是1,开关就合上,计数脉冲得以畅通无阻,而如果TR1等于0则开关打开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR1。 GATE=1,在此种情况下,计数脉冲通路上的开关不仅要由TR1来控制,而且还要受到INT1管脚的控制,只有TR1为1,且INT1管脚也是高电平,开关才合上,计数脉冲才得以通过。这个特性能用来测量一个信号的高电平的宽度,想想看,怎么测? 为什么在这种模式下只用13位呢?干吗不用16位,这是为了和51机的前辈48系列兼容而设的一种工作式,如果你觉得用得不顺手,那就干脆用第二种工作方式。 2 工作方式1

定时器计数器工作方式寄存器TMOD

TMOD 在内存 RAM 中位于特殊功能寄存器区的 89H 处,其高 4 位用于设置定时 器/计数器T1 的工作方式,低 4 位用于设置定时器/计数器 T0 的工作方式。由于 T0 和 T1 的用法很相似,所以,在此只结合 TMOD 的低 4 位讲解定时器/计数器 T0 的用法。 1、 GATE 当 GATE=0 时,定时器/计数器开始工作或停止工作不受 GATE 位的控制,而只受TCON寄存器中的 TR0 位控制,TR0=0 时定时器/计数器 T0 停止工作,而当 TR0=1 时定时器/计数器 T0 开始工作。 当 GATE=1 时,定时器/计数器 T0 工作的起停除了受 TCON 寄存器中的 TR0 位 控制外,还受单片机外部引脚 P3.2 的控制,只有该引脚为高电平且 TR0=1 这两个条 件同时满足时,定时器/计数器才开始工作,一般这种用法通常用来测量 P3.2 引脚上 正脉冲的宽度。对于控制T1 方式字段中的 GATE 位和 T0 中的用法完全一样,只是当GATE 位为 1 时受单片机外部引脚P3.3 和 TCON 中 TR1 的控制。 2、 C/T C/T 位决定 T0 工作在定时方式还是计数方式。当 C/T=0 时,T0 工作在定时方式,此时由 TH0 和 TL0 组成的 16 位计数容器,这个容器会对晶振产生的脉冲再 12 分频后的脉冲进行计数,如果单片机外部接的是 12M 晶振,则 TH0 和 TL0 组成的 16 位 计数容器中的数据就会每隔 1 微妙自动加 1; 当 C/T=1 时,T0 工作在计数方式,由 TH0 和 TL0 组成的 16 位计数容器会对从单片机外部引脚 P3.4 输入单片机的脉冲进行计数,每输入一个脉冲,则 TH0 和 TL0 组成的 16 位计数容器中的数据会自动加 1。如果 TMOD 高 4 位中的 C/T=0,表示 T1 工作在定时方式,而当 C/T=1表示 T1 工作在计数方式,计的是来自单片机外部引脚 P3.5 传入单片机的脉冲数。 当然无论是在 C/T=0 时定时器/计数器工作在定时方式,还是在 C/T=1 时定时器/计数器工作在计数方式,要想让 T0 开始工作,必须将 TCON 中的 TR0 设置为 1,如果想让 T0 停止工作,必须将 TCON 中的 TR0 设置为 0,即 TCON 中的 TR0 是控制定时器/计数器开始工作和停止工作的。

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。 汇编程序: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } } 开始 TMOD初始化 计数初值初始化 中断初始化 启动定时器 计数溢出 清计数溢出标志 Y N P1.0口线取反

定时器计数器答案

定时器/计数器 6·1 80C51单片机内部有几个定时器/计数器?它们是由哪些专用寄存器组成? 答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)和定时 器l(Tl)。在定时器/计数器中的两个16位的计数器是由两个8位专用寄存器TH0、TL0,THl、TLl组成。 6·2 80C51单片机的定时器/计数器有哪几种工作方式?各有什么特点? 答:80C51单片机的定时器/计数器有4种工作方式。下面介绍4种工作方式的特点。 方式0是一个13位的定时器/计数器。当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。定时器0计数溢出与否,可通过查询TF0是否置位或产生定时器0中断。 在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别是:定时器是以全16位二进制数参与操作。 方式2是能重置初值的8位定时器/计数器。其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。 方式3 只适用于定时器T0。定时器T0在方式3T被拆成两个独立的8位计数器TL0: 和TH0。其中TL0用原T0的控制位、引脚和中断源,即:C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INTO(P3.2)引脚。除了仅用8位寄存器TL0外,其功能和操作与方式0、方式1 完全相同,可定时亦可计数。此时TH0只可用做简单的内部定时功能。它占用原定时器Tl 的控制位TRl和TFl,同时占用Tl的中断源,其启动和关闭仅受TRl置1和清0控制。6·3 定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制? 答: 定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。 6·4 当定时器T0用做方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭? 答:定时器T0用做方式3时,由于TRl位己被T0占用,此时通过控制位C/T切换其定时器或计数器工作方式。当设置好工作方式时,定时器1自动开始运行;若要停止操作,只需送入一个设置定时器1为方式3的方式字。

定时器计数器

定时器/计数器 MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0(由TH0和TL0组成)和定时器T1(由TH1和TL1组成),它们既可用作定时器定时,又可用作计数器记录外部脉冲个数,其工作方式、定时时间、启动、停止等均用指令设定。 定时器/计数器的结构 1.定时器/计数器的工作原理 定时器/计数器T0和T1的工作方式通过八位寄存器TMOD设定,T0和T1 的启动、停止由八位寄存器TCON控制。工作前需先装入初值,利用传送指令将初值装入加1计数器TH0和TL0或TH1和TL1,高位数装入TH0或TH1,低位数装入TL0或TL1。当发出启动命令后,加1计数器开始加1计数,加到满值(各位全1)后,再加1就会产生溢出,系统将初值寄存器清0。如果需要继续计数或定时,则需要重新赋计数初值。 2.定时器的方式寄存器TMOD 特殊功能寄存器TMOD为定时器的方式控制寄存器。TMOD是用来设定定时器的工作方式,其格式如下: 各位功能如下: (1)GATE控制定时器的两种启动方式 当GATE=0时,只要TR0或TR1置1,定时器启动。 当GATE=1时,除TR0或TR1置1外,还必须等待外部脉冲输入端(P3.3)或(P3.2)高电平到,定时器才能启动。若外部输入低电平则定时器关闭,这样可实现由外部控制定时器的启动、停止,故该位被称为门控位。定时器1类同。 (2)定时/计数方式选择位 当该位为0时,T0或T1为定时方式;当该位为1时,T0或T1为计数方式。(3)方式选择位M1、M0 M1、M0两位可组合成4种状态,控制4种工作方式。每种方式的功能如表5-1。 表5-1 M1、M0控制的工作方式 M1 M0 工作方式说明 0 0 0 1 1 0 1 1 0 1 2 3 13位计数器 16位计数器 可再装入8位计数器

单片机定时器详解

一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒; MCS-51单片机外接的是12MHZ的晶振(实际上是11.0592MHZ),所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令/秒=1000000次/1000000微秒=1次/微秒=1条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=1微秒=1条指令; 注:个人PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与MCS-51单片机的相反,MCS-51单片机的主频是晶振经过分频之后的频率; 总之:MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的;1个脉冲=1微秒=1条指令=1个机器周期; MCS-51单片机定时器/计数器的简单结构图: 8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合; 二、定时器/计数器的结构 8051单片机的两个定时器T0和T1分别都由两个特殊功能寄存器组成;T0由特殊功能寄存器

实验三单片机定时计数器实验

实验三单片机定时/ 计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4 (T0) 引脚进行计数。将其数值按二进制数在P1 口驱动LED丁上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱( lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0) 引脚进行计数。将其数值按二进制数在P1 口驱动LED丁上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON TMOD 用于设置定时器/ 计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要

功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b方式0,记数器 movTH0, #0 movTL0, #0 setbTR0开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0 的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh movr1,a mova,TH0

4实验四_定时器计数器

PIC单片机定时器实验 课程名称微机原理与单片机技术 学院自动化学院 专业班级电子信息科学与技术(2)班 学号 3214001426 姓名林玫妮 2016年 11月 7日

一、实验目的 熟练掌握在 PIC16F877 的定时器 TMR0 的工作原理配置方式,会使用定时器查 询、中断方式,以及计数器模式。 二、实验内容和要求 在MPLAB环境中建立工程,实现对PIC单片机的定时器TMR0的初始 化,分别实现查询方式和中断方式定时,对比中断及查询方式的差异。实现对 PIC单片机的计数器的初始化,掌握计数器脉冲的输入硬件电路。 三、实验主要仪器设备和材料 计算机,MPLAB 软件,PIC 单片机实验板 HL-K18 四、实验方法、步骤及结果测试 1,熟悉电路板,熟悉相关电路原理图(要求使用 4M 晶振进行编程)。 2,任务1,分别采用定时器查询和定时器中断的方式,实现蜂鸣器按0.5秒周期鸣叫,即一秒鸣叫2次。比较查询与中断响应的区别。在MPLAB环境中 建立工程,按要求编写如下程序,并加载到工程中,编译并下载到单片机实 验板中观察实验结果。 例程1定时器查询方式 主程序 计算初值,实现蜂鸣 器按0.5s周期鸣叫

例程 2 定时器中断方式计算初值,实现蜂鸣器按0.5s周 期鸣叫 主程序 中断服务程序

例程3计数器模式 五、实验报告要求 1,对例程 1、2、3 的每一句程序进行注释。描述如何改变寄存器及其对 IO 的影

响。 (1)例子1: (2)例子2:

(3)例子3: 2,详细写出任务 1 中定时器初值的计算过程。 任务 1 中定时器初值的计算过程如下: 3,画出例程 2 的程序流程图。 4,讨论定时器查询方式和中断方式的差异和优缺点。 (1)中断方式不占用CPU资源,定时时间到会自动进入中断程序,准确度高。自动调用对应的函数。 (2)查询方式需要一直占用CPU资源(需要一直扫描标志位),定时时间到后需要程序查询到才能判断时间到,稍微有点误差。在需要的地方,需要手动调用对应函数 六、思考题 编写中断服务程序,实现蜂鸣器0.25秒周期鸣叫,同时LED数码管前两位按照100 毫秒周期从 10 开始倒数。

单片机定时计数器实验

实验三单片机定时/计数器实验 一、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 二、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 三、实验仪器和条件 计算机 伟福实验箱(lab2000P ) 四、实验内容与软件流程图 实验3-1⑴、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 ⑵、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 ⑶、流程图 ⑷、实验电路及连线 实验3-2①、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 ②、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD 用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 ③、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 ④、软件流程图

单片机定时器计数器实验报告

单片机定时器计数器实验报告 篇一:单片机计数器实验报告 计数器实验报告 ㈠实验目的 1. 学习单片机内部定时/计数器的使用和编程方法; 2. 进一步掌握中断处理程序的编程方法。 ㈡实验器材 1. 2. 3. 4. 5. G6W仿真器一台 MCS—51实验板一台 PC机一台电源一台信号发生器一台 ㈢实验内容及要求 8051内部定时计数器,按计数器模式和方式1工作,对 P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms 中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。 ㈣实验说明 1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入 定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电

平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。 2. 计数脉冲由信号发生器输入(从T0端接入)。 3. 计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421 码表示,个位用L8~L5的8421码表示 4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动 次数并显示 ㈤实验框图(见下页) 程序源代码 ORG 00000H LJMP MAIN ORG 001BH AJMP MAIN1 MAIN: MOV SP,#60H MOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H ;T0的中断入口地址 ;设置T1做定时器,T0做计数器,都于方式1工作 ;装入中断次数 ;装入计数值低8位 ;装入计数值高8位 MOV TH0,#00H SETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断 SETB EA ;允许CPU中断 SJMP $;

定时器与计数器

四川工程职业技术学院 单片机应用技术课程电子教案 Copyright ? https://www.doczj.com/doc/0d2702343.html, 第 讲 15 定时器/计数器基础

本讲主要内容: 15-1.实现定时的方法 15-2.定时器/计数器的结构和工作原理15-3.定时器/计数器的控制 15-4.定时器/计数器的工作方式 15-5.定时器/计数器应用

15-1.实现定时的方法 软件定时 ? 软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用 率。例如延时程序。 采用时基电路定时 ?例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬 件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件 进行控制和修改,即不可编程,且定时时间容易漂移。 可编程定时器定时 ?最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时 精确和硬件定时电路独立的特点。 定时器/计数器 如何使用呢?

定时器/计数器的结构 定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD 是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 G A T E C /T M 1 M 0 G A T E C /T M 1 M 0 TH1TL1TH0TL0 T1方式T0方式 T1引脚 T0引脚 机器周期脉冲 内部总线 TMOD TCON 外部中断相关位 T F 1 T R 1 T F 0 T R 0 T1计数器 T0计数器 控制单元

定时器/计数器的工作原理 ?计数器输入的计数脉冲源 系统的时钟振荡器输出脉冲经12分频后产生; T0或T1引脚输入的外部脉冲源。 ?计数过程 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断 请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表 示定时时间已到;如果工作于计数模式,则表示计数值已满。

单片机实验-定时器计数器应用实验二教学文稿

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200

个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对 P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1

单片机实验三报告定时计数器实验

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:?验证?综合■设计?创新实验日期:实验成绩: 实验三定时计数器实验 (一)实验目的 1.掌握单片机中断原理; 2.掌握定时器的初始化和定时模式编程。 (二)设计要求 1.采用定时器0/1做16位自动重装(方式0),中断频率为1000HZ; 2.中断函数从取反输出500HZ方波信号; 3.如果由于频率问题实验现象无法观察,请在中断程序中想办法实现。 (三)实验原理 1.单片机定时/计数器(T0/T1)的结构和工作原理 IAP15W4K58S4单片机内部有5个16位的定时/计数器,即T0、T1、T2、T3和T4。T0、T1结构框图如下图(图一)所示,TL0、TH0是定时/计数器T0的低8位、高8位状态值,TL1、TH1是定时/计数器T1的低8位、高8位状态值。TMOD是T0、T1定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;TCON是TO、T1定时/计数器的控制寄存器,用于控制T0、T1的启动与停止以及记录T0、T1的计满溢出标志;AUXR称为辅助寄存器,其中T0x12、T1x12 用于设定T0、T1内部计数脉冲的分频系数。、分别为定时/计数器T0、T1的外部计数脉冲输入端。 T0、T1定时/计数器的核心电路是一个加1计数器,如下图(图二)所示。加1计数器的脉冲有两个来源:一个是外部脉冲源:T0、T1,另一个是系统的时钟信号。计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1,当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同时使计数器计满溢出标志位TF0或TF1置1,并向CPU发出中断请求。 (图一)

51单片机定时器计数器汇编实验报告

批 阅 长沙理工大学 实验报告 年级光电班号姓名同组姓名实验日期月日 指导教师签字:批阅老师签字: 内容 一、实验目的四、实验方法及步骤 二、实验原理五、实验记录及数据处理 三、实验仪器六、误差分析及问题讨论 单片机定时器/计数器实验 一、实验目的 1、掌握51单片机定时器/计数器的基本结构。 2、掌握定时器/计数器的原理及编程方法。 二、实验仪器 1、装有keil软件的电脑 2、单片机开发板 三、实验原理 51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构

成。 方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。 四、实验内容 1、计算计数初值 单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。设待求计数初值为x,则: (2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。二进制表示为:00010101 10100000B。十六进制为:高八位(15H),低八位(A0H)。 2、设置相关控制寄存器 TMOD设置为xxxx0001B 3、程序设计 ORG 0000H AJMP MAIN ORG 30H MAIN: MOV P1,#0FFH ;关闭所有灯 ANL TMOD,#0F0H ;置定时器0工作方式1 ORL TMOD,#01H ;不影响T1的工作 MOV TH0,#15H ;设置计数初始值 MOV TL0,#0A0H SETB EA ;CPU开中断 SETB ET0 ;定时器0开中断 SETB TR0 ;定时器开始运行 LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTP AJMP LOOP ;然跳转到LOOP处运行 INTP: MOV TH0,#15H ;重新设置计数初值 MOV TL0,#0A0H CPL P1.0 ;输出取反 AJMP LOOP END AJMP LOOP

实验七 单片机定时、计数器实验2——脉冲计数器

实验七单片机定时、计数器实验2——脉冲计数器 一、实验目的 1.AT89C51有两个定时/计数器,本实验中,定时/计数器1(T1)作定时器用,定时1s;定时/计数器0(T0)作计数器用。被计数的外部输入脉冲信号从单片机的P3.4(T0)接入,单片机将在1s内对脉冲计数并送四位数码管实时显示,最大计数值为0FFFFH。 2.用proteus设计、仿真基于AT89C51单片机的脉冲计数器。 3.学会使用VSM虚拟计数/计时器。 二、电路设计 1.从PROTEUS库中选取元件 ①AT89C51:单片机; ②RES:电阻; ③7SEG-BCD- GRN:七段BCD绿色数码管; ④CAP、CAP-ELEC:电容、电解电容; ⑤CRYSTAL:晶振; SEG-COM- GRN为带段译码器的数码管,其引脚逻辑状态如图所示。

对着显示的正方向,从左到右各引脚的权码为8、4、2、1。 2.放置元器件 3.放置电源和地 4.连线 5.元器件属性设置 6.电气检测 7.虚拟检测仪器 (1)VSM虚拟示波器 单击小工具栏中的按钮,在对象选择器列表中单击COUNTER(计 数/计时器),打开其属性编辑框,单击运行模式的下拉菜单,如图所示,可选择计时、频率、计数模式,当前设置其为频率计工作方式。 (2)数字时钟DCLOCK 单击按钮,在对象选择器中选择DCLOCK(数字时钟)。在需要添加信 号的线或终端单击即可完成添加DCLOCK输入信号。当前信号设置为DIGITAL型的时钟CLOCK,频率为50K。 三、源程序设计、生成目标代码文件 1.流程图 2.源程序设计 通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC37.ASM。 通过菜单“sourc e→DZC37.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。 程序编辑好后,单击按钮存入文件DZC37.ASM。 3.源程序编译汇编、生成目标代码文件 通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。

微机原理与接口技术硬件实验12——51单片机IO控制实验,定时器计数器实验

本科实验报告 课程名称:微机原理与接口技术姓名:陈肖苇 学院:信息与电子工程学院专业:电子科学与技术学号:3140104580 指导教师:黄凯 2016年12 月23 日

课程名称:微机原理与接口技术指导老师:黄凯成绩:__________________ 实验名称:单片机硬件实验一二 实验一I/O控制实验 1. 实验目的 ①掌握基本IO输入输出操作指令; ②熟练运用“WAVE”环境对硬件接口进行调试。 2.预习要求 ①理解51单片机IO的输入、输出控制方式;理解P0、P1、P2、P3口做为普通的IO口有何区别。 ②理解实现软件延时程序设计的延时时间估算; ③认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实 验报告。 3.基础型实验内容 ①8位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。 用导线将MCS51模块的P1.0-P1.7端口依次与L0-L7小灯连接。在“WAVE”环境运行该程序,观察 发光二极管显示情况。 ORG 0 LOOP: MOV A, #01H ;设置初值 MOV R2,#8 ;设置循环次数 OUTPUT: MOV P1,A RL A ;移位,让下一盏灯亮 ACALL DELAY ;调用子程序来延迟

DJNZ R2,OUTPUT ;循环R2次,即8次,达到依次点亮 LJMP LOOP ;循环依次点亮的过程 DELAY: MOV R6,#0 ;延时子程序 MOV R7,#0 DELAYLOOP:DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP RET END 实验现象:LED小灯泡从右向左依次点亮,不断循环。实验照片如下:

51单片机计数器和定时器的本质区别及应用方法

51单片机计数器和定时器的本质区别及应用方法 在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,对于初学者来说,这几部分的内容很难理解。但是我个人觉得这几部分内容是单片机学习的重点,如果在一个学期的课堂学习或者自学中没有理解这几部分内容,那就等于还没有掌握51单片机,那更谈不上单片机的开发了,我们都知道在成品的单片机项目中,有很多是以这几部分为理论基础的,万年历是以定时器为主的,报警器是以中断为主的,联机通讯是以串口为主的。 在这几部分内容中,计数器/定时器对于初学者说很容易搞混淆,下面我将对这方面的内容结合自己的学习经验谈几点看法。 计数器和定时器的本质是相同的,他们都是对单片机中产生的脉冲进行计数,只不过计数器是单片机外部触发的脉冲,定时器是单片机内部在晶振的触发下产生的脉冲。当他们的脉冲间隔相同的时候,计数器和定时器就是一个概念。 在定时器和计数器中都有一个溢出的概念,那什么是溢出了。我们可以从一个生活小常识得到答案,当一个碗放在水龙头下接水的时候,过了一会儿,碗的水满了,就发生溢出。同样的道理,假设水龙头的水是一滴滴的往碗里滴,那么总有一滴水是导致碗中的水溢出的。在碗中溢出的水就浪费了,但是在单片机的定时计数器中溢出将导致一次中断。 在定时器计数器中,我们有个概念叫容量,就是最大计数量。 方式0是2的13次方, 方式1是2的16次方, 方式2是2的8次方, 把水滴比喻成脉冲,那么导致碗中水溢出的最后一滴水的就是定时计数器的溢出的最后一个脉冲。 在各种单片机书本中,在介绍定时计数器时都讲到一个计数初值,那什么是计数初值呢?在这里我们还是假设水滴碗。假设第一百滴水能够使碗中的水溢出,我们就知道这个碗的容量是100。

单片机定时计数器的方式控制字

单片机定时器/计数器的方式控制字 单片机中的定时/计数器都能有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。 从图1中我们能看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。 从图2中我们能看出,TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(我们暂不管)。而TF1(0)我们上节课已提到了,当计数溢出后TF1(0)就由0变为1。原来TF1(0)在这儿!那么TR0、TR1又是什么呢?看上节课的图。 计数脉冲要进入计数器还真不不难,有层层关要通过,最起码,就是TR0(1)要为1,开关才能合上,脉冲才能过来。因此,TR0(1)称之为运行控制位,可用指令SETB来置位以启动计数器/定时器运行,用指令CLR来关闭定时/计数器的工作,一切尽在自已的掌握中。 <单片机定时器/计数器结构> 定时/计数器的四种工作方式 工作方式0 定时器/计数器的工作方式0称之为13位定时/计数方式。它由TL(1/0)的低5位和TH(0/1)的8位组成13位的计数器,此时TL(1/0)的高3位未用。 我们用这个图来讨论几个问题: M1M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。C/T:前面我们说过,定时/计数器即可作定时用也可用计数用,到底作什么用,由我们根据需要自行决定,也说是决定权在我们��编程者。如果C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。顺便提一下:一个定时/计数器同一时刻要么作定时用,要么作计数用,不能同时用的,这是个极普通的常识,几乎没有教材会提这一点,但很多开始学习者却会有此困惑。 GA TE:看图,当我们选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器

51单片机定时器设置

51单片机定时器设置入门(STC89C52RC) STC单片机定时器设置 STC单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个: 1. 一定要知道英文缩写的原形,这样寄存器的名字就不用记了。 理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。 2. 尽量用形像的方法记忆 比如TCON和TMOD两个寄存器各位上的功能,教程一般有个图表,你就在学习中不断回忆那个图表的形像 TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER) 定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。 其格式为: 其中低四位定义定时器/计数器C/T0,高四位定义定时器/计数器C/T1,各位的说明: GA TE——门控制。 GA TE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。 当INT0引脚为高电平时TR0置位,启动定时器T0; 当INT1引脚为高电平时TR1置位,启动定时器T1。 GA TE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。 C/T——功能选择位 C/T=0时为定时功能,C/T=1时为计数功能。 置位时选择计数功能,清零时选择定时功能。

M0、M1——方式选择功能 由于有2位,因此有4种工作方式: M1M0 工作方式计数器模式TMOD(设置定时器模式) 0 0 方式0 13位计数器TMOD=0x00 0 1 方式1 16位计数器TMOD=0x01 1 0 方式 2 自动重装8位计数器TMOD=0x02 1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器TMOD=0x03 单片机定时器0设置为工作方式1为TMOD=0x01 这里我们一定要知道,TMOD的T是TIMER/COUNTER的意思,MOD是MODE的意思。至于每位上的功能,你只要记住图表,并知道每个英文缩写的原型就可以了。 在程序中用到TMOD时,先立即回忆图表,并根据缩写的单词原形理出每位的意义,如果意义不是很清楚,就查下手册,几次下来,TMOD的图表就已经在脑子里了。 8位GA TE位,本身是门的意思。 7位C/T Counter/Timer 6位M1 Mode 1 5位M0 Mode 0 TCON: 定时器/计数器控制寄存器(TIMER/COUNTER CONTROL REGISTER) TMOD分成2段,TCON控制更加精细,分成四段,在本文中只要用到高四段。 TF0(TF1)——计数溢出标志位,当计数器计数溢出时,该位置1。 TR0(TR1)——定时器运行控制位 当TR0(TR1)=0 停止定时器/计数器工作 当TR0(TR1)=1 启动定时器/计数器工作 IE0(IE1)——外中断请求标志位 当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。 IT0(IT1)——外中断请求信号方式控制位 当IT0(IT1)=1 脉冲方式(后沿负跳有效) 当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。 TF0(TF1)——计数溢出标志位

相关主题
文本预览
相关文档 最新文档