一单片机的概念二单片机的结构组成

上传人:人*** 文档编号:578332394 上传时间:2024-08-24 格式:PPT 页数:58 大小:871.54KB
返回 下载 相关 举报
一单片机的概念二单片机的结构组成_第1页
第1页 / 共58页
一单片机的概念二单片机的结构组成_第2页
第2页 / 共58页
一单片机的概念二单片机的结构组成_第3页
第3页 / 共58页
一单片机的概念二单片机的结构组成_第4页
第4页 / 共58页
一单片机的概念二单片机的结构组成_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《一单片机的概念二单片机的结构组成》由会员分享,可在线阅读,更多相关《一单片机的概念二单片机的结构组成(58页珍藏版)》请在金锄头文库上搜索。

1、一、单片机的概念一、单片机的概念一、单片机的概念一、单片机的概念二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成回顾时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器2024/8/241、RAM PSW也称为标志寄存器,存放各有关标志 CyCy 进位标志进位标志。 用于表示用于表示Acc.7Acc.7有否向更高位进位。有否向更高位进位。 ACAC 辅助进位标志辅助进位标志。 用于表示用于表示Acc.3Acc.3有否向有否向Acc.4Acc.4进位。进位。RS1、RS0 工作寄存器区选择控制位。工作寄存

2、器区选择控制位。 OV 溢出标志。溢出标志。表示表示AccAcc中中“1 1”的个数的奇偶性。的个数的奇偶性。 P 奇偶标志。奇偶标志。表示表示AccAcc中中“1 1”的个数的奇偶性。的个数的奇偶性。 F0 、F1 用户标志。用户标志。2024/8/242、ROM3、时钟电路、时钟电路 与复位电路与复位电路(周期概念与计算(周期概念与计算)4、I/O21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34VccV1V2二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成2024/8/242、ROM

3、3、时钟电路、时钟电路 与复位电路与复位电路(周期概念与计算、(周期概念与计算、P26、P29图图)二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成二、单片机的结构组成P1P2S1P2振荡周期状态周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P22024/8/24三、指令系统三、指令系统三、指令系统三、指令系统1、51汇编及格式汇编及格式2、寻址方式、寻址方式标号:标号:标号:标号:操作码操作码操作码操作码操作数或操作数地址操作数或操作数地址操作数或操作数地

4、址操作数或操作数地址;注释;注释;注释;注释寄存器寻址直接寻址立即数寻址寄存器间接寻址变址寻址相对寻址位寻址2024/8/243 3、MCS-51MCS-51的指令的指令的指令的指令数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作指令 (17条)2024/8/24回顾 数据传送指令(数据传送指令(2929条)条)MOV(MOV(A A RnRn RiRi direct DPTR ,16 direct DPTR ,16)MOVX()MOVX(4 4 )MOVC()MOVC(2 2) )XCH(XCH(3 3) )XCHDXCHD(1 1)SWAP()

5、SWAP(1 1) )PUSHPOP(PUSHPOP(2 2) ) 算术运算指令(算术运算指令(2424条)条)ADDADD、ADDCADDC、SUBB(SUBB(A, A, RnRn RiRi direct #DATA,12 direct #DATA,12)DAA()DAA(1 1) )INCDEC(INCDEC(A A RnRn RiRi direct DPTR, direct DPTR, 9 9) )MULDIV(MULDIV(2 2) ) 逻辑运算指令(逻辑运算指令(2424条)条)ANLORLXRLANLORLXRL ( (A, A, RnRn RiRi direct #DATA;

6、direct, A #DATA direct #DATA; direct, A #DATA) )CPLCLRRRRLRRCRLCCPLCLRRRRLRRCRLC ( (A A) )2024/8/24控制转移控制转移(1717条)条)AJMPAJMP、SJMPSJMP、LJMPLJMPJMPJMPJZJZ、JNZJNZ、CJNECJNE、DJNZDJNZACALLACALL、LCALLLCALL、RETRET、RETIRETI、NOPNOP位操作位操作(1717条)条)MOVMOVCLRCLR、SETBSETB、CPLCPLANLANL、ORLORLJCJC、JBJB、JNBJNB、JNCJNC

7、、JBCJBC2024/8/244 4、程序程序程序程序设计设计设计设计伪指令伪指令伪指令伪指令简单程序简单程序简单程序简单程序分支程序分支程序分支程序分支程序循环程序循环程序循环程序循环程序查表程序查表程序查表程序查表程序子程序(堆栈)子程序(堆栈)子程序(堆栈)子程序(堆栈)2024/8/24中断的基本概念中断的基本概念中断的基本概念中断的基本概念MCS-51MCS-51的中断系统的中断系统的中断系统的中断系统 中断寄存器中断寄存器中断寄存器中断寄存器IEIE、IPIP、TCONTCON、SCONSCON 5 5个中断源自然优先级个中断源自然优先级个中断源自然优先级个中断源自然优先级 5

8、5个中断源入口地址个中断源入口地址个中断源入口地址个中断源入口地址中断的处理过程中断的处理过程中断的处理过程中断的处理过程 关、开中断的原因关、开中断的原因关、开中断的原因关、开中断的原因外部中断源的扩展与撤除外部中断源的扩展与撤除外部中断源的扩展与撤除外部中断源的扩展与撤除 中断的扩展中断的扩展中断的扩展中断的扩展 中断的撤除中断的撤除中断的撤除中断的撤除中断的初中断的初中断的初中断的初始化与应用始化与应用始化与应用始化与应用5、中断技术2024/8/24IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0IE1TF1T0T1TIRITXDRXDESE

9、T0EX0EX1ET1EA自自然然优优先先级级矢量地址高高级级中中断断请请求求自自然然优优先先级级矢量地址低低级级中中断断请请求求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中断系统结构图的中断系统结构图中断标志位中断源允许总允许中断优先级2024/8/24回顾TF1 TF0 IE1IT1IE0IT076543210 TR1 TR0TCON88HTIRISCON98H76543210IEA8HEAESET1EX1 ET0EX076543210PSPT1PX1PT0PX0IPB8H765432102024/8/24 关中断关中断保护现场保护现场中断服务中断服务 开中断开中断

10、 关中断关中断恢复现场恢复现场 开中断开中断中断返回中断返回断点地址由堆栈弹入断点地址由堆栈弹入PC保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。中断服务程序硬件自动完成2024/8/24撤除外部电平请求信号的方案(参见P148图5-6) MCS-51INTXP1 .0D QCP S外部设备D型触发器CLR P1.0SETB P1.0中断服务程序RETI服务程序主体硬件电路部分返回本节目录 ANL P1,#0FEHORLP1,#01H2024/8/241中断和查询相结合一个外中断扩展成多个外中断的原理图2024/8/

11、24延延时时程程序序设设计计1 1S S延时程序延时程序源程序:源程序:DELAY: MOV R2, #10 DEL2: MOV R3, #100DEL1: MOV R4,#125(7DH)DEL0: NOP NOP DJNZ R4,DEL0 DJNZ R3,DEL1 DJNZ R2, DEL2 RET1 1S S延时程序延时程序 1)如何精确计算参数?2)理解多重循环2024/8/24结构与原理结构与原理结构与原理结构与原理寄存器和控制寄存器寄存器和控制寄存器寄存器和控制寄存器寄存器和控制寄存器工作方式工作方式工作方式工作方式初始化初始化初始化初始化编程和应用编程和应用编程和应用编程和应用第

12、第章章定定时时器器与与计计数数器器 定时器定时器/计数器计数器Single Chip MicrocomputerSingle Chip Microcomputer2024/8/241 1、定时器、定时器、定时器、定时器的作用的作用的作用的作用2 2、定时器、定时器、定时器、定时器的结构的结构的结构的结构3 3、定时器、定时器、定时器、定时器的工作原理的工作原理的工作原理的工作原理一、结构与原理2024/8/24 定时定时/ /计数器是一种应用非常广泛的逻辑计数器是一种应用非常广泛的逻辑电路,它可以完成两种不同的方式工作电路,它可以完成两种不同的方式工作-“-“定时定时”、“计数计数”。1、结构

13、定时器的作用2024/8/241 1)定时)定时: :产生一个标准的时间间隔产生一个标准的时间间隔; ;如如20mS,100mS20mS,100mS或或1000mS1000mS等等. .单片机使用这种方式可以产生一个单片机使用这种方式可以产生一个符合某一要求的脉冲方波符合某一要求的脉冲方波( (如下图如下图) )。2 2)计数)计数:对外部的事件对外部的事件( (脉冲脉冲) )进行统计进行统计. .很明显外很明显外部事件的发生是随机的部事件的发生是随机的, ,单片机不可能预知外部单片机不可能预知外部事件何时发生事件何时发生, ,但可以进行统计但可以进行统计, ,当达到所要求当达到所要求的数值时

