Chapter06-主要功能单元-资料课件_第1页
Chapter06-主要功能单元-资料课件_第2页
Chapter06-主要功能单元-资料课件_第3页
Chapter06-主要功能单元-资料课件_第4页
Chapter06-主要功能单元-资料课件_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章主要功能单元6.2MCS-51定时/计数器6.3MCS-51串行口6.1MCS-51单片机中断系统雇狐韩非沛段藏筛骸决窗矮菇吞气仔谐用嵌专蝴吊痕搁东榨浙哩炉望惧沿Chapter06_主要功能单元Chapter06_主要功能单元第6章主要功能单元6.2MCS-51定时/计数器6.316.1.1中断请求源5个中断源2个优先级2个外部中断3个内部中断INT0(P3.2)INT1(P3.3)T0T1UART与中断有关的特殊功能寄存器:IP:中断优先控制寄存器IE:中断允许控制寄存器TCON:定时/计数控制寄存器SCON:UART控制寄存器中断请求标志寄存器可编程,可控MCS–51中断要点6.1MCS-51单片机中断系统铰阿粒惯内绷黔易挠乘辕粒洽懈闺绝凄尺伎韩示队膛褥菏解肿殉札辽庚冷Chapter06_主要功能单元Chapter06_主要功能单元6.1.1中断请求源5个中断源2个外部中断3个内部中断I21、定时/计数器控制寄存器TCONTCON(88H)TF1

TF0

IE1

IT1

IE0IT0

INT1

INT0触发方式控制位0

低电平触发1边沿↓触发

INT1

INT0外部中断请求标志1有有效触发时0当CPU响应中断时T1T0溢出标志1计数器“+1”有溢出时,并向CPU请求中断0当CPU响应中断时,也可由指令清除TR1TR0由硬件自动由硬件自动中断请求标志可编程控制位TR1TR0由硬件自动由硬件自动在每个机器周期S5P2都采样引脚P3.3、P3.2引脚00记录有无中断记录有无中断6.1.1中断请求源公西背翰积馅遵汲俊诅逻座阳屠皂余邮毁肉唯樊利隙浮识贝佰鹤搓帛蛮惶Chapter06_主要功能单元Chapter06_主要功能单元1、定时/计数器控制寄存器TCONTCON32、串行口控制寄存器SCONTI:串行口发送(完)中断标志在方式0,串行发送到第8位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由硬件置“1”。RI:串行口接收(好)中断标志在方式0,串行接收到第8位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由硬件置“1”。“1”发送完一帧数据后“1”接收完一帧数据后必须由软件清“0”SCON(98H)

TIRI6.1.1中断请求源必须由软件清“0”倡陶茹轻乎染孩粉随枢厢撕蜂蔑韶确淫亦妮葵陕知佐吉撬落悔饲潦觉圭策Chapter06_主要功能单元Chapter06_主要功能单元2、串行口控制寄存器SCONTI:串行口发送(完)中断标志401/01/01/011/01/01/01/01/01/01/01/01/01/001串行通信的数据格式:一帧数据:一个字符在异步传送中称为一帧数据。一帧数据由4部分组成:

起始位、数据位、奇偶位、停止位一帧数据起始位数据位奇偶位停止位起始位数据位停止位第n个字符第n+1个字符LSBMSB附加位n-1奇偶位通信协议6.1.1中断请求源慌戮笛触姐叭椭焊磕贡钓址禾功幌王患汹谩支饺局枪蓑番鸟敏琶赖册亥务Chapter06_主要功能单元Chapter06_主要功能单元01/01/01/011/01/01/01/01/01/0156.1.2中断控制1、中断允许寄存器IEEA/

/

ES

ET1

EX1

ET0

EX0INT0INT1T1T0UARTCPU0

禁止1

允许0

禁止1

允许总中断中断IE(A8)中断的开放和禁止是可控,可编程的。ET2T2CPUIE的相应位被清“0”或置“1”,

该相应中断即被“禁止”或“开放”。撰凳无闻辣砚排绳夏盈最榔嗡饭趾霞恃峭捣囱精量诧绚痞吁囤要体私滦廉Chapter06_主要功能单元Chapter06_主要功能单元6.1.2中断控制1、中断允许寄存器IEEA62、中断优先级寄存器IP//

/

PS

PT1

PX1

PT0

PX0IP(B8)ET2INT0INT1T1T0UART0

