1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去
北京交通大单片机第4章参考答案
3-5 指出下列指令中45H代表什么。
MOV A,#45HMOV A,45HMOV 45H,46HMOV C,45HMOV A,#45H中的45H代表立即数45H,该立即数为16进制。
MOV A,45H 中的45H代表直接地址45H单元。
MOV 45H,46H中的45H代表目的操作数所指定的单元为45H。
MOV C,45H中的45H代表45H位。
3-6 分析下列程序执行的结果。
(1)MOV A,#60HMOV R0,#40HMOV @R0, AMOV 41H, R0XCH A, R0执行结果为:(A)=40H(R0)=60H(40H)=60H(41H)=40H (2)MOV DPTR,#2003HMOV A,#18HMOV 20H,#38HMOV R0,#20HXCH A,@R0执行结果为:(DPH)=20H(DPL)=03H(A)=38H(20H)=18H(R0)=20H(3)MOV 20H,#01HMOV A,20HINC ACPL AMOV DPTR,#2000HMOVX @DPTR, A执行结果为:(20H)=01H(A)=FDH(DPTR)=2000H(2000H)=FDH3-8 按要求写出相应的指令。
(1)把寄存器R6的内容送到累加器A中。
(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。
(3)清除内部RAM 3FH 单元的高4位。
(4)使累加器A的最低位置1。
(5)清除进位位。
(6)使ACC.4和ACC.5置1。
(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。
(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。
(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。
单片机大题
单片机模拟试卷001五、作图题(10分)用6264(8K*8)构成16K的数据存储系统。
要求采用线选法产生片选信号,并计算6264的地址范围。
答:WR接6264的WERD接6264的OEAB0---AB12接6264的A0---A12DB0—DB7接6264的D0—D7AB15、AB14分别接Y0和Y1地址:0000H---1FFFH;2000H---3FFFH六、设计题1.某单片机控制系统有8个发光二极管。
试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。
答:图(5分) 构思(3分)MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP (1分)2.某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。
试画出8051与外设的连接图并编程实现上述要求。
答:图(5分) 构思(3分)程序(4分)ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,@A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI单片机模拟试卷002五、编程题(每小题4分,共20分)1.已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
SQR:1NC AMOVC A,@A+PCRETTAB:DB 0,1,4,9,16DB 25,36,49,64,812.请使用位操作指令实现下列逻辑操作:BIT=(10H∨P1.0)∧(11H∨C Y)ORL C,11HMOV 12H,CMOV C,P1.0ORL C,/10HANL C,12HMOV BIT,CRET3.已知变量X存于V AR单元,函数值Y存于FUNC单元,按下式编程求Y值。
6_综合题
综合题2.编程将片内RAM 30H单元开始的15个字节的数据传送到片外 RAM 3000H开始的单元中11.编程将片外RAM 3000H开始的20个的数据传送到片内RAM 30H开始的单元中去。
41.编程将片外ROM 1000H~1010H内容传入片内RAM 30H开始的单元。
23.将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。
5.片内RAM 30H开始的单元中有10个二进制数,请编程序求它们之和(和<256)。
33.编程将存放在片外RAM 1000H和1001H中的两个数,按大小次序存放到片内RAM的30H、31H单元。
40.已知A=7AH,R0=30H,片内RAM 30H单元内容为A5H,请问下列程序段执行后,(A)=?ANL A,#17HORL 30H,AXRL A,@R0CPL A3.用查表法编一子程序,将40H单元中低4位的BCD码转换成ASCⅡ码。
6.R1低4位中存有一BCD码,请编程序将它转换成ASCⅡ码。
29.编写程序将片内RAM 30H中的2位十进制数转换为ASCⅡ码,并存入31H和32H中。
16.片外RAM 2000H单元中有一BCD码,编程将其转换成ASCⅡ码。
27.写出达到下列要求的指令(不能改变个未涉及位的内容)。
(1)使A的最低位置1。
(2)清除A的高4位。
(3)使ACC.2和ACC.3置1。
(4)清除A的中间4位。
26.分别写出实现如下功能的程序段。
(1)将片内RAM 30H的中间4位,31H的低2位,32H的高2位按序拼成一个新字节,存入33H单元。
(2)将DPTR中间8位取反,其余位不变。
57.编程将累加器A的低4位数据送P1口的高4位,P1口的低4位保持不变。
58.编程将片内RAM 40H单元的中间4位取反,其余位不变。
24.将累加器A和状态寄存器内容压入堆栈保护,然后再恢复A和状态寄存器内容。
59.如果R0的内容为0,将R1置为0,如R0内容非0,置R1为FFH,试编程。
作业习题 寻址方式和指令
寻址方式和指令习题一、选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是()(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H当CPU响应外部中断0后,PC的值是()(A)0003H (B)2000H (C)000BH (D)3000H3、执行PUSH ACC指令,MCS-51完成的操作是()(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=()(A)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的哪一位被置位()(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区()(A)MOV PSW,#13H (B)MOV PSW,#18H(C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.47、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是()(A)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是()(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完上面的程序后,PC的值是()(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用()(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令二、判断题1、MCS-51的相对转移指令最大负跳距是127B。
()2、当MCS-51上电复位时,堆栈指针SP=00H。
单片机练习试题附答案及解析
第一、二章单片机概述与结构一、填空题1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH 。
2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定。
单片机复位后,若执行SETB RS0指令,此时只能使用 1 区的工作寄存器,地址范围是08H---0FH 。
3.51单片机驱动能力最强的并行端口为P0端口。
4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__位。
5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为__movc_____,MOV和_movx______。
6.若A中的内容为63H,那么P标志位的值为1 。
7.当扩展外部存储器或I/O口时,P2口用作高八位地址总线。
8.51单片机内部RAM区有 4 个工作寄存器区。
9.51单片机内部RAM区有128 个位地址。
10.外部中断1()的中断入口地址为0013 ;定时器1的中断入口地址为001B 。
11.51单片机有 4 个并行I/O口,P0~P3是准双向口,所以由输出转输入时必须先写入 1 。
12.51单片机的堆栈建立在内部RAM 内开辟的区域。
二、选择题1.访问片外部数据存储器时,不起作用的信号是(C)。
A./RD B./WE C./PSEN D.ALE2.51单片机P0口用作输出时,应外接(A )。
A.上拉电阻B.二极管C.三极管D.下拉电阻3.进位标志CY在( C )中。
A.累加器B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR4.堆栈数据的进出原则是(D )。
A.先进先出B.进入不出C.后进后出D.先进后出5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D )μs。
A.1.5 B.3 C.1 D.26.在家用电器中使用单片机应属于微计算机的( B )。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC的值是(C )。
《单片机应用技术》答案
《单片机应用技术》习题答案第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μsA 1.5B 3 C3.MCS-51的时钟最高频率是( A ).A 12MHzB 6 MHzC 8 MHzD 10 MHz4.以下不是构成的控制器部件(D ):A 程序计数器、B指令寄存器、C指令译码器、D存储器5.以下不是构成单片机的部件(D )A 微处理器(CPU)、B存储器C接口适配器(I\O接口电路) D 打印机6.下列不是单片机总线是(D )A 地址总线B 控制总线C 数据总线D 输出总线7.-49D的二进制补码为.( B )A 11101111B 11101101C 0001000D 111011008.十进制29的二进制表示为原码(C )A 11100010B 10101111C 00011101D 000011119. 十进制0.625转换成二进制数是( A )A 0.101B 0.111 C10 选出不是计算机中常作的码制是( D )A 原码B 反码C补码 D ASCII1-2填空题原码、反码和补码000111013.十进制数-29的8位补码表示为.11100011CPU、存储器和I\O接口三部分组成.EA必须接地.6.输入输出设备是计算机与外部世界交换信息的载体..110100018.-49D的二进制补码为.11101101ASCII10.计算机中的数称为机器数,它的实际值叫真值。
1-3判断题1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
(√)2.MCS-51上电复位时,SBUF=00H。
(×)。
SBUF不定。
3.使用可编程接口必须处始化。
(√)。
4.8155的复位引脚可与89C51的复位引脚直接相连。
(√)5.MCS-51是微处理器。
(×)不是。
51单片机复习题(含答案)
一、填空题1、A T89S51单片机为8 位单片机,共有40 个引脚。
2、MCS-51系列单片机的典型芯片分别为8031 、8051 、8751 。
3、A T89S51访问片外存储器时,利用ALE 信号锁存来自P0口发出的低8位地址信号。
4、A T89S51的P3口为双功能口。
5、A T89S51内部提供 2 个可编程的16 位定时/计数器,定时器有4 种工作方式。
6、A T89S51有 2 级中断, 5 个中断源。
7、A T89S51的P2 口为高8位地址总线口。
8、设计一个以A T89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB 闪烁程序存储器有效,则其EA* 引脚应该接+5V9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法。
10、A T89S51内部数据存储器的地址范围是00H~7FH ,位地址空间的字节地址范围是20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。
11、如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。
12、在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行256 次。
13、欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H 命令。
14、若CPU使用的是寄存器第1组,R0~R7的地址范围是08H-0FH。
15、单片机进行串行通信时,晶振频率最好选择11.0592MHz16、当MCS-51执行MOVX A,@R1指令时,伴随着RD* 控制信号有效。
17、若A中的内容为67H,那么,P标志位为 1 。
18、A T89S51唯一的一条16位数据传送指令为MOV DPTR,data16 。
19、LJMP的跳转范围是64K,AJMP的跳转范围是2K B,SJMP的跳转范围是±128 B (或256B)。
单片机试题库(编程题)
编程题:2.编一个子程序,将寄存器R0中的内容*10(积<256)3.编程将片内RAM 30H单元开始的15B的数据送到片外RAM 3000H开始的单元中去.4.用查表法编一子程序,将40H单元中的BCD码转换成ASCII码.4.片内RAM50H、51H单元中有一个10B的二进制数,高位在前,低位在后,请编程将其求补,存回原单元中去。
5.片内RAM30H开始的单元中有10B的二进制数,请编程求它们的和。
6.R1中存有一BCD码,请编程将它转换成ASKII码,存入外RAM1000H单元中去。
7.编一个程序,将累加器中的一个字符从串行接口发送出去。
8.片外RAM2000H开始的单元中有5B的数据,编程将它们传送到片内RAM20H开始的单元中去。
9 用查表法编一子程序,将R3中的BCD码转换成ASKII码。
10.片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中。
11.编程将片外RAM3000H开始的20B的数据传送到片内RAM30H开始的单元中。
12.编程将R1、R2中的16位二进制数增1后送回原单元。
13.编程将片内RAM40H开始的单元存放的10B的二进制数传送到片外RAM4000H开始的单元中去。
14.编一子程序,从串行接口接受一个数据。
15.编写将30H和31H单元中2B二进制数乘2的子程序。
16.片外RAM2000H单元中有一BCD码,编程将其转换成ASKII码。
17.试编制单字节BCD码数的减法程序。
18.利用调子程序的方法,进行两个4B无符号数相加。
请编主程序及子程序。
19.若图11-2中数据为无符号数,求数据中最大值送A 。
编程并注释。
图11-2 片外 RAM中的数据块片外 RAM0001H┆20. 若图11-2中数据块是有符号数,求正数个数。
编程并注释。
21. 若图11-2中数据块为无符号数,求其累加和。
编程并注释。
22.已知20H单元有一位十进制数,通过查表找出与其对应的共阴极七段码,并存于30H单元。
51单片机复习题
单片机0一、填空题1.在8051汇编指令格式中,唯一不能缺省的部分是。
2.当MCS-51执行MOVC A,@A+PC指令时,伴随着PSEN 读控制信号有效。
3.当MCS-51单片机复位时PSW=00H,这时当前的工作寄存器区是0 区,R4所对应的存储单元地址为04 H。
4.MCS-51有4个并行I\O口,其中P0—P3是准双向口,所以,由输出转输入时必须先写入 1 。
5.MCS-51的堆栈是软件填写堆栈指针临时在内部RAM 内开辟的区域.6.在MCS-51单片机应用系统中,外部设备与外部数据存储器传送数据时,使用MOVEX 指令。
二、单选题1.MCS-51系列单片机的指令系统共(A)条指令。
A、111B、112C、113D、1152.在CPU内部,反映程序运行状态或反映运算结果的寄存器是(B )。
A、PCB、PSWC、AD、SP3.外扩程序存储器的高8位地址来自(C )口。
A、P0B、P1C、P2D、P34.要访问MCS-51的特殊功能寄存器应选用的寻址方式是(C)。
A、寄存器间接寻址B、变址寻址C、直接寻址D、相对寻址5.MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是(A )。
A、读锁存器B、读数据C、读A累加器D、读CPU6.8051单片机中,唯一一个用户可以使用的16位寄存器是(D)。
A、PSWB、ACCC、SPD、DPTR7.指令MOV A ,20H的字节数是(B )。
A、1B、2C、3D、48.下列指令能使累加器A的最高位置1的是(D )。
A、ANL A,#7FHB、ANL A,#80HC、ORL A,#7FHD、ORL A,#80H9.8031单片机的定时器T1用作计数方式时(A )。
A、外部计数脉冲由T1(P3.5)输入B、外部计数脉冲由内部时钟频率提供C、外部计数脉冲由T0(P3.4)输入D、以上均不是10.指令 MOV R0,#20H中的20H是指(A)。
单片机程序
1、编程将片内 RAM30H 单元开始的15 B 的数据传递到片外 RAM3000H 开始的单元中去。
解: STRAT: MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,@R0MOVX@DPTR,AINC R0INC DPTRDJNZ R7,LOOP3、将内部 RAM 40H 开始的 10 个字节的数搬到外面RAM 2000H 处MOV DPTR,#2000HMOV R0,#40HMOV R2,#0AHLOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,LOOPSJMP$ENDRET2 、编程将片内 RAM 40H 单元中的内容送到片外RAM2000H 单元中。
解:ORG0100HMOV A, 40HMOV DPTR, #2000HMOVX @DPTR, AEND4、将存于外面 RAM 8000H 开始的 50H 数据传递 0010H 的地区,请编程实现。
MOV DPTR, #8000HMOV R0,#10HMOV R2,#50HLOOP: MOVX A, @DPTR;取数MOVX @R0,A;存数1NC DPTR1NC R0DJNZ R2, LOOPRET5.片内 RAM40H 开始的单元内有10B 二进制数,编程找出此中最大值并存于50H 单元中.解START: MOV R0,#40H;数据块首地点送 R0MOV R7,#09H;比较次数送R7MOV A,@R0;取数送ALOOP:INC R0MOV30H,@R0;取数送30 HCJNE A,30H,NEHT;( A)与( 30H)对比NEXT:JNC BIE1(A)≥ (30H)转 BIR1MOV A,30H;(A)< (30H),大数送 ABIE1:DJNZ R7,LOOP;比较次数减 1,不为 0,持续比较MOV50H,A;比较结束,大数送 50HRET6.片内 RAM30H 开始的单元中有 10B 的二进制数,请编程求它们之和(和<256 ).解ADDIO:MOV R0,30H ADD A,@R0MOV R7,#9DJNZ R7,LOOPMOV A,@R0MOV30H,A LOOP: INC R0RET7、设从内存BLOCK单元开始寄存一无符号数的数据块,其长度为LEN。
编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,LOOPRET2 片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ).解ADDIO:MOV R0,30HMOV R7,#9MOV A,@R0LOOP: INC R0ADD A,@R0DJNZ R7,LOOPMOV 30H,ARET5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解 START: MOV R0,#40H ;数据块首地址送R0MOV R7,#09H ;比较次数送R7MOV A,@R0 ;取数送ALOOP: INC R0MOV 30H,@R0 ;取数送30HCJNE A,30H,NEHT ;(A)与(30H)相比NEXT: JNC BIE1 (A)≥(30H)转BIR1MOV A,30H ;(A)<(30H),大数送ABIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50HRET6 编一子程序,从串行接口接受一个字符.解: START: MOV TMOD,#20H ;定时器T1工作于模式2MOV TH1,#0E8H ;设置波特率为1 200b/sMOV TL1,#0E8HSETB TR1 ;启动T1MOV SCON,#50H ;串行接口工作于方式1,充许接收L1: JNB RI,L1 ;等待接收数据,末接收到数据,继续等待 CLR RI ;接收到数据,清RIMOV A,SBUF ;接收到数据送ARET9 编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
东华理工大学单片机实验程序
实验一:片内RAM30H开始的N个字节的内容送到片外RAM2000H开始的单元中,数据块长度存在2F单元中ORG 0000HSJMP MAINORG 0030HMAIN:MOV R0,#30HMOV DPTR,#2000HLOOP:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ 2FH,LOOPSJMP $END二、编程将片外RAM1000H开始的N个单元的内容送到片外RAM2050H开始的单元,N 为数据块的长度,存放在片内RAM2FH单元中ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#1000HMOV P2,#20HMOV R0,#50HLOOP:MOVX A,@DPTRMOVX @R0,AINC DPTRINC R0DJNZ 2FH ,LOOPSJMP $ENDSJMP MAINORG 0030HMAIN:MOV A,20HMOV DPTR,#TABMOVC A,@A+DPTRMOV 21H,ASJMP $TAB:DB 0,1,5,15,16,18,19,21DB 26,33,32,30,13,11,8END四、连加程序MAIN:MOV R0,#30HMOV R1,#60HMOV R2,#30HACALL SUMSJMP $SUM:PUSH PSWMOV @R1,#0INC R1MOV @R1,#0DEC R1LOOP:MOV A,@R0ADD A,@R1MOV @R1,AINC R1MOV A,@R1ADDC A,#0MOV @R1,ADEC R1INC R0DJNZ R2,LOOPPOP PSWRETEND实验二多字节数乘法和除法1.编写一个双字节数乘以单字节数的程序,实现(R4)(R3)×(R2) →(R4)(R3)(R2)。
并验证:BBFFH×BBH,3FFFH×A2H,FFFFH×0AHMOV A,R3MOV B,R2MUL ABMOV R5,AMOV R6,BMOV A,R4MOV B,R2MUL ABADD A,R6MOV R6,AMOV A,BADDC A,#00HMOV R7,ARETEND2.编写一个双字节数除以单字节数的程序,实现(R7)(R6) ÷(R5) →(R5)(R6) …(R7)。
微机原理习题库(51单片机)含答案
第一章单片机概述与结构一、选择题1.访问片外部数据存储器时,不起作用的信号是(C).A./RD B./WE C./PSEN D.ALE2.51单片机P0口用作输出时,应外接(A )。
A.上拉电阻B.二极管C.三极管D.下拉电阻3.进位标志CY在( C )中.A.累加器B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR4.堆栈数据的进出原则是(D )。
A.先进先出B.进入不出C.后进后出D.先进后出5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D )μs.A.1.5 B.3 C.1 D.26.在家用电器中使用单片机应属于微计算机的( B )。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC的值是( C )。
A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址D.控制器中指令寄存器的地址8.单片机应用程序一般存放在( B )中。
A.RAM B.ROM C.寄存器D.CPU9.在堆栈操作中,当进栈数据全部弹出后,这时SP应指向( D )A.栈底单元B.7FH单元C.栈底单元地址加1 D.栈底单元地址减1 10.51单片机的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A )。
A.读锁存器B.读数据库C.读A累加器D.读CPU二、填空题1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH 。
2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定。
单片机复位后,若执行SETB RS0指令,此时只能使用 1 区的工作寄存器,地址范围是08H—-—0FH 。
3.51单片机驱动能力最强的并行端口为P0端口。
4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__位。
5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为__movc_____,MOV和_movx______。
51单片机练习题 附解答
第一、二章单片机概述与结构一、填空题1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH 。
2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定。
单片机复位后,若执行SETB RS0指令,此时只能使用 1 区的工作寄存器,地址范围是08H---0FH 。
3.51单片机驱动能力最强的并行端口为P0端口。
4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__位。
5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为__movc_____,MOV和_movx______。
6.若A中的内容为63H,那么P标志位的值为1 。
7.当扩展外部存储器或I/O口时,P2口用作高八位地址总线。
8.51单片机内部RAM区有 4 个工作寄存器区。
9.51单片机内部RAM区有128 个位地址。
10.外部中断1()的中断入口地址为0013 ;定时器1的中断入口地址为001B 。
11.51单片机有 4 个并行I/O口,P0~P3是准双向口,所以由输出转输入时必须先写入 1 。
12.51单片机的堆栈建立在内部RAM 内开辟的区域。
二、选择题1.访问片外部数据存储器时,不起作用的信号是(C)。
A./RD B./WE C./PSEN D.ALE2.51单片机P0口用作输出时,应外接(A )。
A.上拉电阻B.二极管C.三极管D.下拉电阻3.进位标志CY在( C )中。
A.累加器B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR4.堆栈数据的进出原则是(D )。
A.先进先出B.进入不出C.后进后出D.先进后出5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D )μs。
A.1.5 B.3 C.1 D.26.在家用电器中使用单片机应属于微计算机的( B )。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC的值是(C )。
单片机试题
填空题1.在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为___2μs__。
2.8031单片机复位后,R4所对应的存储单元的地址为__03H__,因上电时PSW=__00H__。
这时当前的工作寄存器区是_0__组工作寄存器区。
3.使用8031芯片时,需将/EA引脚接__低____电平,因为其片内无_内部程序__存储器。
4.片内RAM低128个单元划分为__工作寄存器组区__、__位寻址区_、和__对战和数据缓冲区_3个主要部分5.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是_16_位的,因此其寻址的范围为___64_KB。
6.在基址加变址寻址方式中,以___累加器A____作变址寄存器,以__DPTR__或_PC作基址寄存器。
7.指令格式是由_操作码_和_操作数__所组成,也可能仅由__操作码_组成。
8.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC (该指令为单字节指令) 后,把程序存储器_1031H__(A+PC)_单元的内容送入累加器A中。
9.假定A=55H,R3=0AAH,在执行指令ANL A,R3后,A=_00H__,R3=_OAAH__。
10.假定,SP=60H,A=30H,B=70H,执行下列指令:PUSH APUSH B后,SP的内容为__62H__,61H单元的内容为__30H__,62H单元的内容为__70H__。
11.外部中断1所对应的中断入口地址为_0013_H。
12.若不使用MCS-51片内存储器,引脚EA必须接__地__13.单片微型计算机由_CPU_、__储存器__、_210接口电路__、_相应实时控制器件_组成。
14. MCS-51的P0口作为输出端口时,每位能驱动_8_个TTL负载。
15.MCS-51有_4_个并行I/O口,其中_P1,P2,P3___是准双向口。
16.MCS-51中凡字节地址能被_8_整除的特殊功能寄存器均能位寻址。
微机控制技术第三章、第四章练习题答案
微机控制技术第三章、第四章练习题答案第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A) 0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC) (SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B) SETB CLR (d) SETB CLR7、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)M OV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。
4.MCS-51的相对转移指令最大负跳距是127B。
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,LOOPRET2 片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ).解ADDIO:MOV R0,30HMOV R7,#9MOV A,@R0LOOP: INC R0ADD A,@R0DJNZ R7,LOOPMOV 30H,ARET5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解 START: MOV R0,#40H ;数据块首地址送R0MOV R7,#09H ;比较次数送R7MOV A,@R0 ;取数送ALOOP: INC R0MOV 30H,@R0 ;取数送30HCJNE A,30H,NEHT ;(A)与(30H)相比NEXT: JNC BIE1 (A)≥(30H)转BIR1MOV A,30H ;(A)<(30H),大数送ABIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50HRET6 编一子程序,从串行接口接受一个字符.解: START: MOV TMOD,#20H ;定时器T1工作于模式2MOV TH1,#0E8H ;设置波特率为1 200b/sMOV TL1,#0E8HSETB TR1 ;启动T1MOV SCON,#50H ;串行接口工作于方式1,充许接收L1: JNB RI,L1 ;等待接收数据,末接收到数据,继续等待 CLR RI ;接收到数据,清RIMOV A,SBUF ;接收到数据送ARET9 编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
微机原理与接口技术第三章试题及答案
第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B)SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。
4.MCS-51的相对转移指令最大负跳距是127B。
单片机编程题练习
乙机发送,甲机接收。
请画出电路图并写出初始化发送(查询)和接收(中断方式)程序。
2、口线P1.0接一个发光二极管,由定时器0控制,用于演示1秒钟亮、1秒钟暗的效果。
3、给80C51单片机扩展一片6116,0809和8155,要求0809采用中断方式,8通道工作;采用138译码选择芯片。
请画出系统连接图,写出各芯片的地址范围并写出8155内各口及其内部的RAM地址范围。
4、已知系统的连接如图所示,试编写程序实现下列功能:(1).编写上电显示程序,显示“123456”。
(2).编写主程序,功能为:当有键按下(0~7号)时,都显示键号;无键按下,保持原有显示状态。
5、选用DAC0832芯片产生一个三角波,要求幅值为0~2.5V。
1200bps,甲机发送数据88H(查询方式),乙机接收(中断方式)。
请画出电路图并编程实现上述功能。
7、已知一单片机应用系统如下图所示。
试回答问题并编写显示程序,以1秒为间隔,亮暗相间,显示“88888888”。
(1).写出各口的地址和控制字A口地址:B口地址:C口地址:控制口地址:控制字:(2).显示程序8、已知ADC0809单片机的连接如下图所示,试写出启动0809第3通道A/D转换的程序段。
(1)、把外部2000H内容送到内部RAM的20H单元。
(2)、找出20H~22H三个单元中的最大数,放在A累加器中。
9、编写程序完成以下功能:每响应一次外部中断,发光二极管亮一秒钟。
六、简单编程题:(1)、用间接寻址方式,把外部20H内容送到内部RAM的20H单元。
(2)、依据第四题接线图,写出启动0809第3通道A/D转换的程序段。
(3)、编写串行口方式1串行发送初始化程序。
(省略波特率发生器初始化)。
10、假定甲乙机以方式1进行串行数据通信,晶振=6MHz,要求波特率为1200。
甲机发送,乙机接收。
请画出电路图并计算出波特率,写出初始化发送和接收程序。
11、当系统选用12MHz晶体振荡器时,由定时器0控制产生周期为4ms(脉冲宽度为2ms)的方波序列(采用中断方式),并由P1.0输出,请编写实验程序。
单片机原理及应用考试试题及答案[1]11
《单片机原理与应用》试题018答案填空题(每空2分,共30分)1、真值1001001B的反码为01001001 ;其补码为01001001 。
2、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是128 B工作寄存器区的地址范围是00—1FH 。
3、程序状态标志字寄存器PSW中的PSW.7的含义是奇偶标志;PSW.0的含义是进位/借位标志。
6、单片机汇编语言程序有三种基本结构,分别是:顺序、分支和循环。
7、MCS—51单片机内部有 2 个16 位加1定时/ 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时/ 计数的是方式是0 。
8、存储器EPROM 27128的地址线有根,容量为KB。
9、可编程并行I / O接口芯片8255A有 4 个8位并行I / O端口,可通过编程决定它们的功能。
二、单项选择题(每小题3分,共15分)1、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是(A )(A)ALE (B)PSEN(C)EA(D)RST2、下列指令写法正确的是。
(B )(A)MOV #20H,A (B)ADD R2,#30H (C)PUSH R0 (D)RRC A3、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)(A)方式0 (B)方式1 (C)方式2 (D)方式35、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)(A)读锁存器具(B)读数据库(C)读A累加器具(D)读CPU三、简答题(每小题10分,共20分)1 简述可编程并行接口8255 A的内部结构?答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,LOOPRET2 片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ).解ADDIO:MOV R0,30HMOV R7,#9MOV A,@R0LOOP: INC R0ADD A,@R0DJNZ R7,LOOPMOV 30H,ARET5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解 START: MOV R0,#40H ;数据块首地址送R0MOV R7,#09H ;比较次数送R7MOV A,@R0 ;取数送ALOOP: INC R0MOV 30H,@R0 ;取数送30HCJNE A,30H,NEHT ;(A)与(30H)相比NEXT: JNC BIE1 (A)≥(30H)转BIR1MOV A,30H ;(A)<(30H),大数送ABIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较MOV 50H,A ;比较结束,大数送50HRET6 编一子程序,从串行接口接受一个字符.解: START: MOV TMOD,#20H ;定时器T1工作于模式2MOV TH1,#0E8H ;设置波特率为1 200b/sMOV TL1,#0E8HSETB TR1 ;启动T1MOV SCON,#50H ;串行接口工作于方式1,充许接收L1: JNB RI,L1 ;等待接收数据,末接收到数据,继续等待 CLR RI ;接收到数据,清RIMOV A,SBUF ;接收到数据送ARET9 编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
画出电路图。
解本程序的硬件连接如图所示。
当P1.0输出高电平时,LED灯亮,否则不亮。
其程序如下:MOV A,#01H ;灯亮初值SHIFT: LCAIL FLASH ;调闪亮10次子程序RR A ;右移一位SJMP SHIFT ;循环FLASH: MOV R2,#0AH 闪烁10次计数FLASH1; MOV P1,A ;点亮LCALL DELAY ;延时MOV P1,#00H ;熄灭LCALL DELAY ;延时DJNZ R2,FLASH1 ;循环RET1.编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。
解:(1)1S=2US*5*1000005*100000=250*200*10(2)ORG 1000HTIME:MOV R7,#10T3: MOV R6,#200T2: MOV R6,#250T1: DJNZ R5,T1DJNZ R6,T2DJNZ R7,T3RET(2)1min=60,调用上面1s子程序60次ORG 0030HMOV R0,#60LOOP:LCALL TIMEDJNZ R0,LOOPRET2.请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。
设晶振频率为6MHz。
解:查询方式发送程序如下MOV SCON,#8OHM OV PCON,#80HMOV R0,#50HMOV R7,#16HLOOP: MOV A,@R0MOV C,PMOV TB8,CMOV SBUF,AJNB T1,$CLR T1INC R0DJNZ R7,LOOPRET4.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请(1)计算时间常数X,应用公式X=216-t(f/12)(2)写出程序清单解:X=216-t(F/12)=216-1*10-3*6*106/12=OFEOCHORG 3000HSTART:MOV TMOD,#01HMOV TL0,#OCHMOV THO,#OFEHSETB TR0LOOP: JBC TFO,DONESJMP LOOPDONE: MOV TL0,#OCHMOV THO,#OFEHCPL P1.0SJMP LOOP6、用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。
编出汇编语言程序。
解: ORG 0100HABC:SETB P1.0SETB P1.7JB PI.7,$JNB P1.7,$CLR P1.0MOV R2,#0DAY: NOPNOPDJNZ R2,DAYSJMP ABC7、设计一个4位数码显示电路,并用汇编语言编程使"8"从右到左显示一遍。
解: ORG 0100HMOV A,#08HMOV R2,#01HMOV DPTR,#TABMOVC A,@A+DPTRMOV P1,ANEXT:MOV A,R2MOV P3,AACALL DAYJB ACC.4,LPDRL AMOV R2,AAJMP NEXTLPD: RETTAB: DBEND11.设计89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,编出:(2)查询方式;解:IN2的地址为7FFAH,P1.0查询转换结束信号,查询程序如下:ORG 0100HMOV R7,#0AHMOV R0,#50HMOV DPTR,#7FFAHNEXT: MOVX @DPTR,AJB P1.0,$MOVX A,@DPTRMOV @R0,AINC R0DJNZ NEXTSJMP $12、扫描子程序:KEY1: ACALL KS1 ;调用判断有无键按下子程序JNZ LK1 ;有键按下,转LK1AJMP KEY1 ;无键按下,返回LK1: ACALL T12MS ;调延时12ms子程序ACALL KS1 ;查有无键按下JNZ LK2 ;若有,则为键确实按下,转逐列扫描AJMP KEY1 ;无键按下,返回LK2: MOV R4,#00H ;首列号 R4MOV R2,#FEH ;首列扫描字 R2LK4: MOV A,R2 ;列扫描字 P1口MOV P1,A ;使第一列线为0MOV A,P1 ;读入行状态JB ACC.0,LONE;第0行无键按下,转查第一行MOV A,#00H ;第0行有键按下,该行首键号#00H A AJMP LKP ;转求键号LONE: JB ACC.1,NEXT ;第一行无键按下,转查下一列MOV A,#02 ;第一行有键按下,该行首键号#02 A LKP: ADD A,R4 ;键号=首行号+列号PUSH ACC ;键号进栈保护LK3: ACALL KS1 ;等待键释放JNZ LK3 ;未释放,等待POP AC ;键释放,键号 ARET ;键扫描结束NEXT: INC R4 ;列号加1,指向下一列MOV A,R2 ;列扫描字 AJNB ACC.1,KND ;判断2列全扫描完?扫描完,转KNDRL A ;没扫描完,扫描字左移一位,形成下一列扫描字 MOV R2,A ;扫描字 R2AJMP LK4 ;扫描下一列AJMP KEY1 ;全扫描完,返回MOV A,#FCH ;全扫描字11111100B AMOV P1,A ;全扫描字所有行MOV A,P1 ;读取列值CPL A ;取正逻辑,高电平表示有键按下ANL A,#0C0H ;屏蔽低6位,取高2位RET ;出口状态(A)!=0,有键按下2、如图所示,要求按下S1~S4中的任意一个键,则对应的(S1-D3、S2-D4、 S3-D5、S4-D6)发光二极管亮,松开键对应的发光二极管灭。
解答:ORG 0000HLJMP MAINORG 0030HMAIN: MOVP3,#0FFHLOOP: MOV A,P3MOV P1,ALJMP LOOPEND1、试编程采用软件延时的方法来延时5分钟。
(系统时钟为6MHZ)(10分)ORG 1000HMOV R3,#05HLP3:MOV R2,# 78HLP2: MOV R1,#0FAHLP1:MOV R0,# 0FAHLP: NOPNOPDJNZ R0,LPDJNZ R1,LP1DJNZ R2,LP2DJNZ R3,LP3END3、使用74ls164的并行输出端接8个发光二极管,利用它的串入并出的功能,把发光二极管从左到右轮流点亮一个灯,并反复循环。
(即流水灯效果)ORG 0000HLJMP MAINORG 0030HMAIN: MOV SCON #00HCLR ESMOV A #80HDELR: CLR P1.0MOV SBUF,AJNB TI,$SETB P1.0LCALL DELAYCLR TIRR ASJMP DELRDELAY: MOV R7,#10D1: MOV R6,#50D2: MOV R5,#200DJNZ R5,$DJNZ R6,D2DJNZ R7,D1RETEND。