单片机考试知识点总结太原理工大学葬仪落_第1页
单片机考试知识点总结太原理工大学葬仪落_第2页
单片机考试知识点总结太原理工大学葬仪落_第3页
单片机考试知识点总结太原理工大学葬仪落_第4页
单片机考试知识点总结太原理工大学葬仪落_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

-.z.一、填空题:当使用8051单片机时,需要扩展外部程序存储器,此时EA应接低电平。2、8051上电复位后,从地址0000H开场执行程序,外部中断1的中断入口地址为0013H.3、8051最多有64KB的程序存储器和64KB的数据存储器。P0口通常用作分时复用为地址总线〔低8位〕及数据总线或外接上拉电阻用作普通I/O口。P2口的功能为用作地址总线和作为普通I/O口使用。假设由程序设定RS1、RS0=01,则工作存放器R0的直接地址为08H。假设由程序设定RS1、RS0=00,则工作存放器R0的直接地址为00H。假设累加器A中的数据为01110010B,则PSW中的P=0〔偶数个1为0,奇数为1〕8051单片机共有5个中断源,分别是INT0外部中断0、INT1外部中断1、T0定时器/计数器中断0中断、T1定时器计数器1中断、串行口中断。ADC0809是8通路8位逐次逼近式模/数转换器。计算机中按功能把总线分为数据总线、地址总线和控制总线。MOVA,*0F5H中,*0F5H的寻址方式称之为立即寻址。MOV类指令称之为一般传输指令。13、8051的一个机器周期等于12个晶体震荡周期;通常8051单片机的ALE引脚以1/6倍的晶振频率输出脉冲。14、8051单片机复位后,堆栈指针SP指向第07H号部RAM;8051的堆栈是向上生长的。15、十进制调整指令DAA,专用于BCD码的加减运算。16、单片机的中断触发方式有低电平触发和下降沿触发两种。大多数情况下,单片机控制系统采用下降沿触发方式触发中断。17、假设执行加法运算后累加器〔A〕中的数据为01110010B,则PSW中的P=018、8051单片机的程序存储器和数据存储器编址方式采用的是哈佛构造,即数据存储器和程序存储器分开的编址方式。单项选择题1、8051单片机执行MOV*写指令时,相关的信号状态是PSEN无效为高电平,WR有效为低电平假设PSW.4=1,PSW.3=1,现在需要保存R1的容,可执行PUSH19H指令以下指令不是变址寻址方式的是MOV*A,DPTR在8051片外扩展一片EEPROM28C64需要13根地址线〔片选除外〕,8根数据线。8051定时器/计数器工作方式2是自动重装8位计数器单片机程序存储器的寻址围是由程序计数器PC的位数决定的,MCS-51的PC为15位,因此其寻址围是64KB。〔2^16B=64KB〕假设单片机的振荡频率为12MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为2^16-1000.〔计算过程:机器周期=12/12MHz=1μs次数=1ms/1μs=1000次方式一为16位=2^16〕访问外部数据存储器的指令是MOV*,访问程序存储器的指令是MOVC。汇编语言中,最多包含4个区段,其中操作码区段是必不可少的。MCS-51单片机的位寻址区域为20H-2FH。MCS-51单片机复位后,PC值被初始化为0000H。MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应外部中断0.读程序执行以下程序段中第一条指令后〔P1.7〕=0〔P1.3〕=0执行第二条指令后,〔P1.5〕=1〔P1.4〕=0ANLP1,*42HORLP1,*0ECH以下程序段执行后,〔R0〕=47H,〔48H〕=0FFH,〔47H〕=3FHMOVR0,*48HMOV48H,*0MOV47H,*40HDECR0DECR0DECR0〔SP〕=29H,〔DPTR〕=1234H,在执行以下指令后,〔SP〕=2BH,部RAM〔2AH〕=34H,〔2BH〕=12HPUSHDPLPUSHDPH简答题简述MCS-51单片机中,振荡周期、机器周期和指令周期的关系。答:〔1〕振荡周期:振荡周期为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。〔2〕时钟周期:又称状态周期或状态时间S,是振荡周期的两倍,分为P1、P2节拍,通常P1完成算术逻辑操作,在P2节拍完成部存放器间的数据传送操作。〔3〕机器周期:一个机器周期由6个状态〔时钟周期〕〔或12个振荡周期〕组成。〔4〕指令周期:执行一条指令的全部时间,是机器周期的倍数,MCS-51单片机中指令周期通常由1、2、4个机器周期组成。DAC0832作为数模转换器,其连接方式有几种?答:3种。单缓冲方式、双缓冲方式和直通方式。〔1〕直通方式常用于不带微机的控制系统。〔2〕单缓冲方式是值DAC0832部的两个数据缓冲器有一个处于直通方式,另一个处于受8051控制的锁存方式。〔3〕对于多路D-A转换,要求同步进展D-A转换输出时,必须采用双缓冲同步方式。3、8051单片机作定时和计数时,其计数脉冲分别由谁提供?8051单片机定时计数器共有几种工作模式?分别是什么?答:当用作定时器时,是在部对CPU的时钟脉冲计数。当用作计数器时,是对相应输入引脚输入的脉冲信号计数。工作模式:工作模式0:使用低字节的5位和高字节的8位组成13位的计数器,低5位计数溢出后向高位进位计数,高8位计数器计满后置位溢出标志位。工作模式1:使用低字节和高字节的16位组成16位计数器。与0模式的区别仅在计数器长度,定时长度和计数容量不同。工作模式2:使用低字节的8位做计数器、高字节的8位作为预置常数的存放器。工作模式3:只适用于定时器/计数器T0,T0分别为两个独立的8位计数器TH0和TL0.MCS-51单片机系统共有几种寻址方式?分别是什么?答:有7种寻址方式:〔1〕存放器寻址〔2〕直接寻址〔3〕立即寻址〔4〕存放器间接寻址〔5〕相对寻址〔6〕位寻址〔7〕基址加变址存放器间接寻址试说明特殊功能存放器TCON中TF1、TR1、IE1、IT1位的含义是什么?这些位什么情况下被置位或去除?答:TF1T1计数溢出标志位,当计数器T1计数计满溢出时,该位由硬件置1,转到中断效劳程序时,再由硬件自动清0.TR1T1计数运行控制位,由软件置1或清0.为1时允许计数器T1计数,为0时制止计数器T1计数。TF0T0计数溢出标志位,当计数器T0计数计满溢出时,由硬件置1,申请中断。进入中断效劳程序后由硬件自动清0.TR0T0计数运行控制位,由软件置1或清0,为1时允许计数器T0计数,为0时制止计数器T0计数。IE0外部中断0〔INT0〕请求标志位,当CPU采样到INT0引脚出现中断请求后,此位由硬件置1.在中断响应完成后转向中断效劳程序时,再由硬件自动清0.IE1外中断1〔INT0〕请求标志位,功能同上。IT0外中断0请求信号方式控制位,当IT0=1,后沿负跳变有效;IT0=0,低电平有效。此位可由软件置1或清0.IT1外中断1请求信号方式控制位,IT1=1,后沿负跳变有效;IT1=0,低电平有效。应用题1、将存于外部RAM8000H开场的50H个数据传送到部0010H开场的区域,请编程实现。ORG0100HMOVDPR,*8000HMOVR0,*10HMOVR2,*50HMOV*A,DPTRMOVR0,AINCDPTRINCR0END知识点:1、各P口功能:P0口:8位双向三态I/O口,或分时复用为地址总线〔低8位〕及数据总线,或作为普通I/O口使用。P1口:8位准双向I/O口,常用作普通I/O口使用,个别引脚有第二功能P2口:8位准双向I/O口,或用作地址总线〔高8位〕,或作为普通I/O口使用P3口:8位准双向I/O口,或作为普通I/O口使用;或作为第二功能口使用。P3.0串行输入端口〔R*D〕P3.1串行输出端口〔T*D〕P3.2外部中断0〔INT0〕P3.3外部中断1〔INT1〕P3.4T0P3.5T1P3.6外部数据存储器写选通〔WR〕P3.7外部数据存储器读选通〔RD〕2、引脚EA当EA=1时,访问部程序存储器,EA=0时,访问外部程序存储器引脚PSEN外部程序存储器的读选通信号,读取时有效低电平引脚PROG/ALE当访问外部存储器时,ALE〔允许地址锁存〕的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端扔以不变的频率周期性地出现正脉冲信号,次频率为振荡器频率的1/6,可用作对外输出的时钟,或用于定时,每当访问外部数据存储器的时候,将跳过一个ALE脉冲。PSW中各个位的功能:PSW.7〔CY〕进位标志位PSW.6〔AC〕辅助进位标志位PSW.5〔F0〕标志位PSW.4PSW.3〔RS1\RS0〕四组工作存放器区选择控制位1和位000工作0区〔00H〕011区〔08H〕102区〔10H〕113区〔18H〕PSW.2〔OV〕溢出标志位PSW.1保存位,未用4、8051单片机的时序定时单位:节拍、状态、机器周期和指令周期复位:RST引脚处至少保持24个振荡周期的高电平就可复位存放器容存放器容PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P30FFHTH200HIP〔8051〕***00000BTL200HIP〔8052〕**000000BRLDH00HIE〔8051〕0**00000BRLDL00HIE〔8052〕0*000000BSCON00HTMOD00HSBUF不定PCON〔HMOS〕0*******BPCON〔CHMOS〕0***0000B寻址方式〔1〕存放器寻址方式是对选中存放器中的数据进展处理,适用于数据放置在存放器之中的情况。MOVR1,B;将存放器B中的数值送入到存放器R1中INCR2 ;将存放器R2中的数值加1MOVA,R7;将存放器R7中的数值送入累加器A存放器寻址围:存放器区中8个工作存放器R0~R7中的一个〔由指令操作码的低三位数值确定〕、特殊存放器A,B,DPTR,Cy〔进位位,也是位处理机的累加器〕也可作为存放器寻址的对象。〔2〕直接寻址方式是对直接指定地址的存储器单元中的数据进展处理,适用于数据放置在可以直接寻址的存储单元之中的情况。MOV40H,B;将存放器B中的数值送入到部RAM的40H单元中INC30H;将部RAM的30H单元中的数值加1MOVTL0,R7;将存放器R7中的数值送入到特殊功能存放器TL0中直接寻址围:片RAM,包括SFR,且SFR只能直接寻址〔3〕立即寻址是对指令操作码后的数据进展处理,适用于在程序中直接处理的数据的情况。MOV38H,#05H;将数值05H送入到部RAM的38H单元中ADDA,#30H;将A存放器中的数值加上30HMOVTH0,#0F2H;将定时器0高8位设置为数值0F2H位寻址MOVC,40H;把位40H的值送进位位C位寻址的寻址围包括:部RAM中的位寻址区单元地址为20H-2FH,共16个单元,128个位,位地址是00H-7FH。特殊功能存放器中的可寻址位可供位寻址的特殊功能存放器共有11个,实际有寻址位83个。注意:位寻址只能直接寻址。〔5〕存放器间接寻址是将要处理数据的地址放在存放器中,即用存放器中的数据作为存储单元的地址数值。MOVR1,*05H;将数值05H送入到以R1数值为地址的部RAM单元中ADDA,R1;将累加器A中的数值加上以R1数值为地址的部RAM单元中的数据结果存放于AMOV*A,DPTR;将以DPTR数值为地址的外部数据存储器的容送给累加器A注意:存放器间接寻址围包括部RAM和外部RAM,且外部RAM只能存放器间接寻址,访问外部数据存储器的指令助记符与访问部RAM的助记符不同。〔6〕相对寻址方式目的地址=转移指令所在的地址+转移指令字节数+relJCrel JNCrel bit,rel JNBbit,rel Cbit,rel SJMPrel基址加变址存放器间接寻址专用16位存放器〔DPTR或PC〕存放基地址,存放器A做变址存放器,仅两条指令:MOVCA,A+PC MOVCA,A+DPTR只能读取程序存储器。7、指令〔1〕一般传输指令MOVA,Rn 〔2〕累加器传输指令*CHA,Rn〔n为0-7之一,将工作存放器Rn的容和A的容交换〕SWAPA ;A的高4位和低4位互换*CHDA,Ri;Ri为R0或R1,将Ri所指单元的低4位与A的低4位互换,高4位不变。〔3〕查表指令MOVCA,A+DPTR;将DPTR中的16位地址和A中容相加得新地址,把此地址容送AMOVCA,A+PC;将PC值和A的容相加所得值作为新地址,将此地址单元容送A堆栈指令PUSHdirect;先将SP加1,再将direct所指单元容推入SP+1所指的堆栈单元POPdirect;先将SP单元的容弹出到direct单元,再将SP减1算术运算指令ADDA,Rn;将A的容和Rn的容相加,结果在A中ADDCA,Rn;(A)←(A)+(Rn)+CY,Rn为R0~R7之一(带进位〕SUBBA,Rn;A中容减去进位位CY,再减去Rn中容,结果在A中〔带借位〕MUL乘法DIV除法ANL(逻辑与,例如,ANLP1,A)ORL(逻辑或,例如,ORLP2,A)*RL(逻辑异或,例如,*RLP3,A)C(假设目标位置位则跳转并将目标位清零,例如,CP1.1,LABEL)CPL(求补,例如,CPLP3.0)INC(增量指令,例如,INCP2)DEC(减量指令,例如,DECP2)DJNZ(目标存放器减1后不为零则跳转,例如,DJNZP3,LABEL)MOVP*.Y,C(将进位位送入端口位)DAA十进制调整指令,对A中的BCD码加法结果进调整CLRP*.Y(去除端口位)SETBP*.Y(置位端口位)SETBbit;*位置1CLRA;A清0,不影响标志位CPLA;A中容逐位取反RRA;A中容循环右移一位,;最低位D0移到D7RLA;A中容循环左移一位,;即D7移到D0,D0移到D1等RRCA;CY进入A的最高位,A的最低位进入CY,D2进入D1等RLCA;A的最高位进入CY,原CY进入A的最低位D0,D0进入D1等8、中断分