低级1高级中断T2中断优先级可控、可编程3、优先级结构中断优先级控制遵循的两个基本原则:⑴一个正在执行的低级中断服务程序,能被高优先级中断请求所中断,但不能被同优先级中断请求所中断。⑵一个正在执行的高级中断服务程序,不能被任何中断请求所中断,直到返回。6.1.2中断控制坑雹习以好畜俩谨劝唆觉单氏纹彭拆驶昭项蛊噶呻旋售块私姓挝俐窘捞八Chapter06_主要功能单元Chapter06_主要功能单元2、中断优先级寄存器IP//7实现这两个原则的方法:中断系统内部设置了两个不可寻址的优先级状态触发器。一个指出正在处理的是:高优先级中断,并阻止所有其他中断;另一个指出正在处理的是:低优先级中断,并阻止除高优先级中断外的其他任何中断。高优先级状态触发器低优先级状态触发器是不可寻址的当CPU响应高级中断,并进入中断服务时“1”“1”RETI“0”当CPU响应低级中断,并进入中断服务时“1”RETI“0”无条件的6.1.2中断控制见腐殿奠越耍焕惯旬瓣佃鲍奶挫蛮足奖蔑舷抡审啃溢抚歪鹿恋荚冤赦炭烬Chapter06_主要功能单元Chapter06_主要功能单元实现这两个原则的方法:中断系统内部设置了两个不8在同级的几个中断源中同时发生请求时,内部对同级的各中断源的优先级别有一个规定的查询顺序:外部中断请求INT0定时/计数器T0定时/计数器T1串行口UART定时/计数器T2外部中断请求INT1最高最低自然优先级自然优先级由硬件查询逻辑完成。6.1.2中断控制践霜亚永仕蹈坑归亥查面滑淫遭谊揖排辐勃咐鞋恰厂赌洋吝赫闹烧忽贸敏Chapter06_主要功能单元Chapter06_主要功能单元在同级的几个中断源中同时发生请求时,内部对同级的9源允许中断系统总体逻辑结构总允许优先级自然优先级中断源自然优先级中断源查询硬件查询硬件低级中断请求送CPU矢量地址送PCIPIETCONSCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1IT1011010101010矢量地址送PC高级中断请求送CPUIT001中断标志中断标志INT01IE0自然优先级矢量地址送PC“+1”TF10自然优先级矢量地址送PCEA“+1”“+1”EX0ET11PX0PT0PX1PT1PS“+1”“+1”6.1.2中断控制穷烃骄摊绣致导标嫌腰讲昌盂恍丫掩赦栏颈庇痘延钳缆奶碟叫徘武翠背夹Chapter06_主要功能单元Chapter06_主要功能单元源允许中断系统总体逻辑结构总允许优先级自然优先级中断源自然优106.1.3中断响应过程中断响应的三个条件:⑴CPU不是正在处理同级或高级中断请求。⑵现行机器周期是所执行指令的最后一个机器周期。⑶正在执行的指令不是RETI(或RET),或不是在访问IE或IP。外部中断请求INT0定时/计数器T0溢出定时/计数器T1溢出串行口UART定时/计数器T2溢出外部中断请求INT1中断入口地址:0003H000BH0013H001BH0023H002BH中断源排除法勇趟与蕾媒效窖垮给澳肤涵二幂部狞掷史咙裸币陇掏补侥莫辐浸池霍缄虐Chapter06_主要功能单元Chapter06_主要功能单元6.1.3中断响应过程中断响应的三个条件:⑴CPU不是正116.1.4外部中断响应时序与触发方式1、外部中断响应时序M1M3M4M5M2S5P1S5P2INTi被采样并锁存到IE0、IE1中CPU进行中断查询保护断点,长调用至入口中断服务1)中断响应顺利,不受阻,需要3个机器周期。2)如果中断受阻,则需要3~8个机器周期。即满足上述三个条件①正在处理同级或高级中断,这要视中断服务程序的长短。②执行的指令不是最后一个机器周期,则等待不超过3个周期。③正在执行指令是RETI(RET)(双周期指令),或正访问IE、IP,则需返回主程序后,再执行一条主程序的指令才能响应该中断,等待不超过5个周期。蓄场耶级录睫恋类斩坚衅悉斑碉俗抗缀贵喀坎不甚沁乞囤蜘民酒饱俺资企Chapter06_主要功能单元Chapter06_主要功能单元6.1.4外部中断响应时序与触发方式1、外部中断响应时序M122、外部中断触发方式⑴电平触发方式⑵边沿触发方式若外部中断(当ITX=0时)被定义为电平触发方式。其有效触发为低电平,该低电平维持到CPU响应该中断为止,中断返回之前,必须变为高电平。否则CPU将再次响应该中断。若外部中断(当ITX=1时)被定义为边沿触发方式。其有效触发为下降沿。在该触发方式中,CPU在一个机器周期采样为高电平,在下一机器周期采样为低电平,↓就立即置位外部中断请求标志。*无论是那种触发发方式,只要有有效触发,都会记录在相应的中断标志位中,若CPU即使暂不响应,中断标志也不会丢失,直到CPU响应该中断,该标志才会清除。6.1.4外部中断响应时序与触发方式莹睡籽惑熏扔昔铝椿失删犀震牙渤焚烷孜啄盂姬郝鬼莎绒充衔关徽府帖雄Chapter06_主要功能单元Chapter06_主要功能单元2、外部中断触发方式⑴电平触发方式⑵边沿触发方式136.1.5多个外部中断源的设计1、利用定时/计数器作外部中断输入使用的方法T0作为外部中断源的初始化程序:MOVTMOD,#06HMOVTL0,#0FFHMOVTH0,#0FFHSETBEASETBET0SETBTR0…;T0计数方式,自动装载;置计数初值;T0开中断;CPU开中断;启动T0工作计数器“+1”计数器向CPU发中断请求向CPU发中断请求TF0FFHT0FFH方式2(8位)FFHFFHTF000HFFHFFHP3.4铡旋峪俱骏驼采椰羔推赐蟹徘干锋月很练稗哼寄肩袜膨霜眨谷乃钢峦跳呸Chapter06_主要功能单元Chapter06_主要功能单元6.1.5多个外部中断源的设计1、利用定时/计数器作外部中142、中断与查询相结合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V扩展多个外部中断最高级最低级“线或”6.1.5多个外部中断源的设计蹬既踪凑捆虫顶酿勇通畜搭袋鄙逢帜堰嚷精谣酌缺疥集操锹匪压何唬揉据Chapter06_主要功能单元Chapter06_主要功能单元2、中断与查询相结合的方法8051INT0INT1P1.3P15PINT1:PUSHPSWPUSHACCJBP1.0,PDVT1JBP1.1,PDVT2JBP1.2,PDVT3JBP1.3,PDVT4PINTR:POPACCPOPPSWRETI;进入中断后;注意保护现场;依次查询判断;若是干扰信号引起;返主程序前;注意恢复现场;的中断请求,可被滤掉外部中断INT1的中断服务程序:6.1.5多个外部中断源的设计翠游廉描冕橙胡昧鼠矩焚放辛臭叙两胞糙禹眺碉蚁旧捉做惧奸滦南湿藏蛰Chapter06_主要功能单元Chapter06_主要功能单元PINT1:PUSHPSWPUSHACCJ16PDVT1:……AJMPPINTRPDVT2:……AJMPPINTRPDVT3:……AJMPPINTRPDVT4:……AJMPPINTR;DVT1中断服务;DVT2中断服务;DVT3中断服务;DVT4中断服务中断处理6.1.5多外部中断源的设计龟拷芋榴妒侣外芭介择勉追恼称蒂矣拥关贬莲男乞缉巷禄位拴队袭暇夕讨Chapter06_主要功能单元Chapter06_主要功能单元PDVT1:……AJMPPIN176.1.6用软件模拟第三个中断优先级在中断优先级寄存器IP中定义两个中断优先级:高优先级、低优先级。低优先级的中断服务程序如下:趋醚辽具诫近惮杖瞎择沿译层恤蝇妓晓慌裙郡冤蒸筒哭改乓叼听册骆赏未Chapter06_主要功能单元Chapter06_主要功能单元6.1.6用软件模拟第三个中断优先级在中断1840H41H42H43H44H*PCL*PCHPCL主PCH主IEPUSHIEMOVIE,#MASKLCALLLABELDVT1:…中断服务…POPIERETLABEL:RETI;保护IE;置屏蔽字,屏蔽当前中断;调用子程序;执行中断服务;恢复IE;子程序返回,真正的中断返回;中断返回,CPU被欺骗误认为返回主程序SPSPSPSP*PCSPSP*PC低优先级状态触发器“1”LABELLABEL:SPSP*PCCPU认为已经返回主程序“0”SPPC返主SPSP又可被低级中断请求中断堆栈又可被低级中断请求中断悯樊言弦芋砧牲彬籍搜请践唤进修浪煎礼胺修恰使喳僵韶牢瞎肉歉乙蛤潭Chapter06_主要功能单元Chapter06_主要功能单元40H41H42H43H44H*PCL*PCHP196.2MCS-51定时/计数器51系列内部有2个16位的定时/计数器T0、T1。52系列内部有3个16位的定时/计数器T0、T1、T2。功能:定时计数串行口的波特率发生器定时/计数器的可编程特性:⑴可确定其工作方式是定时还是计数。⑵预置定时或计数初值。⑶当定时时间到(或计数终止时),要不要发中断请求。⑷如何启动定时(或计数)器工作。可编程哇黍坦摔盎十矮眼滁凰柞泉戊匀盲桃从递致馋瘤陛被猜吉悠聊褥爸傣靖劈Chapter06_主要功能单元Chapter06_主要功能单元6.2MCS-51定时/计数器51系列内部有2个16位的定201、结构CPUTH1(8位)TL1(8位)T1

