亳州| 兴义| 西峡| 招远| 乐山| 阜城| 南岔| 苍梧| 东山| 长白山| 双牌| 梁山| 鹰手营子矿区| 桃源| 凤凰| 如皋| 抚松| 乐东| 恒山| 浪卡子| 界首| 于田| 鸡西| 九台| 茂县| 保山| 重庆| 凤阳| 兴宁| 下花园| 汾阳| 泸县| 喜德| 保德| 康保| 福州| 册亨| 新邵| 平昌| 大兴| 库伦旗| 济源| 临安| 龙陵| 台北县| 高邮| 闻喜| 眉山| 湘潭县| 本溪市| 丹凤| 费县| 晋中| 茌平| 兴和| 莱山| 资兴| 扎赉特旗| 丽江| 宿松| 盱眙| 甘棠镇| 闻喜| 绵阳| 东兴| 石拐| 北宁| 华山| 邛崃| 武都| 安西| 北戴河| 彭水| 赫章| 新民| 融水| 黄梅| 宁远| 新巴尔虎右旗| 皋兰| 丹巴| 长白山| 稷山| 望城| 夏县| 措美| 嘉荫| 彭泽| 夷陵| 扬州| 新平| 聂荣| 公安| 彭阳| 乌恰| 于田| 富源| 繁昌| 博罗| 黟县| 南皮| 漳州| 辉南| 榆林| 金平| 栾川| 乐陵| 惠阳| 道真| 新宾| 花莲| 岳阳市| 定陶| 花莲| 龙州| 辽中| 水富| 嘉祥| 本溪满族自治县| 札达| 和龙| 三江| 杂多| 察哈尔右翼前旗| 故城| 济阳| 定西| 建德| 弋阳| 湖南| 武胜| 淄川| 科尔沁左翼后旗| 费县| 房山| 称多| 寿县| 额敏| 石棉| 茶陵| 皮山| 泰州| 托克托| 霍邱| 会泽| 横县| 沂南| 哈巴河| 儋州| 奉化| 扶绥| 衡东| 蒙阴| 汉口| 镇赉| 潞城| 宣威| 德江| 柳江| 安西| 大同县| 宁县| 科尔沁右翼前旗| 任丘| 昌黎| 鲁山| 万盛| 西吉| 枝江| 博罗| 永靖| 封开| 左权| 蔚县| 歙县| 辰溪| 南康| 莘县| 友好| 兖州| 沙河| 夹江| 长丰| 望城| 固始| 眉县| 溆浦| 伊宁市| 即墨| 商丘| 麦积| 淇县| 抚顺市| 长沙| 孝感| 亳州| 费县| 贡觉| 大龙山镇| 石门| 龙游| 昌乐| 龙江| 云溪| 从化| 南皮| 隆子| 克东| 池州| 沙坪坝| 武山| 嘉定| 沐川| 双城| 北海| 百色| 额尔古纳| 新巴尔虎左旗| 安丘| 上林| 朝阳县| 卓资| 崇信| 藁城| 江油| 阜新蒙古族自治县| 沙河| 杭锦旗| 汾阳| 宜黄| 抚顺县| 沛县| 南票| 青海| 罗山| 黑河| 高明| 张北| 南城| 安陆| 邵阳县| 邓州| 张家口| 陆良| 扶绥| 西平| 南陵| 博湖| 隆回| 阳高| 宕昌| 晋中| 雷州| 三亚| 九江市| 平阴| 广东| 大洼| 松溪| 海淀| 沧县| 砚山| 吉县| 曲江|

体育彩票32选7怎样算中:

2018-11-15 01:38 来源:京华网

  体育彩票32选7怎样算中:

  “目前柳州市工业机器人存量近4000台,并以每年1000台的增量递增。原标题:九件“国家宝藏”亮相故宫箭亭  本报讯(记者刘冕)“中华第一古物”石鼓、懿德太子墓壁画《阙楼仪仗图》、唐摹王羲之一门书翰卷……9件来自全国9大博物馆、出现在热播电视节目《国家宝藏》中的国宝,昨日亮相故宫箭亭广场。

针对小鸣单车拖欠消费者押金、资金账户管理不规范等问题,去年年底,广东省消费者委员会向广州市中级人民法院提起消费民事公益诉讼。”谈起自家的“植物工厂”,内蒙古蒙草生态环境(集团)股份有限公司董事长王召明脸上写满了兴奋。

    韩国爱康尼斯娱乐集团旗下子公司POROROPark株式会社董事长崔镇植表示,此次开业的啵乐乐儿童主题乐园是中国第一家啵乐乐多媒体乐园,该乐园在原来的基础上,增加了物联网、AR和VR等技术和设施,是可实现多媒体互动的智能型游乐场。不然,对方知道你是女生就会直接乱冲,根本练不出效果。

  据农业农村部定点监测,生猪和能繁母猪存栏环比分别减少%和%,同比分别减少%和5%;全国规模以上生猪定点屠宰企业屠宰量环比下降%,同比上涨%。在报名阶段查实的,取消其自主招生报考资格,同时取消其当年高考报名资格;在入学前查实的,取消其入学资格;入学后查实的,取消其录取资格或者学籍。

特展为期两周,覆盖2018年整个农历新年假期,2月25日结束。

  结果发现,钙同位素比例其实与母体小行星和行星的质量相关,因此可以提供一个对它们的吸积时间尺度的替代。

  坚果种子类(比如松子仁、核桃、芝麻、花生等)中的不饱和脂肪酸也能一小部分转化成DHA和ARA,但是转化率较低,所以首选动物来源。检察机关认为,李某添破坏国家级生态公益林,非法采矿的行为已涉嫌构成犯罪,并严重侵害了公共利益,应在追究其刑事责任的同时提起刑事附带民事公益诉讼,追究其民事侵权责任。

  其中很多是在改革开放以后,由“三来一补”、加工贸易带动而发展起来的。

  加快推进系统建设,开展政策解读和人员培训辅导“能否确保首个征期平稳顺利,是关系到环境保护费税制度转换成功落地的关键。“该浇多少水、该施什么肥,让农民一目了然,再运用互联网实现一键操作。

    盗窃百枚比特币  竟是“内鬼”所为  在承办本案后,海淀检察院科技犯罪检察部调查发现,犯罪嫌疑人仲某系海淀区某科技公司运维工程师。

  业内人士纷纷表示,缺少重大原创成果、缺乏系统的超前研发布局、人工智能尖端人才远远不能满足需求、政策法规和标准体系欠缺,是困扰我国人工智能发展的难题,时代在呼唤体制机制改革创新。

  而在本周六20:30即将播出的第八期节目中,当女嘉宾表示钟情于演员朱亚文时,却难倒了“月老”,究竟为何呢?  被称为“行走的荷尔蒙”的朱亚文,以酥力十足的一声“宝贝儿”,成功虏获了万千少女心,其中也包括女嘉宾马源。此外,中国还拥有约3万亿美元的全球最大外汇储备,而黄金价值仅占外储的%。

  

  体育彩票32选7怎样算中:

 
责编:
关闭

关闭

关闭

封号提示

内容

首页 单片机中级教程4第四章80C51单片机的功能

单片机中级教程4第四章80C51单片机的功能.ppt

单片机中级教程4第四章80C51单片机的功能