类中断源名称中断申请标志触发方式中断入口地址外部中断外部中断0IE0(TCON.1)INT0(P3.2)引脚上的低电平/下降沿引起的中断0003H部中断定时器/计数器T0中断IF0(TCON.5)T0定时器/计数器溢出后引起的中断000BH外部中断外部中断1IE1(TCON.3)INT1(P3.3)引脚上的低电平/下降沿引起的中断0013H部中断定时器/计数器T1中断IF1(TCON.7)T1定时器/计数器溢出后引起的中断001BH部中断串口中断RI

(SCON.0)TI

(

SCON.1)串行口接收完成或发送完一帧数据后引起的中断0023H中断的功能〔1〕可实现高速CPU与慢速外设之间的配合〔2〕可实现实时处理〔3〕实现故障的紧急处理〔4〕便于人机联系中断的处理过程主要包括:中断请求、中断响应、中断效劳、中断返回4个过程。EA—中断允许的总控制位。当EA=0时,中断总制止,相当于关中断,即制止所有中断;当EA=1时,中断总允许,相当于开中断。此时,每个中断源是否开放由各中断控制位决定。所以只有当EA=1时,各中断控制位才有意义。ES—串行口中断允许控制位,当ES=0,制止该中断;ES=1,允许串行中断。ET1—定时器1中断允许控制位,当ET1=0,制止该中断;ET1=1,允许定时器1中断E*1—外部中断1允许控制位,当E*1=0,制止外部中断1;当E*1=1,允许外部中断1。ET0—定时器0中断允许控制位,当ET0=0,制止该中断;ET0=1,允许定时器0中断。E*0—外部中断0允许控制位,当E*0=0,制止外部中断0;当E*0=1,允许外部中断0。定时器控制存放器〔TCON〕该存放器的字节地址为88H,位地址为88H-8FH,也可以用表示在开放中断的条件下,用下述四个原则使用中断优先级构造:(1)非中断效劳子程序可以被任何一个中断申请所中断,而与优先级构造无关。(2)如果假设干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。(3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、高优先级不能被低优先级嵌套,当制止嵌套时,必须执行完当前中断效劳子程序之后才考虑是否响应另一个中断申请。(4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通过改变优先级的方法改变中断响应的顺序。例如,8051单片机中串行口的优先权最低,但是可以在中断优先级存放器IP中写入10H,则只有串行口是最高优先级。假设同时有假设干中断提出申请,则一定会优先响应串行口的申请。串行口控制存放器〔SCON〕SCON存放器的字节地址为98H,位地址为98H~9FH,其中的低两位RI和TI锁存串行口的接收中断和发送中断的请求标志位中断响应的条件:中断源有中断请求;此中断源的中断允许位为1;CPU开中断〔即EA=1〕。定时器概念:在8051单片机中,定时器/计数器就是一个固定长度的二进制计数器,当对输入脉冲信号的数量进展计数时,我们称其为计数器,当对单片机的系统时钟或其它标准时钟进展计数时,由于这类时钟信号本身就表示时间,计数值对应着时间值,所以从这个角度上将其称为定时器。组成:在8051单片机中,部定时器都是可编程控制的定时器/计数器,至少由两局部组成:脉冲计数电路和控制字存放器及译码控制电路。串行接口的四种工作方式模式0(MODE0):同步移位存放器方式。8位数据(先为LSB)从引脚R*D接收/移出,引脚T*D输出移位时钟,波特率固定为晶振频率的1/12。模式0通常用来扩展输入输出口。模式1(MODE1):10位数据被发送(从引脚T*D)或接收(从引脚R*D):1个启动位,8个数据位,1个停顿位。在接收时,停顿位被送入特殊功能存放器的SCON的RB8位。波特率是可变的。模式2(MODE2):11位数据被发送(从引脚T*D)或接收(从引脚R*D):1个启动位,8个数据位,可编程的第9个数据位,1个停顿位。发送时,第9位(SCON的TB8位)可被赋予0或1。例如,可将奇偶校验位送至TB8位。在接收时,停顿位被送入特殊功能存放器SCON的RB8位。模式2的波特率可为1/32或1/64晶振频率。模式3(MODE3):11位数据被发送(从引脚T*D)或接收(从引脚R*D):1个启动位,8个数据位,可编程的第9个数据位,1个停顿位。发送时,第9位(SCON的TB8位)可被赋予0或1。实际上,除了波特率之外,模式2和模式3是一样的。模式3的波特率是可变的。8255A的工作方式0,A口作为输入,B、C口作为输出取端口A:0FF7CHB:0FF7DHC:0FF7EH控制存放器地址:0FF7FH根据题意写入控制字为10010000=90H.MOVA,*90H〔根据题意计算而变化〕MOVDPTR,*0FF7FH控制存放器地址→DPTRMOV*DPTR,A方式控制字→控制存放器MOVDPTR,*0FF7CHA口地址→DPTRMOV*A,DPTR从A口读数据MOVDPTR,*0FF7DHB口地址→DPTRMOVA,*DATA1要输入的数据DATA1→AMOV*DPTR,A将DATA1送B口输出MOVDPTR,*0FF7EHC口地址→DPTRMOVA,*DATA2DATA2→AMOV*DPTR,A将DATA2送C口输出DAC0832启动转换程序ORG0000HMOVR1,*data1MOVA,R1MOV*DPTR,AMOVDPTR,*0BFFFHMOVR1,*data2MOV*DPTR,AMOVDPTR,*7FFFHMOV*DPTR,A例:用定时器0,方式2计数,要求每计满100次,将P1.0端取反。分析:TMOD=00000110B计数初值:TH0=TL0=28-100=156=9CH程序如下:ORG 1000HSTART:MOV TMOD,*06HMOV TL0,*9CHMOV TH0,*9CHSETB TR0LOOP:CTF0,DONE;判计满100次否?假设计满则清零TF0且转DONESJMP LOOPDONE:CPLP1.0SJMP LOOP例7.3单片机晶振频率为12MHz,要求使用T0定时0.5ms,使单片机P1.0引脚上连续输出周期为1ms的方波。分析:首先算出机器周期=12/(12MHz)=1us,所以0.5ms需要T0计数M次M=0.5ms/1us=500 256<500<8192,所以选择方式0初值N=213-500=7692=1E0CH因为选用方式0,低8位TL0只使用低5位,其余的均计入高8位TH0的初值。 TL0=0CH,TH0=0F0HORG 0000HRESET:AJMP STARTORG 000BHAJMP T0INTORG 0100HSTART:MOV SP,*60HMOV TH0,*0F0HMOV TL0,*0CH SETB TR0SETB ET0SETB EAMAIN:AJMP MAINT0中断效劳程序T0INT:CPLP1.0MOVTL0,*0CHMOVTH0,*0F0HRETI3、假设单片机晶振fosc=6MHz,请利用T0和P1.0输出矩形波,矩形波的高电平宽50us,低电平宽300us。(P.145第13)晶振fosc=6MHz→机器周期为2us定时器T0使之工作于模式3定时50us的初值为:256-25=231(E7H)定时300US的初值为:256-150=106(6AH)方法1:MOVTMOD,*00000011B;T0工作于模式3MOVTCON,*0;清TR0,TF0MOVTL0,*0E7H;高电平初值。256-25SETBP1.0;P1.0口输出高电平SETBTR0;启动定时器T0LOOP1:JNBTF0,LOOP1;检测T0是否溢出CLRTF0;去除溢出标志CLRTR0;关闭定时器MOVTL0,*6AH;写低电平初值256-150SETBTR0;启动定时器T0CLRP1.0;使P1.0输出低电平LOOP2:JNBTF0,LOOP2;检测T0是否溢出CLRTF0;去除溢出标志CLRTR0;关闭定时器MOVTL0,*0E7H;写高电平初值256-25SETBTR0;启动定时器T0SETBP1.0;使P1.0输出高电平SJMPLOOP1;重复6、设fosc=12MHz,编写程序,其功能为:对T0进展初始化,使之工作于模式2,产生200us的定时,并用查询T0溢出标志TF0的方法,控制P1.0引脚输出周期为2ms的方波。(P.146第18题)MOVTMOD,*02H;T0工作于模式2,定时方式MOVTCON,*0;去除TF0、TR0。MOVTH0,*56;(256-200)=56MOVTL0,*56;MOVR7,*5;200us与1ms是5倍的关系SETBTR0;启动定时器T0SETBP1.0;将P1.0置高电平LOOP:JNBTF0,LOOP;检测T0的溢出标志CLRTF0;去除T0的溢出标志DJNZR7,LOOP;是否到5次MOVR7,*5;重新写入计数次数CPLP1.0;取反P1.0口SJMPLOOP;循环往复9、当系统选用6MHz晶体振荡器时,由T0工作在方式为2,利用中断响应,产生周期为2ms(脉冲宽度为1ms)的方波序列,并由P1.0输出。〔1〕写出T0定时器的方式控制字,T0定时器初值计算。〔2〕试编写程序完成此功能。思路:方波的周期为2ms,每隔1ms对P1.0取反,可完成题目要求。系统晶体振荡器的频率为6MHz,机器周期为2us,定时器T0在方式2时,最大定时256us×2=512us,达不到1ms的要求,故将定时器T0的初始值选为:256-250=6(定时0.5ms),两次后取反P1.0口。〔1〕T0的初始值为:*=256-250=6T0的控制字为:MOVTMOD,*20HMOVTCON,*0〔2〕参考程序如下:ORG0000HSJMPMainORG000BHAJMPT0ORG0030HMain:MOVTMOD,*20H;定时器T1工作于方式2CLRTR0;关闭定时器T1CLRTF0;去除定时器T1溢出标志MOVIE,*02H;允许定时器T1中断MOVIP,*0;不设置悠闲级别MOVTH0,*6;定时器T1初值MOVTL0,*6;〔256-250=6〕MOVR7,*2;定时0.5ms与1ms的2倍的关系SETBTR0;启动定时器T1SETBEA;开中断SJMP$T0:DJNZR7,NE*T;两次是否到?未到则中断返回,到则继续CPLP1.0;取反P1.0口MOVR7,*2;重置2倍的关系NE*T:RETI;中断返回12、要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。思路:〔1〕只要使P1.1每隔500µs取反一次即可得到1ms方波;。〔2〕将T1设为定时方式0:GATE=0,C/T(—)=0,M1M0=00;T0不用可为任意,只要不使其进入方式3,一般取0即可。故TMOD=00H。下面计算500µs定时T1的初值:机器周期:T=1µs,设初值为*则:*=8192-500=7692=00B=B=F00CH因为在作13位计数器用时,TL1高3位未用,应写0,*的低5位装入TL1的低5位,所以TL1=*0CH;*的高8位应装入TH1,所以TH1=*F0H。参考源程序如下:MOVTCON,*0;清TF1、TR1MOVTMOD,*0;定时器T1工作于方式0MOVTH1,*0F0H;定时500us的初值MOVTL1,*0CH;8192-500=7692=F00CHSETBTR1;启动定时器T1LOOP:JNBTF1,LOOP;等待定时500us的溢出CLRTF1;去除溢出标志CPLP1.1;取反P1.1口CLRTR1;关闭定时器T1MOVTH1,*0F0H;重写定时500us的初值MOVTL1,*0CH;重写定时500us的初值SETBTR1;启动定时器T1SJMPLOOP13、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。定时器T1确定工作于方式1计数100的初始值为:65536-100100=64+32+4=01100100B65536-100=1111111110011100B=FF9CH定时10ms的初始值为:65536-100005000=4096+512+256+128+8=0065536-5000=60536=1110110001111000B=EC78H参考程序如下:LOOP3:CLRTR1;关闭定时器T1CLRTF1;去除定时器T1的溢出标志MOVTMOD50H;定时器T1工作于方式1,计数MOVTH1,*0FFH;计数100的初值MOVTL1,*9CH;65536-100=FF9CHSETBTR1;启动定时器T1LOOP1:JNBTF1,LOOP1;等待计数100溢出MOVTMOD,*10H;定时器T1工作于方式1,定时CLRTF1;去除定时器溢出标志CLRTR1;关闭定时器T1MOVTH1,*0ECH;定时10ms的初值MOVTL1,*78H;65536-5000=EC78HSETBTR1;启动定时器T1LOOP2:JNBTF1,LOOP2;等待定时10ms溢出CPLP1.7;取反P1.7口SJMPLOOP3;返回循环14、假设单片机晶振为12MHz,利用定时器1方式1,产生1ms的定时,在P1.0脚产生周期为2ms方波,用查询方式工作,查询标志为TF1。fosc=12MHz→1个机器周期为1us1ms=1000us初值=65536-1000=5453664536转换为二进制:1111110000011000T0的低8位:00011000(18H)T0的高8位:11110000(FCH)则有:(TL0)←*18H;(TH0)←*0FCH参考源程序如下:MOVTCON,*10H;定时器T1工作于方式1MOVTMOD,*0;去除TR1、TF1MOVTH1,*0FCH;定时1ms的初值MOVTL1,*18H;65536-1000=FC18HSETBTR1;启动定时器T1LOOP:JNBTF1,LOOP;等待定时1ms的溢出CLRTF1;去除溢出标志CPLP1.0;取反P1.0口CLRTR1;关闭定时器T1MOVTH1,*0FCH;重写定时1ms的处值MOVTL1,*18H;重写定时1ms的处值SETBTR1;启动定时器T1SJMPLOOP;返回循环15、系统时钟频率为6MHz,试用定时器T0作外部计数器,编程实现每计到1000个脉冲,使T1开场2ms定时,定时时间到后,T0又开场计数,这样反复循环不止。(1)定时器T0工作于方式1,计数1000的初值为:65536-10001000=512+256+128+64+32+8=0000000111111000B65536-1000=1111110000011000B=FC18H(2)晶振fosc=6MHz,机器周期为2us,定时器T0工作于方式1,定时1ms的初值为:65536-500500=256+128+64+32+16+4=10100B(取反+1可得到结果)(65536-500)=65036=1111111000001100BTH0=*0FEH;TL0=*0CH(3)参考程序如下:LOOP3:MOVTMOD,*00000101BCLRTF0CLRTR0MOVTH0,*0FCHMOVTL0,*18HSETBTR0LOOP1:JNBTF0,LOOP1CLRTF0CLRTR0MOVTMOD,*01HMOVTH0,*0FEHMOVTL0,*0CHSETBTR0LOOP2:JNBTF0,LOOP2SJMPLOOP3一、填空题:1、MCS—5l单片机的最大程序寻址空间是KB,该空间的地址围从至,系统上电及复位后,程序入口地址为。2、假设由程序设定PSW中的RS1、RS0=01,则工作存放器R0~R7的直接地址为____。3、MCS-51单片机的I/O端口采用____编址方式。、4、一个8位D/A转换器其分辨率为___,假设该8位D/A转换器的基准电压为5V,则数字量100对应得模拟量为。5、单片机系统中经常采用的地址译码技术包括法和法。6、INTEL8051CPU是位的单片机,其部有KB的ROM。7、指出以下各指令中源操作数的寻址方式。〔1〕MOVCA,A+DPTR 〔2〕*CH A,R0;〔3〕MOV C,P1.0 〔4〕JCLOOP 8、判断以下各条指令的书写格式是否有错,并指出原因。〔1〕MULR0R1 〔2〕MOVA, R7 〔3〕MOVA, *3000H 〔4〕MOVR1,C 9、单片机与外设进展数据交换通常有__________方式、__________方式和_____方式三种。10、MCS-51单片机串行口的方式0是_____________方式,方式2是方式。11、单片机复位后SP中的状态为_________,P0~P3口的状态为_________。12、串行通信根据数据传送时的编码格式不同可分为________________和________________两种方式。13、堆栈按照___________原则工作,使用__________指明栈顶位置。14、8051单片机片有___________字节的ROM,____________字节的RAM。15、使用8031单片机构成的系统时,其引脚应______________,因为______________________。16、ADC0809是_____位的A/D转换器。17、单片机复位后PC的容为___________,复位对片RAM中存放的容______(有,无)影响。18、多位LED显示器通常有________显示和_________显示两种接口。。19.执行以下两条指令后,PSW中的标志位〔CY〕=,〔OV〕=,〔AC〕=,〔P〕=。 MOV A,*80HADD A,*98H20.JC LOOP指令中操作数的寻址方式是,MOV A,P1指令中源操作数的寻址方式为。21.以下指令中正确的选项是。〔1〕RLC R7 〔2〕SETB R7.0〔3〕MOV A,DPTR 〔4〕POP 40H22.一个4k*4RAM芯片的地址线有根,数据线有。23.设〔A〕=30H,〔B〕=40H,〔SP〕=40H,执行以下程序段后,〔A〕=。PUSH A PUSH B POP A POP B24.假设8位A/D转换器的满量程输入为5V时,该转换器可分辨的最小电压是。25.一单片机系统的外部晶体振荡器频率为6MHz,现启动单片机的的定时/计数器1统计外部脉冲的个数,当计满100时,使P1.0输出0。则:当T1工作在方式0时,T1的初值应为(TH1)=,(TL1)=;当T1工作在方式1时,T1的初值应为(TH1)=,(TL1)=;当T1工作在方式2时,T1的初值应为(TH1)=,(TL1)=。26.(SP)=60H,子程序DELAY的首地址为1878H,现执行位于1123H处的LCALLDELAY三字节指令后,(PC)=,(61H)=,(62H)=。一、填空题:〔答〕1.64KB,0,0FFFFH,02.08~0FH3.统一4.1/256,1.953V〔5*100/256V〕线选法,译码法8,4基址变址寻址,存放器间接寻址,位寻址,相对寻址×,乘法指令用A×B;×,存放器间接寻址用R0和R1〔只能用R1和R0作指针〕;×,A是8位存放器×,C为进位位,不能送给存放器9、查询、定时、中断。10、8位移位存放器,多机11、07H、FFH 12、同步通信、异步通信13、先进后出,SP 14、4K,128。15、接地,其片没有程序存储器16、817、0000H、无18、静态,动态19.1,1,0,020.相对寻址,直接寻址21.〔4〕22.12,4 23.40H 24.19.53mV 25.FCH,1CH,FFH,9CH,9CH,9CH 26.1878H,26H,11H二、选择题:1.当MCS-51单片机接有外部存储器时,P2口可作为。A.数据输入口 B.数据的输出口 C.准双向输入/输出口 D.高8位地址线2.单片机的并行接口中,作为数据线使用的并行口是。A.P0 B.P1 C.P2 D.P33.MCS—5l单片机的堆栈区是设置在中。A.片ROM区 B.片外ROM区C.片RAM区 D.片外RAM区4.片RAM的20H~2FH为位寻址区,所包含的位地址是。A.00H~20H B.00H~7FHC.20H~2FH D.00H~FFH5.在存放器间接寻址方式中,间址存放器中存放的数据是。 A.参与操作的数据 B.操作数的地址值 C.程序的转换地址 D.指令的操作码6.当需要从MCS-51单片机程序存储器取数据时,采用的指令为。A.MOVA,R1 B.MOVCA,A+DPTRC.MOV*A,R0 D.MOV*A,DPTR7.能够用紫外光擦除ROM中程序的只读存储器称为。A.掩膜ROM

B.PROM

C.EPROM

D.EEPROM8.在片外扩展一片2716程序存储器芯片要地址线。A.8根 B.13根 C.11根 D.20根9.定时器/计数器工作方式1是。A.8位计数器构造 B.2个8位计数器构造C.13位计数构造 D.16位计数构造10.T0中断的中断入口地址为。A.0003HB.000BHC.0013HD.001BH二、选择题〔答〕1.D,2.A,3.C,4.C,5.B,6.B,7.C,8. A,9.D,10.B三、分析程序,写出结果1、〔A〕=83H,〔R0〕=17H,〔17H〕=34H,执行以下程序段后(A)=。ANLA,*17H ORL17H,A*RLA,R0 CPL A2、以下程序段执行后,〔R0〕=_________,〔7EH〕=_________.MOV

R0,*7FHMOV

7EH,*0MOV

7FH,*42HDEC

R0DEC

R0DEC

R03、(R3)=05H,运行程序后,结果为(50H)=。MAIN:MOVA,R3MOVDPTR,*TAB MOVCA,A+DPTR MOV50H,ARETTAB: DB00,01, 04, 09, 16 DB25,36, 49, 64, 81这个子程序的功能是:。4、一片DAC0832接成单缓冲方式,其地址为4000H,其控制程序如下: MOV DPTR,*4000H

MOV R0,*00H

WAIT: MOV A,R0

MOV*DPTR,A

INC R0

NOP

SJMPWAIT

读程序执行后,DAC0832输出的波形为波。5.(R3)=05H,程序运行后,结果为(50H)=。MAIN:MOVA,R3 MOVDPTR,*TAB MOVCA,A+DPTR MOV50H,A RETTAB: DB00,01, 04, 09, 16 DB25,36, 49, 64, 81这个子程序的功能是。6.该段程序执行后,〔A〕=,〔CY〕=。MOV A,*56HMOV R4,*95HADD A,R4DA A7.下面该段程序的功能是。MOV DPTR, *1000HMOV R0,*20HMOV A,*0FFHLOOP: MOV* D

温馨提示

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

评论

0/150

提交评论