14、的数值时, ,单片机进行相应的操作。单片机进行相应的操作。20mS40mS1、结构定时器的作用2024/8/242、单片机内部方框图 时钟电路4KROM程序存储器256BRAM数据存储器2X16位定时/计数器CPU处理器64KB总线扩展控制器可编程I/O端口P0-3可编程串行口2024/8/242024/8/242、单片机定时、单片机定时/计数器的结构计数器的结构图6-1 80C51定时器/计数器逻辑结构图2024/8/24定时定时/ /计数器的工作原理:计数器的工作原理:N位计数器构成了电路的核心。定时,计数两种方式的区别在于计数器的脉冲来源.初值寄存器是用来设定“定时/计数的具体参数” (

15、1 1):何时控制启动计数?):何时控制启动计数?(2 2):如何控制定时还是计数?):如何控制定时还是计数?(3 3):如何控制定时):如何控制定时/ /计数的长短?计数的长短?N位+1计数器TFN位初值寄存器系统内部时钟fosc/12启动控制TR外部脉冲定时/计数控制C/T计数器溢出中断信号返回计数脉冲CP3、单片机定时、单片机定时/计数器的工作原理计数器的工作原理2024/8/241)每过一个机器周期,计数器增1,直至计满溢出(12分频分频)2)定时器的定时时间与系统的振荡频率紧密相关3)MCS-51单片机的一个机器周期由12个振荡脉冲组成如果晶振频率为12MHZ,则:(1)定时)定时S

