89C51单片机课件第6章

合集下载

AT89C51单片机学习课件PPT课件

AT89C51单片机学习课件PPT课件

矩阵键盘输入
{ while(t--);
矩阵键盘输入
}
void key_scan() //扫描函数
矩阵键盘输入
01
{
02
uchar i,j,k;
03
for(i = 0;i < 8;i) //行扫描w = ~i & 0x01; //置行线为高电平
for( j = 0x3f;j > 0;j--) //列扫描
单片机的发展历程
总结词
单片机的发展历程可以分为三个阶段,即单片机起源、单片机发展和单片机智能化。
详细描述
单片机起源于20世纪70年代,最初的单片机是4位或8位的,只能完成简单的控制功能。随着技术的发展,单片 机逐渐发展为16位、32位等更高位数的微处理器,功能也越来越强大。现在,单片机已经进入了智能化阶段,具 有更强的数据处理能力和更丰富的外设接口,如WiFi、蓝牙等通信接口。
delay(1000); //延时,控制数码管亮灭时间
DIG5=0;DIG6=0;DIG7=0;DIG8=1; //位选码 设置,显示数字“2”的第五位
数码管显示
• delay(1000); //延时,控制数码管亮灭时间
数码管显示
} } ```
矩阵键盘输入
矩阵键盘原理
矩阵键盘是一种常用的键盘输入方式,通过行和列的交叉连接,实现多个按键的识别。 AT89C51单片机可以通过扫描行和列的值,判断哪个按键被按下。
AT89C51单片机学习课件
• 简介 • 硬件结构 • 软件编程 • 应用实例 • 常见问题与解决方案
01
简介
单片机的定义
总结词
单片机是一种集成电路芯片,集成了微处理器、存储器、输入输出接口等,具有完整的计算机系统功 能。

AT89C51单片机综合设计PPT课件

AT89C51单片机综合设计PPT课件

硬件连接
将LED灯的正极连接到单片机的I/O口,负 极接地。
软件编程
使用C语言编写程序,通过循环语句控制I/O 口的电平状态,实现LED的闪烁。
实现效果
LED灯按照设定的频率快速闪烁,可实现基 本的信号指示功能。
实例二:按键输入
按键输入原理
通过检测AT89C51单片机的I/O口电平变化, 判断是否有按键按下。
单片机广泛应用于智能仪表、工业控制、智能家居、消费电子等领域。
AT89C51单片机特性
8位处理器
AT89C51单片机采用8位处理器 ,可处理8位二进制数据。
Flash存储器
AT89C51单片机内部集成了 Flash存储器,可用于程序存储 和数据存储。
丰富的I/O接口
AT89C51单片机具有丰富的输 入/输出接口,可连接各种外设 。
应用拓展
未来,AT89C51单片机将在物联网、智能制造、人工智能等领域 发挥更大的作用,为智能化生活提供更多便利。
开发环境与工具
随着开发环境和工具的不断完善,AT89C51单片机的开发将更加 便捷高效。
课程建议与展望
课程内容
在未来的课程中,应加强对AT89C51单片机的原理、外设接口、 开发工具等方面的介绍,以便学生更好地理解和应用。
软件编程
使用C语言编写程序,通过检测I/O口的电平 状态变化,判断是否有按键按下。
硬件连接
将按键的一端连接到单片机的I/O口,另一 端接地。
实现效果
当按键被按下时,程序会检测到电平变化并 执行相应的操作,实现人机交互功能。
实例三:数码管显示
数码管显示原理
通过控制数码管的各个段(a-g)的亮灭,显示数字或字符。
实践环节

AT89C51单片机学习课件

AT89C51单片机学习课件

AT89C51 ATMEL
FLASH型
87C51
EPROM型
P1口 P3口 RXD TXD /INT0 /INT1 P2口 T0 T1 /WR /RD GND
返回
返回上一次
1.4 MCS-51单片机的存储器的配置
1.4.0 MCS-51单片机的存储器的配置特点 1.4.1 程序存储器(片内与片外)
美国Microchip公司生产的PIC单片机等产品就是这类产品 的代表,实际上PIC单片机也称为“嵌入式微控制器”, 如PIC16F877等。 返回
嵌入式计算机系统
人们在工业控制、家电产品、智能仪表、汽车电子等领域 进行智能化设计时,将嵌入到被控制对象(如:家电、汽 车、机床等)中的、已经失去了原有的计算机形态及功能 的专用计算机称之为“嵌入式计算机系统”。 在这些被控制对象中,往往要求嵌入式计算机系统要有极 小的体积和极低的成本,要有极小的功耗和较高的可靠性。 而这些又恰恰是通用计算机无法作到的。因此以单片机为 代表的嵌入式计算机系统(也称嵌入式微控制器)极大的 满足了这种市场的需求。反过来,市场的需要也迫使单片 机去不断完善、发展,使其分类越来越细,品种越来越多。
P3.0 – P3.7 P3端口线 (10 – 17脚): P3口除了做通用的I/O端口外,同时它还有第二功 能),负载能力为4个TTL。
P3口第二功能表
口线 P3.0 P3.1 定义 RXD TXD 说明 串行数据输入口 串行数据输出口 口线 P3.4 P3.5 定义 T0 T1 说明 计数器0外部输入信号 计数器1外部输入信号
引脚图 时序图
4,并行输入输出端口引脚(P0-P3)
P0.0 - P0.7 P0端口线(39-32脚):输出能力最强的端口,

第六章89C51串行口及串行通信技术PPT课件

第六章89C51串行口及串行通信技术PPT课件

写入SBUF
TXD 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
写入SBUF
2
TI(中断标志) TXD 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止位
6.1 串行通信基础知识
6.1.1.数据通信的概念
并行通信和串行通信
并行通信是指数据的各位同时进行传送(发送或接收)的 通信方式。其优点是传递速度快;缺点是数据有多少位, 就需要多少根传送线。并行通信在位数多、传送距离又远 时就不太适宜。
6.1.2.串行通讯的传输方式
(l)单工方式 ●信息只能沿一个方向传输,而不能沿相反方向传输。
(2)半双工方式 ●信息可以沿着两个方向传输,但在指定时刻,信息只 能沿一个方向传输。
(3)全双工方式 ●信息可以同时沿着两个方向传输。
传输方式
单工
4
半双工
全写入SBUF双工
TXD 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
通常,异步通信的波特率为50~9600bit/s。 异步通信的优点是不需要传送同步时钟,字符
帧长度不受限制,故设备简单。缺点是字符帧 中因包含起始位和停止位而降低了有效数据的 传输速率。
写入SBUF
TXD 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止
写入SBUF
9
TI(中断标志) TXD 起始 D0 D1 D2 D3 D4 D5 D6 D7 停止位
(1)异步通信
异步通信用起始位0表示字符的开始,然后从低位到高位 逐位传送数据,最后用停止位1表示字符结束,如后图所 示。一个字符又称一帧信息。图中,一帧信息包括1位起 始位、8位数据位和1位停止位,图中,数据位增加到9位。 在C8051F单片机系统中,第9位数据D8可以用作奇偶校验 位,也可以用作地址/数据帧的标识位,D8=1表示该帧 信息传送的是地址,D8=0表示传送的是数据。两帧信息 之间可以无间隔,也可以有间隔,且间隔时间可任意改变, 间隔用空闲位“1”来填充。

第6章 MCS-51单片机系统扩展技术

第6章  MCS-51单片机系统扩展技术

6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1

89c51单片机李朝青版第6章课后习题答案

89c51单片机李朝青版第6章课后习题答案
MOV TL1,#78H
SETB TR1 ;启动T1定时
LOOP2:JBC TF1,L1 ;查询10ms时间到?时间到,转L1
SJMP LOOP2 ;时间未到,转LOOP2,继续查询
9、一个定时器定时时间有限,如何实现两个定时器的串行定时以满足较长定时时间的要求?
答:当一个定时器溢出时,设置另一个定时器的初值为0开始定时。
SJMP LOOP2 ;时间未到,转LOOP2,继续查询
14、已知89C51单片机的fosc=12MHz,用T1定时。试编程由P1.0和P1.1引脚分别输出周期为2ms和500μs的方波。
解:采用模式0作定时初值:
所以
MOV R2,#04H ;R2为“250μs”计数器,置入初值4
CLR P1.0 ;P1.0输出低电平
第6章习题答案
1、定时器模式2有什么特点?适用于什么场合?
答:
(1)模式2把TL0(或TL1)配置成一个可以自动重装载的8位定时器/计数器。TL0计数溢出时不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。
(2)用于定时工作方式时间(TF0溢出周期)为,用于计数工作方式时,最大计数长度(TH0初值=0)为28=256个外部脉冲。
模式0:
T0低5位11000B=18H
T0高8位:01100011B=63H
模式1:
模式2:在此情况下最长定时为512μs,无法一次实现定时10ms,可用0.1ms循环100次
16、89C51单片机的定时器在何种设置下可提供三个8位计数器定时器?这时,定时器1可作为串行口波特率发生器。若波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s来考虑,则此时可选用的波特率是多少(允许存在一定误差)?设fosc=12MHz。

第6章 89c51系列单片机的扩展

第6章 89c51系列单片机的扩展

74LS373,直接从P0口送到数据总线上。
2. 最小系统工作时序
如下图所示:
一个机器周期 S1 ALE
一个机器周期
S2 S3
S4
S5
S6
S1
S2 S3
S4
S5
S6
PSEN
P2 PCH输出
PCH输出
PCH输出
PCH输出
PCH输出
PCH输出
输入
PCL
输出
指令 输入
PCL
输出
指令 输入
PCL
输出
指令 输入
PCL
输出
PCL输出有效
PCL输出有效
PCL输出有效
PCL输出有效
最小系统的工作时序
PCL 输出 有效
P2口送PCH 信息,P0口送PCL 信息和输 入指令。在每一个Tcy中,ALE两次有效, PSEN两次有效。ALE第一次发生在S1P2和 S2P1期间,在S2状态周期内,ALE下降沿将P0 口低8位地址信息PCL锁入74LS373。在S4状 态周内,PSEN上升沿将指令读入CPU。
VppVccCE GND
A7 A8 23 22 A10 19
I/O
74LS373 8Q 8D
GND G OE
A0
2716
28 39 O0 . . O7 OE 20
32
P0口具有分时传送低8位地址和8位数据 信息的复用功能。通过ALE信号与地址锁存
器配合使用,从而使得地址信息和数据信息
区分开。
工作原理如下:
2. 具体应用
使用单片E2PROM扩展外部程序存储器
一 片 2864E2PROM 和 地 址 锁 存 器
74LS373构成MCS-51系列单片机中8031

89c51单片机

89c51单片机

89C51/89C52/89C54/89C5880C51 8-bit microcontroller family 4K/8K/16K/32K FlashSCON Address = 98H Reset Value = 0000 0000BSM0/FESM1SM2REN TB8RB8Tl Rl Bit Addressable(SMOD0 = 0/1)*Symbol FunctionFE Framing Error bit. This bit is set by the receiver when an invalid stop bit is detected. The FE bit is not cleared by valid frames but should be cleared by software. The SMOD0 bit must be set to enable access to the FE bit.SM0Serial Port Mode Bit 0, (SMOD0 must = 0 to access bit SM0)SM1Serial Port Mode Bit 1SM0SM1Mode Description Baud Rate**000shift register f OSC /120118-bit UART variable1029-bit UART f OSC /64 or f OSC /321139-bit UARTvariableSM2Enables the Automatic Address Recognition feature in Modes 2 or 3. If SM2 = 1 then Rl will not be set unless the received 9th data bit (RB8) is 1, indicating an address, and the received byte is a Given or Broadcast Address.In Mode 1, if SM2 = 1 then Rl will not be activated unless a valid stop bit was received, and the received byte is a Given or Broadcast Address. In Mode 0, SM2 should be 0.REN Enables serial reception. Set by software to enable reception. Clear by software to disable reception.TB8The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as desired.RB8In modes 2 and 3, the 9th data bit that was received. In Mode 1, if SM2 = 0, RB8 is the stop bit that was received. In Mode 0, RB8 is not used.Tl Transmit interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or at the beginning of the stop bit in the other modes, in any serial transmission. Must be cleared by software.RlReceive interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or halfway through the stop bit time in the other modes, in any serial reception (except see SM2). Must be cleared by software.NOTE:*SMOD0 is located at PCON6.**f OSC = oscillator frequencySU00043Bit:7654321Figure 7. SCON: Serial Port Control Register89C51/89C52/89C54/89C5880C51 8-bit microcontroller family 4K/8K/16K/32K FlashPX0IP (0B8H)Priority Bit = 1 assigns higher priority Priority Bit = 0 assigns lower priorityBIT SYMBOL FUNCTIONIP .7—Not implemented, reserved for future use.IP .6—Not implemented, reserved for future use.IP .5PT2Timer 2 interrupt priority bit.IP .4PS Serial Port interrupt priority bit.IP .3PT1Timer 1 interrupt priority bit.IP .2PX1External interrupt 1 priority bit.IP .1PT0Timer 0 interrupt priority bit.IP .0PX0External interrupt 0 priority bit.SU00572PT0PX1PT1PSPT2——01234567Figure 11. IP RegistersPX0HIPH (B7H)Priority Bit = 1 assigns higher priority Priority Bit = 0 assigns lower priorityBIT SYMBOL FUNCTIONIPH.7—Not implemented, reserved for future use.IPH.6—Not implemented, reserved for future use.IPH.5PT2H Timer 2 interrupt priority bit high.IPH.4PSH Serial Port interrupt priority bit high.IPH.3PT1H Timer 1 interrupt priority bit high.IPH.2PX1H External interrupt 1 priority bit high.IPH.1PT0H Timer 0 interrupt priority bit high.IPH.0PX0HExternal interrupt 0 priority bit high.SU01058PT0HPX1HPT1HPSHPT2H——01234567Figure 12. IPH Registers89C51/89C52/89C54/89C5880C51 8-bit microcontroller family 4K/8K/16K/32K FlashPLCC44:plastic leaded chip carrier; 44 leadsSOT187-289C51/89C52/89C54/89C5880C51 8-bit microcontroller family 4K/8K/16K/32K FlashDIP40:plastic dual in-line package; 40 leads (600 mil)SOT129-189C51/89C52/89C54/89C5880C51 8-bit microcontroller family 4K/8K/16K/32K FlashQFP44:plastic quad flat package; 44 leads89C51/89C52/89C54/89C5880C51 8-bit microcontroller family4K/8K/16K/32K FlashNOTES89C51/89C52/89C54/89C5880C51 8-bit microcontroller family4K/8K/16K/32K FlashDefinitions Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For detailed information see the relevant data sheet or data handbook.Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended periods may affect device reliability.Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or modification.DisclaimersLife support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application.Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified.Philips Semiconductors811 East Arques AvenueP .O. Box 3409Sunnyvale, California 94088–3409Telephone 800-234-7381© Copyright Philips Electronics North America Corporation 1999All rights reserved. Printed in U.S.A.Date of release: 10-99This datasheet has been downloaded from:Free DownloadDaily Updated Database100% Free Datasheet Search Site100% Free IC Replacement Search SiteConvenient Electronic DictionaryFast Search SystemAll Datasheets Cannot Be Modified Without PermissionCopyright © Each Manufacturing Company。

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

省去用户软件中重装初值的程序,精确的定时。 省去用户软件中重装初值的程序,精确的定时。 方式3 6.2.4 方式3 增加一个附加的 位定时器/计数器,从而具有3 增加一个附加的8位定时器/计数器,从而具有3个定 附加 时器/计数器。 时器/计数器。
只适用于定时器/计数器T0。T1不能工作在方式3 只适用于定时器/计数器T0。T1不能工作在方式3, T0 不能工作在方式 T1方式3时相当于TR1=0,停止计数(此时T1可用来 T1方式3时相当于TR1=0,停止计数(此时T1可用来 方式 TR1=0 T1 作串行口波特率产生器)。 作串行口波特率产生器)。 1.工作方式3下的T0 工作方式3下的T0 T0分为两个独立的8位计数器:TL0和 TL0使用 T0分为两个独立的8位计数器:TL0和TH0 。TL0使用 分为两个独立的 T0的状态控制位 的状态控制位C/T GATE、TR0、, TH0被固 、,而 T0的状态控制位C/T*、GATE、TR0、,而TH0被固 定为一个8位定时器(不能作外部计数模式), ),并 定为一个8位定时器(不能作外部计数模式),并 使用定时器T1的状态控制位TR1 TF1, T1的状态控制位TR1和 使用定时器T1的状态控制位TR1和TF1,同时占用 定时器T1的中断请求源TF1 T1的中断请求源TF1。 定时器T1的中断请求源TF1。 各引脚与T0的逻辑关系如图所示: 各引脚与T0的逻辑关系如图所示: T0的逻辑关系如图所示
;调用子程序PT0M0 调用子程序PT0 PT ;自身跳转 中断服务程序, ;T0中断服务程序,T0重新置初值
;启动T0 启动T 允许T ;允许T0中断 CPU开中断 ;CPU开中断
;T0中断服务子程序,T0置初值 T0中断服务子程序,T0置初值 中断服务子程序
;P1.0的状态取反
查询方式的参考程序: 查询方式的参考程序:
PT0 ACALL PT0M0 HERE: HERE: AJMP HERE PT0 TL0,#0 PT0M0: MOV TL0,#0CH TH0,#0 MOV TH0,#0FEH TR0 SETB TR0 ET0 SETB ET0 SETB EA RET ITOP: MOV TL0,#0CH TH0,#0 MOV TH0,#0FEH CPL P1.0 RETI
定时器/计数器的4 6.2 定时器/计数器的4种工作方式 方式0 6.2.1 方式0 M1、M0为 定时器/计数器的框图: M1、M0为00 ,定时器/计数器的框图:
位决定工作模式: 为13位的计数器 ,C/T* 位决定工作模式: 13位的计数器 0:开关打在上面,为定时器工作模式; 开关打在上面,为定时器工作模式; 1:开关打在下面,为计数器工作模式,计数脉 开关打在下面,为计数器工作模式, 冲为P3.4 P3.5引脚上的外部输入脉冲 P3.4、 引脚上的外部输入脉冲, 冲为P3.4、P3.5引脚上的外部输入脉冲,当引脚上 发生负跳变时,计数器加1 发生负跳变时,计数器加1。 GATE位 决定定时器/计数器的运行取决于TRX一个条 GATE位:决定定时器/计数器的运行取决于TRX一个条 TRX 件还是TR 引脚两个条件。 件还是TRX和INTX*引脚两个条件。 见图6 是否计数,仅取决于TR (1)0:A点(见图6-2)是否计数,仅取决于TRX的状 态。 点电位由INTX 的输入电平和TRX TRX的状态这两 (2)1:B点电位由INTX*的输入电平和TRX的状态这两 个条件来确定。 是否计数是由TR 个条件来确定 。 是否计数是由 TRX 和 INTX* 二个条件 来控制的。 来控制的。
(2)初始化程序设计 (2)初始化程序设计
主要是对寄存器IP、IE、TCON、TMOD的相应位进行正 主要是对寄存器IP、IE、TCON、TMOD的相应位进行正 IP 确设置,将计数初值送入定时器中。 确设置,将计数初值送入定时器中。 (3)程序设计 (3)程序设计 中断服务程序除了完成要求的产生方波这一工作之外, 中断服务程序除了完成要求的产生方波这一工作之外, 还要注意将计数初值重新装入定时器中, 还要注意将计数初值重新装入定时器中,为下一次 产生中断作准备。 产生中断作准备。 参考程序: 参考程序:
单片机复位时,两个寄存器的所有位都被清0。 单片机复位时,两个寄存器的所有位都被清0 工作方式控制寄存器TMOD 6.1.1 工作方式控制寄存器TMOD
8位分为两组,高4位控制T1,低4位控制T0。 位分为两组, 位控制T1, T1 位控制T0。 T0 GATE——门控位 (1)GATE 门控位 TRX(X=0,1)来启动定时器/计数器运行。 0:以TRX(X=0,1)来启动定时器/计数器运行。 用外中断引脚(INT0 INT1 上的高电平和TRX 1:用外中断引脚(INT0*或INT1*)上的高电平和TRX 来启动定时器/计数器运行。 来启动定时器/计数器运行。 (2)M1、M0——工作方式选择位 M1 M0 工 作 方 式 方式0 13位定时器 计数器。 位定时器/ 0 0 方式0,13位定时器/计数器。 方式1 16位定时器 计数器。 位定时器/ 0 1 方式1,16位定时器/计数器。 方式2 1 0 方式2,8位常数自动重新装载 方式3 仅适用于T 分成两个8 1 1 方式 3 , 仅适用于 T0,T0 分成两个 8 位计数器, 停止计数。 位计数器,T1停止计数。 (3) C/T*——计数器模式和定时器模式选择位
89C51的定时器 的定时器/ 第6章 89C51的定时器/计数器
两个可编程的定时器/计数器T1、T0。 两个可编程的定时器/计数器T1、T0。 T1 两种工作模式: 两种工作模式: (1)计数器工作模式 (2)定时器工作模式 种工作方式(方式0 方式3) 3)。 4种工作方式(方式0-方式3)。 定时器/ 6.1 定时器/计数器的结构 TMOD:选择定时器/计数器T0、T1的工作模式和工作 TMOD:选择定时器/计数器T0、T1的工作模式和工作 T0 方式。 方式。 TCON:控制T0 T1的启动和停止计数 T0、 的启动和停止计数, TCON:控制T0、T1的启动和停止计数,同时包含了 T0、T1的状态 的状态。 T0、T1的状态。
定时器/ 6.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,由于方式0 种工作方式中,方式0与方式1基本相同,由于方式0 是为兼容MCS 48而设 初值计算复杂, MCS- 而设, 是为兼容MCS-48而设,初值计算复杂,在实际应用 一般不用方式0 而采用方式1 中,一般不用方式0,而采用方式1。 方式1 6.4.1 方式1应用 假设系统时钟频率采用6MHz,要在P1.0 P1.0上输出 例6-1 假设系统时钟频率采用6MHz,要在P1.0上输出 一个周期为2ms的方波 如图所示。 的方波, 一个周期为2ms的方波,如图所示。
;接通T0 接通T ;T0置初值
;查询TF0标志 查询TF0 TF 溢出,关闭T ;T0溢出,关闭T0 ;P1.0的状态求反
假设系统时钟为 MHz, 编写定时器T 产生1 系统时钟为6 例 6 - 2 假设 系统时钟为 6 MHz, 编写定时器 T0 产生 1 秒 定时的程序。 定时的程序。 (1)T0工作方式的确定 因定时时间较长,采用哪一种工作方式? 因定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 由各种工作方式的特性,可计算出: 方式0最长可定时16 384ms 16. ms; 方式0最长可定时16.384ms;
方波的周期用T0来确定, T0每隔1ms计数溢出1 方波的周期用T0来确定,让T0每隔1ms计数溢出1次, T0来确定 每隔 计数溢出 T0每隔 ms产生一次中断 CPU相应中断后 每隔1 产生一次中断, 相应中断后, 既T0每隔1ms产生一次中断,CPU相应中断后,在中 断服务程序中对P1.0取反。 P1.0取反 断服务程序中对P1.0取反。 (1)计算初值X (1)计算初值X 计算初值 设初值为X 则有: 设初值为X,则有: (216-X)×2×10-6=1×10-3 X)× X=500 X=65036 216-X=500 X=65036 X化为16进制,即X=FE0CH=1111111000001100B。 化为16进制, X=FE0CH=1111111000001100B 16进制 1111111000001100 所以, 的初值为: 所以,T0的初值为: TH0 TH0=0F工作方式 . 工作在方式 工作在方式3下 的各种工作方式 T1用作串行口的波特率发生器时 用作串行口的波特率发生器时, T0才工作在方 当T1用作串行口的波特率发生器时, T0才工作在方 式3。T0处于方式3时, T1可定为方式0、方式1和 T0处于方式3 T1可定为方式0 方式1 处于方式 可定为方式 方式2 用来作为串行口的波特率发生器, 方式2,用来作为串行口的波特率发生器,或不需 要中断的场合。 要中断的场合。 T1工作在方式 工作在方式0 (1)T1工作在方式0
ORG 0000H 0000H RESET: RESET: AJMP MAIN 000BH ORG 000BH IT0 AJMP IT0P 0100H ORG 0100H MAIN: SP,#60 60H MAIN: MOV SP,#60H TMOD,#01H MOV ;转主程序 ;T0的中断入口 中断处理程序IT IT0 ;转T0中断处理程序IT0P ;设堆栈指针 设置T0为方式1 T0为方式 ;设置T0为方式1
MOV TMOD,#01H ;设置T0为方式1 设置T0为方式1 T0为方式
SETB LOOP: LOOP: MOV MOV LOOP1:JNB LOOP1 CLR CPL SJMP
TR0 TR0 TH0,#0 TH0,#0FEH TL0 TL0,# 0CH TF0,LOOP1 TF0,LOOP1 TR0 TR0 P1.0 LOOP
0:定时器模式。 定时器模式。 计数器模式。 1:计数器模式。 定时器/计数器控制寄存器TCON 6.1.2 定时器/计数器控制寄存器TCON
低4位与外部中断有关,已介绍。高4位的功能如下: 位与外部中断有关,已介绍。 位的功能如下: TF1、TF0——计数溢出标志位 (1) TF1、TF0 计数溢出标志位 TR1、TR0——计数运行控制位 (2) TR1、TR0 计数运行控制位 1:启动定时器/计数器工作 启动定时器/ 停止定时器/ 0:停止定时器/计数器工作
相关文档
最新文档