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

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

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

1、05:11:54,一、单片机的概念二、单片机的结构组成,回顾,05:11:54,1、RAM,PSW也称为标志寄存器,存放各有关标志,Cy 进位标志。用于表示Acc.7有否向更高位进位。,AC 辅助进位标志。用于表示Acc.3有否向Acc.4进位。RS1、RS0 工作寄存器区选择控制位。OV 溢出标志。表示Acc中“1”的个数的奇偶性。P 奇偶标志。表示Acc中“1”的个数的奇偶性。F0、F1 用户标志。,05:11:54,2、ROM3、时钟电路 与复位电路(周期概念与计算)4、I/O,二、单片机的结构组成,05:11:54,2、ROM3、时钟电路 与复位电路(周期概念与计算、P26、P29图)

2、,二、单片机的结构组成,05:11:54,三、指令系统,1、51汇编及格式2、寻址方式,寄存器寻址,直接寻址,立即数寻址,寄存器间接寻址,变址寻址,相对寻址,位寻址,05:11:54,3、MCS-51的指令,数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作指令(17条),05:11:54,回顾,数据传送指令(29条)MOV(A Rn Ri direct DPTR,16)MOVX(4)MOVC(2)XCH(3)XCHD(1)SWAP(1)PUSH POP(2)算术运算指令(24条)ADD、ADDC、SUBB(A,Rn Ri direct#DATA,1

3、2)DA A(1)INC DEC(A Rn Ri direct DPTR,9)MUL DIV(2)逻辑运算指令(24条)ANL ORL XRL(A,Rn Ri direct#DATA;direct,A#DATA)CPL CLR RR RL RRC RLC(A),05:11:54,控制转移(17条)AJMP、SJMP、LJMPJMPJZ、JNZ、CJNE、DJNZACALL、LCALL、RET、RETI、NOP,位操作(17条)MOVCLR、SETB、CPLANL、ORLJC、JB、JNB、JNC、JBC,05:11:54,4、程序设计,伪指令简单程序分支程序循环程序查表程序子程序(堆栈),05

4、:11:54,中断的基本概念MCS-51的中断系统 中断寄存器IE、IP、TCON、SCON 5个中断源自然优先级 5个中断源入口地址中断的处理过程 关、开中断的原因外部中断源的扩展与撤除 中断的扩展 中断的撤除中断的初始化与应用,5、中断技术,05:11:54,IE0,TCON,SCON,TF0,IE1,TF1,T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,05

5、:11:54,回顾,TR1,TR0,TCON 88H,SCON 98H,IE A8H,IP B8H,05:11:54,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,05:11:54,撤除外部电平请求信号的方案(参见P148 图5-6),MCS-51INTXP1.0,D QCP S,外部设备,D型触发器,CLR P1.0,SETB P1.0,中断服务程序,RETI,服务程序主体,硬件电路部分,返回本节目录,ANL P1,#0FEHORLP1,#01H,05:11:54,1中断和查询相结合,一个外中断扩展成多个外中断的原理图,05:1

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

7、理,一、结构与原理,05:11:54,定时/计数器是一种应用非常广泛的逻辑电路,它可以完成两种不同的方式工作-“定时”、“计数”。,1、结构定时器的作用,05:11:54,1)定时:产生一个标准的时间间隔;如20mS,100mS或1000mS等.单片机使用这种方式可以产生一个符合某一要求的脉冲方波(如下图)。2)计数:对外部的事件(脉冲)进行统计.很明显外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计,当达到所要求的数值时,单片机进行相应的操作。,1、结构定时器的作用,05:11:54,2、单片机内部方框图,时钟电路,4KROM程序存储器,256BRAM数据存储器,2X

8、16位定时/计数器,CPU处理器,64KB总线扩展控制器,可编程I/O端口P0-3,可编程串行口,05:11:54,05:11:54,2、单片机定时/计数器的结构,图6-1 80C51定时器/计数器逻辑结构图,05:11:54,定时/计数器的工作原理:N位计数器构成了电路的核心。定时,计数两种方式的区别在于计数器的脉冲来源.初值寄存器是用来设定“定时/计数的具体参数”(1):何时控制启动计数?(2):如何控制定时还是计数?(3):如何控制定时/计数的长短?,N位+1计数器,TF,N位初值寄存器,系统内部时钟fosc/12,启动控制TR,外部脉冲,定时/计数控制C/T,计数器溢出中断信号,返回,