16、1S2S6S5S4S3机器周期1检测S1S2S6S5S4S3计数机器周期2ALE检测2024/8/24(2)计数)计数P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXDP3.010TXDP3.111INT0P3.212INT1P3.313T0P3.414T1P3.515WRP3.616RDP3.717XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0

17、.237P0.138P0.039VCC40803180518751S1S2S6S5S4S3机器周期1检测S1S2S6S5S4S3计数机器周期2ALE检测2024/8/24GATE 选通门选通门:GATE=0时时,只要只要TR=1,计数器就开始工作;计数器就开始工作; GATE=1时时,只有只有INT脚和脚和TR同时为同时为“1”时时,计数器才开始工作。计数器才开始工作。C/T 计数、定时方式选择位计数、定时方式选择位:C/T=1时时,计数,计数器的计数脉冲来自计数,计数器的计数脉冲来自T0或或T1引脚的外部事件;引脚的外部事件;C/T=0时时:定时,计数脉冲来自内部震荡频率定时,计数脉冲来自内

18、部震荡频率fosc的的12分频。分频。M1 、M0 模式选择模式选择:分别对应四种模式:分别对应四种模式:二、寄存器和控制寄存器GATEC/TM1M0GATEC/TM1M0定时/计数器1定时/计数器01 1、模式控制寄存器、模式控制寄存器TMOD(SFRTMOD(SFR的地址的地址:89H):89H)2024/8/24延延时时程程序序设设计计1 1S S延时程序延时程序源程序:源程序:DELAY: MOV R2, #10 DEL2: MOV R3, #100DEL1: MOV R4,#125(7DH)DEL0: NOP NOP DJNZ R4,DEL0 DJNZ R3,DEL1 DJNZ R2

