定时计数器T0作定时应用技术
单片机原理及应用 第06章定时计数器
20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
单片机考试复习题及答案
单片机考试复习题及答案选择题1、主频为12MHz的单片机他的机器周期为(c)。
A、1/12微秒B、微秒C、1微秒D、2微秒2、MCS-51系列单片机是属于(C)体系结构。
A、冯诺依曼B、普林斯顿C、哈佛D、图灵3、定时器/计数器工作方式0为(A)。
A、13位定时/计数方式B、16位定时/计数方式C、8位可自动装入计数初值方式D、2个8位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。
A、中断标志位B、中断允许控制位C、中断优先级控制位D、外部中断触发方式控制位7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。
A、1个机器周期B、2个机器周期C、4个机器周期D、8个机器周期8、在下列寄存器中,与定时器/计数器无关的是(C)。
scon是控制寄存器A、TCONB、TMODC、SCOND、IE9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。
A、00100101B、01010010C、 C、1010、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。
A、 B、 C、 D、11、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为,则定时初值为(A)。
A、156B、56C、100D、20012、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。
A、2MHzB、1MHzC、500KHzD、250KHz13、利用下列(D)关键字可以改变工作寄存器组。
A、interruptB、sfrC、whileD、using14、(D)是c语言提供的合法的数据类型关键字。
A、FloatB、signedC、integerD、Char15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。
单片机原理及应用第四版林立第六章选择题答案
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
单片机原理及应用作业答案
作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。
2.什么叫单片机?其主要特点有哪些?解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。
第1章MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。
每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。
通常把4个端口称为P0~P3。
在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。
在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。
25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)?它们的地址是什么?CPU如何确定和改变当前工作寄存器组(R0-R n)?解:开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H-07H。
CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。
MCS-51定时计数器的应用.
方案选择: (1)怎样实现较长时间的定时?
上一个实验已经讨论了单片机定时器的最大时间间 隔,采用定时器与计数器相结合的方法解决了较长时 间定时的问题
这里还可用另一种方法解决:用T1作定时器,用软件 对定时时间到计数,这样可节省一个定时器作其它用
如果设T1为定时方式0,定时间隔选为10ms,那么要想 达到2秒的定时,软件计数的次数应该是200次。
第四章 MCS-51定时/计数器的应用 定时/计数器是单片机应用中的重要部件,
其工作方式的灵活应用对提高编程技巧, 减轻CPU的负担和简化外围电路有很大益 处。本章通过两个实验说明定时/计数器的 基本用法,通过应用实例,使读者掌握定 时/计数器的软件设计技巧。
1
一、定时/计数器的基本用法
【实验1】利用T0定时,T1计数 二者复合的方法,实现较长 时间的定时间隔。 实验要求:如图所示,在 P1.7 端 接 有 一 个 发 光 二 极 管 , 要 利 用 定 时 控 制 使 LED 亮一秒停一秒,周而复始。
注意:T0与T1都是加1计数器,所以初值应按补码 计算。实际计算方法是:假定初值为X,若定时间隔 100ms,应该有
(216-X) ·2μ S=100ms ∴x=15536=3CB0H 3CH装入TH0,B0H装入TL0 T1 计 数 器 在 方 式 2 下 是 8 位 的 , 计 数 5 次 的 初 值 的 是 (256-5)=251=FBH,同时装入TH1与TL1。
=216·2μ S=131.07ms 3
而实验要求定时间隔为1秒,这三种方式都不能 满足。对于较长的定时间隔应采取复合的办法。 例如,可将T0设成定时间隔为100ms(只能用方式1), 当定时时间到,将P1.0的输出反相,再加到T1端作 计数脉冲,需要定时两次才构成一个完整的计数脉 冲,因此设T1计数5次,就能完成1秒的定时:
单片机设计及应用知到章节答案智慧树2023年上海电力大学
单片机设计及应用知到章节测试答案智慧树2023年最新上海电力大学绪论单元测试1.本课程的学习目标为()。
参考答案:包括单片机的基本工作原理、单片机的硬件接口技术、汇编语言软件程序设计2.本课程的考试及格率为()。
参考答案:50~75%3.本课程的选修课程为()。
参考答案:计算机基础;电子电路;C语言第一章测试1.微型计算机采用总线结构()。
参考答案:可以简化系统结构、易于系统扩展2.微机的地址总线功能是()。
参考答案:用于传送要访问的存储器单元或I/O端口的地址3.在微机中将各个主要组成部件连接起来,组成一个可扩充基本系统的总线称之为( )。
参考答案:系统总线4.微型计算机的存储系统一般指主存储器和()。
参考答案:辅助存储器5.计算机的工作原理是存储程序控制,所以计算机中的程序都是顺序执行的。
()参考答案:错6.在计算机中,程序和数据都是以二进制形式不加区别存放的。
()参考答案:对7.已知[X]原=11101001,则[X]反=00010110。
()参考答案:错8.800H =2KB。
()参考答案:对9.8位二进制数补码的大小范围是-127∽+127。
()参考答案:错10.-128的补码是10000000。
()参考答案:对11.将十进制(0.825)10转换成二进制数是(0.1101)2。
()参考答案:错12.计算机中负数的反码是把它对应的正数连同符号位按位取反而开形成的。
()参考答案:错13.单片机在调试过程中,通过查表将源程序转换成目标程序的过程叫()。
参考答案:手工汇编14.将十进制数98转换成对应的二进制数是()。
参考答案:110001015.二进制数110110110对应的十六进制数可表示为()。
参考答案:1B6H16.已知[X]补=00000000,则真值X=()。
参考答案:17.计算机中最常用的字符信息编码是()。
参考答案:ASCII18.处理器的内部数据宽度与外部数据宽度可以()参考答案:相同或不同19.中央处理器是由()构成的。
6.3 定时器计数器的四种模式及应用
(2)计算初值 ) T0工作在外部事件计数方式,当计数到 8时,再加 工作在外部事件计数方式, 工作在外部事件计数方式 当计数到2 1计数器就会溢出。设计数初值为 ,当再出现一次 计数器就会溢出。 计数器就会溢出 设计数初值为X, 外部事件时,计数器溢出。 外部事件时,计数器溢出。 则: X+1=28 X= 28 -1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为 工作在定时工作方式, 工作在定时工作方式 设晶振频率为6MHz, , 500µs相当于 相当于250个机器周期。因此,初值 为 个机器周期。 相当于 个机器周期 因此,初值X为 (28-X)×2µs=500µs × X=6=06H
的工作模式0在 例2:利用 的工作模式 在P1.0引脚输出周期为 :利用T0的工作模式 引脚输出周期为 2ms的方波。设单片机晶振频率 的方波。 的方波 设单片机晶振频率fosc=12MHz。 。 分析:要在P1.0引脚输出周期为 引脚输出周期为2ms的方波,只要使 的方波, 分析:要在 引脚输出周期为 的方波 P1.0每隔 每隔1ms取反一次即可。 取反一次即可。 每隔 取反一次即可 (1)选择工作模式 ) T0的模式字为 的模式字为TMOD=00H,即 的模式字为 , M1M0=00,C/T=0,GATE=0,其余位为 。 , , ,其余位为0。 (2)计算1ms定时时 的初值 )计算 定时时T0的初值 定时时 (213-X)×1/12 × 10-6×12=1×10-3 s × × X=7192D=11100000 11000B T0的低 位:11000B=18H即 (TL0)=18H 的低5位 的低 即 T0的高 位:11100000B=E0H即 (TH0)=E0H 的高8位 的高 即
三、模式 3的应用举例 的应用举例 例1:设某用户系统已使用了两个外部中断源,并 :设某用户系统已使用了两个外部中断源, 置定时器T1工作在模式 工作在模式2, 置定时器 工作在模式 ,作串行口波特率发生器 现要求再增加一个外部中断源,并由P1.0引脚 用。现要求再增加一个外部中断源,并由 引脚 输出一个5kHz的方波。fosc=12MHz. 的方波。 输出一个 的方波
MCS-51的定时计数器
第六章MCS-51的定时/计数器1.如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?解答:因为机器周期,所以定时器/计数器工作方式0下,其最大定时时间为;同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。
2.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。
定时时间与时钟频率和定时初值有关。
3.定时/计数器用作定时器时,对外界计数频率有何限制?答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
4.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。
定时1ms后,又转为计数方式,如此循环不止。
假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。
解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。
除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。
编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定时器/计数器T0为计数方式2MOV TL0,#156 ;计数100个脉冲的初值赋值MOV TH0,#156SETB GATE ;打开计数门SETB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA ;CPU开中断CLR F0 ;设置下一轮为定时方式的标志位WAIT: AJMP WAITIT0P: CLR EA ;关中断JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI5. 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。
用T0定时器实现1秒定时
用T0定时器实现1秒定时
T0定时器是8051单片机中的一个定时/计数器,可以用来实现定时功能。
下面是使用T0定时器实现1秒定时的C代码:
```C
#include <reg52.h>
TH0=TIMER_VALUE/256;//设置定时器初值的高8位
TL0=TIMER_VALUE%256;//设置定时器初值的低8位
void main
TMOD=0x01;//设置T0为模式1,16位定时器
TH0=TIMER_VALUE/256;//设置定时器初值的高8位
TL0=TIMER_VALUE%256;//设置定时器初值的低8位
TR0=1;//启动定时器
EA=1;//允许中断
ET0=1;//允许T0中断
while (1)
//1秒到达,执行相应的操作
//这里可以添加你需要的代码
}
}
```
以上是一个简单的示例代码,使用T0定时器实现了每隔1秒触发一
个中断,并在中断处理函数中设置了一个标志位。
在主循环中检查标志位,如果标志位为1,则表示定时器已经到达1秒,执行相应的操作,并将标
志位重置为0。
请注意,上述代码使用的定时器初值是根据传输速率设置的。
如果你
需要更准确的1秒定时,需要根据你的实际系统时钟频率进行适当的调整。
单片机知识习题集整编
1章参考题与习题1.单片机的原名是什么?。
MICROCONTROLLER2.微处理器、微处理机、单片机之间有何区别?微处理器:一般仅指CPU,内含ALU和控制部件;微处理机:以微处理器为核心的微机系统,包含CPU、常用外围电路、外存、键盘、鼠标、显示器等;单片机:单个芯片内集成组成一台计算机的常用功能电路。
仅是一个集成电路。
3.单片机与微处理器的不同之处是什么?前者内部不仅有微处理器,还有组成一台计算机必备的功能电路,如ROM、RAM、C\TC、UART、中断系统等。
后者仅是微处理器,具有ALU单元和控制单元。
4.单片机的发展大致分为哪几个阶段?4位机、1位机、8位机、16位机5,单片机根据其数据总线宽度可分为哪几种类型?1位、4位、8位、16位6.MCS-51系列单片机的典型产品分别为(8031)、(8051)和(8751)。
7.8031与8051的区别在于(D)(A)内部数据存储容量不同(B)内部数据存储器的类型不同(C)内部程序存储器的类型不同(D)内部没有程序存储器8.8051与8751的区别在于(C)(A)内部数据存储容量不同(B)内部数据存储器的类型不同(C)内部程序存储器的类型不同(D)内部没有程序存储器9.举例说明单片机在工业测控领域、家用电器领域的应用。
2章参考题与习题1.MCS-51单片机的片内都集成了哪些功能部件?各个功能部件的主要功能是什么?(1)微处理器(2)数据存储器(3)程序存储器(4)中断系统(5)定时器/计数器(6)串行口(7)并行I/O口2.说明MCS-51单片机上电后,运行片内程序还是片外程序是怎样控制的。
EA引脚接高电平时,上电复位后程序将从片内程序存储器开始执行。
EA引脚接低电平时,上电复位后将从片外程序存储器开始执行。
3.在MCS-51单片机中,如果采用12MHz晶振,一个机器周期为(12 )时钟周期?4.写出各中断向量地址。
外部中断0 0003H定时器0 000BH外部中断1 0013H定时器1 001BH串行口0023H5.内部RAM中,位地址为30H的位,该位所在字节的字节地址为(26H)。
51单片机20个实验,代码详细【范本模板】
第一章单片机系统板说明一、概述单片机实验开发系统是一种多功能、高配置、高品质的MCS—51单片机教学与开发设备.适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。
该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。
该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施.为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。
二、单片机板简介本实验系统因为自带了MCS—51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。
以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。
因此构成单片机实验系统。
1、主要技术参数(1)MSC-51单片机板板上配有ATMEL公司的STC89C51芯片。
STC89C51资源:32个I/O口;封装DIP40。
STC89C51开发软件:KEIL C51。
2、MSC-51单片机结构(1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。
(2)单片机板左上侧有一个串口,用于下载程序。
(3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。
(4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。
三、母板简介主要技术参数(1)实验系统电源实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。
主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板得电工作。
为适用多种需要,配置了+5V,+12V,—5V电压供主板和外设需要,通过右上角的插针排和插孔输出到外设.此外,还设有螺旋保险插孔保护实验箱。
(2)RS232接口RS232接口通过MAX232芯片实现与计算机的串行通讯,通过接口引出信号。
单片机定时器计数器应用
为了获得1秒时间,T0中断需要发生200次。程序包含主函
数,T0的初始化函数和T0中断服务函数,显示语句放在中
断服务函数内,程序如下:
/******************************************************************/ #include<reg51.h> code unsigned char seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char cp,i; //声明全局变量 void timer0_isr(void) interrupt 1 // timer0中断服务函数 { TR0 = 0; //停止计数 TL0 = 0x78; // TL0重新预置 TH0 = 0xec; // TH0重新预置 TR0 = 0; //开始计数 cp++; // timer0中断1次,变量cp加1 if(cp == 200) //中断200次,时间刚好为1秒 { cp = 0; i ++; }
项目5 单片机定时器/计数器应用
5.1任务说明
任务:利用单片机内部定时器/计数器中断实现一个数码管 的秒记数,重点学习定时器/计数器的工作方式以及
其控制寄存器TMOD、TCON的功能,在程序实现
过程中掌握定时器/计数器中断的一般步骤。
5.2 单片机的定时/计数器结构
51单片机内部含有两个定时器/计数器,分别是T0和 T1,在增强型51系列单片机中,如STC89C51RC,内部出了 含有T0和T1外,还有T2定时器/计数器。定时器/计数器主 要由于精确的定时,也可用于对外部脉冲进行计数以及为
单片机原理及应用试题库(含参考答案)
单片机原理及应用试题库(含参考答案)1、80C51单片机的复位功能引脚是()A、XTAL1B、XTAL2C、RSTD、ALE答案:C2、89C51系列单片机内部有两个()位定时器/计数器A、8B、16C、24D、32答案:B3、51单片机的定时器工作方式3的功能是()A、3种定时/计数器关系B、13位定时/计数器C、16位定时/计数器D、8位自动重装定时/计数器答案:A4、以下中断优先级原则里不正确的是()A、高级中断请求可以打断执行中的低级中断B、同级中断请求能打断执行中的同级中断C、多个同级中断源同时提出中断请求时,CPU将依据自然优先级查询中断请求D、单片机复位时,所有中断源都默认为低优先级中断答案:B5、单片机能直接运行的程序叫()A、编译程序B、源程序C、目标程序D、汇编程序答案:C6、当中断源的突发事件出现时,单片机中某些功能寄存器的特殊标志位将由硬件方式自动修改,这些特殊标志称为()A、中断请求标志B、内置处理器C、外部中断源D、中断源答案:A7、while(i=x)当x=()时停止循环A、1B、0C、3D、无穷大答案:B8、当SCON中的MOM1=10时,表示串口工作与方式A、1B、2C、3D、4答案:B9、有关集成芯片74LS164的下列描述中()是不正确的。
A、74LS164的移位过程是借助D触发器的工作原理实现的B、74LS164是一种8位串入并出移位寄存器C、8次移位结束后,74LS164的输出端Q0锁存着数据的最高位,Q7锁存着最低位D、74LS164与80C51的串口方式0配合可以实现单片机并行输出口的扩展功能答案:C10、计算机中最常用的字符信息编码是()A、BCD码B、ASCIIC、循环码D、余3码答案:B11、89C51单片机可分为两个中断优先级别,各中断源的优先级别设定是利用寄存器()A、IEB、IPC、TCON12、LED数码管用于动态显示时需要将各位数码管的()。
用定时器T0的模式1实现长时间定时
用定时器T0的模式1实现长时间定时
定时器T0是一种非常常用的定时器,它可以帮助我们实现各种定时
功能。
模式1是T0的一个工作模式,它可以实现较长时间的定时。
要使用T0的模式1实现长时间定时,首先需要设置T0的控制寄存器TMOD,将其设置为模式1、然后,需要设置T0的初始值,并启动T0定时器。
具体步骤如下:
1.设置T0的控制寄存器TMOD。
在模式1下,T0使用16位的定时器,TMOD寄存器的低4位应设置为二进制“0001”。
2.设置T0的初始值。
T0的计数器是一个16位的寄存器(TH0和
TL0)。
设置初始值时,需要将高8位和低8位分别赋值给TH0和TL0。
其中,Fosc是MCU的振荡频率,以赫兹(Hz)为单位。
将高8位和低8位分别赋值给TH0和TL0:
```
TH0=0xAF
TL0=0xAC
```
3.启动定时器T0。
将T0的控制位TR0设置为1,即可启动T0定时器。
```
TR0=1
```
```
while (TF0 == 0); //等待定时器溢出
```
5.定时器溢出后执行相应的操作。
当定时器溢出后,可以执行你想要执行的操作,例如触发中断或改变一些状态。
6.重复上述步骤,以实现长时间定时。
如果需要多次定时,可以修改T0的初始值,并继续启动T0定时器。
总结:通过设置T0的模式1并结合计算初始值,我们可以实现长时间的定时。
你可以根据需要自行调整初始值来达到所需的定时时间。
请确保设置正确的振荡频率以计算正确的初始值。
单片机考试复习题与答案
选择题1、主频为12MHz 的单片机他的机器周期为(c )。
A 、1/12 微秒B 、0.5 微秒C 、1 微秒D 、2 微秒2、MCS-51系列单片机是属于(A 、冯诺依曼B 、普林斯顿C )体系结构。
C 、哈佛D 、图灵3、定时器 / 计数器工作方式 0 为( A )。
A 、13 位定时 / 计数方式B 、16 位定时 / 计数方式C 、8 位可自动装入计数初值方式D 、 2 个 8 位方式6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A 、中断标志位B 、中断允许控制位C 、中断优先级控制位D 、外部中断触发方式控制位A )。
7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B )。
A 、1 个机器周期B 、2 个机器周期C 、4 个机器周期D 、8 个机器周期 8、在下列寄存器中,与定时器 / 计数器无关的是(A 、TCONB 、TMODC 、SCOND 、IEC )。
scon 是控制寄存器9、若欲将 T0 设置为定时器方式 2、T1 设置为计数器方式寄存器 TMOD 的方式控制字为( B )。
A 、00100101B 、010100101, T0、T1 均采用软件启/ 停控制,则方式C 、10101101C 、110110101010、当晶振频率为 6MHz 、定时 / 计数器工作于方式 1,最大定时时间为( D )。
A 、8.192msB 、16.384msC 、65.53msD 、 131.07211、当晶振频率为 6MHz ,定时 / 计数器 T0 工作于定时器方式 2,若要求定时值为 0.2ms ,则定时初值为( A )。
A 、156B 、56C 、100D 、200 12、设 MCS-51单片机的晶振频率为 12MHz ,定时器作计数器使用时, 其最高的输入计数频率为 (C )。
A 、2MHzB 、1MHzC 、500KHzD 、250KHz13、利用下列( D )关键字可以改变工作寄存器组。
MCS-51定时计数器的应用
4
TMOD——方式控制字 方式控制字 由于LED的亮 灭是持续不断的 所以可以将 的亮/灭是持续不断的 所以可以将T1 由于 的亮 灭是持续不断的,所以可以将 计数器设成方式2,自动装入初值 重复进行计数 计数器设成方式 自动装入初值,重复进行计数, 自动装入初值 重复进行计数, T0计数器设成定时方式 、按这种方案考虑: 计数器设成定时方式1 按这种方案考虑: 计数器设成定时方式 TMOD的初值应该是 61H 的初值应该是: 的初值应该是 0 1 1 0 0 0 0 1
第四章 MCS-51定时/计数器的应用 定时/计数器是单片机应用中的重要部件, 其工作方式的灵活应用对提高编程技巧, 减轻CPU的负担和简化外围电路有很大益 处。本章通过两个实验说明定时/计数器的 基本用法,通过应用实例,使读者掌握定 时/计数器的软件设计技巧。
1
一、定时/计数器的基本用法 定时 计数器的基本用法
11
T1的定时初值应按下式计算(方式0为13位计数器) 的定时初值应按下式计算(方式0 13位计数器) 位计数器 10ms (213-X)·2μs=10ms 2μs=10 ∴X=3192=0110001111000B ∴X=3192=0110001111000B 3192 由于TL1 只装5 其余8 位装入TH 因此0 78H TH1 由于 TL1 只装 5 位 , 其余 8 位装入 TH1, 因此 0C78H TL 装入TH 时应特别小心。 装入TH1和TL1时应特别小心。 11000B 01100011 11000B I-TH1—-I I-TL1-I 实际装入情况是:63H装入TH 18H 实际装入情况是:63H装入TH1,18H 入TL1。 软件计数200= 软件计数200=0C8H 200
12
单片机原理与应用选择题答案
第一章习题(6)十六进制数93 的二进制数是1.1 单项选择题______。
答案(A)(1)单片机又称为单片微计算机,最初A.10010011B的英文缩写是____。
答案(D)B.00100011BA.MCPC.11000011BB.CPUD.01110011BC.DPJ(7)二进制数11000011 的十六进制数 D.SCM是______。
答案(B)(2)Intel 公司的MCS-51系列单片机A.B3H是______的单片机。
答案(C)B.C3HA.1 位C.D3H B.4 位D.E3HC.8 位D.16 位(8)二进制数11001011 的十进制无符号数是______。
答案(B)(3)单片机的特点里没有包括在内的是A.213______。
答案(C)B.203 A.集成度高C.223B.功耗低D.233C.密封性强(9)二进制数11001011 的十进制有符 D.性价比高号数是______。
答案(B) (4)单片机的发展趋势中没有包括的是A.73______。
答案(B)B.-75A.高性能C.-93B.高价格D.75 C.低功耗D.高性价比(10)十进制数29 的8421BCD压缩码是______。
答案(A)(5)十进制数56 的二进制数是______ 。
A.00101001B 答案(A)B.10101001B A.00111000BC.11100001B B.01011100BD.10011100B C.11000111BD.01010000B (11)十进制数-36 在8 位微机中的反码和补码是______。
答案(D)A. 00100100B 、11011100B C.A⊕B=FB.00100100B、11011011B D.(A ?B) =F(17)二进制数10101010B 与00000000BC.10100100B、11011011B的“与”、“或”和“异或”结果是D.11011011B、11011100B______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15.定时计数器T0作定时应用技术(一)
1.实验任务
用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始。
硬件电路如下图所示
2.电路原理图
图4.15.1
3.系统板上硬件连线
(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:
P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:
P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
4.程序设计内容
AT89S51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。
只要通过设置特殊功能寄存器TMOD,即可完成。
定时/计数器何时工作也是通过软件来设定TCON 特殊功能寄存器来完成的。
现在我们选择16位定时工作方式,对于T0来说,最大定时也只有65536us,即65.536ms,无法达到我们所需要的1秒的定时,因此,我们必须通过软件来处理这个问题,假设我们取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时。
对于这20次我们就可以采用软件的方法来统计了。
因此,我们设定TMOD=00000001B,即TMOD=01H
下面我们要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算出
TH0=(216-50000)/ 256
TL0=(216-50000)MOD 256
当T0在工作的时候,我们如何得知50ms的定时时间已到,这回我们通过检测TCON特殊功能寄存器中的TF0标志位,如果TF0=1表示定时时间已到。
5.程序框图
7.C语言源程序(查询法)#include <AT89X51.H>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00};
unsigned char second;
unsigned char tcount;
void main(void)
{ TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
tcount=0;
second=0;
P0=dispcode[second/10];
P2=dispcode[second%10];
while(1)
{ if(TF0==1)
{ tcount++;
if(tcount==20)
{ tcount=0;
second++;
if(second==60)
{ second=0; }
P0=dispcode[second/10];
P2=dispcode[second%10]; }
TF0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
}
}
2.C语言源程序(中断法)
#include <AT89X51.H>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00};
unsigned char second;
unsigned char tcount;
void main(void)
{ TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
tcount=0;
second=0;
P0=dispcode[second/10];
P2=dispcode[second%10];
while(1);
}
void t0(void) interrupt 1 using 0
{ tcount++;
if(tcount==20)
{ tcount=0;
second++;
if(second==60)
{ second=0; }
P0=dispcode[second/10];
P2=dispcode[second%10]; }
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}。