9、计数脉冲CP,3、单片机定时/计数器的工作原理,05:11:54,1)每过一个机器周期,计数器增1,直至计满溢出(12分频)2)定时器的定时时间与系统的振荡频率紧密相关3)MCS-51单片机的一个机器周期由12个振荡脉冲组成如果晶振频率为12MHZ,则:,(1)定时,05:11:54,(2)计数,05:11:54,GATE 选通门:GATE=0时,只要TR=1,计数器就开始工作;GATE=1时,只有INT脚和TR同时为“1”时,计数器才开始工作。C/T 计数、定时方式选择位:C/T=1时,计数,计数器的计数脉冲来自T0或T1引脚的外部事件;C/T=0时:定时,计数脉冲来自内部震荡频率fosc的

10、12分频。M1、M0 模式选择:分别对应四种模式:,二、寄存器和控制寄存器,定时/计数器1,定时/计数器0,1、模式控制寄存器TMOD(SFR的地址:89H),05:11:54,延时程序设计,1S延时程序,源程序:DELAY:MOV R2,#10 DEL2:MOV R3,#100DEL1:MOV R4,#125(7DH)DEL0:NOP NOP DJNZ R4,DEL0 DJNZ R3,DEL1 DJNZ R2,DEL2 RET,1S延时程序,1)如何精确计算参数?2)理解多重循环,05:11:54,TF1,TF0 定时器T1,T0的溢出标志:计数器溢出时硬件自动置位即TF=1,进入中断后再由

11、硬件自动清除;TR1.TR0 计数器T1,T0的控制位:由软件置位(计数器开始工作)或清零(计数器停止工作).IE1,IE0 外部中断INT1,INT0的请求标志:当单片机检测到INT引脚上有下降沿时,IE=1申请中断.进入中断服务程序时,硬件自动清除IE标志.IT1,IT0 外中断触发类型控制:IT=1时,外中断信号的下降沿出发IE标志,IT=0时,外中断信号的低电平引发IE标志.,2、控制寄存器TCON(SFR地址:88H),二、寄存器和控制寄存器,05:11:54,(1)M1和M0:方式选择位,05:11:54,三、定时/计数器的四种工作模式,1,模式0:13位计数器模式,GATE=0时

12、,TR1=1开始定时/计数;GATE=1时,TR=1且INT1=1时,开始工作.,05:11:54,2,模式1:16位计数器模式,GATE=0时,TR1=1开始定时/计数;GATE=1时,TR=1且INT1=1时,开始工作.,05:11:54,3、模式2:自动重装初值模式,由TL1做计数器,TH1做初值寄存器.工作前TL1,TH1分别预置相同的初值.计数器TL1工作时,每当溢出产生中断的同时,将TH1中的初值自动重装.此模式主要用于做串行口波特率发生器使用.,05:11:54,在这种模式中,单片机将T0重新进行“拆分、组合”.将T0变为由TH0,TL0组成的两个独立的8位定时/计数器.,在模式

13、3时的模式中定时器T0的结构图,4,模式3 组合扩展模式,05:11:54,05:11:54,模式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就不用中断方式工作(实际上连查询也不行);没有启动控制信号TR1,可以让它在模式3之前就开始工作,并且让它事先设定为自动重装模式.4,

14、模式3就是将单片机原有的T0,T1两个计数器变成三个独立的计数器,其中T1要事先设定为模式2(串行口的波特率发生器)并启动起来。,05:11:54,定时/计数器4种模式比较,T=(M-TC)t 其中,T:定时时间,M:计数器的模,TC:计数初值,t:计数器计数脉冲的周期。,05:11:54,回顾,1)80C51单片机内部有两个可编程定时器/计数器T0和T1。2)每个定时器/计数器有四种工作方式:方式0方式3。方式0是13位的定时器/计数器,方式1是16位的定时器/计数器,方式2是初值重载的8位定时器/计数器,方式3只适用于T0,将T0分为两个独立的定时器/计数器,同时T1可以作为串行接口波特率

15、发生器。3)不同位数的定时器/计数器其最大计数值也不同。,05:11:54,四、初始化,(1)确定工作方式对TMOD赋值。例如赋值语句为:MOV TMOD#10H,(2)预置初值将初值写入TH0、TL0或TH1、TL1。,X=M 计数值,计数,05:11:54,1)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,因要求每50ms溢出一次,如采用12 MHz晶振,则计数周期T=1 s,计数值为