19、, DEL2 RET1 1S S延时程序延时程序 1)如何精确计算参数?2)理解多重循环2024/8/24TF1,TF0 定时器定时器T1,T0的溢出标志的溢出标志:计数器溢出时硬件自动置计数器溢出时硬件自动置位即位即TF=1,进入中断后再由硬件自动清除进入中断后再由硬件自动清除;TR1.TR0 计数器计数器T1,T0的控制位的控制位:由软件置位由软件置位(计数器开始工计数器开始工作作)或清零或清零(计数器停止工作计数器停止工作).IE1,IE0 外部中断外部中断INT1,INT0的请求标志的请求标志:当单片机检测到当单片机检测到INT引脚上有下降沿时引脚上有下降沿时,IE=1申请中断申请中断

20、.进入中断服务程序时进入中断服务程序时,硬件自动清除硬件自动清除IE标志标志.IT1,IT0 外中断触发类型控制外中断触发类型控制:IT=1时时,外中断信号的下降沿外中断信号的下降沿出发出发IE标志标志,IT=0时时,外中断信号的低电平引发外中断信号的低电平引发IE标志标志.TF1TR1TF0TR0IE1IT1IE0IT02 2、控制寄存器、控制寄存器TCON(SFRTCON(SFR地址地址:88H):88H)二、寄存器和控制寄存器2024/8/24(1)M1和M0:方式选择位M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:

21、分成两个8位计数器定时器1:停止计数2024/8/24三、定时/计数器的四种工作模式1,1,模式模式0:130:13位计数器模式位计数器模式TH1 TL1震荡器1/12(8位)(低5位)TF1中断启动控制T1 引脚TR1GATEINT1高三位弃用C/T=0C/T=113位加1计数器GATE=0时时,TR1=1开始定时开始定时/计数计数;GATE=1时时, TR=1且且INT1=1时时,开始工作开始工作.2024/8/242,2,模式模式1 :161 :16位计数器模式位计数器模式TH1 TL1震荡器1/12(8位)(8位)TF1中断启动控制TR1GATEINT116位C/T=0C/T=113位

22、加1计数器GATE=0时时,TR1=1开始定时开始定时/计数计数;GATE=1时时, TR=1且且INT1=1时时,开始工作开始工作.2024/8/243 3、模式、模式2 : 2 : 自动重装初值模式自动重装初值模式由由TL1做计数器做计数器,TH1做初值寄存器做初值寄存器. 工作前工作前TL1,TH1分别预置相同的初分别预置相同的初值值.计数器计数器TL1工作时工作时,每当溢出产生中断的同时每当溢出产生中断的同时, 将将TH1中的初值自动重中的初值自动重装装.此模式主要用于做串行口波特率发生器使用此模式主要用于做串行口波特率发生器使用.TL1(8位)TH1(8位)震荡器1/12TF1中断控

23、制T1 引脚TR1GATEINT1C/T=1C/T=08位加1计数器8位初值寄存器2024/8/24在这种模式中在这种模式中,单片机将单片机将T0重新进行重新进行“拆分、组合拆分、组合”.将将T0变为由变为由TH0,TL0组成的两个独立的组成的两个独立的8位定时位定时/计数器计数器.TL0震荡器1/12TF0中断控制T0 引脚TR0GATEINT0C/T=0C/T=1TH0TF1中断控制TR1Fosc/12在模式3时的模式中定时器T0的结构图4,4,模式模式3 3 组合扩展模式组合扩展模式2024/8/24TL0八位定时/计数器TH0八位定时器T1(TL1,TH1)自动重装模式TF0TF1将T