T1(P3.5)(8DH)(8BH)7070TH0(8位)TL0(8位)T0

T0(P3.4)(8CH)(8AH)7070TCON(88H)TMOD(89H)启动启动溢出溢出工作方式工作方式定时/计数器逻辑结构“+1”“+1”6.2.1定时/计数器的结构与工作原理扬田耶副丁帧绚壳猎臆足钡吼引伴寞叔挂效该例虱讽馈援筏鲤熄舷牵环杜Chapter06_主要功能单元Chapter06_主要功能单元1、结构CPUTH1(8位)TL1(8位)T1T1(P21结构2个16位T/C分别由8位计数器TH0、TL0、

TH1、TL1组成。“+1”计数器控制寄存器TCON:控制T/C的启停、中断等。方式寄存器TMOD:控制T/C的工作方式。2、工作原理⑴定时器定时输入信号:机器内部振荡信号的1/12分频。即每一个机器周期做一次“+1”运算。T0T16.2.1定时/计数器的结构与工作原理飘拔执叔阅皑扎参驮磁犊虫樟扰寒撇晶出褐开廉氓疽鸳嫩俄弹蟹被袍腔描Chapter06_主要功能单元Chapter06_主要功能单元结构2个16位T/C分别由8位计数器TH0、TL0、“+1”22∵1个机器周期=12个振荡脉冲∴计数速率为振荡频率的1/12分频若单片机的晶振主频为12MHz,则计数周期为1µs。⑵计数器由外部引脚(T0为P3.4,T1为P3.5)输入计数脉冲。外部输入脉冲宽度应大于2个机器周期。(S5P2、S5P2、S3P1)>TCY>TCY外部输入脉冲发生负跳变时,进行“+1”计数。下降沿高电平低电平TCY:机器周期6.2.1定时/计数器的结构与工作原理渺姜旭敲叫哈出笆琉臭俏皖之途帽嘲押膳陆伐蓬琐汝罪铆鞘逗玄惭哆春冶Chapter06_主要功能单元Chapter06_主要功能单元∵1个机器周期=12个振荡脉冲∴计数速率为振荡频率的1/23OSCP1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6机器周期机器周期XTAL26.2.1定时/计数器的结构与工作原理采样灿招步铅嚷黍趾采甘悟矫叮爱酶圾窗尧期碉馅照拔浩噶惫拽屈粹况闽辛厢Chapter06_主要功能单元Chapter06_主要功能单元OSCP1P2P1P2P1P2P1P2P1P2P1P2S1S241、方式寄存器TMODGATEC/TM1M0GATEC/TM1M0LSBMSB(89H)TMOD控制T1控制T0门控位功能选择位工作方式选择6.2.2定时/计数器的方式寄存器和控制寄存器捆俄很脂胜借蓄繁恶崖禽罢螺贱兑蘸中谜缺瑞短犀榨贩键墓裂顷糙聚饥脂Chapter06_主要功能单元Chapter06_主要功能单元1、方式寄存器TMODGATEC/TM1M0GATEC/25GATE:门控位。设定T1、T0运行时,是否受GATEC/TM1M0GATEC/TM1M0INT1(P3.3)INT0(P3.2)引脚输入电平的控制。GATE=0不受外部中断控制C/T=00方式013位计数器01方式116位计数器10方式2可自动重新装载初值的8位计数器11方式3T0分为2个8位计数器,T1停止计数M1M0操作方式功能表5-1操作方式选择1受外部中断控制0为定时功能1为计数功能6.2.2定时/计数器的方式寄存器和控制寄存器处屑捷讫过番音热璃杀斑咽糟宁旋女眠膀辊脏酪八纪园佐犯侩此该拒底豆Chapter06_主要功能单元Chapter06_主要功能单元GATE:门控位。设定T1、T0运行时,是否受GATEC/262、控制寄存器TCONLSBMSB(88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0启/停控制位T1、T0溢出标志位与外部中断INT1、INT0有关“0”停止“1”启动“1”有溢出“0”无溢出可编程可控制“+1”亦可由指令清“0”工作记录有无溢出6.2.2定时/计数器的方式寄存器和控制寄存器楼瘸溢对耳挝膳此狭罪谢毋浦沈殴棚剧坠彦环诬采佰酗瑚译腔卤击山唇蚌Chapter06_主要功能单元Chapter06_主要功能单元2、控制寄存器TCONLSBMSB(88H)TCONTF1271、方式0(M1M0=00)13位的定时/计数器,由TH的8位和TL的低5位组成。T1(P3.5)GATETR1INT1振荡器÷12TL15位TH18位TF1中断KC/T=0C/T=1控制定时/计数器方式0逻辑图111“+1”中断TL4~0以T1为例:13位计数器TF1“+1”“+1”6.2.3定时/计数器的4种工作方式砾呆筐去辩幢咐所雾融犁供活左除堤劝皑镊燎检皖都助光萍饲棉刷亲厌枝Chapter06_主要功能单元Chapter06_主要功能单元1、方式0(M1M0=00)13位的定时/计数器,由TH的282、方式1(M1M0=01)16位的定时计数器,由TH的8位和TL的8位组成。T1(P3.5)GATETR1INT1振荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制定时/计数器方式1逻辑图16位计数器“+1”1以T1为例:中断TF1“+1”“+1”6.2.3定时/计数器的4种工作方式绒皮稼溜看稼叭铡窑似榴洗嗣课今栖厌感枉哨轰晕大屎池天滓辱恿菌国囊Chapter06_主要功能单元Chapter06_主要功能单元2、方式1(M1M0=01)16位的定时计数器,由TH的8位293、方式2(M1M0=10)可自动重装载的8位计数器TH1(TH0)被定义为赋值寄存器TL1(TL0)被定义为计数器定时/计数器方式2逻辑图T1(P3.5)GATETR1INT1振荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重装载重装载1“+1”以T1为例:中断TL18位TF1“+1”“+1”6.2.3定时/计数器的4种工作方式舌慰干葫括典占挫太梨佃杉菜绕柒烤概焉蠢草缄栗丽凶拐宫盆矿蔽虹畜裤Chapter06_主要功能单元Chapter06_主要功能单元3、方式2(M1M0=10)可自动重装载的8位计数器TH1(304、方式3(M1M0=11)T0被分成2个相互独立的8位计数器TL0、TH0。TL0使用T0本身的一些控制位C/T、GATE、TR0、TF0、INT0等。可做定时器也可做计数器。TH0只能做定时器,并使用T1的控制位TR1、TF1,同时占用T1的中断服务子程序入口(001BH)。方式3只适用于T0。T1不能工作在方式3(如果T1被设置为方式3,T1将停止计数)。6.2.3定时/计数器的4种工作方式祟恼锣四茬缆炬盈嗓二潞嗡做累簿咽库缸拦嫡荫搽剑偶泉搓膛荷播葡花兼Chapter06_主要功能单元Chapter06_主要功能单元4、方式3(M1M0=11)T0被分成2个相互独立的8位计31振荡器÷12fosc/12TL08位TF0中断KC/T=0C/T=1控制fosc/12T0(P3.4)GATETR0INT0KTH08位TF1中断控制fosc/12TR1定时/计数器方式3逻辑图1TH0借用了T1的TR1和TF1,因此控制了T1的中断。此时T1只能用在一些不需要中断的情况。“+1”“+1”1“+1”“+1”TF0TF1中断中断“+1”6.2.3定时/计数器的4种工作方式札洲偶闻再蒂更袋莲包乏汀灵穆塑魂瓶衣搀谓藉耀恨供肇舶怖膨蝴歌掀撕Chapter06_主要功能单元Chapter06_主要功能单元振荡器÷12fosc/12TL08位TF0中断KC/T=0C32初始化一般有以下几个步骤:⑴确定工作方式,对方式寄存器TMOD赋值。⑵预置定时或计数初值,直接将其写入TH0、TL0、TH1、TL1中。⑶根据需要对中断允许寄存器有关位赋值,以开放或禁止定时/计数器中断。⑷将TRi置为“1”,启动定时/计数器。计数初值的设定:最大计数值M:不同的工作方式M值不同方式0:M=213=8192方式1:M=216=65536方式2、3:M=28=2566.2.4定时/计数器的初始化搅斌撮栽俱韧粉完派廓偏偷稀椽漱霹辟削嚷庄搜辛抬塑干噶渍痰蕊畅熟用Chapter06_主要功能单元Chapter06_主要功能单元初始化一般有以下几个步骤:⑴确定工作方式,对方式寄存器TM33计数初值X的计算方法:计数方式:X=M-计数值(X即为计数值的补码数)定时方式:(M-X)×T=定时值∴X=M-定时值/T其中T为机器周期,时钟的12分频,若晶振为6MHz,则T=2µs;若晶振为12MHz,则T=1µs。6.2.4定时/计数器的初始化粪磷杨恫凉昆寄匿酵佣喜炙又缄呼敏仁钉嫂掀海愉掇苑矫纬赃渠烃撕钠哉Chapter06_主要功能单元Chapter06_主要功能单元计数初值X的计算方法:计数方式:X=M-计数值(X即为计34例1若单片机晶振为12MHz,要求产生500µs定时,试计算X的初值。解:由于T=1µs,产生500µs定时,需要“+1”500次,定时器方能产生溢出。采用方式0:(13位计数器

)X=213-(500×10-6/10-6)=8192-500=7692=1E0CH=0F00CH采用方式1:(16位计数器

)X=216-(500×10-6/10-6)=65036=0FE0CH?1111000000001100THiTLiD7D6D5000不用0F00CH=?暂时写成6.2.4定时/计数器的初始化我硫竿撤释骤环环失刘到助冶架酪域戳州工瘪阂攀填掏趟人闸撂仆挨短旬Chapter06_主要功能单元Chapter06_主要功能单元例1若单片机晶振为12MHz,解:由于T=1µs,351、作定时器用例2设主频为12MHz,利用定时器T1定时。使P1.0输出周期为2ms的方波。解:用P1.0作方波输出信号,周期为2ms的方波即可用每1ms改变一次电平的方法完成,故定时值可设置为1ms。可做“+1”运算1000次,使T1工作在方式0,即13位计数器。定时初值:X=M-计数次数=8192-1000=7192=1C18H6.2.5定时/计数器应用举例签戍卉佰必少窝工吗赠杖渊韵茶饼添伺掩堕法曼缆款甩裹凭鹏副吨瓣聘钎Chapter06_主要功能单元Chapter06_主要功能单元1、作定时器用例2设主频为12MHz,利用定时器T1定时36由于TL1的高3位不用,1C18H可写成:1110000000011000TL1的高3位不用=E018HTH1初值为E0H,TL1初值为18HGATEC/TM1M0控制T1控制T00000选择方式0,13位计数器选择定时器方式INT1不参与控制TMOD=E018H6.2.5定时/计数器应用举例禹耘受意曙铭爸拴孝纽榔红多临推拇棵轮约抠大抒抗顿峪籽逃上偏羹泛指Chapter06_主要功能单元Chapter06_主要功能单元由于TL1的高3位不用,1C18H可写成:111037MOVTMOD,#00HMOVTH1,#0E0HMOVTL1,#18HSETBEASETBET1SETBTR1SJMP$ORG001BHAJMPBR1BR1:MOVTH1,#0E0HMOVTL1,#18HCPLP1.0RETI;T1按方式0工作;给计数器赋初值;CPU开总中断;T1允许中断;启动T1;模拟主程序;T1中断入口;转T1中断服务;重装T1的初值;输出方波;返回程序:6.2.5定时/计数器应用举例ORG0100H技禽船费渗钟驼丽蔑添聋蔑忘办撑里涨开艘苗吞噪仟牺叹昧骗崖墟袁茨练Chapter06_主要功能单元Chapter06_主要功能单元MOVTMOD,#00HMOV38例3根据例2的要求产生周期为2ms的方波,但不用中断方式,而用查询方式工作,查询标志为TF1。解:利用方式1,16位计数器,当定时时间到,T1计数器溢出使TF1置“1”,由于不采用中断方式,TF1置“1”后,不会自动复“0”故需要指令给TF1清“0”。初值=0

00

0H-)03E8H81CFHFC18H10006.2.5定时/计数器应用举例默壤督裹禁阐贬痕梗磋应浑牵基饶拭编惶萌衅骋柏豺辑眉缨亨舅秧萎凹钧Chapter06_主要功能单元Chapter06_主要功能单元例3根据例2的要求产生周期为2ms的方波,解:利用方式139MOVTMOD,#10HSETBTR1LOOP:MOVTH1,#0FCHMOVTL1,#18HJNBTF1,$CPLP1.0CLRTF1SJMPLOOP;T1按方式1工作;启动T1定时;给计数器赋初值;TF1=0,则继续查询;TF1←0;输出方波;返回程序:6.2.5定时/计数器应用举例尖彰侩淀搞寺测弯摊驴米绰碱揉枢侩顶好争外订抑座喇长榴绚面亲仓端兑Chapter06_主要功能单元Chapter06_主要功能单元MOVTMOD,#10HSETBT402、作计数器用例4用T0监视一生产流水线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数。MCS-51P1.0T0Vcc包装机包装命令100个光源光敏6.2.5定时/计数器应用举例减贰撩详黎杜逃究劳芹阂汁埔温影陪绽供衅啼狠璃营宝稿滇矣浑咋迈壬庸Chapter06_主要功能单元Chapter06_主要功能单元2、作计数器用例4用T0监视一生产流水线,每生产100个41GATEC/TM1M0控制T1控制T0TMOD选方式2选计数器INT0不参与控制0110⑵计数初值X=M-64H=9CH⑶用P1.0启动外设发包装命令⑷用R5R4作箱数计数器⑴方式字TMOD=06H6.2.5定时/计数器应用举例顾撩换模误举臭核你弹帮亚菜剁疹搭伪焉蔬硒斧政多甩小旷绘蛊趣拣撮厨Chapter06_主要功能单元Chapter06_主要功能单元GATEC/TM1M0控制T1控制T0TMOD选方式2选计数42程序:MOVTMOD,#6MOVP1.0,#0MOVR5,#0MOVR4,#0MOVTH0,#9CHMOVTL0,#9CHSETBEASETBET0SETBTR0SJMP$ORG000BHAJMPCOUNT;P1.0为低;箱数计数器清“0”;置T0工作方式;计数初值送计数器;T0开中断;CPU开中断;启动T0;模拟主程序;T0中断入口;转向中断服务6.2.5定时/计数器应用举例我痒表巷盏挣择古为狰链牛丈掩诀惺剥篙殃褒刚支狭苗绪常邪恼钻鬃装芒Chapter06_主要功能单元Chapter06_主要功能单元程序:MOVTMOD,#6MOVP43COUNT:MOVA,R4ADDA,#1MOVR4,AMOVA,R5ADDCA,#0MOVR5,ASETBP1.0MOVR3,#100DLY:NOPDJNZR3,DLYCLRP1.0RETI中断服务:;箱计数器加“1”;启动外设包装;给外设足够时间;延时;停止包装;中断返回6.2.5定时/计数器应用举例;先在低字节加“1”ORG0100HR5R4作箱数计数器佬遇韶泣雏腆雇棺炸猩殃闰眠省掀驻铲驶仑吹粳振鳞佳乔述睛粉英利照封Chapter06_主要功能单元Chapter06_主要功能单元COUNT:MOVA,R4AD443、门控位GATE的应用GATEC/TM1M0控制T1控制T0TMOD选方式1选定时器方式INT1为高时,T1开始定时计数1001例5用GATE控制位,测量INT1(P3.3)引脚上正脉冲的宽度(设:晶振为12MHz)。6.2.5定时/计数器应用举例粥薪宣戳重层谚莉井烂台恕庭克钒混辗雨小誊伎珠滋苇窃入淀罪阻畦寝峨Chapter06_主要功能单元Chapter06_主要功能单元3、门控位GATE的应用GATEC/TM1M0控制T1控制T45T1(P3.5)GATETR1INT1振荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制16位计数器“+1”1INT1INT1为高时T1开始计数INT1为低时T1停止计数00111宽度≤65ms≦计数值

即µs数1“+1”“+1”0006.2.5定时/计数器应用举例忱豹笔先袄渠升搪侩颠党辰沥陪竣缉视措邓枚慎免琢窒护叭休贼规漱渊炳Chapter06_主要功能单元Chapter06_主要功能单元T1(P3.5)GATETR1INT1振荡器÷12TL18位46INT1INT1为高时T1开始计数INT1为低时T1停止计数MOVTMOD,#90HMOVTL1,#0MOVTH1,#0JBP3.3,$SETBTR1JNBP3.3,$JBP3.3,$CLRTR1:.程序:;置T1方式控制字;T1从0开始计数;等INT1低电平;T1允许计数;等INT1高电平;等INT1低电平;停止计数(更保险一点)“与”计数时间6.2.5定时/计数器应用举例脊馅臆猜陵才吊肮环臆葡诗骸息龙草栋洛摊蝴酶韭妥惟霞美弦鬼沁掘窑晕Chapter06_主要功能单元Chapter06_主要功能单元INT1INT1为高时T1INT1为低时T1停止计数MOV476.3.1串行通信的两种基本方式1、异步传送方式一帧数据:一个字符在异步传送中称为一帧数据。一帧数据由4部分组成:起始位、数据位、奇偶位、停止位1/01/01/01/01/01/01/01/01/001一帧数据起始位数据位奇偶位停止位01/01/01/0起始位数据位11/0停止位第n个字符第n+1个字符LSBMSB6.3MCS-51串行口腿果良片瞩到稻距光巩落臆者单星此津瓤眷氏兔觉盔驶秽劝需阿曝伴缎贾Chapter06_主要功能单元Chapter06_主要功能单元6.3.1串行通信的两种基本方式1、异步传送方式一帧数据:48为逻辑“0”信号,占用1位,用来通知接收设备,一个新的字符开始了。数据位:起始位:奇偶位:5~8位。数据的最低位在前,最高位在后。紧跟在最高位之后,占用1位,奇偶校验时,根据协议置“1”或“0”。停止位:为逻辑“1”信号,占用1位或2位,当接收端收到停止位时,表示一帧数据结束。2、同步传送方式数据块开始有1~2同步字符SYNC,后面是按顺序传送的数据块。数据结构:6.3.1串行通信的两种基本方式厢只摔际卞廓菌埂嘴苇嚣韶奄舞硝椒搽粹峙歉静胆诀授舰尉伪橡泵俩徽虱Chapter06_主要功能单元Chapter06_主要功能单元为逻辑“0”信号,占用1位,用来通知接收设备,一个新的字符开496.3.2MCS-51串行口结构1、数据缓冲器SBUF包括物理上独立的发送缓冲器、接收缓冲器。发送缓冲器:只能写入不能读出接收缓冲器:只能读出不能写入两个缓冲器共用一个地址99H2、串行口控制寄存器字节地址为98H,可位寻址(位地址为98H~9FH)。SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D0堪敝言辟合腺兄棍债黎矗皿肮授窒蛛宁瞬药坞装补勘碧笛弹吊懊吮咆由设Chapter06_主要功能单元Chapter06_主要功能单元6.3.2MCS-51串行口结构1、数据缓冲器SBUF包括50SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D0SM0、SM1:串行口工作方式选择位,如下表所示。000移位寄存器方式(用于I/O扩展)0118位UART,波特率可变1029位UART,波特率为fosc/32或fosc/641139位UART,波特率可变SM0SM1方式功能串行口工作方式6.3.2MCS-51串行口结构允许接收控制位。由软件置“1”时,允许接收,置“0”时,禁止接收。REN:毗稠鹰别聚销侄蔑赋檬巾受捉拟疟栽募推车屁陆涎处克算踞沾楞剿凶帕汲Chapter06_主要功能单元Chapter06_主要功能单元SM0SM1SM2RENTB8RB851TB8:在方式2和方式3中要发送的第9位数据,需要时由软件置1或置0。RB8:在方式2和方式3中接收到的第9位数据。在方式1时,如SM2=0,RB8是接收到的停止位。在方式0中,不使用RB8。TI:发送中断标志。在方式0串行发送第8位结束时由硬件置“1”,或在其他方式中串行发送停止位的开始时置“1”,必须由软件清“0”。RI:接收中断标志。在方式0串行接收到第8位结束时由硬件置“1”,或在其他方式中串行接收到停止位的中间时置“1”,必须由软件清“0”。6.3.2MCS-51串行口结构谭拎茅汀善芝碑涅驭帮械染英草俐怒自象蠕仲置苍姑食蒸饰酵啃色衔癌溶Chapter06_主要功能单元Chapter06_主要功能单元TB8:在方式2和方式3中要发送的第9位数据,需要时由软件置52SM0SM1SM2RENTB8RB8TIRISCON(98H)D7D06.3.2MCS-51串行口结构SM2:允许方式2和方式3多机通信控制位。在方式2或方式3中,如SM2=1,则接收到的第9位数据(RB8)为“1”时,置位接收中断标志RI;如SM2=0,则RB8无论为1还是0,均置位RI。

在方式1时,如SM2=1,则只有在接收到有效停止位时才置位RI,若没有接收到有效停止位,则RI清“0”。在方式0中,SM2必须为“0”。盒谤烫幻莎针洁乌债罚郑启则苟紧胸峡圭亢韶字辽翱解掉诌电偷窄别攻辩Chapter06_主要功能单元Chapter06_主要功能单元SM0SM1SM2RENTB8RB8533、特殊功能寄存器PCON其字节地址87H,没有位寻址功能。PCON(87H)SMODSMOD:波特率选择位。SMOD=1时,波特率加倍。6.3.2MCS-51串行口结构绎蔡捷汲慈沂鼎惭津萄溅醒芳剐胀求紊饲即一铺决鳃街焙弹京豁庇沪漓很Chapter06_主要功能单元Chapter06_主要功能单元3、特殊功能寄存器PCON其字节地址87H,没有位寻址功能。546.3.3串行口工作方式1、方式0移位寄存器输入/输出方式,可外接移位寄存器,以扩展并行I/O口。方式0的波特率为:波特率=fosc/128051RXDTXD74LS164345610111213数据输出移位脉冲1)方式0发送一个数据写入SBUF,串口将数据从RXD输出(波特率fosc/12),TXD输出同步移位信号,发送完TI置1。D7D0方式0扩展I/O口硬件逻辑图跋姜峪各荐贝唐绩常缆磅孩傻破衔荚有市榜让歇傣柔凤镭贼枢赚缚罗卷殿Chapter06_主要功能单元Chapter06_主要功能单元6.3.3串行口工作方式1、方式0移位寄存器输入/输出方式552)方式0接收REN置1,串口将数据从RXD输入(波特率fosc/12),TXD输出同步移位信号,接收完RI置1。8051RXDTXD74LS165345614111213数据输入移位脉冲D7D0方式0扩展I/O口硬件逻辑图6.3.3串行口工作方式妖隋窟府笆阵缩苑者逻饺泥凋块噪议锋曹痕放昌跌登喘丧存节蝗隆茄皇傅Chapter06_主要功能单元Chapter06_主要功能单元2)方式0接收REN置1,串口将数据从RXD输入(56方式0发送时序ALEWRITETOSBUFSENDD0D1D2D3D4D5D6D7SHIFTRXDTIS6P2TXDS3P1S5P16.3.3串行口工作方式缄窟输路蔼星啡怕磕役碰法应芳哗王东挺薪回屋沙例延列恶扯瞧蔷钨疟著Chapter06_主要功能单元Chapter06_主要功能单元方式0发送时序ALEWRITETOSBUFSEND57方式0接收时序ALEWRITETOSBUFRECEIVESHIFTRXDTXDRID0D1D3D4D5D6D7D2S5P26.3.3串行口工作方式决酣送屁郴姻糊述篙验阵绪睦挛赔敝输研嚏腰诈响锯第神旷匠拔沉坡哀排Chapter06_主要功能单元Chapter06_主要功能单元方式0接收时序ALEWRITETOSBUFRECE582、方式1波特率可变的8位异步通信接口方式。波特率=2SMOD/32×T1溢出率1)方式1发送CPU执行一条写SBUF指令,就启动了串口发送。当SEND和DATA有效时,数据从TXD输出。2)方式1接收允许接收位REN被置“1”后,接收器就开始工作,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。6.3.3串行口工作方式票塌压志猫嚷恢配头刁谁磷凛豆编蹿西军瘫寄畴焊谤吊麦韦剂派瞳牟炽混Chapter06_主要功能单元Chapter06_主要功能单元2、方式1波特率可变的8位异步通信接口方式。波特率=2SMO59TXCLOCKWRITETOSBUFSENDDATAD0D1D2D3D4D5D6D7STARTBITSTOPBITSHIFTTXDTI方式1发送时序6.3.3串行口工作方式座橇钢子甄萧也切煤席驭蝗岿冠尸荒乃孩眷琐哟凑戚普拧祟袁喻吮趾脚禹Chapter06_主要功能单元Chapter06_主要功能单元TXCLOCKWRITETOSBUFSENDD60TXCLOCKSTARTBITSTOPBITSHIFTRXDD0D1D2D3D4D5D6D7BITDETECTORSAMPLETIMESRI方式1接收时序6.3.3串行口工作方式萌救哉碘企烩宙益苦尺浪屡坡讲焉葡技抄画牲摇氦殉助嫉舆级浚铸艺果耶Chapter06_主要功能单元Chapter06_主要功能单元TXCLOCKSTARTBITSTOPBIT613、方式29位异步通信接口方式。传送一帧数据信息为11位。波特率=2SMOD/64×fosc1)方式2发送数据由TXD端输出,附加的第9位数据由SCON中的TB8提供。CPU执行一条写SBUF指令,就启动了串口发送,发送完TI置1。2)方式2接收与方式1相似,REN被置“1”后,跳变检测器以波特率16倍的速率采样RXD端的电平,RXD引脚上发生由“1”到“0”的跳变,接收器开始接收。6.3.3串行口工作方式辜拐栋吠向扬储祈格厌籍雇搪滥肺煮排僻轮挛述刺景卡乡弹跪唱茶鸯戊痪Chapter06_主要功能单元Chapter06_主要功能单元3、方式29位异步通信接口方式。传送一帧数据信息为11位。波62STOPBIT方式2发送时序TXCLOCKWRITETOSBUFSENDDATAD0D1D2D3D4D5D6D7STARTBITSHIFTTXDTITB86.3.3串行口工作方式喳讳孪据柯扒遍丛挚鞘届舌妓般娃婉入破肄燃啃误堰布杉焉葛转价馈棉枣Chapter06_主要功能单元Chapter06_主要功能单元STOPBIT方式2发送时序TXCLOCKWRIT63方式2接收时序TXCLOCKSTARTBITSTOPBITSHIFTRXDD0D1D2D3D4D5D6D7BITDETECTORSAMPLETIMESRIRB84、方式39位异步通信接口方式。波特率=2SMOD/32×T1的溢出率其他与方式2类似6.3.3串行口工作方式券细镐司探鳖查演夸采呀赎兴撤冠绣洽衡禹缠妊亡席苍祥砷俏跃摹凌仁博Chapter06_主要功能单元Chapter06_主要功能单元方式2接收时序TXCLOCKSTARTBITSTO646.3.4波特率的设计1、方式0的波特率是固定的:波特率=fosc/122、方式2波特率取决于SMOD波特率=2SMOD/32×T1的溢出率方式2波特率=2SMOD/64×foscSMOD=0时,波特率=fosc/64;SMOD=1时,波特率=fosc/32。3、方式1、3波特率取决于T1的溢出率SMOD=0时,波特率=T1的溢出率/32;SMOD=1时,波特率=T1的溢出率/16。木工沫沃森芯擎综涝峦驻但代敷烤及凛牢寓鞭唉堤守丸伴鲸渍刺番照蒸房Chapter06_主要功能单元Chapter06_主要功能单元6.3.4波特率的设计1、方式0的波特率是固定的:波特率=654、定时器1作波特率发生器T1的溢出率=计数速率/(2K-初值)K为计数器T1的位数。K=13(方式0);K=16(方式1);K=8(方式2)T1为计数器时:T1为定时器时:T1的溢出率=fosc/[12×(2K-初值)]工作于方式1、3时波特率:波特率=2SMOD/32×T1的溢出率=2SMOD×

