欢迎来到天天文库
浏览记录
ID:48804082
大小:1.92 MB
页数:52页
时间:2020-01-26
《单片机复习资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、片内数据存储器中的位地址特殊功能寄存器地址及功能表特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00HTMOD00HPC0000HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF不定IP×××00000BSCON00HIE0××00000BPCON0×××0000B复位状态P3.2P3.3位线引脚第二功能P3.010RXD(串行输入口)P3.111TXD(串行输出口)12INT0(外部中断0)13INT1(外部中断1)P3.414T0(定时器0的计数输入)P3.5
2、15T1(定时器1的计数输入)16WR(外部数据存储器写脉冲)17RD(外部数据存储器读脉冲)P3.7P3.6P3口的第二功能扩展8KB/16KBEPROM注意:控制信号:ALE、PSEN片选信号:CE(P2.6)地址信号:A0~A12、A13数据信号:O0~O7与74LS373同CE已接地,常有效IE0TF0IE1TF1TIRI中断请求标志EX0ET0EX1ET1ES≥1PX0PT0PX1PT1PS高级低级内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断允许控制中断优先级EA中断源中断结构图与中断有关的特殊功能寄存器有四个:TC
3、ON----定时控制寄存器,IE----中断允许控制寄存器,IP----中断优先级控制寄存器,SCON----及串行口控制寄存器。1.定时控制寄存器TCOND7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0低电平1下降沿中断控制寄存器D7D6D5D4D3D2D1D0TIRI串行中断请求标志3.中断允许控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX04.中断优先级控制寄存器(IP)D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00禁止1允许0低级别1高级别实现两级控制
4、注意:复位时,禁止所有中断每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高到低)注意:响应中断后,CPU并不清零中断标志位,必须软件清零。2.串行口控制寄存器SCONM1和M0----工作模式控制位。其功能如下表:控制寄存器TCON例4-1使用定时器T0定时时间为1ms,选择工作模式0,ƒosc=6MHz。试确定T0初值,计算最大定时时间T。解:(1)求T0的初值X由公式:t=(213-T0初值)*机器周期Tcyt=1ms=1000μs机器周期Tcy=12/ƒos
5、c=12/6000000s=2μs得1000=(213-X)*2所以初值X=8192-500=7692=1111000001100B(一定要写全13位)TL0:00001100B=0CHTH0:11110000B=F0HTL0的低5位和TH0的8位指定定时器工作模式给定时器赋初值启动定时器等待,直到溢出标志位为1定时到采用查询方式定时,步骤如下处理定时到事件TMODTL0(TL1)TH0(TH1)TR0(TR1)=1TF0(TF1)例4-2编程实现在P1.0口产生宽度为1ms的负脉冲,要求采用定时器T1以模式0实现1ms定时,ƒosc=6MHz。解:
6、(1)计算初值(同上,略)F0HTH0,0CHTL0(2)程序清单(查询方式)ORG0000HRESET:AJMPMAIN;主程序ORG0100HMAIN:SETBP1.0MOVTMOD,MOVTL1,MOVTH1,SETBTR1CLRP1.0JNBTF1,$CLRTF1SETBP1.0END模式0启动定时器等待溢出中断#0#0CH#0F0H指定定时器工作模式给定时器赋初值中断初始化启动定时器等待中断采用中断方式定时,步骤如下TMODIE“定时到”事件在哪里处理?TL0(TL1)TH0(TH1)TR0(TR1)=1中断服务子程序程序清单(中断方式
7、)ORG0000HAJMPMAINORG001BHAJMPT1INTRORG0100HMAIN:SETBP1.0MOVTMOD,#0;T1工作在模式0MOVTL1,#0CH;赋初值MOVTH1,#0F0HMOVIE,#88H;允许T1中断SETBTR1;开定时器CLRP1.0;SJMP$;等待中断产生T1INTR:;1ms定时到,CPLP1.0CLRTR1RETIEND主程序定时器T1溢出中断服务子程序跳转到真正主程序处定时器T1溢出中断入口解:方法:定时1ms,对P1.0取反,然后继续定时(1)设置模式字TMOD=****0000B=0000000
8、0B=00H(2)计算初值由公式:t=(213-T0初值)*机器周期t=1ms=1000μs,机器周期Tcy
此文档下载收益归作者所有