烟雨梦兮 2018-11-15 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报
预计全年粮食作物面积稳定在亿亩以上,小麦面积持平略减,“镰刀弯”等非优势区玉米面积调减1000多万亩,东北寒地井灌稻和南方低质低产水稻面积调减1100多万亩,产业布局进一步优化;绿色优质产品增加,优质强筋弱筋专用小麦增加400多万亩,优质稻谷、双低油菜、高蛋白大豆、高产高糖甘蔗分别增加160万亩、150万亩、130万亩和80万亩以上;种养结合加快推进,稻田综合种养面积达到2400多万亩,增加300多万亩。

简介:本文档为《单片机中级教程4第四章80C51单片机的功能ppt》,可适用于IT/计算机领域,主题内容包含第四章C单片机的功能单元基本内容并行IO接口P口P口P口P口定时器计数器概述定时器计数器T、T第四章C单片机的功能单元定时器计数器T看门狗定时器计数符等。

第四章C单片机的功能单元基本内容并行IO接口P口P口P口P口定时器计数器概述定时器计数器T、T第四章C单片机的功能单元定时器计数器T看门狗定时器计数器的编程和使用串行接口中断系统中断、中断源及中断优先级中断的控制和操作中断的响应过程和中断矢量地址??第四章C单片机的功能单元并行IO接口C共有四个位的并行双向口计有根输入输出(IO)口线。各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。由于它们在结构上的一些差异故各口的性质和功能也就有了差异。它们之间的异同列于表。表C并行IO接口的比较IO口P口P口P口P口位数性质真正双向口准双向口准双向口准双向口功能IO口替代功能IO口替代功能IO口替代功能IO口替代功能SFR字节地址HHAHBH地址范围H~HH~HAH~AHBH~BH驱动能力个TTL负载个TTL负载个TTL负载个TTL负载IO口P口P口P口P口替代功能程序存储器、片外数据存储器低位地址及位数据CTCT、TEX(CTC仅C中有)串行口程序存储器、片外数据存储器高位地址串行口:RXDTXD中断:INTINTCTC、:T、T片外数据存储器:WRRD第四章C单片机的功能单元下面按照各口的结构由简而繁的顺序加以介绍。P口P口是一个位口,可以字节访问也可位访问,其字节访问地址为H,位访问地址为H~H。位结构与工作过程分P口的位结构如图所示内包含:输出锁存器、输入缓冲器BUF(读引脚)、BUF(读锁存器)以及由FET晶体管Q与上拉电阻组成的输出输入驱动器。第四章C单片机的功能单元图P口的位结构原理图第四章C单片机的功能单元P口的工作过程分析如下:Pi位作输出口用时:CPU输出时,D=Q=Q=晶体管Q导通A点被下拉为低电平即输出CPU输出时D=Q=Q=晶体管Q截止A点被上拉为高电平即输出。Pi位作输入口用时:先向Pi位输出高电平使A点提升为高电平此操作称为设置Pi为输入线。若外设输入为时A点为高电平由BUF读入总线后B点也为高电平若外设输入为时A点为低电平由BUF读入总线后B点也为低电平。第四章C单片机的功能单元P口的特点输出锁存,输出时没有条件输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。具有这种特性的口不属于“真正”的双向口而被称为“准”双向口。第四章C单片机的功能单元这里需要注意的是若在输入操作之功能第四章C单片机的功能单元位名称功能DGATE定时器计数器T门控位DCT定时计数器T功能选择位CT=计数器CT=定时器DM定时器计数器T方式选择位DM定时器计数器T方式选择位DGATE定时器计数器T门控位DCT定时器计数器T功能选择位CT=计数器CT=定时器DM定时器计数器T方式选择位DM定时器计数器T方式选择位第四章C单片机的功能单元()定时器计数器T、T的控制寄存器TCON控制寄存器TCON是一个逐位定义的位寄存器既可字节寻址也可位寻址字节地址为H位寻址的地址为H~FH。其格式如下:位地址FHEHDHCHBHAHHH位功能TFTRTFTRIEITIEIT第四章C单片机的功能单元其中各位的意义如下:TF(TCON)定时器计数器T的溢出标志。定时器计数器T溢出时该位由内部硬件置位。若中断开放即响应中断进入中断服务程序后由硬件自动清若中断禁止可用于判跳用软件清。第四章C单片机的功能单元TR(TCON)定时器计数器T的运行控制位。用软件控制置时启动T清时停止T。TF(TCON)定时器计数器T的溢出标志。其意义与TF相同。TR(TCON)定时器计数器T的运行控制位。用软件控制置时启动T清时停止T。第四章C单片机的功能单元IE(TCON)外部中断请求标志位。(:有无)IT(TCON)外部中断触发类型选择位。(:下降沿低电平)IE(TCON)外部中断请求标志位。IT(TCON)外部中断触发类型选择位。(:下降沿低电平)TCON的低位与中断有关将在“中断系统”一节中详细讨论。第四章C单片机的功能单元复位后TCON的所有位均清。将定时器计数器T、T的控制寄存器TCON各位的功能综合列入表中。第四章C单片机的功能单元表控制寄存器TCON各位的功能位名称功能DTF(TCON)计数器T的溢出标志DTR(TCON)定时器计数器T的运行控制位DTF(TCON)定时器计数器T的溢出标志DTR(TCON)定时器计数器T的运行控制位DIE(TCON)外部中断请求标志位DIT(TCON)外部中断触发类型选择位DIE(TCON)外部中断请求标志位DIT(TCON)外部中断触发类型选择位第四章C单片机的功能单元()定时器计数器T、T的数据寄存器TH、TL和TH、TL定时器计数器T、T各有一个位的数据寄存器,它们都是由高位寄存器和低位寄存器所组成。这些寄存器不经过缓冲直接显示当前的计数值。所有这四个寄存器都是读写寄存器任何时候都可对它们进行读写操作。复位后所有这四个寄存器全部清零。它们都只能字节寻址相应的字节地址见表。第四章C单片机的功能单元定时器计数器T、T的功能选择定时器计数器T、T的功能是通过TMOD中的CT来选择的。()定时器设置CT=此时计数输入信号是内部时钟脉冲每个机器周期使寄存器的值增。每个机器周期等于个振荡周期故计数速率为振荡周期的。当采用MHz的晶体时计数速率为MHz。第四章C单片机的功能单元表定时器计数器T、T的数据寄存器的字节地址寄存器名称字节地址THT的高位数据寄存器DHTLT的低位数据寄存器BHTHT的高位数据寄存器CHTLT的低位数据寄存器AH第四章C单片机的功能单元定时器的定时时间与系统的振荡频率有关与计数器的长度和初值有关。()计数器设置CT=这时通过引脚T(P)和T(P)对外部信号进行计数。在每个机器周期的SP期间CPU采样引脚的输入电平。若前一机器周期采样值为下一机器周期采样值为则计数器增此后的机器周期SP期间新的计数值装入计数器。所以检测一个到的跳变需要两个机器周期故最高计数频率为振荡频率的。第四章C单片机的功能单元定时器计数器T、T的工作方式根据对M和M的设定定时器计数器T、T可选择四种不同的工作方式。定时器计数器T、T的前三种工作方式(即方式、方式和方式)相同方式的设置稍有不同需要注意。()方式当TMOD中的M=、M=时选定方式工作。方式时的结构如图所示。这种方式下计数寄存器由位组成即TLx的高位未用。第四章C单片机的功能单元图方式时定时器计数器T、T的结构简图第四章C单片机的功能单元计数时TLx的低位溢出后向THx进位THx溢出后将TFx置位并向CPU申请中断。当GATE=时A点为高电平定时器计数器的启动停止由TRx决定。TRx=定时器计数器启动TRx=定时器计数器停止。当GATE=时A点的电位由INTx决定因而B点的电位就由TRx和INTx决定即定时器计数器的启动停止由TRx和INTx两个条件决定。第四章C单片机的功能单元计数溢出时TFx置位。如果中断允许CPU响应中断并转入中断服务程序由内部硬件清TFx。TFx也可以由程序查询和清零。()方式当TMOD中的M=、M=时选定方式工作。方式时的结构如图所示。这种方式下计数寄存器由位组成。第四章C单片机的功能单元图方式时定时器计数器T、T的结构简图第四章C单片机的功能单元计数时TLx溢出后向THx进位THx溢出后将TFx置位并向CPU申请中断。其它与方式完全相同。()方式当TMOD中的M=、M=时选定方式工作。这种方式是将位计数寄存器分为两个位寄存器组成一个可重装入的位计数寄存器。方式时的结构如图所示。第四章C单片机的功能单元图方式时定时器计数器T、T的结构简图第四章C单片机的功能单元在方式中TLx作为位计数寄存器THx作为位计数常数寄存器。当TLx计数溢出时一方面将TFx置位并向CPU申请中断另一方面将THx的内容重新装入TLx中继续计数。重新装入不影响THx的内容所以可以多次连续再装入。方式对定时控制特别有用它可实现每隔预定时间发出控制信号而且特别适合于串行口波特率发生器的使用。第四章C单片机的功能单元()方式当TMOD中的M=、M=时选定方式工作。这种方式是将定时器计数器T分为一个位定时器计数器和一个位定时器TL用于位定时器计数器TH用于位定时器。方式时定时器计数器T的结构如图所示。第四章C单片机的功能单元图方式时定时器计数器T的结构简图第四章C单片机的功能单元定时器计数器的工作与方式时相同只是此时的计数器为位计数器TL它占用了T的GATE、INT、TR、T引脚以及中断源等。TH所构成的定时器只能作为定时器用因为此时的外部引脚T已为定时器计数器TL所占用。不过这时它却占用了定时器计数器T的启动停止控制位TR、计数溢出标志位TF及中断源。第四章C单片机的功能单元在方式下定时器计数器T的结构如图所示。此时定时器计数器T可选方式、或。由于此时中断源已被占用所以仅能作为波特率发生器或其它不用中断的地方。事实上只在定时器计数器T用做波特率发生器时定时器计数器T才选作方式。第四章C单片机的功能单元图方式时定时器计数器T的结构简图第四章C单片机的功能单元看门狗看门狗(watchdog)有时又称为定时器T它的作用是强迫单片机(微控制器)进入复位状态使之从硬件或软件故障中解脱出来。即当单片机的程序进入了错误状态后在一个指定的时间内用户程序没有重装定时器T将产生一个系统复位。第四章C单片机的功能单元在C中定时器T由一个位的分频器和位定时器T组成如图所示。T由外部引脚EW和电源控制寄存器中的PCON(WLE)和PCON(PD)控制。EW看门狗定时器允许低电平有效。EW=时允许看门狗定时器禁止掉电方式EW=时禁止看门狗定时器允许掉电方式WLE(PCON)看门狗定时器允许重装标志若WLE置位定时器T只能被软件装入装入后WLE自动清除。第四章C单片机的功能单元图看门狗(定时器T)第四章C单片机的功能单元定时器T的重装和溢出产生复位的时间间隔由装入T的值决定。定时器T的工作过程:在T溢出时复位XC并产生复位脉冲输出至复位引脚RST。为防止系统复位必须在定时器T溢出前通过软件对其进行重装。如果发生软件或硬件故障将使软件对定时器T重装失败从而T溢出导致复位信号的产生。用这样的方法可以在软件失控时恢复程序的正常运行。第四章C单片机的功能单元例如:watchdog使用的一段程序如下:TEQUFFH定时器T的地址PCONEQUHPCON的地址WATCHINTVEQU看门狗的时间间隔LCALLWATCHDOG看门狗的服务程序WATCHDOG:ORLPCON#H允许定时器T重装MOVT#WATCHINTV装载定时器TRET第四章C单片机的功能单元定时器计数器的编程和使用定时器计数器溢出率的计算定时器计数器运行前,在其中预先置入的常数,称为定时常数或计数常数(TC)。由于计数器是加(向上)计SS数的故而预先置入的常数均应为补码。t=Tc(LTC)=fosc(LTC)第四章C单片机的功能单元其中:t定时时间。Tc机器周期。fosc晶体振荡器频率。L计数器的长度。对于T及T:方式L==方式L==方式L==对于T:L==第四章C单片机的功能单元TC定时器计数器初值即定时常数或计数常数。定时时间的倒数即为溢出率即溢出率=t=fosc*(LTC)根据既定的定时时间t计算出TC值并将其转换成二进制数TCB然后再分别送入THi、TLi(对于Ti=对于Ti=)。对于定时器计数器T、T:方式时:TCB=TCHTCLTCH高位TCL低位MOVTHi#TCH送高位MOVTLi#TCL送低位第四章C单片机的功能单元方式时:TCB=TCHTCLTCH高位TCL低位MOVTHi#TCH送高位MOVTLi#TCL送低位方式时:TCB位MOVTHi#TCBMOVTLi#TCB对于定时器计数器T:与T、T的方式相同。第四章C单片机的功能单元定时器计数器的编程定时器计数器的编程可分为以下几步:写TMOD只能用字节寻址。设置定时器计数器的工作方式(M、M)、功能选择(CT)及是否使用门控(GATE)。将时间常数或计数常数写入THi及TLi也只能用字节寻址。根据上面的计算结果写入THi及TLi。启动定时或计数即写TCON可用字节寻址也可用位寻址。如:第四章C单片机的功能单元SETBTRi启动定时器SETBTCON(T)SETBTCON(T)CLRTRi停止定时器定时器中断开放和禁止即写IE(IEIEIE)。如:SETBETi允许中断ETiSETBEA开放中断CLRETi禁止中断ETiCLREA关闭中断第四章C单片机的功能单元定时器计数器的应用举例例使用定时器计数器T的方式设定ms的定时。在P引脚上产生周期为ms的方波输出。晶体振荡器的频率为fosc=MHz。解:定时常数计算振荡器的频率fosc=MHz=Hz方式计数器长度L=2L==定时时间t=ms=s定时常数第四章C单片机的功能单元TC=Lfosct===定时常数TC转换成二进制数TCB=B所以TCH=FHTCL=CHTMOD的设定(即控制字)第四章C单片机的功能单元编程MOVTMOD#H写控制字MOVTH#FH写定时常数MOVTL#CHSETBTR启动TSETBET允许T中断SETBEA开放CPU中断AJMP$ORGBHT中断矢量地址AJMPINQP第四章C单片机的功能单元ORGH中断服务程序INQP:MOVTH#FH重写定时常数MOVTL#CHCPLPP变反输出RETI中断返回第四章C单片机的功能单元例使用定时器计数器T的方式设定ms的定时。同样在P引脚上产生周期为ms的方波输出。晶体振荡器的频率为fosc=MHz。解:定时常数计算振荡器的频率fosc=MHz=Hz方式计数器长度L=L==第四章C单片机的功能单元定时时间t=ms=s定时常数TC=Lfosct===定时常数TC转换成二进制TCB=B=FECH所以TCH=FEH(高位)TCL=CH(低位)TMOD的设定(即控制字)#H第四章C单片机的功能单元编程ORGBHT中断矢量地址AJMPINQPORGH主程序入口MOVTMOD#H写控制字MOVTH#FEH写定时常数MOVTL#CHSETBTR启动T第四章C单片机的功能单元SETBET允许T中断SETBEA开放CPU中断AJMP$ORGH中断服务程序INQP:MOVTH#FEH重写定时常数MOVTL#CHCPLPP变反输出RETI中断返回第四章C单片机的功能单元例欲用C产生两个方波其一周期为μs另一周期为μs而且该C使用串行口并希望用定时器计数器为波特率发生器。试问定时器计数器该如何设置?解:这时宜用定时器计数器T的方式工作其中:TL产生μs方波由P输出TH产生μs方波由P输出定时器计数器T设置为方式作波特率发生器用。为波特率设置的方便采用晶振频率为fosc= MHz。第四章C单片机的功能单元定时常数计算TL定时常数为TCL:定时时间为tL=μsTCL=-=-=单位μs为十进制数值。十六进制数值为TCBL=BH。第四章C单片机的功能单元TH定时常数为TCH:定时时间为tH=μsTCH=--==单位μs为十进制数值。十六进制的值为TCBH=H。TH的溢出率与波特率(详细计算见串行口部分)设波特率为,则定时常数为TC=FH。第四章C单片机的功能单元编程ORGHAJMPMAINORGBHTL的中断入口AJMPITLPORGBHTH的中断入口AJMPITHP第四章C单片机的功能单元ORGHMAIN:MOVSP#H设栈指针MOVTMOD#H设T为方式设T为方式MOVTL#BH设TL初值MOVTH#H设TH初值MOVTL#FH设TL初值第四章C单片机的功能单元MOVTH#FH设TH初值SETBTR启动TLSETBTR启动THSETBET允许TL中断SETBET允许TH中断SETBEA中断开放AJMP$第四章C单片机的功能单元ORGHITLP:MOVTL#BH重装定时常数CPLP输出方波RETIITHP:MOVTH#H重装定时常数CPLP输出方波RETI第四章C单片机的功能单元例设定时器计数器T为计数方式。当T引脚出现负跳变时向CPU申请中断。解:定时常数计算当T引脚出现负跳变时即向CPU申请中断一次故此时的定时常数应为TCB=FFH。TMOD的设定(即控制字)编程第四章C单片机的功能单元ORGBHT的中断入口RETIORGHMAIN:MOVTMOD#H设T为计数方式MOVTL#FFH设TL初值MOVTH#FFH设TH初值SETBTR启动计数SETBET允许T中断第四章C单片机的功能单元SETBEA中断开放AJMP$CLRET禁止T中断CLREA关中断…从此例中可以看出:这时相当于T的计数中断转换为一个外部中断。第四章C单片机的功能单元例利用定时器计数器测定图所示波形的一个周期长度。解:这里利用门信号GATE启动定时器的方法。设如图所示定时器计数器T为定时器INT为高电平时启动定时器定时器计数器T为计数器T的电平由到计数器计数。定时器设置当脉冲数低于每秒个时每个脉冲周期为ms左右故设置定时器的基本定时为ms可满足测时的精度要求。因此采用门控方式触发启动定时器采用方式位计数器。第四章C单片机的功能单元图利用定时器计数器测定周期第四章C单片机的功能单元定时器T的TMOD的设置:控制字为H。门控定时器方式GATECTMM第四章C单片机的功能单元时间常数计算:晶体振荡器为MHz基本定时时间为ms机器周期Tc为Tc==s设置初值为x:x==x===CBH预置:(TH)=CH(TL)=BH计数器设置第四章C单片机的功能单元定时器计数器T为计数器。计数值为当计数时启动定时器当计数时中断计数器T并停止定时器T的定时中断方式其优先级高于定时器T。计数器T的TMOD的设置:控制字为H。GATECTMM=计数器方式计数初值为FFFEH预置:(TH)=FFH(TL)=FEH。编程ORGBH定时器T中断入口AJMPTIME第四章C单片机的功能单元ORGBH定时器T中断入口AJMPTIMEORGHMOVR#清除软件计数器SETBP置P、P为输入状态SETBPMOVTMOD#HMOVTH#CH定时器初值MOVTL#BHMOVTH#FFH计数器初值第四章C单片机的功能单元MOVTL#FEHSETBTR启动定时器、计数器SETBTRMOVIP#HT中断优先于TSETBET允许T、T中断SETBETSETBH设H、H为中断标志第四章C单片机的功能单元LOOP:SETBHSETBETSETBEA开中断JBH$JBHLOOPRETTIME:CLRTR第四章C单片机的功能单元MOVTMOD#HGATE=SETBTRMOVTH#CH重置定时器初值MOVTL#BHINCR计数器加CPLHRETI第四章C单片机的功能单元TIME:CLRH清除中断标志CLRHCLRET禁止T、T中断CLRETCLREA关中断CLRTR关定时器计数器CLRTRRETI本子程序占用T、TH、H及寄存器R。Rms即为周期长度因此可测的最大周期长度为ms=s。第四章C单片机的功能单元串行接口在C中有一个串行接口(serialport)全双工的UART。而在其它一些型号中又增加了新的串行口如XC中就增加了具有IC总线功能的串行口。C中的串行口是一个全双工的异步串行通信接口它可作UART(通用异步接收和发送器)用也可作同步移位寄存器用。第四章C单片机的功能单元所谓全双工的异步串行通信接口是说该接口可以同时进行接收和发送数据因为口内的接收缓冲器和发送缓冲器在物理上是隔离的即是完全独立的。可以通过访问特殊功能寄存器SBUF来访问接收缓冲器和发送缓冲器。接收缓冲器还具有双缓冲的功能即它在接收第一个数据字节后能接收第二个数据字节。但是在它完成接收第二个数据字节之后若第一个字节仍未取走那么该字节数据将丢失。第四章C单片机的功能单元UART串行口的结构UART串行口的结构如图所示可分为两大部分:波特率发生器和串行口。第四章C单片机的功能单元图UART串行口的结构第四章C单片机的功能单元波特率发生器:主要由定时器计数器T、T及内部的一些控制开关和分频器所组成。这些已在“定时器计数器”一节中介绍过了。它向串行口送出的时钟信号为TXCLOCK(发送时钟)和RXCLOCK(接收时钟)。相应的控制波特率发生器的特殊功能寄存器有TMOD、TCON、TCON、PCON、TL、TH、TL、TH等。串行口的内部包含:接收寄存器SBUF和发送寄存器SBUF:它们在物理上是隔离的但是占用同一个地址H。第四章C单片机的功能单元串行口控制逻辑:接受来自波特率发生器的时钟信号TXCLOCK(发送时钟)和RXCLOCK(接收时钟)控制内部的输入移位寄存器将外部的串行数据转换为并行数据和输出移位寄存器将内部的并行数据转换为串行数据输出还控制串行中断(RI和TI)。串行口控制寄存器:SCON。串行数据输入输出引脚:TXD(P)为串行输出RXD(P)为串行输入。第四章C单片机的功能单元串行口的特殊功能寄存器串行口控制寄存器SCON串行口控制寄存器SCON是一个逐位定义的位寄存器由它控制串行通信的方式选择、接收和发送指示串行口的状态。寄存器SCON既可字节寻址也可位寻址字节地址为H位地址为H~FH。其格式如下:位地址FHEHDHCHBHAHHH位功能SMSMSMRENTBRBTIRI第四章C单片机的功能单元各位的意义如下:SMSM串行口工作方式选择位。其功能见表。表串行口工作方式选择位SM、SM(P)第四章C单片机的功能单元SM(SCON)方式、中的多处理机通信允许位。方式时SM=。方式时SM=只有接收到有效的停止位RI才置。方式和方式时若SM=如果接收到的第位数据(RB)为RI置如果接收到的第位数据(RB)为RI置。这种功能可用于多处理机通信中。第四章C单片机的功能单元REN(SCON)允许串行接收位。置位时允许串行接收清除时禁止串行接收。可用软件置位清除。TB(SCON)方式和方式中要发送的第位数据。可用软件置位清除。RB(SCON)方式和方式中接收到的第位数据。方式中接收到的是停止位。方式中不使用这一位。第四章C单片机的功能单元TI(SCON)发送中断标志位。硬件置位软件清除。方式中在发送第位末尾置位在其它方式时在发送停止位开始时设置。RI(SCON)接收中断标志位。硬件置位软件清除。方式中在接收第位末尾置位在其它方式时在接收停止位中间设置。控制寄存器PCON控制寄存器PCON是一个逐位定义的位寄存器,目前仅有几位有定义其中仅最高位SMOD与串行口控制有关其它位与掉电方式有关。其格式如下:第四章C单片机的功能单元SMOD串行通信波特率系数控制位。当SMOD=时使波特率加倍。寄存器PCON的地址为H只能字节寻址。()串行数据寄存器SBUF串行数据寄存器SBUF包含在物理上是隔离的两个位寄存器:发送数据寄存器和接收数据寄存器但是它们共用一个地址H。其格式如下:DDDDDDDDSMODGFGFPDIDL第四章C单片机的功能单元写SBUF(MOVSBUFA),访问发送数据寄存器读SBUF(MOVASBUF),访问接收数据寄存器。DDDDDDDDSDSDSDSDSDSDSDSD第四章C单片机的功能单元串行口的工作方式及多机通信方式在控制寄存器中SM和SM位决定串行口的工作方式SM位决定串行口应用于多处理机的通信方式。方式:当SM=、SM=时,串行口选择方式。这种工作方式实质上是一种同步移位寄存器方式。其数据传输波特率固定为()fosc。数据由RXD(P)引脚输入或输出同步移位时钟由TXD(P)引脚输出。接收发送的是位数据传输时低位在前。帧格式如下:…DDDDDDDD…方式时的工作原理图如图所示。第四章C单片机的功能单元图方式时的工作原理图第四章C单片机的功能单元工作过程:发送:当执行任何一条写SBUF的指令时就启动串行数据的发送。在执行写入SBUF的指令时也将写入发送移位寄存器的第位并使发送控制器开始发送。在这期间内部定时保证写入SBUF与激活发送之间有一个完整的机器周期。当发送脉冲有效之后移位寄存器的内容由RXD(P)引脚串行移位输出移位脉冲由TXD(P)引脚输出。第四章C单片机的功能单元在发送有效的期间每个机器周期发送移位寄存器右移一位在其左边补“”。当数据最高位移到移位寄存器的输出位时原写入第位的“”正好移到最高位的左边一位由此向左的所有位均为这标志着发送控制器要进行最后一次移位并撤销发送有效同时使发送中断标志TI置位。第四章C单片机的功能单元接收:当REN=且接收中断标志RI位清除时即启动一次接收过程。在下一机器周期接收控制器将“”写入接收移位寄存器并在下一时钟周期内激发接收有效同时由TXD(P)引脚输出移位脉冲。在移位脉冲控制下接收移位寄存器的内容每一个机器周期左移一位同时由RXD(P)引脚接收一位输入信号。第四章C单片机的功能单元每当接收移位寄存器左移一位原写入的“”也左移一位。当最右边的移到最左边时标志着接收控制器要进行最后一次移位。在最后一次移位即将结束时接收移位寄存器的内容送入接收数据缓冲寄存器SBUF然后在启动接收的第个机器周期时清除接收信号置位RI。第四章C单片机的功能单元()方式当SM=、SM=时,串行口选择方式。其数据传输波特率由定时器计数器T和T的溢出决定可用程序设定。由TXD(P)引脚发送数据由RXD(P)引脚接收数据。发送或接收一帧信息为位:位起始位()、位数据位和位停止位()。帧格式如下:起始DDDDDDDD停止第四章C单片机的功能单元工作过程:发送:方式时发送的工作原理图如图所示。第四章C单片机的功能单元图方式时发送的工作原理图第四章C单片机的功能单元当执行任何一条写SBUF的指令时就启动串行数据的发送。在执行写入SBUF的指令时也将写入发送移位寄存器的第位并通知发送控制器有发送请求。实际上发送过程开始于分频计数器下次满度翻转(由全变全)后的那个机器周期的开始。所以每位的发送过程与分频计数器同步而不是与“写SBUF”同步。第四章C单片机的功能单元开始发送后的一个位周期发送信号有效开始将起始位送TXD(P)引脚。一位时间后数据信号有效。发送移位寄存器将数据由低位到高位顺序输出至TXD(P)引脚。一位时间后第一个移位脉冲出现将最低数据位从右边移出同时从左边挤入。当最高数据位移至发送移位寄存器的输出端时先前装入的第位的正好在最高数据位的左边而它的右边全部为。在第个位周期(分频计数器回时)发送控制器进行最后一次移位清除发送信号同时使TI置位。第四章C单片机的功能单元接收:方式时接收的工作原理图如图所示。图方式时接收的工作原理图第四章C单片机的功能单元当REN=且清除RI后若在RXD(P)引脚上检测到一个到的跳变立即启动一次接收。同时复位分频计数器使输入位的边沿与时钟对齐并将FFH(即个)写入接收移位寄存器。接收控制器以波特率的倍的速率继续对RXD(P)引脚进行检测对每一位时间的第、、个计数状态的采样值用多数表决法当两次或两次以上的采样值相同时采样值予以接受。第四章C单片机的功能单元如果在第个时钟周期中接收到的不是(起始位)就复位接收电路继续检测RXD(P)引脚上到的跳变。如果接收到的是起始位就将其移入接收移位寄存器然后接收该帧的其它位。接收到的位从右边移入原来写入的从左边移出当起始位移到最左边时接收控制器将控制进行最后一次移位把接收到的位数据送入接收数据缓冲器SBUF和RB而且置位RI。第四章C单片机的功能单元在进行最后一次移位时能将数据送入接收数据缓冲器SBUF和RB而且置位RI的条件是:RI=SM=或接收到的停止位=。若以上两个条件中有一个不满足将不可恢复地丢失接收到的这一帧信息如果满足上述两个条件则数据位装入SBUF停止位装入RB且置位RI。第四章C单片机的功能单元接收这一帧之后不论上述两个条件是否满足即不管接收到的信息是否丢失串行口将继续检测RXD(P)引脚上到的跳变准备接收新的信息。()方式和当SM=、SM=时,串行口选择方式当SM=、SM=时,串行口选择方式。由TXD(P)引脚发送数据由RXD(P)引脚接收数据。第四章C单片机的功能单元发送或接收一帧信息为位:位起始位()、位数据位和位停止位()。帧格式如下:起始DDDDDDDDD停止第四章C单片机的功能单元方式和的不同在于它们波特率产生方式不同。方式的波特率是固定的为振荡器频率的或。方式的波特率则由定时器计数器T和T的溢出决定可用程序设定。方式时的工作原理图如图所示。第四章C单片机的功能单元图方式时的工作原理图第四章C单片机的功能单元工作过程:发送:当执行任何一条写SBUF的指令时就启动串行数据的发送。在执行写入SBUF的指令时也将写入发送移位寄存器的第位并通知发送控制器有发送请求。实际上发送过程开始于分频计数器下次满度翻转(由全变全)后的那个机器周期的开始。所以每位的发送过程与分频计数器同步而不是与“写SBUF”同步。第四章C单片机的功能单元开始发送后的一个位周期发送信号有效开始将起始位送TXD(P)引脚。一位时间后数据信号有效。发送移位寄存器将数据由低位到高位顺序输出至TXD(P)引脚。一位时间后第一个移位脉冲出现将最低数据位从右边移出同时从左边挤入。当最高数据位移至发送移位寄存器的输出端时先前装入的第位的正好在最高数据位的左边而它的右边全部为。在第个位周期(分频计数器回时)发送控制器进行最后一次移位清除发送信号同时使TI置位。第四章C单片机的功能单元接收:当REN=且清除RI后若在RXD(P)引脚上检测到一个到的跳变立即启动一次接收。同时复位分频计数器使输入位的边沿与时钟对齐并将FFH(即个)写入接收移位寄存器。接收控制器以波特率的倍的速率继续对RXD(P)引脚进行检测对每一位时间的第、、个计数状态的采样值用多数表决法当两次或两次以上的采样值相同时采样值予以接受。第四章C单片机的功能单元如果在第个时钟周期中接收到的不是(起始位)就复位接收电路继续检测RXD(P)引脚上到的跳变。如果接收到的是起始位就将其移入接收移位寄存器然后接收该帧的其它位。接收到的位从右边移入原来写入的从左边移出当起始位移到最左边时接收控制器将控制进行最后一次移位把接收到的位数据送入接收数据缓冲器SBUF和RB而且置位RI。第四章C单片机的功能单元在进行最后一次移位时能将数据送入接收数据缓冲器SBUF和RB而且置位RI的条件是:RI=SM=或接收到的第数据位=。若以上两个条件中有一个不满足将不可恢复地丢失接收到的这一帧信息。如果满足上述两个条件则数据位装入SBUF第数据位位装入RB且置位RI。第四章C单片机的功能单元接收这一帧之后不论上述两个条件是否满足即不管接收到的信息是否丢失串行口将继续检测RXD(P)引脚上到的跳变准备接收新的信息。()多处理机通信方式在串行口控制寄存器SCON中设有多处理机通信位SM(SCON)。当串行口以方式或方式接收时若SM=如果接收到的第位数据(RB)为才将数据送入接收缓冲器SBUF并RI置发中断否则数据将丢失第四章C单片机的功能单元若SM=则无论第位数据(RB)是还是都能将数据装入SBUF并且发中断。利用这一特性便可实现主机与多个从机之间的串行通信。图为多机通信连线示意图系统中左边的C为主机其余的为~号从机并保证每台从机在系统中的编号是惟一的。第四章C单片机的功能单元图多机通信连线示意图第四章C单片机的功能单元系统初始化时将所有从机中的SM均置并处于允许串行口中断接收状态。主机欲与某从机通信先向所有从机发出所选从机的地址接着才发送命令或数据。在主机发地址时置第位数据(TB)为表示主机发送的是地址帧然后再将第位数据(TB)清发送命令或数据。各从机由于SM置将响应主机发来的第位数据(RB)为的地址信息。这之后从机有两种不同的表现:第四章C单片机的功能单元若从机的地址与主机点名的地址相同该从机将本机的SM清继续接收主机发来的命令或数据。若从机的地址与主机点名的地址不相同则该从机将继续维持SM为从而拒绝理会主机后面发来的信息重新等待主机的点名。这样保证实现主机与从机的一对一的通信。?第四章C单片机的功能单元串行口的波特率发生器及波特率波特率(baudrate)是指每秒钟传输的数据位数。波特率发生器用于控制串行口的数据传输速率。串行口的波特率发生器如图所示。第四章C单片机的功能单元图串行口的波特率发生器第四章C单片机的功能单元波特率的设定如下。方式时的波特率由振荡器的频率(fosc)所确定:波特率=fosc方式时的波特率由振荡器的频率(fosc)和SMOD(PCON)所确定:波特率=(fosc)SMOD当SMOD=时波特率=fosc当SMOD=时波特率=fosc。第四章C单片机的功能单元方式和时的波特率由定时器T和T的溢出率和SMOD(PCON)所确定。定时器T和T是可编程的可选择的波特率范围比较大因此串行口的方式和是最常用的工作方式。()用定时器T(CT=)产生波特率波特率=SMOD定时器T的溢出率定时器T的溢出率与它的工作方式有关:定时器T工作于方式:此时定时器T相当于一个位的计数器。溢出率=fosc(TCX)第四章C单片机的功能单元式中:TC位计数器初值X中断服务程序的机器周期数在中断服务程序中重新对定时器置数。定时器T工作于方式:此时定时器T相当于一个位的计数器。溢出率=fosc(TCX)定时器T工作于方式:此时定时器T工作于一个位可重装的方式用TL计数用TH装初值。溢出率=fosc{[(TH)]}第四章C单片机的功能单元方式是一种自动重装方式无需在中断服务程序中送数没有由于中断引起的的误差也应禁止定时器T中断。这种方式用于波特率设定最为有用。()用定时器T产生波特率波特率=定时器T的溢出率溢出率=fosc{[(RCAPHRCAPL)]}(RCAPHRCAPL)为位寄存器的初值(定时常数)。第四章C单片机的功能单元串行口的编程和应用方式的编程和应用C的串行口方式是移位寄存器方式。()方式的编程和应用试编写甲、乙双机利用串行口方式并以定时器T的方式制定波特率的通信程序。甲机发送:将以片内RAM的H及H的内容为首地址、以H及H的内容为末地址数据块内容通过串行口传至乙机。例如:第四章C单片机的功能单元(H)=H首地址高位(H)=H(H)=H末地址高位(H)=H即要求程序将片外RAM的H~FH中的内容输出到串行口。TRANS:ANLTMOD#FHORLTMOD#H置定时器计数器T为定时方式MOVTL#AAH第四章C单片机的功能单元MOVTH#AAH置定时常数SETBEA允许中断CLRES关串行口中断SETBET允许定时器T中断SETBPT定时器T中断级别高第四章C单片机的功能单元CLRPS关串行口中断SETBTR启动定时器TCLRTI清发送中断MOVSCON#H置串行口方式MOVSBUFH输出高位地址第四章C单片机的功能单元WAIT:JNBTIWAITCLRTIMOVSBUFHWAIT:JNBTIWAITCLRTIMOVSBUFH输出末位地址WAIT:JNBTIWAITCLRTIMOVSBUFHWAIT:JNBTIWAIT第四章C单片机的功能单元CLRTISETBES允许串行口中断…ORGBH定时器T中断入口AJMPTINTORGH串行口中断入口AJMPSINTTINT:CLRTR关定时器T第四章C单片机的功能单元MOVTL#AAH重置定时常数MOVTH#AAHSETBTR重开定时器TRETI定时器T中断返回第四章C单片机的功能单元SINT:PUSHDPL保护现场PUSHDPHPUSHACCMOVDPHHMOVDPLHMOVXADPTR第四章C单片机的功能单元CLRTIMOVSBUFA输出数据块中数据MOVADPHCJNEAHEND结束否?MOVADPLCJNEAHENDCLRES结束关中断CLRETCLRTR第四章C单片机的功能单元ESCOM:POPACCPOPDPHPOPDPLRETIEND:INCH首地址加MOVAHJNZHINCHSJMPESCOM第四章C单片机的功能单元乙机接收:通过TXD接收甲机发来的字节。这时接收的波特率必须与发送方的基本一样。接收的第一、二字节是数据块的首地址第三、四字节是数据块的末地址减第五字节开始是数据把数据依次存入数据块首地址开始的存储器中。接收程序如下:第四章C单片机的功能单元RECEIVE:ANLTMOD#FH置定时器计数器T为定时方式ORLTMOD#HMOVTL#AAH置定时常数MOVTH#AAHSETBEA允许中断SETBES开串行口中断SETBET允许定时器T中断SETBPT定时器T中断级别高第四章C单片机的功能单元CLRPS关串行口中断SETBTR启动定时器TMOVSCON#H置串行口方式接收CLRB置地址标志MOVH#H…ORGBH定时器T中断入口AJMPRTINT第四章C单片机的功能单元ORGH串行口中断入口AJMPRSINTRTINT:CLRTR关定时器TMOVTL#AAH重置定时常数MOVTH#AAHSETBTR重开定时器TRETI定时器T中断返回第四章C单片机的功能单元RSINT:PUSHDPL保护现场PUSHDPHPUSHACCMOVARPUSHACCJBBDATA判别接收的是地址还是数据MOVRH是地址MOVASBUFH~H中去MOVRADECH第四章C单片机的功能单元CLRRIMOVA#HCJNEAHRETURN是地址转结束SETBBRETURN:POPACC恢复现场MOVRAPOPACCPOPDPHPOPDPLRETI第四章C单片机的功能单元DATA:MOVDPHH是数据转入此处MOVDPLHMOVASBUFMOVXDPTRA将数据送入片外RAMCLRRIINCH地址加MOVAHJNZHINCHMOVAH第四章C单片机的功能单元CJNEAHRETURNMOVAHCJNEAHRETURNCLRES结束关所有中断CLRETSETBPSW置传送结束标志AJMPRETURN第四章C单片机的功能单元波特率的计算:这里使用MHz晶振以定时器T的方式制定波特率。此时定时器T相当于一个位的计数器。溢出率=fosc(TCX)X中断服务程序的机器周期数在中断服务程序中重新对定时器置数。CLRTR个机器周期MOVTL#AAH个机器周期MOVTH#AAH个机器周期SETBTR个机器周期从主程序转入中断服务程序个机器周期X=个机器周期。第四章C单片机的功能单元TC=AAAAH=。方式的编程和应用方式和方式有两方面不同:方式接收发送位信息:第位起始位()第~位数据位第位是程控位可由用户置TB决定第位是停止位()。而方式只接收发送位信息。方式的波特率变化范围比方式小方式的波特率为:波特率=振荡器频率n第四章C单片机的功能单元其中:当SMOD=时n=当SMOD=时n=。由于方式和方式基本一样仅波特率设置不同所以具体使用方法见方式的编程。第四章C单片机的功能单元()方式的编程和应用方式和方式的不同在于接收发送的信息位数不同而与方式的不同仅在于波特率设置不同。这里也是以双机通信为例。串行口以方式进行接收和发送以T为波特率发生器选择定时器方式。程序首先发送数据存放地址而地址的高位存放在H中地址的低位存放在H中然后发送…FE共个数据最后结束。第四章C单片机的功能单元甲机的发送程序:TRANSFER:MOVTL#FH置定时常数MOVTH#FHMOVTMOD#H置定时方式SETBEA允许中断CLRES禁止串行口中断CLRET禁止定时器T中断第四章C单片机的功能单元SETBTR启动定时器TMOVSCON#EH置串行口方式SETBTB表示发送的是地址MOVSBUFH发送地址JNBTI$CLRTIMOVSBUFHJNBTI$第四章C单片机的功能单元CLRTIMOVIE#H允许串行口中断CLRTB以后发送的是数据MOVA#HMOVSBUFAWAIT:CJNEA#FEHWAIT判断是否结束CLRES结束禁止串行口中断第四章C单片机的功能单元CLREA关中断HERE:AJMPHEREORGH串行口中断入口INCACLRTIMOVSBUFARETI乙机接收:把接收到的头两个字节作为存放数据的首地址再接收到的个字节的数据存放入相应的单元中。第四章C单片机的功能单元RECEIVE:MOVTL#FH置定时常数MOVTH#FHMOVTMOD#H置定时方式SETBES允许串行口中断CLRET禁止定时器T中断第四章C单片机的功能单元SETBEA开中断SETBTR启动定时器TMOVSCON#FH置串行口方式接收MOVR#FEH数据个数RWAIT:AJMPRWAITORGH串行口中断入口第四章C单片机的功能单元MOVCRBJNCPD输入是否为地址INCRNOPMOVARJZPDMOVDPHSBUF输入的是高位地址AJMPPD第四章C单片机的功能单元PD:MOVDPLSBUF输入的是低位地址CLRSM下一次输入是数据PD:CLRRIRETIPD:MOVASBUF是数据MOVXDPTRAINCDPTRCLRRICJNEA#FEHRETURN判断是否结束第四章C单片机的功能单元CLRES结束关中断RETURN:RETI一般说来用定时器方式来制定波特率是比较理想的它不需要用中断服务程序来置数并且算出的波特率也比较准确。在使用的波特率不太低的情况下宜于用定时器的方式来制定波特率。第四章C单片机的功能单元中断系统中断、中断源及中断优先级中断:程序执行过程中允许外部或内部事件通过硬件打断程序的执行使其转向为处理外部或内部事件的中断服务程序中去完成中断服务程序后CPU继续原来被打断的程序这样的过程称为中断过程如图所示。第四章C单片机的功能单元()中断源:能产生中断的外部和内部事件。图中断过程第四章C单片机的功能单元()中断优先级:几个中断源同时申请中断时或者CPU正在处理某外部事件时又有另一外部事件申请中断CPU必须区分哪个中断源更重要从而确定优先处理谁的能力这就是中断优先级问题。就后者来说优先级高的事件可以中断CPU正在处理的低级的中断服务程序待完成了高级中断服务程序之后再继续被打断的低级中断服务程序。这是中断嵌套问题。在C中只有两级中断优先级。图是C的中断系统结构示意图。第四章C单片机的功能单元图C的中断系统结构示意图第四章C单片机的功能单元中断的控制和操作中断源C中有五个中断源C中增多了一个中断源定时器计数器T即有六个中断源。C的五个中断源是:INT(P)外部中断。当IT(TCON)=时低电平有效当IT(TCON)=时下降沿有效。INT(P)外部中断。当IT(TCON)=时低电平有效当IT(TCON)=时下降沿有效。第四章C单片机的功能单元TF(P)定时器计数器T溢出中断。TF(P)定时器计数器T溢出中断。RXTX串行中断。中断标志INT、INT、T及T的中断标志存放在TCON(定时器计数器控制)寄存器中串行口的中断标志存放在SCON(串行口控制)寄存器中。第四章C单片机的功能单元SCON寄存器字节地址为H其格式如下:TCON寄存器字节地址为H其格式如下:位地址FHEHDHCHBHAHHH符号TFTRTFTRIEITIEIT位地址FHEHDHCHBHAHHH符号SMSMSMRENTBRBTIRI第四章C单片机的功能单元TF(TCON)T计数溢出。硬件置位响应中断时硬件复位。不用中断时软件清。TF(TCON)T计数溢出。硬件置位响应中断时硬件复位。不用中断时软件清。IE(TCON)IE=时INT向CPU申请中断。IE(TCON)IE=时INT向CPU申请中断。第四章C单片机的功能单元TI(SCON)发送完一帧硬件置位。响应中断后必须软件清。RI(SCON)接收完一帧硬件置位。响应中断后必须软件清。TCON中IT(TCON)、IT(TCON)中断申请触发方式控制位。中断允许控制中断允许和禁止由中断允许寄存器控制。中断允许寄存器(IE)的字节地址为AH其格式如下:第四章C单片机的功能单元IE寄存器中各位均是:为时禁止中断为时允许中断。系统复位后IE寄存器中各位均为即此时禁止所有中断。EX(IE)外部中断中断允许位。ET(IE)定时器计数器T中断允许位。EX(IE)外部中断中断允许位。位地址AFHAEHADHACHABHAAHAHAH符号EAESETEXETEX第四章C单片机的功能单元ET(IE)定时器计数器T中断允许位。ES(IE)串行口中断允许位。EA(IE)CPU中断允许位。当EA=所有中断开放当EA=时屏蔽所有中断。中断优先级在C中有高、低两个中断优先级通过中断优先级寄存器IP来设定。中断优先级寄存器IP的字节地址为BH其格式如下:位地址BFHBEHBDHBCHBBHBAHBHBH符号PSPTPXPTPX第四章C单片机的功能单元IP寄存器中各位均是:为时低中断优先级为时高中断优先级。系统复位后IP寄存器中各位均为即此时全部设定为低中断优先级。在中断执行过程中高中断优先级可以中断低中断优先级的中断过程。但是若在中断服务程序中关掉所有中断(CLREA)或关掉部分中断时除外。同级的中断不能相互中断。几个同级的中断源同时向CPU申请中断时CPU按硬件次序排定优先权即依次为INT、T、INT、T、串行口。第四章C单片机的功能单元外部中断触发方式INT、INT的中断触发方式有两种:电平触发方式低电平有效跳变触发方式电平发生由高到低的跳变时触发。这两种触发方式可由设置TCON寄存器中的IT((TCON)、IT((TCON)中断申请触发方式控制位来选择:设置IT、IT=选择电平触发方式设置IT、IT=选择跳变触发方式即当INT、INT引脚检测到前一个机器周期为高电平、后一个机器周期为低电平时则置位IE、IE且向CPU申请中断。第四章C单片机的功能单元由于CPU每个机器周期采样INT、INT引脚信号一次为确保中断请求被采样到外部中断源送INT、INT引脚的中断请求信号应至少保持一个机器周期。如果是跳变触发方式外部中断源送INT、INT引脚的中断请求信号高、低电平应至少各保持一个机器周期才能确保CPU采集到电平的跳变如果是电平触发方式则外部中断源送INT、INT引脚请求中断的低电平有效信号应一直保持到CPU响应中断为止。第四章C单片机的功能单元中断请求的撤除CPU响应中断请求转向中断服务程序执行在其执行中断返回指令(RETI)之前中断请求信号必须撤除否则将会再一次引起中断而出错。中断请求撤除的方式有三种。由单片机内部硬件自动复位的:对于定时器计数器T、T的溢出中断和采用跳变触发方式的外部中断请求在CPU响应中断后由内部硬件自动复位中断标志TF和TF、IE和IE而自动撤除中断请求。第四章C单片机的功能单元需用软件清除相应标志的:对于串行接收发送中断请求和C中的定时器计数器T的溢出和捕获中断请求在CPU响应中断后内部无硬件自动复位中断标志RI、TI、TF和EXF必须在中断服务程序中清除这些中断标志才能撤除中断。既无硬件也无软件措施的:对于采用电平触发方式的外部中断请求CPU对INT、INT引脚上的中断请求信号既无控制能力也无应答信号。为保证在CPU响应中断后、执行返回指令前撤除中断请求必须考虑另外的措施。第四章C单片机的功能单元中断的响应过程和中断矢量地址中断的响应过程中断的响应过程的时序如图所示。图中断的响应过程的时序第四章C单片机的功能单元在每个机器周期的SP期间各中断标志采样相应的中断源。CPU则在下一机器周期的S期间按优先级的顺序查询各中断标志。若查询到某中断标志为则按优先级的高低进行处理即响应中断。响应中断后执行硬件生成的长调用指令“LCALL”将程序计数器PC的内容压入堆栈保护先低位地址后高位地址栈指针加。第四章C单片机的功能单元将对应中断源的中断矢量地址装入程序计数器PC使程序转向该中断矢量地址去执行中断服务程序。中断服务程序由中断矢量地址开始执行直至遇到RETI指令为止。执行RETI指令撤销中断申请弹出断口地址进入PC先弹出高位地址后弹出低位地址栈指针减恢复原程序的执行。第四章C单片机的功能单元在接受中断申请时如遇下列情况硬件生成的长调用指令“LCALL”将被封锁:正在执行同级或高一级的中断服务程序当前周期不是执行当前指令的最后一个周期当前正在执行RETI指令或执行对IE、IP的读写操作指令。第四章C单片机的功能单元()中断矢量地址中断矢量地址见表。表中断矢量地址中断源中断矢量地址外部中断(INT)H定时器计数器(T)BH外部中断(INT)H定时器计数器(T)BH串行口(RI、TI)H定时器/计数器(T)B

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

资料评分:

/219
¥30.0 购买

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料

兴安 旧县镇社区 东杨坨村 垟儿路 凉城路
镇原 吿岭 扬中市 木叶溪乡 丁埝镇