fosc/[32×12×(2K-初值)]6.3.4波特率的设计艳淫叫团撵瞒脏裂干亿值否霹混惩汰屿伞屉姥丙瞥当菩嗜叫敝举芒科根激Chapter06_主要功能单元Chapter06_主要功能单元4、定时器1作波特率发生器T1的溢出率=计数速率/(666.3.4波特率的设计定时器1产生的常用波特率波特率(bit/s)串行口方式1、3情况Fosc/MHzSMOD定时器1模式重装载值62.5K12102FFH19.2K11.0592102FDH9.6K11.0592002FDH4.8K11.0592002FAH2.4K11.0592002F4H1.2K11.0592002E8H137.511.05920021DH11012001FEEBH19.2K6102FEH9.6K6102FDH4.8K6002FDH2.4K6002FAH1.2K6002F4H0.6K6002E8H110600272H556001FEEBH鹊义维嘉舅后饼戏渔沦撼呕粮拴错使黎性喷捶炮订邮翻峭汪项悠俗恍炼菊Chapter06_主要功能单元Chapter06_主要功能单元6.3.4波特率的设计定时器1产生的常用波特率Fosc/M676.3.5串行口的应用例6:把内部RAM40H~5FH单元中的ASCII码,在最高位D7加上奇偶校验位后由甲机发送到乙机,波特率为1.2K,晶振fosc=11.0592MHz。解:1、设置甲机为串行方式1发送状态,SCON←40H;乙机为串行方式1接收状态,SCON←50H(REN置为1,允许接收)。2、甲乙机用定时器T1(工作方式2,自动重新装载初值)波特率发生器,波特率为1.2K,当fosc=11.0592MHz时,查表得重装初值为E8H。定时器T1方式字TMOD←20H。3、ASCII码奇偶校验位的加入,可采用以下程序实现: MOV A,#ASCII MOV C,P ;P=1,奇数个“1”;P=0,偶数个“1” CPL C ;奇校验 MOV ACC.7,C ;在D7加上奇校验位挛瘤撇舀迹肇郸笨侄坏棍师翠虹考零簧仙纳潘汤惰迹蒲赣掐切籽心橡垣蹋Chapter06_主要功能单元Chapter06_主要功能单元6.3.5串行口的应用例6:把内部RA686.3.5串行口的应用甲机软件: MOV TMOD,#20H ;定时器T1为方式2 MOV TL1,#0E8H MOV TH1,#0E8H ;赋初值,1.2KHz的波特率 SETB TR1 ;启动T1 MOV SCON,#40H ;串行口方式1 MOV R0,#40H ;R0作指针 MOV R1,#32 ;发送32个字节NEXT: MOV A,@R0 ;取ASCII码 LCALL SOUT ;转发送子程序 INC R0 ;修改指针 DJNZ R1,NEXT ;未发送完则继续 …… SOUT: MOV C,P CPL C ;采用奇校验 MOV ACC.7,C;插入奇校验位

MOV SBUF,A ;发送 JNB TI,$ ;等发送中断标志,查询方式 CLR TI ;允许再发送 RET嵌笺嘿幸田闽熙桐剁棚淌店练犬舌炮森订甜观庭绘皑削赦税乞集匆氦总樱Chapter06_主要功能单元Chapter06_主要功能单元6.3.5串行口的应用甲机软件:嵌笺嘿幸田闽熙桐剁棚淌店练696.3.5串行口的应用乙机软件:设乙机接收到的32个字节存放在60H~7FH单元中。 MOV TMOD,#20H;定时器T1为方式2

MOV TL1,#0E8H MOV TH1,#0E8H;1.2K的波特率 SETB TR1 ;启动T1 MOV R0,#60H ;ASCII码首址指针 MOV R1,#32 ;接收32个字节NEXT: LCALL RIN ;转接收子程序

JNC ERR ;若“1”的个数为偶则出错 MOV @R0,A ;接收的字符存入缓冲区

INC R0 ;修改缓冲区指针 DJNZ R1,NEXT ;未完则继续 …… RIN: MOV SCON,#50H ;启动串行口接收,串口方式1,允许接收 JNB RI,$ ;等接收中断标志,查询方式

MOV A,SBUF ;接收数据送A MOV C,P ;C←(P) ANL A,#7FH ;屏蔽最高位(奇偶位)

CLR RI

RET ERR: …… 惑慧娃烤镊赤杜温玲铭茁辫选撞谴颧豆镰邪服寄兽诬颁枉蔷而摈岩襄什徒Chapter06_主要功能单元Chapter06_主要功能单元6.3.5串行口的应用乙机软件:惑慧娃烤镊赤杜温玲铭706.3.5串行口的应用例7:串行口方式2、方式3用于多机通信。主从式结构的多机系统唬聂蛰坪眯少棠撞昂吝染远寡缓舅江闪炬传溪究羞忌柑刨团通她椿嗜净豫Chapter06_主要功能单元Chapter06_主要功能单元6.3.5串行口的应用例7:串行口方式2、方式3用于多机通716.3.5串行口的应用多机通信原理流程缎置案臭昧蓟酶侦碱烷贴恐誓阮侣通篱渺嘛良酿悠吻皿抉从怒挤磁誊晒廉Chapter06_主要功能单元Chapter06_主要功能单元6.3.5串行口的应用多机通信原理流程缎置案臭昧蓟酶侦碱烷72作业题:P.155~156:2、3、5、7、13、15、17、18、19、21第6章主要功能单元窍匠挽捕捆碰厦历卞壮粕哟脑烩葵住只极军篡赔纶旦金匝溶养喊全吮拿阉Chapter06_主要功能单元Chapter06_主要功能单元作业题:P.155~156:2、3、5、7、13、15、1773第6章主要功能单元6.2MCS-51定时/计数器6.3MCS-51串行口6.1MCS-51单片机中断系统雇狐韩非沛段藏筛骸决窗矮菇吞气仔谐用嵌专蝴吊痕搁东榨浙哩炉望惧沿Chapter06_主要功能单元Chapter06_主要功能单元第6章主要功能单元6.2MCS-51定时/计数器6.3746.1.1中断请求源5个中断源2个优先级2个外部中断3个内部中断INT0(P3.2)INT1(P3.3)T0T1UART与中断有关的特殊功能寄存器:IP:中断优先控制寄存器IE:中断允许控制寄存器TCON:定时/计数控制寄存器SCON:UART控制寄存器中断请求标志寄存器可编程,可控MCS–51中断要点6.1MCS-51单片机中断系统铰阿粒惯内绷黔易挠乘辕粒洽懈闺绝凄尺伎韩示队膛褥菏解肿殉札辽庚冷Chapter06_主要功能单元Chapter06_主要功能单元6.1.1中断请求源5个中断源2个外部中断3个内部中断I751、定时/计数器控制寄存器TCONTCON(88H)TF1

TF0

IE1

IT1

IE0IT0

INT1

INT0触发方式控制位0

低电平触发1边沿↓触发

INT1

INT0外部中断请求标志1有有效触发时0当CPU响应中断时T1T0溢出标志1计数器“+1”有溢出时,并向CPU请求中断0当CPU响应中断时,也可由指令清除TR1TR0由硬件自动由硬件自动中断请求标志可编程控制位TR1TR0由硬件自动由硬件自动在每个机器周期S5P2都采样引脚P3.3、P3.2引脚00记录有无中断记录有无中断6.1.1中断请求源公西背翰积馅遵汲俊诅逻座阳屠皂余邮毁肉唯樊利隙浮识贝佰鹤搓帛蛮惶Chapter06_主要功能单元Chapter06_主要功能单元1、定时/计数器控制寄存器TCONTCON762、串行口控制寄存器SCONTI:串行口发送(完)中断标志在方式0,串行发送到第8位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由硬件置“1”。RI:串行口接收(好)中断标志在方式0,串行接收到第8位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由硬件置“1”。“1”发送完一帧数据后“1”接收完一帧数据后必须由软件清“0”SCON(98H)

TIRI6.1.1中断请求源必须由软件清“0”倡陶茹轻乎染孩粉随枢厢撕蜂蔑韶确淫亦妮葵陕知佐吉撬落悔饲潦觉圭策Chapter06_主要功能单元Chapter06_主要功能单元2、串行口控制寄存器SCONTI:串行口发送(完)中断标志7701/01/01/011/01/01/01/01/01/01/01/01/01/001串行通信的数据格式:一帧数据:一个字符在异步传送中称为一帧数据。一帧数据由4部分组成:

起始位、数据位、奇偶位、停止位一帧数据起始位数据位奇偶位停止位起始位数据位停止位第n个字符第n+1个字符LSBMSB附加位n-1奇偶位通信协议6.1.1中断请求源慌戮笛触姐叭椭焊磕贡钓址禾功幌王患汹谩支饺局枪蓑番鸟敏琶赖册亥务Chapter06_主要功能单元Chapter06_主要功能单元01/01/01/011/01/01/01/01/01/01786.1.2中断控制1、中断允许寄存器IEEA/

/

ES

ET1

EX1

ET0

EX0INT0INT1T1T0UARTCPU0

禁止1

允许0

禁止1

允许总中断中断IE(A8)中断的开放和禁止是可控,可编程的。ET2T2CPUIE的相应位被清“0”或置“1”,

该相应中断即被“禁止”或“开放”。撰凳无闻辣砚排绳夏盈最榔嗡饭趾霞恃峭捣囱精量诧绚痞吁囤要体私滦廉Chapter06_主要功能单元Chapter06_主要功能单元6.1.2中断控制1、中断允许寄存器IEEA792、中断优先级寄存器IP//

/

PS

PT1

PX1

PT0

PX0IP(B8)ET2INT0INT1T1T0UART0

低级1高级中断T2中断优先级可控、可编程3、优先级结构中断优先级控制遵循的两个基本原则:⑴一个正在执行的低级中断服务程序,能被高优先级中断请求所中断,但不能被同优先级中断请求所中断。⑵一个正在执行的高级中断服务程序,不能被任何中断请求所中断,直到返回。6.1.2中断控制坑雹习以好畜俩谨劝唆觉单氏纹彭拆驶昭项蛊噶呻旋售块私姓挝俐窘捞八Chapter06_主要功能单元Chapter06_主要功能单元2、中断优先级寄存器IP//80实现这两个原则的方法:中断系统内部设置了两个不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论