24、0分解为两个计数器TL0和TH0,其中TH0借用了T1的TR1和TF1T1已无TR1,TF1功能,建议T1做波特率发生器TH0,TL0和T1三个计数器2024/8/24模式模式3时时T0(TH0,TL0)及)及T1的各自特点的各自特点:1,TH0计数脉冲来自内部fosc,所以它只能处于”定时”方式;2,TH0分别借用了定时器T1的TR1和TF1来为自己工作,使TH0能象TL0那样用TR1启动定时,并用TF1来作为TH0的溢出中断的标志;3,由于T1缺少了启动控制信号TR1和溢出中断标志TR1,那么在模式3时,T1是如何工作?没有溢出中断标志TF1,则T1就不用中断方式工作(实际上连查询也不行)

25、;没有启动控制信号TR1,可以让它在模式3之前就开始工作,并且让它事先设定为自动重装模式.4, 模式模式3就是将单片机原有的就是将单片机原有的T0,T1两个计数器变成三个独立的计数两个计数器变成三个独立的计数器器,其中其中T1要事先设定为模式要事先设定为模式2(串行口的波特率发生器串行口的波特率发生器)并启动起并启动起来。来。2024/8/24定时定时/计数器计数器4种模式比较种模式比较模模 式式计数模计数模M M 最大定时时间最大定时时间 Tmax模式模式013位位Tmax=8192*1 =8.192ms模式模式116位位Tmax=65536* 1=65.536ms模式模式2,38位位Tma

26、x=256*1 =0.256ms模模 式式计数模计数模M M 最大计数值最大计数值模式模式013位位Tmax=8192模式模式116位位Tmax=65536模式模式2,38位位Tmax=256T=(M-TC)t 其中,T: 定时时间,M: 计数器的模,TC:计数初值,t:计数器计数脉冲的周期。2024/8/24回顾1)80C51单片机内部有两个可编程定时器/计数器T0和T1。2)每个定时器/计数器有四种工作方式:方式0方式3。方式0是13位的定时器/计数器,方式1是16位的定时器/计数器,方式2是初值重载的8位定时器/计数器,方式3只适用于T0,将T0分为两个独立的定时器/计数器,同时T1可以

27、作为串行接口波特率发生器。3)不同位数的定时器/计数器其最大计数值也不同。2024/8/24四、初始化 (1) 确定工作方式对TMOD赋值。 例如赋值语句为:MOV TMOD #10HGATEC/TM1M0GATEC/TM1M0 (2) 预置初值将初值写入TH0、TL0或TH1、TL1。X = M 计数值计数计数2024/8/241)T=(TMTC)12/fOSC (s) 2)最大值 方式0时 TMmax=2131S=8.192ms 方式1时 TMmax =216 1s=65.536ms 方式2和3时 TMmax =28 1s=0.256ms定时定时如定时器1采用方式1定时,M=65536,因

28、要求每50ms溢出一次,如采用12MHz晶振,则计数周期T=1s,计数值为65536-50000=15536,所以,计数初值为将3CH、B0H,分别预置给TH1、TL1。2024/8/24(3)根据需要给中断允许寄存器IE选送中断控制字和给中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。IEA8HEAESET1EX1 ET0EX076543210PSPT1PX1PT0PX0IPB8H765432102024/8/24(4)启动定时/计数器工作将TR0或TR1置“1”。GATE=0时,直接由软件置位启动;GATE=1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能

29、启动。SETBTR1TF1 TF0 IE1IT1IE0IT0TCON88H76543210 TR1 TR02024/8/24例6.4.1 用定时器1,方式0实现1s的延时。解:因方式0采用13位计数器,其最大定时时间为:81921s=8.192ms,因此,定时时间不可能大于10ms,可选择定时时间为5ms,再循环200次。定时时间选定后,再确定计数值为5000,则定时器1的初值为X = M 计 数 值 = 8192 5000 = 3192 = C78H =0110001111000B因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,所以,X的实际填写值应为X = 011000110

