1、单片机原理及应用模拟题单片机原理及应用模拟题3一、分析程序的执行结果,将结果填写到空格中。 1、 MOV 40H,#80H MOV R0,#40H MOV A,R0 ;(A= 80H ) MOV B,#20H DIV AB ;(A= 4 B= 0 ) MOV R0,A ;最终结果存于内存单元 40H 中。 2、 MOV A,#2AH RR A MOV B,A MUL AB ;(A= B9H B= 01H ) (OV= 1 CY= 0 ) 3、 MOV A,#0B2H MOV R1,#055H ANL A,R1 ;(A= 10H ) ORL A,R1 ;(A= 55H ) XRL A,R1 ;(
2、A= 00H ) SWAP A ;(A= 55H ) 4、 设内存20H的内容为30H,30H的内容为46H,46H的内容为57H MOV R0,#30H MOV A,R0 ;(PSW中P的内容= 1 ) XCH A,R0 ADD A,#0DBH SUBB A,#74H ;(A= 96H ) ;(PSW中P的内容= 0 ) ;( PSW中C的内容= 1 ) 二、程序设计 1、MCS51内部RAM 40H60H单元存放着有符号16进制数,将其中能被2整除的数,存放到0090H单元开始的外部RAM中。使用汇编语言编写 解: ORG 0000H JMP START START: MOV SP,#60
3、H MOV DPTR,#0090H MOV R0,#40H MOV R1, #21LOOP0: MOV A,R0 MOV B, #2 DIV AB MOV R2, B CJNZ R2, #0, LOOP1 ;余数为0则继续,不为0则转移 MOV A,R0 MOV DPTR,A INC DPTRLOOP1: INC R0DJNZ R1, LOOP0 END2、某一故障检测系统,当出现故障时,线路出现下降沿;没有故障时,线路为高电平。出现故障时,相应的指示灯变亮。故障消失后,指示灯熄灭。试用MSC1211为单片机实现该故障检测功能,画出电路原理图,并写出相应程序。 解答:如图所示,使用P10作为故
4、障指示灯,故障源从P32输入,相应的程序为:ORG 0000HAJMP MAIN ORG 0003H JNB P1.0,LI RETI ORG 1000H SETB IT0 SETB EX0 SETB EA AJMP HERE END3、用MSC1211的T1定时/计数器,定时0.1S中断,使P1口的8个发光二极管每隔1S 循环点亮。设系统主频为6MHZ。解:ORG 0000HLJMP MAIN ;转主程序ORG 001BH ;T1中断服务程序入口地址LJMP T1-ISRORG 0100HMAIN:MOV SP,#60H ;设置堆栈指针 MOV TMOD,#10H ;T1初始化 MOV TL
5、1,#B0H MOV TH1,#3CH SETB TR1 ;启动T0计数 SETB ET1 ;允许T0中断 SETB EA ;CPU开中断 SJMP $ ;等待T1_ISR:MOV TL1,#B0H MOV TH1,#3CH MOV A,P1 ;P1口循环左移 RL A MOV P1,AEXIT: RETI END4、设有甲、乙两台单片机,以工作方式3进行串行通讯,设晶振为11.0592MHz,波特率为9600,甲机将内存单元中的120个数据作补偶校验后发送给乙机,乙机对接收到的数据进行奇偶校验,若校验正确,则从机发送00H给甲机,甲机继续发送数据,校验不正确,则发送0FFH给甲机,甲机重新发
6、送原数据,编写乙机的接收程序。(应在适当的地方加程序注释) 解:ORG 0000HAJMP MAINORG 0023HLJMP SE2_INTMAIN: MOV SP,#60H MOV TMOD #20H MOV TH1,#0FDH ;设置波特率为9600bps MOV TL1,#0FDH MOV SCON,#90H ;串行口工作方式3,允许接收 MOV DPTR,#2000H;接收数据区 MOV R1,#120 SETB TR1 SETB EA SETB ESSJMP $ ;等待接收中断SE2_INT:JB RI,LOOPACLR T1LJMP ENDRLOOPA:CLR RI MOV A,
7、SBUF MOV C,P ;奇偶校验 JC LOOP1 ;如8位数是奇,则转LOOP1再检测RB8位 ORL C,RB8 ; 如8位数为偶,再检测RB8位,RB8=1,则9位数据为奇,补偶 JC LOOP2 ;错,转LOOP2 LJMP LOOP3 ;补偶正确,转LOOP3LOOP1: ANL C, RB8 ;8位数为奇,再检测RB8位 JC LOOP3 ;RB8=1,补偶正确,转LOOP3LOOP2: MOV A ,#0FFH ;检测不正确发送FF给甲机MOV SBUF,AJMP ENDRLOOP3: MOVX DPTR ,A MOV A,#00H MOV SBUF,A INC DPTR D
8、JNZ R1, ENDR CLR ES ;停止接收ENDR: RETI单片机原理及应用习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。2(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31
9、H 3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 431 5.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H7. 137 119 898什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。系统总线应包括:地址总线(AB)控制
10、总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据
11、信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线?CPU通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备
12、连接。10. 存储器的作用是什么?只读存储器和随机存储器有什么不同?存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。11某存储器的存储容量为64KB,它表示多少个存储单元?64102412. 简述微型计算机硬件系统组成。一台计算机的基本结构由运算器、控制器、存储器、输入设备和输出设备五部分组成。13. 什么是单片机?单片机与微机相比有何特点?单片机(Single-Chip-Microcomputer)又称单
13、片微控制器,其基本结构是将微型计算机的基本功能部件:中央处理机(CPU)、存储器、输入接口、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上,因此,单片机其体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能。单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能。虽然单片机只是一个芯片,但无论从组成还是从其逻辑功能上来看,都具有微机系统的含义。另一方面,单片机毕竟是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统。14. 单片机主要应用于哪些领域?(1) 智能仪器。智能仪器是含有微处理器的测量仪器。单
14、片机广泛应用于各种仪器仪表,使仪器仪表智能化取得了令人瞩目的进展。(2) 工业控制。单片机广泛应用于各种工业控制系统中,如数控机床、温度控制、可编程顺序控制等。(3) 家用电器。目前各种家用电器普遍采用单片机取代传统的控制电路,如洗衣机、电冰箱、空调、彩电、微波炉、电风扇及高级电子玩具等。由于配上了单片机,使其功能增强而身价倍增,深受用户的欢迎。(4) 机电一体化。机电一体化是机械工业发展的方向,机电一体化产品是指集机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品。单片机除以上各方面应用之外,还广泛应用于办公自动化领域(如复印机)、汽车电路、通信系统(如手机)、计算机外围设备等
15、,成为计算机发展和应用的一个重要方向。15. 什么是嵌入式系统?嵌入式系统有哪些重要特征?所谓嵌入式系统,是“以应用为中心、以计算机技术为基础、软件硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。即以嵌入式应用为目的计算机系统。嵌入式系统的重要特征:1、系统内核小2、专用性强。3、系统精简嵌入式系统一般没有系统软件和应用软件的明显区分,其功能设计及实现上不要求过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。4、高实时性。第二章1. 举例说明MCS-51有哪些典型产品,它们有何区别? MCS-51系列单片机可分为两大系列:51子系列和52子系列。51子系列单片
16、机的典型产品有8051、8751、8031、80C51、80C31等。它们的结构基本相同,其主要差别反映在片内存储器的配置上有所不同2. 8051单片机内部包含哪些主要功能部件?各功能部件的主要作用是什么? 8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。3. 程序状态字寄存器PSW各位的定义是什么?PSW是一个8位寄存器,用于寄存当前指令执行后的某些状态,即反映指令执行结果的一些特征信息。Cy(PSW.7):即PSW的D7位,进位/借位标志。AC(PSW.6):即PSW的D6位,辅助进位标志。F0(P
17、SW.5)及F1(PSE.1):即PSW的D5位、D1位,用户标志位。RS1及RS0(PSW.4及PSW.3):即PSW的D4位、D3位,寄存器组选择控制位。OV(PSW.2):即PSW的D2位,溢出标志。4. MCS-51存储器结构的主要特点是什么?程序存储器和数据存储器各有何不同?MCS-51单片机的存储器结构与一般微机存储器的配置方法不同,一般微机把程序和数据共存同一存储空间,各存储单元对应惟一的地址。而MCS-51的存储器把程序和数据的存储空间严格区分开。数据存储器用于存放程序运算的中间结果、状态标志位等。程序存储器用于存放已编制好的程序及程序中用到的常数。5. MCS-51单片机内部
18、RAM可分为几个区?各区的主要作用是什么?内部数据存储器分为高、低128B两大部分。低128B为RAM区,地址空间为00H7FH,可分为:寄存器区、位寻址区、堆栈及数据存储区。存放程序运算的中间结果、状态标志位等。高128B为特殊功能寄存器(SFR)区,地址空间为80HFFH,其中仅有21个字节单元是有定义的。6. MCS-51单片机的P0P3四个I/O端口在结构上有何异同?使用时应注意哪些事项?P0口是一个8位漏极开路型双向I/O端口。P1口是一个内部带上拉电阻的8位准双向I/O端口。P2口也是一个内部带上拉电阻的8位准双向I/O端口P3口是一个内部带上拉电阻的8位多功能双向I/O端口。在使
19、用时应注意以下方面: P0P3都是准双向I/O口,即CPU在读取数据时,必须先向相应端口的锁存器写入“1”。各端口名称与锁存器名称在编程时相同,均可用P0P3表示。当系统复位时,P0P3端口锁存器全为“1”,故可直接对其进行读取数据。 P0口每一输出位可驱动8个LS型TTL负载,P0口可作通用输入、输出端口使用,此时,若要驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平输出有效。在单片机进行外部存储器扩展时,P0口必须作为地址/数据复用线使用,此时,不必外接上拉电阻,P0也不能作通用I/O口使用。 P1、P2、P3口输出均接有内部上拉电阻,输入端无需外接上拉电阻,每一位输出可以
20、驱动4个LS型TTL电路。 P0、P2口除可以作通用I/O端口、以实现与外部进行数据交换外,更主要的是,当CPU访问外部存储器时,CPU将自动地把外部存储器的地址线信号(16位)送P0、P2口,作为地址总线(P0口输出低8位地址,P2口输出高8位地址),向外部存储器输出16位存储单元地址。在控制信号作用下,该地址低8位被锁存后,P0口自动切换为数据总线,这时经P0口可向外部存储器进行读、写数据操作。此时,P2口不再作通用I/O端口,P0口为地址/数据复用口。7. 在什么情况下,P3口作为第二功能使用?P3口的第二功能是作为控制端口使用的。由于单片机没有专设的控制信号引脚,单片机在进行外部存储器
21、和I/O端口扩展时所需要的控制信号必须由P3口提供,P3口第二功能相当于PC机中CPU的控制线引脚。8. 为什么说单片机具有较强的位处理能力?对于许多控制系统,开关量控制是控制系统的主要对象之一。作为传统的CPU,对于简单的个别开关量进行控制却显得不那么方便,而让MCS-51值得骄傲的正是它有效地解决了单一位的控制。MCS-51片内CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又是一个完整而独立的1位单片机(也称布尔处理机)。该布尔处理机除了有自己的CPU、位寄存器、位累加器(即进位标志Cy)、I/O口和位寻址空间外,还有专供位操作的指令系统,可以直接寻址对位存储单元和SFR的某
22、一位进行操作。MCS-51单片机对于位操作(布尔处理)有置位、复位、取反、测试转移、传送、逻辑与和逻辑或运算等功能。所以,单片机具有较强的位处理能力。9. 指出8051可进行位寻址的存储空间。 007FH(即20H.02FH.7)及SFR地址能被8整除的寄存器中的各位。10. 位地址90H和字节地址90H及P1.0有何异同?如何区别?字节地址90H表示P1口11. 在访问外部ROM或RAM时,P0和P2口各用来传送什么信号?P0口为什么要采用片外地址锁存器? P0口传送地址低八位后可复用数据线,所以,P0口要采用片外地址锁存器。P2口传送地址高八位。12. 什么是时钟周期?什么是机器周期?什么
23、是指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?时钟周期:也称振荡周期,即振荡器的振荡频率fosc的倒数,是时序中最小的时间单位。机器周期:执行一条指令的过程可分为若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期,一个机器周期包含12个时钟周期。当振荡频率为12MHz时,一个机器周期为12/(121000000)秒=1微秒指令周期:定义为执行一条指令所用的时间。13. MCS-51单片机有几种复位方法?复位后,CPU从程序存储器的哪一个单元开始执行程序?MCS-51的复位电路包括上电复位电路和按键(外部)复位电路0000H14. 8051系统掉电
24、时如何保存内部RAM中的数据?单片机在运行过程中,如果发生掉电,片内RAM和SFR中的信息将会丢失。为防止信息丢失,可以把一组备用电源加到RST/VPD端,当VCC上的电压低于VPD上的电压时,备用电源通过VPD端,以低功耗保持内部RAM和SFR中的数据。15. 8051单片机引脚ALE的作用是什么?当8051不外接RAM和ROM时,ALE上输出的脉冲频率是多少?其作用是什么?地址锁存使能输出ALE:当单片机访问外部存储器时,外部存储器的16位地址信号由P0口输出低8位,P2口输出高8位,ALE可用作低8位地址锁存控制信号;当不用作外部存储器地址锁存控制信号时,该引脚仍以时钟振荡频率的1/6固
25、定地输出正脉冲,可以驱动8个LS型TTL负载。第三章1MCS-51有哪几种寻址方式?举例说明它们是怎样寻址的?MCS-51指令系统的寻址方式有以下7种:立即寻址方式:操作数直接出现在指令中。直接寻址方式中:操作数的单元地址直接出现在指令中。寄存器寻址方式中:寄存器中的内容就是操作数。寄存器间接寻址方式中,指定寄存器中的内容是操作数的地址,该地址对应存储单元的内容才是操作数。变址寻址方式是以程序指针PC或数据指针DPTR为基址寄存器,以累加器A作为变址寄存器,两者内容相加(即基地址+偏移量)形成16位的操作数地址,相对寻址是以程序计数器PC的当前值作为基地址,与指令中的第二字节给出的相对偏移量r
26、el进行相加,所得和为程序的转移地址。位地址:内部RAM地址空间的可进行位寻址的128位和SFR地址空间的可位寻址的11个8位寄存器的88位。位寻址给出的是直接地址。2位寻址和字节寻址如何区分?在使用时有何不同?由寻址方式可以看出,不同的寻址方式所寻址的存储空间是不同的。正确地使用寻址方式不仅取决于寻址方式的形式,而且取决于寻址方式所对应的存储空间。字节寻址必须是对8位存储单元,位寻址的存储空间只能是片内RAM的20H2FH字节地址中的所有位(位地址为00H7FH)和部分SFR的位,决不能是该范围之外的任何单元的任何位。3要访问专用寄存器和片外数据寄存器,应采用什么寻址方式?举例说明。 访问专
27、用寄存器:可采用直接寻址或寄存器寻址。访问片外数据寄存器:寄存器间接寻址4什么是堆栈?其主要作用是什么? 堆栈是后进先出的数据存储区一般用于中断处理过程中,若需要保护现场数据(如内部RAM单元的内容),可使用入栈指令,将数据压入堆栈,中断处理过程执行完后,再使用出栈指令恢复现场数据。5编程将内部RAM的20H单元的内容传送给外部RAM的2000H单元。 MOV A,20HMOV DPTR,#2000HMOVX DPTR,A6编程将内部数据存储器20H30H单元内容清零。 MOV R0,#20HMOV A,#0MOV R3,#17LOP :MOV R0,AINC R0DJNZ R3,LOP7编程
28、查找内部RAM的32H41H单元中是否有0AAH这个数据,若有这一数据,则将50H单元置为0FFH,否则清50H单元为0。MOV R3, #10H MOV A,#0AAH MOV R0,#31HLOP :INC R0 SUBB A,R0 JZ LOP1 DJNZ R3,LOP MOV 50H,#0H AJMP LOP3 LOP1:MOV 50H,#0FFH LOP3: AJMP 1OP3 8查找20H4FH单元中出现00H的次数,并将查找结果存入50H单元。 MOV R3,#30H MOV R0,#20H MOV A,#0LOP: MOV A,R0 JZ LOP1LOP3: INC R0 DJ
29、NZ R3,LOP AJMP LOP2LOP1: INC 50H AJMP LOP3 LOP2:AJMP LOP2 9已知A=83H,R0=17H,(17H)=34H,写出下列程序段执行完后的A中的内容。ANL A, #17HORL 17H, AXRL A, R0CPL A (A)=11001011B=0CBH10已知单片机的foscs、1s、1min的子程序。 设晶振频率为12MHz,一个机器周期为1s,延时1ms的子程序: 执行时间(机器周期)DELAY: MOV R7, #0FFH 1 LOOP: NOP 1 NOP 1 DJNZ R7, LOOP 2 RET 2该程序段的总的执行时间为
30、:(1+4255+2)s=1023s1ms延时时间为100ms的子程序:DELAY: MOV R5,#64H 对延时1ms的子程序循环100次。LOP1: MOV R7, #0FFH LOOP: NOP NOP DJNZ R7, LOOPDJNZ R5,LOP1 RET 延时时间为1s的子程序:DELAY1: MOV R3, #0AH 对延时100ms的子程序循环10次DELAY: MOV R5,#64H 。LOP1: MOV R7, #0FFH LOOP: NOP NOP DJNZ R7, LOOPDJNZ R5,LOP1 DJNZ R3, DELAYRET 延时时间为60s的子程序: 对延时1s的子程序循环60次11MCS-51汇编语言中有哪些常用的伪指令?各起什么作用? BIT(地址
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1