还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
原14-18题目有问题,换了一个题目第7章7-18086/8088CPU有哪几种中断?1)外设中断源一般有键盘、打印机、磁盘、磁带等,工作中要求CPU为它服务时,会向CPU发送中断请求2)故障中断源当系统出现某些故障时如存储器出错、运算溢出等,相关部件会向CPU发出中断请求,以便使CPU转去执行故障处理程序来解决故障3)软件中断源在程序中向CPU发出中断指令8086为INT指令,可迫使CPU转去执行某个特定的中断服务程序,而中断服务程序执行完后,CPU又回到原程序中继续执行INT指令后面的指令4)为调试而设置的中断源系统提供的单步中断和断点中断,可以使被调试程序在执行一条指令或执行到某个特定位置处时自动产生中断,从而便于程序员检查中间结果,寻找错误所在7-2软件中断和硬件中断有何特点,如何区别?外部中断源即硬件中断源,来自CPU外部8086CPU提供了两个引脚来接收外部中断源的中断请求信号可屏蔽中断请求引脚和不可屏蔽中断请求引脚通过可屏蔽中断请求引脚输入的中断请求信号称作可屏蔽中断请求,对这种中断请求CPU可响应,也可不响应,具体取决于标志寄存器中IF标志位的状态通过不可屏蔽中断请求引脚输入的中断请求信号称作不可屏蔽中断请求,这种中断请求CPU必须响应软件中断执行软件中断指令时,会产生软件中断8086系统中,设置了三条中断指令,分别是1中断指令INTn用户可以用INTn指令来产生一个类型为n的中断,以便让CPU执行n号中断的中断服务程序2断点中断INT3执行断点指令INT3,将引起类型为3的断点中断,这是调试程序专用的中断3溢出中断INTO如果标志寄存器中溢出标志位OF为1,在执行了INTO指令后,产生类型为4的溢出中断7-3中断排队方法有哪些方法?
1.软件查询确定中断优先级
2.硬件查询确定优先级
3.中断优先级编码电路7-4简述微机处理中断的过程中断请求、中断响应、中断处理、中断返回7-5简要说明8086/8088中断的特点中断请求1)外部中断源的中断请求8086CPU有两根外部中断请求引脚INTR和NMI供外设向其发送中断请求信号用根据优先级,CPU先检查NMI引脚再检查INTR引脚INTR引脚上的中断请求称为可屏蔽中断请求,CPU是否响应这种请求取决于标志寄存器的IF标志位的值2)内部中断源的中断请求CPU的中断源除了外部硬件中断源外,还有内部中断源内部中断请求不需要使用CPU的引脚,它由CPU在下列两种情况下自动触发其一是在系统运行程序时,内部某些特殊事件发生如除数为0,运算溢出或单步跟踪及断点设置等;其二是CPU执行了软件中断指令INTn所有的内部中断都是不可屏蔽的,即CPU总是响应不受IF限制7-6简述8086/8088可屏蔽中断的响应过程1)可屏蔽外部中断请求的中断响应1连续发出两个中断响应信号,完成一个中断响应周期2关中断,即将IF标志位置0,以避免在中断过程中或进入中断服务程序后,再次被其他可屏蔽中断源中断3保护处理机的现行状态,即保护现场包括将断点地址即下条要取出指令的段基址和偏移量,在CS和IP内及标志寄存器FLAGS内容压入堆栈4在中断响应周期的第二个总线周期中,中断控制器已将发出中断请求外设的中断类型号送到了系统数据总线上,CPU读取此中断类型号,并根据此中断类型号查找中断矢量表,找到中断服务程序的入口地址,将入口地址中的段基址及偏移量分别装入CS及IP,一旦装入完毕,中断服务程序就开始执行2)不可屏蔽外部中断请求的中断响应NMI上中断请求的响应过程要简单一些只要NMI上有中断请求信号由低向高的正跳变,两个以上时钟周期,CPU就会自动产生类型号为2的中断,并准备转入相应的中断服务程序3)内部中断的中断响应除不用检测NMI引脚外,其余与不可屏蔽外部中断请求的中断响应相同7-7何为中断矢量表?它有何作用?位于内存的什么位置?中断服务程序的地址叫做中断矢量,将全部中断矢量集中在一张表中,即中断矢量表中断矢量表的位置固定在内存的最低1K字节中,即00000H~003FFH处7-830H号中断的中断服务程序地址存放在中断矢量表的什么位置处?30H*4=1927-98259A对中断优先管理权和中断结束有哪几种方式,各自应用在什么场合?
①全嵌套方式全嵌套方式是最常用的和最基本的一种工作方式8259A是初始化后默认的工作方式
②特殊全嵌套方式在这种方式下,当一个中断被响应后,只屏蔽掉低级的中断请求,而允许同级及高级的中断请求该方式一般用于多片8259A级联的系统中,主片采用此方式,而从片采用一般全嵌套方式
③优先级自动循环方式在这种方式下,某个中断源被服务后,其优先级自动降为最低,它后面的中断源按顺序递升一级如IR3刚被服务完,则各中断源的优先级次序为IR
4、IR
5、IR
6、IR
7、IR
0、IR
1、IR
2、IR3这种方式中,刚开始时优先级仍是固定的,即IR0最高,IR7最低这种方式适合于各个中断源的重要性等同的情况
④优先级特殊循环方式同优先级自动循环方式,但一开始时的优先级可以设定如一开始设定IR3最低,则IR4的优先级最高,其他依次类推8259A中断结束共有3种
①自动结束方式AEOI方式
②普通结束方式普通EOI方式
③特殊中断结束方式特殊EOI方式7-108259A中断控制器的作用是什么?8259A能与8080/
8085、8086/8088等多种微处理器芯片组成中断控制系统它有8个外部中断请求输入引脚,可直接管理8级中断若系统中中断源多于8个,8259A还可以实行两级级联工作,最多可用9片8259A级联管理64级中断7-11简述多个中断源、单一中断请求线的中断处理过程
1.当IR7~IR0中有一个或几个中断源变成高电平时,使相应的IRR位置位
2.8259A对IRR和IMR提供的情况进行分析处理,当请求的中断源未被IMR屏蔽时,如果这个中断请求是唯一的,或请求的中断比正在处理的中断优先级高,就从INT端输出一个高电平,向CPU发出中断请求
3.CPU在每个指令的最后一个时钟周期检查INT输入端的状态当IF为“1”且无其他高优先级的中断如NMI时,就响应这个中断,CPU进入两个中断响应周期
4.在CPU第一个周期中,8259A接收第一个信号时,将ISR中当前请求中断中优先级最高的相应位置位,而对应的IRR位则复位为“0”
5.在CPU第二个周期中,8259A收到第二个信号时,送出中断类型号整个过程的时序如图7-8所示7-128259A的中断自动结束方式与非自动结束方式对中断服务程序的编写有何影响?
①自动结束方式AEOI方式当一个中断请求被响应后,在收到第一个信号后,8259A将ISR中的对应位置“1”,在收到第二个信号后,8259A将ISR中的对应位置“0”此刻,中断服务程序并没有结束其实才刚开始运行,而在8259A中就认为其已结束此时若有更低级的中断请求信号,8259A仍可向CPU发送中断请求,从而会造成低级中断打断高级中断的情况这种方式一般用于单片8259A而且不会产生嵌套的情况
②普通结束方式普通EOI方式这种方式是在中断服务程序结束前即CPU执行IRET指令,用OUT指令向8259A发一个中断结束命令字,8259A收到此结束命令后,就会把ISR中优先级别最高的置“1”位清0,表示当前正在处理的中断已结束这种中断结束方式比较适合于全嵌套工作方式7-13某8259A初始化时,ICW1=1BH,ICW2=30H,ICW4=01H,试说明8259A的工作情况ICW1=1BH LTIM=1,设定为电平触发方式;SNGL=1,系统中只有一片8259AICW2=30H中断请求类型码设置为30HICW4=01H8259A用于8086/8088系统;8259A工作在非自动结束方式;非缓冲方式下工作;全嵌套方式7-14某系统中有三片8259A接成主/从方式,二从片接在主片的IR
3、IR5引脚上,试画出硬件接线图,并给出主片与二从片的初始化命令字ICW3ICW3:MOVAL,03H;ICW3的内容IR3OUT21H,AL;写入奇地址端口MOVAL,04H;ICW3的内容IR5OUT21H,AL;写入奇地址端口7-15当8259A需要级联使用时,在缓冲方式与非缓冲方式下分别如何设置主/从片?ICW4D2位当BUF=1,且M/S=1时,此8259为主片;当BUF=1,但M/S=0时,此8259为从片7-16简要说明8259A的5种中断优先权管理方式的特点参见题7-97-178259A仅有两个端口地址,如何识别ICW命令和OCW命令?初始化命令在一开始初始化8259A时使用,只能使用一次,一旦发出就不能改变,且4个命令字有固定的写入顺序,一般将其放在主程序的开头操作命令字用来设置可在程序中动态改变的功能,可多次使用,也没有固定的使用顺序7-18中断服务程序应包含哪几部分?保存和恢复现场有何意义?中断服务程序一般由4部分组成保护现场、中断服务、恢复现场、中断返回所谓保护现场,是因为有些寄存器可能在主程序被打断时存放有用的内容,为了保证返回后不破坏主程序在断点处的状态,应将有关寄存器的内容压入堆栈保存中断服务部分是整个中断服务程序的核心,其代码完成与外设的数据交换恢复现场是指中断服务程序完成后,把原先压入堆栈的寄存器内容再弹回到CPU相应的寄存器中有了保护现场和恢复现场的操作,就可保证在返回断点后,正确无误地继续执行原先被打断的程序中断服务程序的最后部分是一条中断返回指令IRET7-19如何安装中断服务程序程序在运行后,主模块要完成中断服务程序的安装,即将中断服务程序的地址设置到中断矢量表的相应项目中设置工作既可以用MOV指令直接写中断矢量表,也可以用相关DOS功能调用,最好是用后者,因为这样更安全一些7-20中断硬件服务程序驻内存应该注意什么问题当程序结束后其所占内存被DOS收回,中断服务程序变为不可用若想让程序退出后中断服务程序所占内存仍然保留,以便为后续程序提供中断服务,则必须让中断服务程序驻留内存第13章13-1单片机有哪些主要特点?1)体积小、价格低廉、面向控制2)便于产品小型化、智能化3)研制周期短、可靠性高13-2单片机主要应用在哪些领域?广泛应用于电子仪器仪表、家用电器、自动控制设备、节能装备、军事装备、计算机外设、机器人、工业控制等诸方面13-3说明以下指令执行操作的异同
①MOVR0#11H和MOVR0,11H
②MOVAR0和MOVA@R0
③ORL20HA和ORLA20H
④MOVB20H和MOVC20H1MOVR0#11H#11H――R0;MOVR0,11H11H中的内容送人R02MOVAR0将寄存器的内容存入累加器中;MOVA@R0将间接地址的内容存入累加器中;3ORL20HA将直接地址20H的内容与累加器的值做逻辑或运算,结果存回直接地址20H中;ORLA20H将累加器的值与直接地址20H的内容做逻辑或运算,结果存回累加器中13-4MOV,MOVC,MOVX指令的区别MOV内部RAM数据传送MOVC外部ROM数据传送MOVX:外部RAM数据传送13-5单片机内部RAM访问指令有哪几种?MOV,XCH13-6执行下列指令序列后,将会实现什么功能?
①MOVR0,#20HMOVR1,#30HMOVP2,#90HMOVXA,@R0MOVX@R1,A
②MOVDPTR,#9010HMOVA,#10HMOVCA,@A+DPTRMOVX@DPTR,A
③MOVSP,#0AHPOP09HPOP08HPOP07H
④MOVPSW,#20HMOV00H,#20HMOV10H,#30HMOVA,@R0MOVPSW,#10HMOV@R0,A
⑤MOVR0,#30HMOVR1,#20HXCHA,@R0XCHA,@R1XCHA,@R
01.@R0――@R1;2@9020H-@9010H
3.@0AH-09H中,@09H-08H中,@08H-07H中
4.PSW=#20H,R0=#20H;10H单元中内容为#30H,A=20H
5.交换R0与A;交换R1与A;交换R0与A13-7执行下列指令序列后,累加器A与各标志C、AC、OV、P及Z各等于什么?并说明标志变化的理由
①MOVA#99HMOVR7#77HADDAR7DAA
②MOVA#77HMOVR7#AAHSUBBAR7讨论C的内容
1.ADD结果是A:10H,PSW中CACOV位为1,DA调整后为0AH,P位0,O为
12.A为#CDHPSW中C、AC、OV、P为113-8执行下列指令序列后,相关寄存器、存储单元及标志如何变化?
①MOVA#98HMOVR4#11HANLAR4
②MOVA#89HMOV32H#98HORL32HA
③CLRACPLAXRLA#77H
④MOVA#89HSWAPARLCA讨论C的内容
1.A:10HC:02A:89HC:03A:88HC:04A:30HC:113-9执行下列指令序列后,相关位及标志如何变化?
①MOV20H#92HMOVC02HCPLCMOV02HC
②MOV2FH#7FHCLRCORLC/7FH
1.acc0,c
02.acc0,c113-10CLRA和MOVA,#00H两条指令都可能完成A=00H功能,分别从字节数和执行指令所需的机器周期数角度,说明两条指令的优劣CLRA单周期指令,双字节;MOV双周期指令,双字节CLR时间快13-11设两个无符号二进制整数的加数各长2个字节,分别存于寄存器R
0、R1和R
2、R3高位在前,结果存于寄存器R
4、R5中试编写求和程序,并问和是几位的?MOVR0#01HMOVR1#01HMOVR2#10HMOVR3#10HmovaR0addAR1MOVR4AMOVAR2ADDCAR3MOVR5A和是16位的13-12将上题改为无符号十进制整数BCD码,其它要求同上MOVR0#01HMOVR1#01HMOVR2#10HMOVR3#10HmovaR0addAR1DAMOVR4AMOVAR2ADDCAR3DAMOVR5A和是16位的13-13设两个字节无符号二进制整数减一个字节无符号二进制整数,被减数存于R
2、R3中,减数存于R4,并将差存于R
5、R6中试编出程序MOVR2#01HMOVR3#01HMOVR4#10HmovaR2subbAR4MOVR5AMOVAR3SUBBA0MOVR6A13-14试编写一段程序,将片内RAM20H单元与片内RAM30H单元交换数据MOVA20HXCHA@30HMOVA30HXCHA@20H13-15在上题基础上,将程序功能扩展到片内RAM20H~2FH与片内RAM30H~3FH各自对应单元20H与30H,21H与31H,……,2FH与3FH交换数据参照13-1413-16编写一段能实现约1秒钟延时的软件延时程序DM:MOVR5#10;TMDM0:MOVR6#200;TMDM1:MOVR7#50;TMNOP;TMNOP;TMNOP;TMDJNZR7$;2TMDJNZR6DM1;2TMDJNZR5DM0;2TMRET;2TMEND13-17试用流程图说明下段程序实现的功能ORG9000HLP0MOVR0,#35HMOVR1#3AHMOVR3#05HCLRCLP1MOVA@R0ADDCA@R1MOV@R0AINCR0INCR1DJNZR3LP1LP2SJMPLP2END��初始赋值R0R1R3作为循环次数�R35�R0和R1中的内容相加,结果放入R0中�RO指针往下一个单元;R1指针往下一个单元;�NY等待13-18将片内RAM22H单元存放的以ASCⅡ码表示的数,转换为十六进制数后,存于片内RAM21H单元中ORG0000HAJMPLM0ORG0030HLM0MOVA,22HCJNEA,#41H,LM3LM3JNCLM1SUBBA,#30HSJMPLM2LM1SUBBA,#37HLM2MOV21H,ARETEND13-19设被减数存于R
2、减数存于R3中,结果存于累加器A试通过具体指令分析程序所实现功能BCDSUB MOVA#9AHCLRCSUBBAR3;减数求补ADDAR2DAARETEND13-20编程求和-65+36=?设加数和被加数分别存于片内RAM的30H、31H地址中和数存于片内RAM的41H、40H地址中因为原数x=-65=-41H,[X]补码=28-|x|=100H-|-41H|=BFH所以扩成16位后变为FFBFH;因为原数y=36=24H,[Y]补码=24HORG0900HMOVR0#30H;加数存放单元MOVR1#40H;和数存放单元ACALLSQADD;转加法子程序SJMP$ORG0950HSQADD MOVR2#00H;高位先全令其为00HMOVR3#00HMOVA@R0;取加数JNBACC.7POS1;若正数则转POS1确认R2=00HMOVR2#0FFH;若负数,R2=FFH即全1POS1INCR0MOVB@R0JNBB.7POS2;若正数则转POS2确认R3=00HMOVR3#0FFH;若负数R3=FFH即全1POS2ADDAB;加低8位MOV@R1A;存入和的低8位,在片内RAM的40H地址中INCR1;R1=R1+1=41HMOVAR2ADDCAR3;再加进位MOV@R1A;存入和的高8位,在片内RAM的41H地址中RETEND第14章14-18051单片机P0~P3口结构有何不同?作通用I/O口输入数据使用时,应注意什么?P1口、P2口、P3口为准双向口,P0口为三态双向口P0口在需要进行外部ROM、RAM等扩展时,采用分时复用的方式;P1口是一个准双向口,只作通用的I/O口使用;P2口也是一个准双向口,可作为IO口和地址数据总线;P3口是一个多功能的准双向口第一功能是作通用的I/O口使用,其功能和原理与P1口相同第二功能是作控制和特殊功能口使用14-2什么是对I/O口的“读-修改-写”操作?“读-修改-写”类指令的端口输出如CPLP
0.0指令执行时,单片机内部产生“读锁存器”操作信号,使锁存器Q端的数据送到内部总线,在对该位取反后,结果又送回P
0.0的端口锁存器并从引脚输出之所以是“读锁存器”而不是“读引脚”,是因为这样可以避免因引脚外部电路的原因而使引脚的状态发生改变而造成的误读如外部接一个驱动晶体管的情况14-38051单片机内部设有几个定时/计数器?它们是由哪些特殊功能寄存器组成?两个定时/计数器定时/计数器T0由特殊功能寄存器TH
0、TL0字节地址分别为8CH和8AH构成,定时/计数器T1由特殊功能寄存器TH
1、TL1字节地址分别为8DH和8BH构成其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时器控制寄存器TCON这些寄存器之间是通过内部总线和控制逻辑电路连接起来的TMOD主要是用于选定定时器的工作方式,TCON主要是用于控制定时器的启动和停止14-4定时/计数器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?定时与时钟频率,定时器的控制器的工作方式相关计数器则要求输入信号的电平应在跳变后至少一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次,那么外界计数频率不能超过系统时钟频率14-5简述定时器四种工作方式的特点,如何选择和设定?表14-1 工作方式选择M1M0方式说明最大计数次数最大定时时间fosc=6MHz00013位定时/计数器213=81928192×2μs=
16.384ms01116位定时/计数器216=6553665536×2μs=
131.072ms102自动装入时间常数的8位定时/计数器28=256256×2μs=
0.512ms113对T0分为两个8位计数器;对T1在方式3时停止工作28=256256×2μs=
0.512ms14-6当定时器T0用作模式3时,由于TRl位已被T0占用,如何控制定时器T1的开启和关闭?当定时器T0处于工作方式3时,定时/计数器Tl可定为方式
0、方式l和方式2可以在TOMD中设置开启和关闭14-7使用一个定时器,如何通过软、硬件结合的方法,实现较长时间的定时?定时器实现最大时间定时,再由软件计数14-88051单片机定时/计数器作定时和计数时,其计数脉冲分别由谁提供?定时器的脉冲由系统时间给,计数脉冲由外部计数器给.14-98051单片机定时器的门控制信号GATE设置为1时,定时器如何启动?GATE=1时,用外部中断引脚INT1或INT0上的高电平来启动定时/计数器运行14-10设8051单片机的fosc=12MHz,要求用T0定时150μs,分别计算采用定时方式l和方式2时的定时初值方式1的初值216-X×1×10-6μs=150×10-6μs则TH1=0FFH,TL1=6AH方式2的初值28-X×1×10-6μs=150×10-6μs则TL1=6AH14-11设8051单片机的fosc=6MHz,问定时器处于不同工作方式时,最大定时范围分别是多少?方式
016.384ms方式
1131.07ms方式
20.512ms方式
30.512ms14-12以定时/计数器1进行外部事件计数每计数1000个脉冲后,定时/计数器1转为定时工作方式定时10ms后,又转为计数方式,如此循环不止假定单片机晶振频率为6MHz,请使用方式l编程实现JISHU:MOVTMOD#D0HMOVTH1#03H;写入初值MOVTL1#E8HSETBTR1LOOP:JNBTF1LOOP;TF1=1定时器溢出,程序跳转LP:CLRTF1;清溢出标志位DINGSHI:MOVTMOD#10HMOVTH1#0ECH;写入初值MOVTL1#7HSETBTR1LOOP1:JNBTF1LOOP1;TF1=1定时器溢出,程序跳转LP:CLRTF1;清溢出标志位JMPJISHI14-138051单片机P1口上,经驱动器接有8个发光二极管,若fosc=6MHz,试编写程序,使这8个发光管每隔2s循环发光要求用T1定时ORG2000HMOVTMOD#01H;采用定时器T0,工作方式1MOVR7#14HMOVR0#FEH点灯LOOP1:MOVTH0#3CH;写入初值MOVTL0#0B0HSETBTR0;启动T0LOOP:JNBTF0LOOP;TF0=1定时器溢出,程序跳转CLRTF0MOVAR0MOVP2ARLAMOVR0ADJNZR7LOOP1RETEND14-148051单片机的P1口接8个发光二极管正极通过电阻接+5V,根据P
3.0和P
3.1的电平编程,且满足下列要求1当P
3.0为低电平时,点亮其中的一个发光二极管;2当P
3.0为高电平、P
3.1为低电平时,点亮全部发光二极管;3当P
3.
0、P
3.1都为高电平时,发光二极管按4个一组,每隔50ms轮流反复点亮由T0定时,fosc=6MHz
1.L1:MOVAP3ANLA#01HJNZAL1MOVP3#FEH
2.L1:MOVAP3ANLA#03HSUBBA#01HJNZAL1MOVP3#FFH3L1:MOVAP3ANLA#03HSUBBA#03HJNZAL1延时程序可参照14-1314-15已知8051单片机的fosc=6MHz,请利用T0和P
1.0输出矩形波矩形波高电平宽50μs,低电平宽度300μs参照例
14.1高电平的初值为FFE7,低电平初值为FF6AORG2000HMOVTMOD#10H;采用定时器T1,工作方式1MOVTH1#0FFH;写入初值MOVTL1#6AHSETBTR1;启动T1LOOP:JNBTF1LOOP;TF1=1定时器溢出,程序跳转LP:CLRTF1;清溢出标志位MOVTH1#0FFH;重新装入初值MOVTL1#E7HCPLP
1.0;P
1.0取反SJMPLOOPEND14-16已知8051单片机的fosc=12MHz,用T1定时试编程由P
1.0和P
1.1引脚分别输出周期为2ms和500μs的方波参照例
14.1500us初值为FE0C先输出500us方波,然后用软件计数输出2ms的方波ORG2000HMOVTMOD#10H;采用定时器T1,工作方式1MOVTH1#0FEH;写入初值MOVTL1#0CHMOVR1#02HSETBTR1;启动T1LOOP:JNBTF1LOOP;TF1=1定时器溢出,程序跳转LP:CLRTF1;清溢出标志位MOVTH1#0FEH;重新装入初值MOVTL1#0CHCPLP
1.1;P
1.0取反DECR1JNZLOOPCPLP
1.0SJMPLOOPEND14-178051单片机的定时器在何种设置下可提供三个8位定时/计数器?这时,定时器1可作为串行口波特率发生器若波特率按9600bps,4800bps,2400bps,1200bps,600bps,100bps来考虑,则此时可选用的波特率是多少允许存在一定误差?设时钟频率为12MHz方式3下可提供3个定时器可选用9600bps,4800bps,2400bps,1200bps,600bps14-18简述串行口接收和发送数据的过程发送电路由SBUF发送和发送控制器等电路组成;接收电路由SBUF接收、接收移位寄存器和接收控制器等组成SBUF发送和SBUF接收都是8位数据缓冲寄存器SBUF发送用于存放将要发送的数据,SBUF接收用于存放串行口接收到的数据CPU可以通过执行MOV指令对它们进行存取具体如下1具有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入2串行发送与接收的速率与移位时钟同步,定时器T1作为串行通信的波特率发生器,T1溢出率经2分频或不分频又经16分频作为串行发送或接收的移位时钟移位时钟的速率即波特率3接收器是双缓冲结构,在前一个字节被从接收缓冲器读出之前,第二个字节即开始被接收但当第二个字节接收完毕而前一个字节CPU未读取时,就会丢失前一个字节内容4串行口的发送MOVSBUFA,一帧数据发送完毕,TI=15串行口的接受当一帧数据接收完毕,RI=1,MOVA,SBUF6串行口是一个可编程接口,由串行口控制寄存器SCON和电源控制寄存器PCON设置14-19设fos=12MHz试编写一段程序实现功能为对定时器T0初始化,使之工作在方式2,产生200μs定时,并用查询T0溢出标志的方法,控制P
1.0输出周期为2ms的方波分析输出周期是2ms,则定时时间为1ms,方式2的最大定时时间为
0.512ms,并且方式2有自动重新装入初值的有点,所以选用定时/计数器的方式2编程首先在伪指令的定义起始地址部分要加入所采用中断的中断入口地址另外要进行定时器所赋初值的计算采用定时器T0,设T0的初值为X,则(28-X×1×10-6μs=200×10-6μsX=38H参考程序如下ORG0000HLJMPMAINORG000BHDECR5MOVAR5JZD1RETIMOVR5#05HCPLP
1.0RETIORG0100HMAIN:MOVTMOD#02HMOVTL0#38HMOVTH0#00HMOVR5#05HSETBTR0SETBET0SETBEAHERE:AJMPHERE14-20什么是串行异步通信,它有哪些作用?在异步通信中,被传送的信息通常是一个字符代码或一个字节数据,它们都以规定的相同传送格式字符帧格式一帧一帧地发送或接收。