30、0011000B = 6318H 即:TH1 = 63H,TL1 = 18H,又因采用方式0定时,故TMOD = 00H。2024/8/24延时子程序DELAY:MOVR3,#200;置5ms计数循环初值MOVTMOD,#00H;设定时器1为方式0MOVTH1,#63H;置定时器初值MOVTL1,#18HSETBTR1;启动T12024/8/24LP1:JBCTF1,LP2 ;查询计数溢出SJMP LP1;未到5ms继续计数LP2:MOV TH1,#63H;重新置定时器初值MOV TL1,#18HDJNZ R3,LP1;未到1s继续循环RET;返回主程序2024/8/24解:若主频频率为6MH

31、Z可求得T0的最大定时时间为: TMmax=216 2s=131.072ms用定时器获得100ms的定时时间,经10次循环得到1秒的延时,可算得100ms定时的定时初值:(216-TC)2s=100ms=100000sTC=216-50000=15536,即:TC=3CB0H 例例6.4.2 试用定时器试用定时器0,方式,方式1实现实现1 s的延时。(程序自学的延时。(程序自学)2024/8/24 程序如下:程序如下: MOV TMOD,#01H MOV R7,#10TIME: MOV TL0,#0B0H MOV TH0,#3CH SETB TR1LOOP1:JBC TF0,LOOP2 JMP

32、 LOOP1 ;未到;未到100ms继续计数继续计数LOOP2:DJNZ R7,TIME ;循环;循环10次次 RET2024/8/24定时/计数器是单片机应用系统中的重要部件,通过下面实例可以看出,灵活应用定时/计数器可提高编程技巧,减轻CPU的负担,简化外围电路。【例6.5.1】开始时P1.0亮,延时0.2秒后左移至P1.1亮,如此左移7次后至P1.7亮,再延时0.2秒右移至P1.6亮,如此右移7次后至P1.0亮。(时钟频率fOSC为12MHz)。初值:6192=1830=0001100000110000=1100000100010000=C110H五、编程和应用2024/8/242024

33、/8/24方法方法1: 延时时间延时时间0.2秒,使用秒,使用TIMER0在在MODE0下工作下工作 ORG 0000H ;起始地址;起始地址 AJMP MAIN MAIN: MOV TMOD,#00H ;设定;设定TIMER0工作在工作在MODE0START:CLR C ;C=0 MOV A,#0FFH ;ACC=FFH,左移初值,左移初值 MOV R2,#08 ;R2=08,设左移,设左移8次次LOOP: RLC A ;左移一位;左移一位 MOV P1,A ;输出至;输出至P1 MOV R3,#100 ;0.2秒秒 ACALL DELAY ;2000微妙微妙 DJNZ R2,LOOP ;左

34、移;左移8次次2024/8/24 MOV R2,#07 ;R2=07,设右移,设右移7次次LOOP1: RRC A ;右移一位;右移一位 MOV P1,A ;输出至;输出至P1 MOV R3,#100 ;0.2秒秒 ACALL DELAY ;2000微妙微妙 DJNZ R2,LOOP1 ;右移;右移7次次 JMP START DELAY: SETB TR0 ;启动;启动TIMER0开始计时开始计时AGAIN: MOV TL0,#10H ;设定;设定TL0的值的值 MOV TH0,#0C1H ;设定;设定TH0的值的值LOOP1: JBC TF0,LOOP3 ;TF0是否为是否为1,是则跳至,是

35、则跳至LOOP3,并清,并清TF0 JMP LOOP1 ;不是则跳到;不是则跳到LOOP1LOOP3: DJNZ R3,AGAIN ;R3是否为是否为0?不是则跳到?不是则跳到AGAIN CLR TR0 ;是则停止;是则停止TIMR0计数计数 RET END2024/8/24设计一个控制程序,使80C51的P1口输出8路低频方波脉冲,频率分别为100、50、25、20、10、5、2、1Hz。使用定时器T0,产生5ms的定时,若晶振选11.0592MHz,则5ms相当于4608个机器周期,T0应工作于方式1,初值位x为:x=65536-4608=60928。用十六进制数表示则:x=0EE00H。

36、对应于P1.0P1.7,设立8个计数器,初值分别为1、2、4、5、10、20、50、100,由T0的溢出中断服务程序对它们减“1”计数,当减为零时恢复初值,并使相应的口线改变状态,这样就使P1口输出所要求的方波。【例6.5.3】低频信号发生器驱动程序2024/8/24 ORG 0000HSTART: AJMP MAIN ORG 0BH AJMP PTFO ORG 30HPTF0: MOV TH0,#0EEH ;T0中断服务程序中断服务程序 MOV TL0,#0 ;初值;初值T0 CPL P1.0 DJNZ 31H,PF01 ;对各路计数器进行计数;对各路计数器进行计数 MOV 31H,#2 ;

37、计数器减为;计数器减为0,恢复计数初值,恢复计数初值 CPL P1.1PF01: DJNZ 32H,PF02 ;输出相反;输出相反 MOV 32H,#4 CPL P1.2PF02: DJNZ 33H,PF03 MOV 33H,#5 CPL P1.3中断程序2024/8/24PF03: DJNZ 34H,PF04 MOV 34H,#10 CPL P1.4PF04: DJNZ 35H,PF05 MOV 35H,#20 CPL P1.5PF05: DJNZ 36H,PF06 MOV 36H,#50 CPL P1.6PF06: DJNZ 37H,PF07 MOV 37H,#100 CPL P1.7PF

38、07: RETI中断程序2024/8/24MAIN: MOV SP,#70 ;主程序:栈指针初始化;主程序:栈指针初始化 MOV 31H,#2 ;各路计数器置初值;各路计数器置初值 MOV 32H,#4 MOV 33H,#5 MOV 34H,#10 MOV 35H,#20 MOV 36H,#50 MOV 37H,#100 MOV TMOD,#1 ;T0方式方式1定时定时 MOV TL0,#0 ;初值;初值T0 MOV TH0,#0EEH MOV IE,#82H ;允许;允许T0中断中断 SETB TR0 ;允许;允许T0计数计数HERE: SJMP HERE ;踏步,通常;踏步,通常CPU处理

39、其他工作处理其他工作主程序2024/8/24纳米技术纳米技术的认识纳米技术的认识纳米技术的认识纳米技术的认识纳米材料纳米材料纳米材料纳米材料纳米动力学纳米动力学纳米动力学纳米动力学纳米生物学纳米生物学纳米生物学纳米生物学纳米电子学纳米电子学纳米电子学纳米电子学纳米机器人纳米机器人纳米机器人纳米机器人纳米技术的应用纳米技术的应用纳米技术的应用纳米技术的应用2024/8/24定时/计数器既可用作定时亦可用作计数,而且其应用方式非常灵活。同时,还可看出,软件定时不同于定时器定时(也称硬件定时)。软件定时是对循环体内指令机器数进行计数,定时器定时是采用加法计数器直接对机器周期进行计数。二者工作机理不同

40、,置初值方式也不同,相比之下,定时器定时在方便程度和精确程度上都高于软件定时。此外,软件定时在定时期间一直占用CPU,而定时器定时如采用查询工作方式,一样占用CPU,如采用中断工作方式,则在其定时期间CPU可处理其它指令,从而可以充分发挥定时/计数器的功能,大大提高CPU的效率。本章小结2024/8/24本章小结80C51单片机内部有两个可编程定时器/计数器T0和T1,每个定时器/计数器有四种工作方式:方式0方式3。方式0是13位的定时器/计数器,方式1是16位的定时器/计数器,方式2是初值重载的8位定时器/计数器,方式3只适用于T0,将T0分为两个独立的定时器/计数器,同时T1可以作为串行接口波特率发生器。不同位数的定时器/计数器其最大计数值也不同。对于定时器/计数器的编程包括设置方式寄存器、初值及控制寄存器(可位寻址)。初值由定时时间及定时器/计数器的位数决定。本章通过用以上四种工作方式设计实例,详细介绍了定时器/计数器的工作原理、编程方法及应用。2024/8/24

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号