16、65536-50000=15536,所以,计数初值为将3CH、B0H,分别预置给TH1、TL1。,05:11:54,(3)根据需要给中断允许寄存器IE选送中断控制字和给中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。,IE A8H,IP B8H,05:11:54,(4)启动定时/计数器工作将TR0或TR1置“1”。GATE=0时,直接由软件置位启动;GATE=1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动。SETB TR1,TCON 88H,TR1,TR0,05:11:54,例6.4.1 用定时器1,方式0实现1 s的延时。解:因方式0采用13位计数器,

17、其最大定时时间为:81921 s=8.192 ms,因此,定时时间不可能大于10ms,可选择定时时间为5ms,再循环200次。定时时间选定后,再确定计数值为5000,则定时器1的初值为 X=M 计数值=8192 5000=3192=C78H=0110001111000B 因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,所以,X的实际填写值应为 X=0110001100011000B=6318H 即:TH1=63H,TL1=18H,又因采用方式0定时,故TMOD=00H。,05:11:54,延时子程序 DELAY:MOV R3,#200;置5 ms计数循环初值 MOV TMOD,#

18、00H;设定时器1为方式0 MOV TH1,#63H;置定时器初值 MOV TL1,#18H SETBTR1;启动T1,05:11:54,LP1:JBCTF1,LP2;查询计数溢出 SJMPLP1;未到5 ms继续计数 LP2:MOVTH1,#63H;重新置定时器初值MOVTL1,#18HDJNZR3,LP1;未到1 s继续循环RET;返回主程序,05:11:54,解:若主频频率为6MHZ可求得T0的最大定时时间为:TMmax=216 2s=131.072ms用定时器获得100ms的定时时间,经10次循环得到1秒的延时,可算得100ms定时的定时初值:(216-TC)2s=100ms=1000

19、00sTC=216-50000=15536,即:TC=3CB0H,例6.4.2 试用定时器0,方式1实现1 s的延时。(程序自学),05:11:54,程序如下:MOV TMOD,#01H MOV R7,#10TIME:MOV TL0,#0B0H MOV TH0,#3CH SETB TR1LOOP1:JBC TF0,LOOP2 JMP LOOP1;未到100ms继续计数LOOP2:DJNZ R7,TIME;循环10次 RET,05:11:54,定时/计数器是单片机应用系统中的重要部件,通过下面实例可以看出,灵活应用定时/计数器可提高编程技巧,减轻CPU的负担,简化外围电路。【例6.5.1】开始时

20、P1.0亮,延时0.2秒后左移至P1.1亮,如此左移7次后至P1.7亮,再延时0.2秒右移至P1.6亮,如此右移7次后至P1.0亮。(时钟频率fOSC为12MHz)。初值:6192=1830=000 1100 0001 10000=1100 000100010000=C110H,五、编程和应用,05:11:54,05:11:54,方法1:延时时间0.2秒,使用TIMER0在MODE0下工作 ORG 0000H;起始地址 AJMP MAIN MAIN:MOV TMOD,#00H;设定TIMER0工作在MODE0START:CLR C;C=0 MOV A,#0FFH;ACC=FFH,左移初值 MO

21、V R2,#08;R2=08,设左移8次LOOP:RLC A;左移一位 MOV P1,A;输出至P1 MOV R3,#100;0.2秒 ACALL DELAY;2000微妙 DJNZ R2,LOOP;左移8次,05:11:54,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

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

23、x=0EE00H。对应于P1.0 P1.7,设立8个计数器,初值分别为1、2、4、5、10、20、50、100,由T0的溢出中断服务程序对它们减“1”计数,当减为零时恢复初值,并使相应的口线改变状态,这样就使P1口输出所要求的方波。,【例6.5.3】低频信号发生器驱动程序,05:11:54,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;计数器减为0,恢复计数初值 C

24、PL P1.1PF01:DJNZ 32H,PF02;输出相反 MOV 32H,#4 CPL P1.2PF02:DJNZ 33H,PF03 MOV 33H,#5 CPL P1.3,中断程序,05:11:54,PF03: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.7PF07:RETI,中断程序,05:11:54,MAIN:MOV SP,#70;

25、主程序:栈指针初始化 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处理其他工作,主程序,05:11:54,纳米技术,纳米技术的认识纳米材料纳米动力学纳米生物学纳米电子学纳米机器人纳米技术的应用,05:11:54,定时/计数器既可用作定时亦可用作计数

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号