单片机原理与应用模拟题1
- 格式:docx
- 大小:77.10 KB
- 文档页数:8
《单片机原理及应用》模拟题一.单选题1.在串行通信中, 8031中发送和接收的寄存器是( B )A.TMODB.SBUFC.SCOND.DPTR2.8031单片机的( D )口的引脚,还具有外中断,串行通信等第二功能A.P0B.P1C.P2D.P33.73.5转换成十六进制数是( B )A.94.8HB.49.8HC.111HD.49H4.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚.A.P3.2B.P3.3C.P3.4D.P3.55.七段共阴极发光两极管显示字符‘H’,段码应为( D )A.67HB.6EHC.91HD.90H6.下列哪条指令是正确的( D )A.PUSH R2B.ADD R0,AC.MOVX A @DPTRD.MOV @R0,A7.MCS-51单片机复位操作的主要功能是把PC初始化为( C ).A.0100HB.2080HC.0000HD.8000H8.8031复位后,PC与SP的值为( B )A.0000H,00HB.0000H,07HC.0003H,07HD.0800H,00H9.在家用电器中使用单片机应属于微计算机的( B ).A.辅助设计应用B.测量,控制应用C.数值计算应用;D.数据处理应用10.MOVX A , @R0指令中,源操作数采用( D )寻址方式,指令作用在()区间A.寄存器,外部数据存储器B.直接,程序存储器C.寄存器间接,内部数据存储器D.寄存器间接,外部数据存储器11.执行中断返回指令,从堆栈弹出地址送给( C )A.AB.CYC.PCD.DPTR12.已知某数的BCD码为0111 0101 0100 0010 则其表示的十进制数值为( B )A.7542HB.7542C.75.42HD.75.4213.当需要从MCS-51单片机程序存储器取数据时,采用的指令为( B )A.MOV A,@R1B.MOVC A,@A+DPTRC.MOVX A,@R0D.MOVX A,@DPTR14.下列说法( B )项正确A.“转换速度”这一指标仅适用于A/D转换器,D/A转换器不用考虑“转换速度”问题.B.ADC0809可以利用“转换结束”信号EOC向AT89C51单片机发出中断请求.C.输出模拟量的最小变化量称为A/D转换器的分辨率.15.下列( C )项说法是正确的.A.AT89C51单片机P0~P3口的驱动能力是相同的B.AT89C51单片机P0~P3口在口线输出为高电平的驱动能力和输出为低电平的驱动能力是相同的C.AT89C51单片机扩展的外围芯片较多时,需加总线驱动器,P2口应加单向驱动器,P0口应加双向驱动器D.AT89C51单片机最小系统可对温度传感器来的模拟信号进行温度测量16.下列说法正确的是( D ).A.各中断源发出的中断请求信号,都会标记在AT89C51单片机的IE寄存器中B.各中断源发出的中断请求信号,都会标记在AT89C51单片机的TMOD寄存器中C.各中断源发出的中断请求信号,都会标记在AT89C51单片机的IP寄存器中D.各中断源发出的中断请求信号,都会标记在AT89C51单片机的TCON与SCON寄存器中17.判断以下有关PC和DPTR的结论( C )是错误的.A.DPTR是可以访问的,而PC不能访问B.它们都是16位寄存器C.在单片机运行时,它们都具有自动加“1”的功能D.DPTR可以分为2个8位的寄存器使用,但PC不能18.在AT89C51单片机的中断请求源中,需要外加电路实现中断撤销的是( A ).A.电平方式的外部中断B.脉冲方式的外部中断C.外部串行中断D.定时中断19.8031单片机中既可位寻址又可字节寻址的单元是( A )A.20HB.30HC.00HD.70H20.中断查询确认后,在下列各种AT89C51单片机运行情况下,能立即进行响应的是( D ).A.当前正在进行高优先级中断处理B.当前正在执行RETI指令C.当前指令是DIV指令,且正处于取指令的机器周期D.当前指令是MOV A,R321.判断下列说法( A )项是正确的.A.程序计数器PC不能为用户编程时直接访问,因为它没有地址B.内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用C.AT89C51单片机共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的.22.PC的值是( C ).A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址D.控制器中指令寄存器的地址23.下列说法错误的是( B ) .A.同一级别的中断请求按时间的先后顺序响应B.同一时间同一级别的多中断请求将形成阻塞,系统无法响应C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D.同级中断不能嵌套24.通过串行口发送或接收数据时,在程序中应使用( C ).A.MOVC指令B.MOVX指令C.MOV指令D.XCHD指令25.定时器若工作在循环定时或循环计数场合,应选用( C ).A.工作方式0B.工作方式1C.工作方式2D.工作方式326.单片机应用程序一般存放在( B )A.RAMB.ROMC.寄存器D.CPU27.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( C )A.500B.1000C.2^16-500D.2^16-100028.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( A )A.1个机器周期B.2个机器周期C.4个机器周期D.10个晶振周期29.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A ).A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断30.串行口工作方式1的波特率是( C ).A.固定的,为fosc/32B.固定的,为fosc/16C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为fosc/64二.判断题1.中断服务程序的最后一条指令是RETRETI(✘)2.MULAB的执行结果是高低8位在A中,低高8位在B中(✘)3.单片机是面向数据处理的.(✘)4.定时器与计数器的工作原理均是对输入脉冲进行计数.(✔)5.由于MCS-51的串行口的数据发送和接收缓冲器都是SBUF,所以其串行口不能同时发送和接收数据,即不是全双工的串行口.(✘)6.END表示指令执行到此结束.(✘)7.ADC0809是8位逐次逼近式模/数转换接口.(✔)8.存储器分成内存和外存两大部分,其中外内存可以直接与CPU交换信息(✘)9.P2口既可以作为I/O使用,又可以作地址/数据复用口使用(✔)10.在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址(✔)11.LCRLA为循环左移指令(✘)12.MOVA,30H的源操作数为立即直接寻址方式(✘)13.MOVMOVCA,@A+DPTR是一条查表指令(✘)14.DPTR是由DPH和DPL两个8位特殊寄存器组成的(✔)15.AJMP跳转空间最大可达到642KB(✘)16.判断指令是否正确:MOVX @R0,B(✘)三.简答题1.简述累加器的ACC的作用.[答案]:1)8位专用寄存器.(2)运算时存放一个操作数.(3)运算后存放运算结果,所以称它为累加器.2.简述寄存器间接寻址方式及其寻址范围.[答案]:(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式.(2)寻址范围:①内部RAM低128单位,形式@Ri(i=0,1).②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR.3.简述MCS-51单片机的中断入口地址.[答案]:中断入口地址为中断响应后PC的内容即中断服务的入口地址.它们是:外部中断0 0003H定时器T0中断000BH外部中断1 0013H定时器T1中断001BH串行口中断0023H4.单片机的特性主要有哪些?[答案]:单片机具有体积小,可靠性高,控制功能强,使用方便,性能价格比高,容易产品化等特点.5.8031,8051,8751有何异同?[答案]:8051,8751和8031均为8位单片机,其内部结构是基本相同的.不同点为:8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器.6.MCS-51的位存储区在哪里?寻址范围是多少?[答案]:内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址。
单片机原理及应用试题一一、填空题每空1分,共20分1、计算机的系统总线有地址总线、控制总线和数据总线;2、通常、单片机上电复位时PC= 0000H,SP=07H;而工作寄存器则缺省采用第00组,这组寄存器的地址范围是从00H~ 07H;3、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为1022H;4、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制;5、假定累加器A的内容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的内容送累加器A中;6、MCS-51单片机访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号;7、MCS-51单片机8031中有 2 个 16位的定时/计数器,可以被设定的工作方式有四种;8、MCS-51单片机有5个中断源,可分为2个中断优先级;上电复位时外部中断0中断源的最高;9、用串行口扩展并行口时,串行接口的工作方式应选为方式0;10、半导体存储器的最重要的两个指标是存储容量和存储速度 ;11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为5/255=;12、写8255A控制字时,需将A1、A0置为11;二、选择题从备选答案中选择一个正确答案,并将代号写在括号内;每题1分,共10分1、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是 B APC BPSW CA DSP2、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是 BAMOV BMOVX CMOVC D以上都是3、指令ALMP的跳转范围是CA256B B1KB C2KB D64KB4、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE 的内容应是 AA98H B84H C42H D22H5、各中断源发出的中断请求信号,都会记在MCS-51系统中的 BAIE BIP CTCON DSCON6、CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是 CA混合编址 B动态编址 C独立编址 D变址编址7、下列四条叙述中,有错误的一条是 AA16根地址线的寻址空间可达1MBB内存储器的存储单元是按字节编址的CCPU中用于存放地址的寄存器称为地址寄存器D地址总线上传送的只能是地址信息8、MCS-51外扩一个8255时,需占用D 个端口地址A1个 B2个 C3个 D4个9、用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择AA方式0 B方式1 C方式2 D方式310、某种存储器芯片是8KB4/片,那么它的地址线根数是 CA 11根 B12根 C13根 D14根三、问答题每题5分,共20分1、MCS-51单片机的时钟周期与振荡周期之间有什么关系一个机器周期的时序如何划分答:时钟周期是单片机最基本的时间单位;机器周期则是完成某一个规定操作所需的时间;一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2;2、MCS-51内部四个并行I/O口各有什么异同作用是什么答:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器;但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能;3、简述MCS-51单片机的中断响应过程;答:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序;一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行;对于有些中断源,CPU在响应中断后会自动清除中断标志;4、A/D转换接口中采样保持电路的作用是什么省略采样保持电路的前提条件是什么答:A/D转换接口中采样保持电路的作用是:能把一个时间边续的信号变换为时间离散的信号,并将采样信号保持一段时间;当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间可视为直流信号的情况下,可以省略采样保持电路;四、阅读或编写程序1、阅读下列程序段并回答问题;1、该程序执行何种操作2、已知初值60H=23H,61H=61H,运行程序后62H= 7分CLR CMOV A,9AHSUBB A,60HADD A,61HDA AMOV 62H,A答: 1、该程序是单字节BCD码运算,是将61H—60H→62H2、62H=38H2、编写一程序将片外数据存储器中7000H~70FFH单元全部清零; 8分ORG 1000HMOV DPTR,7000HCLR AMOV R0,ALOOP:MOVX DPTR,ADJNZ R0,LOOPJMP $S五、MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布;15分8255A可以直接与MCS-51单片机进行接口,其连接图如图所示;8255A的A0、A1分别接地址总线的A0、A1,片选端接口,因此8255A PA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH;六、编写交通灯控制程序;在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向A线通车时,东西方向绿灯亮、南北方向B线红灯亮;东西方向通车时间30秒到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车;通车时间60秒到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环;20分ORG 2000HMAIN: MOV P1,0CH;A线放行、B线禁止MOV R7,19H;延时秒数MAIN1: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN1MOV P1,0AH;A线警告、B线禁止MOV R7,05H;延时秒数MAIN2: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN2MOV P1,21H;A线禁止、B线放行MOV R7,19H;延时秒数MAIN3: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN3MOV P1,11H;A线放行、B线警告MOV R7,05H;延时秒数MAIN4: LCALL DELAY;1秒延时子程序DJNZ R7,MAIN4AJMP MAIN1秒延时子程序:ORG 2100HDEY1S:MOV R1,02H;LOOP3:MOV R2,C8H;LOOP2:MOV R3,FAH;LOOP1:NOPNOPNOPDJNZ R3,LOOP1DJNZ R2,LOOP2DJNZ R1,LOOP3RET试题二一、填空每空 2 分,共 40 分1、MCS-8051系列单片机字长是 8位,有 40根引脚,96系列字长是 16 位;单片机的特点有体积小、价格低、功能全 ;2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址 ,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器;3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 ;P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号;4、ALE信号的作用是低8位地址锁存 ;5、8051复位后,PC= 07 H;若希望从片内存储器开始执行,EA脚应接高电平,PC 值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行;6、8051的C/T是加加或减计数的;7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H;8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址;9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC ;0A7H是的地址10、将CY与A的第0位的非求或的指令是 ORL C,/ ,若原A=0,执行后A= 0 ;2、已知A = 0F8H,当执行ADD A,0A9H指令后,PSW中的OV、CY、AC、P各为多少若是有符号数,A中的结果用十进制表示是多少共 5 分解答 OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光;画出连接示意图,写出完整的程序;共 15 分A机程序 ORG 0000HAJMP STARTORG 4100HSTART:MOV P1,0FFHMOV SCON,80HAGAIN1:MOV SBUF,P1JNB TI,$CLR TISJMP AGAIN1ENDB机程序 ORG 0000HAJMP STARTORG 4100HSTART:MOV SCON,90HAGAIN1:JNB RI,$MOV P1,SBUFCLR RISJMP AGAIN1END4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器;请画出连接示意图;要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE;最后写出各片的地址范围;共 12 分数据线8根从P1直接到2716的O、两片6264的D;地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内接一片6264的CE,经非门后接另一片6264;ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE; 2716:0-7FFH,6264:0-1FFFH,2000H-3FFFH5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A;若是非法的BCD码,则A返回值为255;共10分6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环;一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环;画出连接示意图,写出完整的程序;软件延时用循环5126200次控制共10分五、SUBP:MOV R1,AANL A, 0F0HSWAP ACJNE A, 10, NEXT1NEXT1:JNC ERRORMOV B, 10MUL AB<DIV六、 ORG 0000H LJMP STARTORG 3HLJMP INT00 START:SETB EA SETB EX0CLR IT0MOV A, 1 AGAIN:MOV P1,A ACALL DELAYRL ASJMP AGAIN DELAY:MOV R1,5 LOOP1:MOV R2,200 LOOP2:MOV R3,126 DJNZ R3,$DJNZ R2,LOOP2 DJNZ R1,LOOP1 RETINT00:PUSH ACCPUSH 1PUSH 2PUSH 3MOV R4,5AGAIN:MOV P1,0FFHACALL DELAYMOV P1,0ACALL DELAYDJNZ R4,AGAINPOP 3POP 2POP 1POP ACCRETIEND7、简单叙述8051的C/T0的四种工作模式和串行通信的四种工作模式;共 8 分试题三1、填空每空 2 分,共 40 分1、MCS-8051系列单片机字长是 8位,有40根引脚,96系列字长是 16位;单片机的特点有体积小、价格低、功能全 ;2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址 ,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器;3、8051最多可以有 4 个并行输入输出口,最少也可以有1个并行口,即 P1 ;P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号;4、ALE信号的作用是低8位地址锁存 ;5、8051复位后,PC= 0 H;若希望从片内存储器开始执行,EA脚应接高电平,PC 值超过 0FFF H时,8051会自动转向片外存储器继续取指令执行;6、8051的C/T是加加或减计数的;7、8051的中断向量表在 3 H、 0B H和13H、1BH、23H;8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址;9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC ;0A7H是的地址10、将CY与A的第0位的非求或的指令是 ORL C,/ ,若原A=0,执行后A= 0 ;2、已知A = 0F8H,当执行ADD A,0A9H指令后,PSW中的OV、CY、AC、P各为多少若是有符号数,A中的结果用十进制表示是多少共 5 分解答 OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光;画出连接示意图,写出完整的程序;共 15 分4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器;请画出连接示意图;要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE;最后写出各片的地址范围;共 12 分数据线8根从P1直接到2716的O、两片6264的D;地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内接一片6264的CE,经非门后接另一片6264;ALE接锁存器的G,锁存器OE接地,PSEN接2716的OE,WR接6264的WE,RD接OE; 2716:0-7FFH,6264:0-1FFFH,2000H-3FFFH5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A;若是非法的BCD码,则A返回值为255;共10分6、用8051输出控制8个LED从LED1到LED8、再到LED1…,每次一个LED发光,并不断循环;一个开关控制引起中断,电平触发,中断后8个LED一起闪5下,然后恢复前面的循环;画出连接示意图,写出完整的程序;软件延时用循环5126200次控制共10分五、SUBP:MOV R1,AANL A, 0F0HSWAP ACJNE A, 10, NEXT1NEXT1:JNC ERRORMOV B, 10MUL ABXCH A, R1ANL A, 0FHCJNE A, 10,NEXT2NEXT2:JNC ERRORADD A, R1RETERROR:MOV A,255RET六、 ORG 0000H LJMP STARTORG 3HLJMP INT00 START:SETB EA SETB EX0CLR IT0MOV A, 1 AGAIN:MOV P1,A ACALL DELAYRL ASJMP AGAIN DELAY:MOV R1,5 LOOP1:MOV R2,200 LOOP2:MOV R3,126 DJNZ R3,$DJNZ R2,LOOP2 DJNZ R1,LOOP1 RETINT00:PUSH ACC PUSH 1PUSH 3MOV R4,5AGAIN:MOV P1,0FFHACALL DELAYMOV P1,0ACALL DELAYDJNZ R4,AGAINPOP 3POP 2POP 1POP ACCRETIEND一、填空与说明题1、8051单片机的内部硬件结构包括了:、、、以及片内数据储存器、片内程序储存器、并行I/O 位出力器等部件,这些部件通过相连接;2、MCS-51单片机的PO-P4口,其中的PO口和P2口除了可以进行数据的输入、输出外,通常还用来构件系统的和在PO~P4口中, 位真正的双向口, 为准双向口;3、请说明MCS-51单片机程序状态字PSW中的各位的含义;CY AC FO RS1 RS0 OV / PAC:FO:用户标志位RS1、RS0:工作积存器区选择位OV:P:4、单片机系统中经常采用的地址择码技术包括方法和方法;5、INTEL8279是一种专用于和芯片;当8279的引脚AO为“1”时,CPU对8279写入的数据为 ,读出的数据为;;二、简答题12分1、 MCS-51系列单片机具有几个中断源分别是如何定义的其中哪些中断源可以被定义为高优先级中断如何定义2、各中断源对应的中断服务程序的入口地址是否能任意设定3、如果想将中断程序设置在程序储存区的任意区域,在程序中应该作何种设置请举例加以说明;三、参数计算题12分已知亿MCS-51单片机系统是拥10MHZ的外部晶体振荡器,请问:1、该片机系统的状态周期与机器周期各为多少2、该单片机的定时器OTO工作在方式2时,TO的最大定时时间为多少3、当单片机的定时器OTO工作在方式2时,要求每记满250us便生产一次定时器溢出,请问,TO中需要预置的初始值应为多少四、改错题10分请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因;1、CLR A2、MUL R0,R13、MOV DPTR,1050H4、 MOV A,R75、 ADD 30H,20H6、 MOV R1,C7、 JMP RO+DPTR8、 MOV A,3000H9、 MOVC A+DPTR,A10、 MOVX A,A+DPTR五、程序分析题8分设在MCS-51单片机片内RAM中,20H=40H,40H=22H,22H=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少请填入给定的各个寄存器及片内单元中; MOV RO,20HMOV A,ROMOV R1,AMOV B,R1MOV R1,R1MOV P3,P1A= B= R0= R1=P1= P3= 20H= 22H=六、编程题20分,其中编程14分,表中每一空1分,共6分已知一MCS-51单片机系统的片外 RAM的30H、31H单元分别存放了8单元无符号数AFH和61H,是编程完成以上两个单元中的五符号数相加,并将和值送住片外RAM 的8000H单元中,同时将所编写程序运行完毕后的数据填入表中的PRW的有关为以及寄存器A、DPTR和片外RAM单位中;CY A DPTR 片外31H 片外30H 片外8000H程序:七、判读电路题12分下图为MCS-51单片机系统中扩展程序储存器2764、以及外部扩展接口的部分连接电路图;试分析电路图并会下列问题:1、请给出2764所占用的单片机程序存储空间的地址范围;2、在这种电路连接下,74LS2445是作为输入接口使用还是作为输出接口使用,为什么它所占用的单片机数据存储空间的地址范围是多少3、在这种电路连接下,74LS373U6是作为输入接口使用还是作为输出接口使用,为什么它所占用的单片机数据存储空间的地址范围是多少单片机试题一、填空题每空1分,共10分1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_低电平________;通常用作__单片机系统的地址/数据总线_______;3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为____10H~17H_____;4.返回地址或断点是_在程序中断或子程序调用时________的程序计数器的内容;5.中央处理器CPU是单片机的核心,它完成运算和控制功能_________;6.单片机的工作过程,实际上就是周而复始的取指令和执行指令的过程_________;7.所谓中断源即是______引起中断的原因__;8.端口或称口是___接口电路中已编址并能进行读或写操作的寄存器______;9.异步串行近程通信时的传送信号是TTL电平信号_________;10.若累加器A中的数据为01110010B,则PSW中的P=_____0____;二、单项选择题在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内;每小题1分,共10分—51单片机的复位信号是有效;A.高电平B.低电平C.脉冲D.下降沿2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过 ;μs μs μs3.若=0,=1,要想把寄存器R0的内容入栈,应使用指令;R0 R000H 08H4.能够用紫外光擦除ROM中程序的只读存储器称为 ;A.掩膜ROM5.在片外扩展一片2764程序存储器芯片要地址线;根根根根6.定时器/计数器工作方式1是 ;位计数器结构个8位计数器结构位计数结构位计数结构7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为 ;9.下列数据字定义的数表中, 是错误的;“AA” “A”“OABC”10.串行口的控制寄存器SCON中,REN的作用是 ;A.接收中断请求标志位B.发送中断请求标志位C.串行口允许接收位D.地址/数据位三、简答题每小题4分,共20分1.简述堆栈;2.简述变址寻址方式并举例说明;3.简述中断响应的主要内容;4.简述汇编语言中的标号有什么规定D转换器转换数据的传送有几种方式四、读程序每小题4分,共20分1.执行下列程序段中第一条指令后,1=____ =_____, =_________;执行第二条指令后,2=_________,=_________,=_________;ANL P1,73HORL P1,38H2.下列程序段执行后,A=_________,B=_________;MOV A,0FBHMOV B,12HDIV AB3.下列程序段执行后,R0=_________,7EH=_________,7FH=_________;MOV R0,7FHMOV 7EH,0MOV 7FH,40HDEC R0DEC R0DEC R04.已知SP=09H,DPTR=4567H,在执行下列指令后,SP=_________,内部RAM0AH=_________,0BH=_________PUSH DPLPUSH DPH5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间MOV R3,100;1LOOP:NOP ;1NOPNOPDJNZ R3,LOOP ;2RET ; 2五、编程题每小题4分,共20分1.请使用位操作指令,实现下列逻辑操作:=∧∨∧2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1;3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现;4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现R3为高字节;5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H 单元,请编程比较两个字符串;若相等,则把数字00H送40H单元,否则把0FFH送40H单元;六、综合应用题每小题10分,共20分1.用8031单片机,并采用一片27162KB和一片61162KB组成一个既有程序存储器又有数据存储器的扩展系统,请:1画出逻辑电路图2说明其存储空间2.已知D/A转换器DAC 0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请1画出单缓冲接口方式电路2编程产生正向锯齿波单片机试题1参考答案一、填空题每空1分,共10分1.低电平2.单片机系统的地址/数据总线~17H4.在程序中断或子程序调用时5.运算和控制功能6.周而复始地取指令和执行指令的过程7.引起中断的原因或能发出中断请求的来源8.接口电路中已编址并能进行读或写操作的寄存器电平信号二、单项选择题每题1分,共10分三、简答题每题4分,共20分1.1在程序中断或子程序调用时,为了保护返回地址断点和保护现场而设立的RAM 区;2用MOV SP,STK指令建立堆栈;3存放数据按“后进先出”原则进行;4利用PUSH、POP指令即可进行进栈、出栈操作;2.1变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址;2变址寻址只能对移定存储器寻址,其指令只有三条:MOVC A,A+DPTRMOVC A,A+PCJMP A+DPTR前二条为查表指令,后一条为无条件转移指令3.由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为:1将程序计数器PC的内容断点压栈2将中断入口地址装入PC,转去执行中断服务程序4.1标号由1—8字符组成,头一个字符必须是字母;2不能使用汇编语言已定义的符号;3标号后必须跟冒号:4同一标号在一个程序中只能定义一次;5.1定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取;2查询方式:A/D启动后,查询EOC转换结束信号,转换一完成即可读取转换数据; 3中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据;四、读程序每题4分,共20分1.1P1,7=0,,=0,=02=1,=1,=12.A=0DH或13B=11H或173.R0=7EH,7EH=FFH,7FH=3FH4.SP=0BH0AH=67H0BH=45H5.一个机器周期为2μs执行程序所需时间T=2μs5×100+3=1006μs≈1ms五、编程题每题4分,共20分1.先进行与操作,再进行或操作程序如下:MOV C,ANL C,P2,0MOV 12H,CMOV,C,AANL C,ORL C,12HRET2. MOV R2,10MOV DPRT,TABLELOOP: MOV X A,DPRT;取一数ORL A,80H;最高位置1MOV X DPTR,A;写回原地址1NC DPTR;处理下一单元DJNZ R2,LOOPRET3. MOV R0,30HMOV R1,00HMOV R2,20HLOOP: MOV A,R0;取数MOV X R1,A;存数1NC R01NC R1DJNZ R2,LOOPRET4.利用移位指令作除8操作,程序如下: MOV R2,3LOOP:CLR CRRC A ;高字节除以2,末位移入C,高位补0MOV R3,A ;暂存高字节MOV A,R4RRC A ;低字节除以2,高字节末位移入低字节高位MOV R3,ADJNZ R2,LOOPRET5.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV R0,42HMOV R1,52HLOOP:MOV A,R0CLR C ;不相等,FFH→40HSUBB A,R1JNZ LOOP1 ;相等时,比较下一字节INC R0INC R1DJNZ 41H,LOOPMOV 40H,0 ;所有字符均相等,则两字串相等;RETLOOP1:MOV 40H,0FFHRET六、综合应用题每题10分,共20分1.1逻辑图2地址:…2.12程序DASAW:MOV DPTR,7FFFHMOV,A,0LOOP:MOVX DPRT,A1NC ANOPAJMP LOOP。
单片机原理及应用试题一、选择题(每小题4分,共40分)1. 下列说法中,关于单片机的描述正确的是:A. 单片机是一种微型计算机B. 单片机是一种存储芯片C. 单片机只能执行单一功能D. 单片机无法与外部设备进行通信2. 单片机的内部结构主要包括以下几个部分:()A. 控制器、运算器、存储器B. 输入设备、输出设备、外部存储器C. 中央处理器、内存、接口电路D. 时钟电路、通信接口、扩展接口3. 单片机的主频是指()A. 内部时钟频率B. 外部时钟频率C. CPU执行指令的速度D. 存储器的运行速度4. 单片机的引脚数目不包括()A. VCCB. GNDC. 电源指示灯D. 外部中断引脚5. 下列关于单片机外部中断的说法中,错误的是()A. 外部中断可以用来处理紧急事件B. 外部中断可以通过引脚触发C. 外部中断可以暂停CPU的当前任务D. 外部中断可以用来初始化系统6. 单片机的输入输出方式主要有以下几种:()A. 串行输入/输出、并行输入/输出B. 模拟输入/输出、数字输入/输出C. 并行输入/输出、数字输入/输出D. 串行输入/输出、模拟输入/输出7. 单片机编程中,通常使用的编程语言是()A. C语言B. Python语言C. 汇编语言D. Java语言8. 下列关于单片机应用领域的说法中,错误的是()A. 工业自动化B. 智能家居C. 互联网应用D. 嵌入式系统9. 单片机程序的入口点是()A. main函数B. setup函数C. loop函数D. interrupt函数10. 单片机系统中,用于将模拟信号转换为数字信号的模块是()A. 数字转换模块B. 模拟转换模块C. ADC模块D. DAC模块二、填空题(每小题4分,共40分)1. 单片机最基本的功能是________。
2. 单片机是一种集成度________的计算机。
3. 单片机采用的编程方式主要有________和________。
第1页共 2页安徽工程大学机电学院2014-2015学年春季学期 (单片机原理及应用)课程考试试卷 考生须知: 1、答题前将装订线内的考生信息项目填写清楚,装订线内不得答题。
2、本试卷满分为100分;考试时间120分钟。
3、考生在答题纸上答题。
4、本课程为闭卷考试。
一、单项选择题(每小题2分,共30分) 1.AT89S51单片机的CPU 主要的组成部分为( )。
A .运算器、控制器 B .加法器、寄存器 C .运算器、寄存器 D .运算器、指令译码器 2.单片机复位后,SP 、PC 、I/O 口的内容为( )。
A 、SP = 07H PC = 00H P0 = P1 = P2 = P3 = FFH B 、SP = 00H PC = 0000H P0 = P1 = P2 = P3 = 00H C 、SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH D 、SP = 00H PC = 00H P0 = P1 = P2 = P3 = 00H 3.PC 的值是( )。
A .当前正在执行指令的前一条指令的地址 B .当前正在执行指令的地址 C .当前正在执行指令的下一条指令的地址 D .控制器中指令寄存器的地址 4.在AT89S51单片机中P1口的每一位能驱动( )。
A .2个TTL 低电平负载 B .4个TTL 低电平负载 C .8个TTL 低电平负载 D .10个TTL 低电平负载 5.在AT89S51单片机的中断请求源中,需要外加电路实现中断撤销的是( )。
A .定时器/计数器中断B .脉冲方式的外部中断 C .串行口中断 D .电平方式的外部中断 6.调用子程序、中断响应过程及转移指令的共同特点是( )。
A .都能返回 B .都必须保护现场 C .都将返回地址压入堆栈D .都通过改变PC 实现转移 7.在AT89S51单片机中,若晶振频率为8MHz ,一个机器周期等于( ) μs 。
单片机原理及应用考试题及参考答案一、单选题(共30题,每题1分,共30分)1、MOVC A, @A+PC是()A、数据传送指令B、算术运算指令C、逻辑运算指令D、控制转移指令E、位操作指令正确答案:A2、指令MUL AB 执行前(A)=18H ,(B)=05H,执行后,A、B的内容是()。
A、90H,05HB、90H,00HC、78H,05HD、78H,00H正确答案:D3、5转换成十六进制数是()。
A、111HB、94.8HC、49.8HD、49H正确答案:C4、已知晶振频率为6MHz,在P1.0引脚上输出周期为500微秒的等宽矩形波,若采用T1中断,工作方式2。
TMOD=#( )A、19HB、20HC、21HD、22H正确答案:B5、A7H和5BH两个立即数相加后,和为(),(CY)是()。
A、1CH,0B、C1H,0C、02H,1D、C1H,1正确答案:C6、INTEL 8051 CPU是()位的单片机.A、16B、4C、8D、32正确答案:C7、执行LACLL 4000H指令时, MCS-51所完成的操作是( )A、保护PCB、(PC )=4000HC、保护现场D、PC+3入栈,(PC )=4000H正确答案:D8、下列指令能使R0的最高位置0的是()。
A、ANL A,#7FHB、ANL A,#80HC、ORL A,#7FHD、ORL A,#80H正确答案:A9、MOV @Ri , direct 是()A、控制转移指令B、逻辑运算指令C、算术运算指令D、数据传送指令E、位操作指令正确答案:D10、汇编结束指令是():A、ORGB、BITC、EQUD、END正确答案:D11、SJMP rel 是()A、逻辑运算指令C、算术运算指令D、控制转移指令E、数据传送指令正确答案:D12、下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
《单片机原理与应用》期末复习题一一、填空题:1.单片微型计算机是一种把(1)中央处理器(CPU)(2)半导体存储器(ROM、RAM)(3)输入/输出接口(I/O接口)(4)定时器/计数器(5)中断系统(6)串行口等部分集成在同一块硅芯片上的有完整功能的微型计算机。
2.十进制数+100的补码=64H,十进制数-100的补码= 9C H 。
3.在8051单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器或SFR 区,8051单片机其内部有 21 个特殊功能寄存器,其中11 个可以位寻址。
4.通常单片机上电复位时PC = 0000H,P0~P3 = FFH。
SP = 07H,PSW = 00H ,通用寄存器则采用第0组,这一组寄存器的地址范围是从00H 到07H。
5.若PSW为18H,则选取的是第3组工作寄存器。
6.在微机系统中,CPU是按照程序计数器PC 来确定程序的执行顺序的。
7.ORL A , #0F0H是将A的高四位置1,而低四位不变。
8.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为PUSH 和 POP 。
9.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以:位寻址。
10. 8位二进制数,采用补码形式表示带符号数,它能表示的带符号数真值的范围是分别为-128~127。
11.I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行写“1”操作。
12.MCS51单片机PC的长度为16位;SP的长度为8位,数据指针DPTR的长度为16位。
13.8051片内有256B的RAM ,可分为四个区,00H~1FH为工作寄存器区;20H~2FH为位寻址区;30H~7FH为堆栈、数据缓冲区;80H~FFH为特殊功能寄存器区。
14.半导体存储器中有一类在掉电后不会丢失数据,称为只读存储器,另一类掉电后丢失数据,且通电后也不能自动恢复,称为随机存取存储器。
单片机原理及应用模拟试题1一、填空题1、AT89S51内部数据存储器的地址范围是,位地址空间的字节地址范围是,对应的位地址范围是,外部数据存储器的最大可扩展容量是。
2、AT89S51单片机指令系统的寻址方式有、_______、_ ___、_ __ __、。
3、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= ,(R7)= 。
4. 82C55可以扩展个并行口,其中条口线具有位操作功能;5、当单片机复位时PSW= H,这时当前的工作寄存器区是区,R4所对应的存储单元地址为 H。
6、若A中的内容为67H,那么,P标志位为。
7、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中片芯片。
二、简答题1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;则:(DPH)= __ ___;(DPL)=____ ____;(SP)=____ ____;2、采用6MHz的晶振,定时1ms,用定时器方式1时的初值应为多少(请给出计算过程)3、分析下列程序的功能PUSH ACCPUSH BPOP ACCPOP B三、图为8段共阴数码管,请写出如下数值的段码。
bc fh0____ __;1_______ _;2_______ _;3____ _ ;_4______ ;5_____ ;P_____ _;7_______ ;8____ __;C_______;四、简述一种多外部中断源系统的设计方法。
(给出图)五、简述行列式扫描键盘的工作原理。
六、请回答:1、下图中外部扩展的数据存储器容量是多少2、三片6264的地址范围分别是多少(地址线未用到的位填1)3、若外部程序存储器已扩展(未画出),请编写程序,要求:(1)将30H~3FH中的内容送入6264 1# 的前16个单元中;(2)将6264 2# 的前32个单元的内容送入40H~5FH中;单片机原理及应用模拟试题1参考答案一、填空题1. AT89S51内部数据存储器的地址范围是 00H~7FH ,位地址空间的字节地址范围是 20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。
单⽚机原理及应⽤考试试卷及答案[1]⼀.填空题:1.8051系列单⽚机字长是8 位,有40 根引脚。
当系统扩展外部存储器或扩展I/O⼝时, P0 ⼝作地址低8位和数据传送总线, P2 ⼝作地址总线⾼8位输出, P3 ⼝的相应引脚会输出控制信号。
2.当EA为低电平(接地)时,CPU只执⾏外部程序存储器或ROM 中的程序。
3.数据指针DPTR有 16 位,程序计数器PC有 16 位。
4.在MCS-51单⽚机中,⼀个机器周期包括12 个时钟周期。
5.C51编译器⽀持三种存储模式,其中SMALL模式默认的存储类型为data ,LARGE模式默认的存储类型为xdata 。
6.欲使P1⼝的低4位输出0,⾼4位不变,应执⾏⼀条ANL P1,#0F0H 命令。
7.8051单⽚机复位后,PC = 0000H 。
8.74LS138是具有3个输⼊的译码器芯⽚,⽤其输出作⽚选信号,最多可在 8 块芯⽚中选中其中任⼀块。
9.单⽚机位寻址区的单元地址是从20H 单元到2FH 单元,若某位地址是12H,它所在单元的地址应该是22H10.MOV A,30H 指令对于源操作数的寻址⽅式是直接寻址。
11.在MCS-51单⽚机中,寄存器间接寻址⽤到的寄存器只能是通⽤寄存器R0、R1和DPTR 。
12..程序状态字PSW中的RS1和RS0的作⽤是选择⼯作寄存器组13.8051单⽚机,当CPU响应某中断请求时,将会⾃动转向相应规定地址(即中断⼊⼝地址)去执⾏,外部中断0⼊⼝地址为:0003 H,T1⼊⼝地址为 0018 H。
14.变量的指针就是变量的地址。
对于变量a,如果它所对应的内存单元地址为2000H,它的指针是2000H 。
15.特殊功能寄存器中,单元地址()的特殊功能寄存器,可以位寻址。
16.interrupt m 是C51函数中⾮常重要的⼀个修饰符,这是因为中断函数必须通过它进⾏修饰。
17.Using n⽤于指定本函数内部使⽤的寄存器组,n的取值为0~3。
单片机原理及应用模拟题 1除非特别声明,编程题可以使用汇编语言编写,也可以使用C语言编写1、分析程序的执行结果,将结果填写到空格中。
ORG 0000HMOV 30H,#50HMOV R0,#30HMOV A,@R0 ;(A= 50H )MOV A,#79HMOV B,#20H ;(A= 79H B= 20H )DIV AB ;(A= 03H B= 19H )PUSH BMOV B,#0AHMUL AB ;(A= 1EH B= 0 )POP BADD A,B ;(A= 37H B= 19H )MOV 30H,A ;(30H 单元的内容= 37H ) MOV20H,30HCLR 01H ;(20H 单元的内容=37H )MOV A,20H ;(PSW 中P的内容= 1 )CPL ARR A ;( PSW 中 C 的内容= 0 )SWAP A ;(A= 46H )ADDC A,#0F0H ;(A= 36H );(PSW 中P的内容= 0 );( PSW 中 C 的内容= 1 )RL A ;(A= 6CH );(PSW 中P的内容= 0 );( PSW 中 C 的内容= 0 ) LOOP: AJMP LOOP2、将MCS51 内部RAM60H ~65H 单元存放的12 个16 进制数变为ASCII 码,放到0090H单元开始的外部RAM 中。
[使用汇编语言编写]ORG 0000HAJMP MAINORG 0030HMIAN:MOV R0,#50HMOV DPTR,#2800HMOV A,@R0MOV B,ACH:ANL A,#0FHPUSH ACCSUB A,#0AHJNC AD37 POPACC ADD A,#30HJMP SAV AD37:POP ACCADD A,#37HSAV:DJNZ R2,LLMOVX @DPTR,AINC DPTR SWAPB MOV B,A JMPCHLL:INC R0DJNZ R1,DONEDONE:HLTEND3、某一故障检测系统,当出现故障 1 时,线路1 上出现上升沿;当出现故障 2时,线路2 上出现下降沿。
没有故障时,线路1 为低电平,线路2 为高电平。
出现故障时,相应的指示灯变亮。
故障消失后,指示灯熄灭。
试用MSC1211 为单片机实现该故障检测功能,画出电路原理图,并写出相应程序。
解答:如下图所示:故障 1 从P32输入,利用INT0, 故障2 从P33 输入,利用INT1,使用L1 作为故障1 的指示灯,L2 作为故障 2 的指示灯。
- 2 -程序清单:ORG 0000HAJMP MIANORG 0003HAJMP GU1ORG 0013HAJMP GU2ORG 1000HMAIN: MOV TCON,#05HMOV IE,#85HHERE: SETB P1.0SETB P1.1GU1: CLR P1.0JB P3.2,GU1RETIGU2: CLR P1.1JB P3.3,GU2RETIEND4、用MSC1211 的T0 定时/计数器,设计程序,实现在P1.0 输出周期为200ms的占空比为1:1 的方波,输出500 个方波后停止输出。
设频率为6MHzTCOUNT EQU 30HORG 00HSTART: MOV R0,#5MOV TCOUNT,#00HMOV TMOD,#01HMOV TH0,#3CH MOVTL0,#B0H SETB TR0WAIT: JNB TF0,WAITCLR TF0MOV TH0,# 3CHMOV TL0,# B0HCPL P1.0 INC TCOUNT MOVA,TCOUNT CJNE A,#200,WAITMOV TCOUNT,#00H DJNZR0,WAITEND解:ORG 0000HLJMP MAINORG 000BH ;T0 口中断服务程序入口地址LJMP INT_T0MAIN :MOV TMOD ,#00H ;T0 工作于方式0 定时MOV TL0 ,#0CHMOV TH0 ,#1EH ;设定秒中断周期为1msMOV A ,200 ;设定输出周期为200 msMOV R2,1000 ;输出500 个方波SETB TR0SETB ET0SETB EASETB P1.0SJMP $INT_T0 :MOV TL0 ,#0CHMOV TH0 ,#1EH ;T0 重装时间常数CPL P1.0 P1.0 位取反DEC R2JZ ENDP ;若R2 为0,则结束程序,否则返主程序继续输出RETI ;返主程序ENDP:END5、利用MSC1211 或8051 设计应答方式下的多机通讯程序。
通讯参数:晶振为11.0592MHz,9600,n,8,1。
通讯过程如下:主机首先发送从机地址,从机收到地址后进行比较,如果地址相符,则将从机地址回发给主机作为应答信号。
主机收到从机的地址应答信号后,将内存单元中的120 个数据发送给从机,并进行数据块校验(将各个数据进行异或),若校验正确,则从机发送00H 给主机,否则发送0FFH 给主机,主机重新发送数据。
(应在适当的地方加程序注释)解答:主机通信的子程序ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#10HMOV R4,#120; 传送数据的个数MOV TMOD,#21HMOV TH1,#0FAHMOV TL1,#0FAH; 设置波特率为9600MOV SCON,#0D0H ;设置串行通信的方式为方式 3MOV PCON,#80H; 设置SMOD=1SETB TR1S_COMN: MOV A,R2; R2 为被寻址的从机的地址SETB TB8MOV SBUF,ATI_LOW1: JNB TI,TI_LOW1CLR TIRI_LOW1: JNB RI,RI_LOW1; 接收到返回的地址CLR RIMOV A,SBUFXRL R2,AJNZ J_STARTTX_NEXT: MOV A,@R0; R0 位发送数据的首地址CLR TB8MOV SBUF,ATI_LOW2: JNB TI,TI_LOW2CLR TIINC R0DJNZ R4,TX_NEXT; R4 为发送数据的长度J_START: SETB TB8MOV A,#0FFH; 若地址不对,使所有的从机SM2 置1MOV SBUF,ARI_LOW2: JNB RI ,RI_LOW2CLR RIAJMP S_COMNEND从机接受数据的中断程序ORG 0000HAJMP MAINORG 0023HSJMP S_SORG 0030HMAIN: MOV SP,#10HMOV TMOD,#21HMOV TH1,#0FAHMOV TL1,#0FAH; 设置波特率为9600MOV SCON,#0D0H ;设置串行通信的方式为方式 3MOV PCON,#80H; 设置SMOD=1SETB TR1SETB ESSETB EASJMP $S_S: PUSH ACCJNB RI,$CLR RIJNB RB8,D_COMNMOV A,SBUFCJNE A,#0FFH,S_ADDRSETB SM2CLR 7FHSJMP S_RETS_ADDR: CJNE A,#01H,S_RETMOV SBUF,ACLR SM2AJMP S_RETD_COMN: MOV A,SBUFMOV @R0,AINC R0DJNZ R7,S_RET; 判断接收是否完毕SETB SM2S_RET: POP ACCRETIEND6、利用MSC1211的A/D 构成数据采集系统。
使用模拟通道0 进行连续数据采集,采集8 次后取得平均值,存放到预先分配好的100 个内存单元中,这100 个单元存满后,再从第一个单元进行覆盖保存。
写出完整的程序清单(应在适当的地方加程序注释)。
解:#include<REG1211.H>#include<stdio.h>extern void autobaud(void);// 声明外部函数extern void bipolar(void);float a[100]={0},w[8]={0};int out=0;long result,temp;int j;int AUXinterrupts(void)interrupt6 using1// 中断服务程序{if(PAI==6) //处理AD 中断{w[out++]=bipolar();temp=w[out];SUMR0=temp&0xff;SUMR1=(temp>>8)&0xff;SUMR2=(temp>>16)&0xff;SUMR3=(temp>>24)&0xff;if(out==8){SUM=SUMR3<<24+SUMR2<<16+SUMR1<<8+SUMR0;}SUM/=8;a[j++]=SUM;if(j>=100){j=0;}}}min(void){float dummy;int decimation;decimationg=1440;// 抽取因子PDCON&=0x77 ;//打开ADCACLK=9 ;//模拟采样频率ADMUX=0;// 使用通道0ADCON0=0x30;// 内部基准 2.5V,缓冲器关,BOD 关,PGA=0 ADCON1=0x01;// 双极性,自动稳定模式,偏移增益自校准ADCON2=decimation&0xff;// 写入抽取因子低字节ADCON3= (decimation>>8 )&0x07;// 写入抽取因子高字节AIE=&0x20;autobaud();//等待校准for(i=0;i<4;i++){while(!(AIE&0X20)){dummy=ADRESL;}SSCON=0;// 清除求和寄存器EAI=1 ;While(1);}}7、变量k 从0 变到150,变化步长为10。
对于每一个值,使用整形数算术运算计算8*k,k*k*k 和(40*k/150)^3。
这三个值通过MSC1211 的D/A 转换后同步输出(均使用电压输出模式)。
试编写程序实现。
解:include<Reg1211.h>data unsigned int k,j,i;void main(void){PDCON&=~0X48;ADCON0=0X30;DACSEL=6;DACSEL=4;DACL=0X24;DACSEL=5;DACH=0x24;while(1){DACSEL=0;DAC=0x8000;for(j=0;j<100;j++)DAC=0;for(k=0;k<151;k+=10){DACSEL=1;DAC=8*k;DACSEL=2;DAC=k*k*k;DACSEL=3;i=40*k/150;DAC=i*i*i;DACSEL=6;DACL=0Xfc;}}}。