单片机原理编程题
- 格式:doc
- 大小:239.00 KB
- 文档页数:30
单片机原理与应用及C51程序设计题库单片机题库一、填空题1、当使用8031单片机时,需要扩展外部程序存储器,此时/EA应接()。
2.8051单片机内部有()个定时/计数器,门控制信号GATE 设置为1 时,由()和()控制定时器的启动。
3. 若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为()。
4.若累加器A中的数据为01110011B,则PSW中的P=()。
5、MCS-51单片机具有4个( )位并行I/O口,有( )个全双工的串行输入输出口。
6、计算机的元件级总线有()、()、()。
7、MOV A,@R1指令中,源操作数的寻址方式是()。
8、8051单片机堆栈遵循数据的原则。
9、8051单片机使用电源为。
10、在立即寻址方式中,在数前使用号来表示立即数。
11、在8051单片机中,加法指令可以分为,两种。
12、设8051外接12MHz的石英晶体,则一个机器周期的时间宽度为。
13、8051单片机的C语言源程序的扩展名为。
14、在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成结构或者结构的程序。
15、当8051单片机复位后,程序的入口地址为。
16、8051单片机中的定时器/计数器有个。
17、8051单片机有个中断源,分成个优先级。
18、MCS-51单片机具有位CPU,共有根地址线。
19、MCS-51片内有( )个字节的数据存储单元,( )个特殊功能寄存器。
片内数据存储器寻址空间是( )字节。
20、内部RAM低128个字节划分为( )、( )、( )三个部分。
21、访问特殊功能寄存器和片外数据存储器分别采用( )、( )寻址方式。
22、清除片内RAM 2FH单元最低位,使用的命令是( )。
23、在MCS-51系列单片机MCS-51单片机有4个( )位的并行I/O口,其中( )口用做低8位地址线和数据线分时复用, 而( )口用作高8位地址线。
24、MCS-51单片机有一个具有( )个中断优先级,( ) 个中断源的中断系统。
复习题及答案(一)选择题在每个小题四个备选答案中选出一个正确答案,填在题的括号中(二)1、80C51基本型单片机内部程序存储器容量为C;(三)A16K B8K C4K D2K(四)2、在80C51单片机应用系统中,可以作为时钟输出的是C引脚;(五)A BRST CALE D(六)3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是C; (七)AP0 BP1 CP2 DP3(八)4、当优先级的设置相同时,若以下几个中断同时发生,D中断优先响应;(九)A BT1 C串口 DT0(十)5、在80C51中,要访问SFR使用的寻址方式为A;(十一)A直接寻址 B寄存器寻址C变址寻址 D寄存器间接寻址(十二)6、以下的4条指令中,不合法的指令为D;(十三)AINC A BDEC A CI NC DPTR DSWAP ACC(十四)7、当需要扩展一片8K的RAM时,应选用的存储器为B;(十五)A2764 B6264 C6116 D62128(十六)8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择A芯片; (十七)A8155 B8255 C8279 D74LS164(十八)9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在B ; (十九)A方式0 B方式1 C方式2 D方式3(二十)10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为A; (二十一)A08H B80H C00H D07H(二十二)(二十三)二、填空题(二十四)1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组成;(二十五)2、80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不同的区域,一是工作寄存器区,二是位寻址区,三是通用数据区区; (二十六)3、在8051单片机中,由2 个振荡周期组成1个状态周期,由 6 个状态周期组成1个机器周期;(二十七)4、8051的堆栈是向地址的高端生成的;入栈时SP先加1 ,再压入数据; (二十八)5、对于80C51无嵌套的单级中断,响应时间至少 3 个机器周期,最多8个机器周期;(二十九)(三十)三、简答题(三十一)简述80C51单片机的I/O口的功能和特点;(三十二)答:P0:地址总线低8位/数据总线和一般I/O口(三十三)P1:一般I/O口(三十四)P2:地址总线高8位和一般I/O口(三十五)P3:第二功能和一般I/O口(三十六)4个口作为一般I/O时均为准双向口;5、简述80C51单片机指令系统的特点及寻址方式;答:111条指令,大多为单、双周期指令,速度快;指令字节多为单、双字节,省空间;寻址方式多7种,操作灵活;有布尔指令集,控制应用方便;7种寻址方式为……;四、程序阅读与分析题1、试阅读下面的程序,指出该程序结束后累加器ACC和寄存器TH0的值,并说明该程序完成了怎样的功能;ORG 0000HMOV SP,60HMOV A,10HMOV TH0,20HPUSH ACCPUSH TH0POP ACCPOP TH0END答:利用堆栈交换了ACC和TH0的内容,A=20H,TH0=10H2、程序段如下,试说明其功能;MOV R0,50HMOV R1,60HMOV A,R0ADD A,R1MOV R0,AINC R0INC R1MOV A,R0ADDC A,R1MOV R0,AMOV 00H,C答:双字节无符号数加法;被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中;五、综合应用题1、设计一个80C31单片机最小系统;配备:时钟电路、上电及复位电路、8K EPROM、8K RAM;要求:画出电路图、标明必须的信号名称、芯片型号及其连接;答略2、利用8155构建4×8键盘接口;画出与按键相关部分连接示意图,详细解释键扫描的过程;答略3、设80C51单片机晶振频率为6MHz,定时器T0工作于方式1;要求80C51以中断方式工作并在引脚输出周期为500微秒的方波;试:计算初值、编写含有初始化功能的主程序和完成方波输出的中断服务程序;答:机器周期为2微秒;定时时间250微秒;需要计数N=125初值为65536-125=65411=FF83H,所以TH0=FFH,TL0=83H工作方式设置:0000 0001B,即TMOD=01H主程序:中断服务程序:整体结构MOV TMOD,01H MOV TH0,0FFHMOV TH0,0FFH MOV TL0,83HMOV TL0,83H CPL SETB EA RETISETB ET0SETB TR0SJMP $二一、填空题1、MCS-51单片机扩展程序存储器所用的控制信号为MOVC,扩展数据存储器所用的控制信号为RD和WR;2、关于堆栈类操作的两条指令分别是PUSH、POP,操作遵循先进后出原则;3、程序状态寄存器的作用是用来保存程序运行过程中的各种状态信息;若累加器A中的数据为01110010B,则PSW中的P=0;4、若MCS-51 单片机采用12MHz 的晶振,它的机器周期1μm ,ALE 引脚输出正脉冲频率为1MHz,;5、要使MCS-51 单片机从片内的地址0000H 开始执行程序;那么EA应高电平 ;6、在片外扩展一片2764程序存储器芯片要13地址线;7、外部中断1INT1的中断入口地址为0013H;定时器1的中断入口地为001BH ;8、8751有两个16位可编程定时/计数器,T0和T1;它们的功能可由控制寄存器TCON、TMOD的内容决定,且定时的时间或计数的次数与TH、TL两个寄存器的初值有关;9、欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1,0F0H命令;10、串行口的控制寄存器SCON中,REN的作用是允许串行接收位;二、判断题1、指令字节数越多,执行时间越长; ×2、内部寄存器Rnn=0-7作为间接寻址寄存器; ×3、当MCS—51上电复位时,堆栈指针SP=00H; ×4、CLR R0 ×5、EPROM的地址线为11条时,能访问的存储空间有4K; √6、51单片机只能做控制用,不能完成算术运算; ×7、为了消除按键的抖动,常用的方法只有硬件方法×8、必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断√9、8155的复位引脚可与89C51的复位引脚直接相联; √10、MCS—51的串行接口是全双工的; √三、简述题1、为什么外扩存储器时,P0口要外接锁存器,而P2口却不接P0口要传送外部数据存储器的低8位地址和8位数据,2分而P2口只传送外部数据存储器的高8位地址;2、已知一MCS51单片机系统使用12MHZ的外部晶体振荡器,计算:1该单片机系统的状态周期与机器周期各为多少状态周期=2/fosc=μm 机器周期=12/fosc=1μm2当单片机的定时器0T0工作在方式2时,T0的最大定时时间为多少TMAX =28×机器周期 256×1=256μm3、、在由8031CPU芯片设计的系统中,若规定外部中断0为电平触发方式,高优先级,此时,特殊功能寄存器TCON、IE、IP为多少TCON=00H IE=81H IP=01H4、执行下列程序段中第一条指令后:= 0 , = 0 = 0 ;执行第二条指令后:= 1 ,= 1 ,=1 ;ANL P1,73HORL P1,38H参考答案三一、填空题每空1分,共10分1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为低电平通常用作单片机系统的地址/数据总线3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为10H~17H4.返回地址或断点是_在程序中断或子程序调用时的程序计数器的内容;5.中央处理器CPU是单片机的核心,它完成运算和控制功能6.单片机的工作过程,实际上就是周而复始地取指令和执行指令的过程7.所谓中断源即是引起中断的原因或能发出中断请求的来源8.端口或称口是接口电路中已编址并能进行读或写操作的寄存器9.异步串行近程通信时的传送信号是_TTL电平信号10.若累加器A中的数据为01110010B,则PSW中的P= 0二、单项选择题在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内;每小题1分,共10分—51单片机的复位信号是A 有效;A.高电平B.低电平C.脉冲D.下降沿2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该B ;μs μs μs3.若=0,=1,要想把寄存器R0的内容入栈,应使用D 指令;R0 R000H 08H4.能够用紫外光擦除ROM中程序的只读存储器称为C ;A.掩膜ROM5.在片外扩展一片2764程序存储器芯片要B 地址线;根根根根6.定时器/计数器工作方式1是D ;位计数器结构个8位计数器结构位计数结构位计数结构7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为C8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为A ;9.下列数据字定义的数表中,C是错误的;“AA” “A”“OABC”10.串行口的控制寄存器SCON中,REN的作用是C ;A.接收中断请求标志位B.发送中断请求标志位C.串行口允许接收位D.地址/数据位三、简答题每小题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同一标号在一个程序中只能定义一次;D转换器转换数据的传送有几种方式四、读程序每小题4分,共20分1定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取;2查询方式:A/D启动后,查询EOC转换结束信号,转换一完成即可读取转换数据;3中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据;四、读程序1.执行下列程序段中第一条指令后,1= 0 = 0 = 0;执行第二条指令后,2= 1 ,= 1 ,= 1ANL P1,73HORL P1,38H2.下列程序段执行后,A= 0DH ,B= 11H .MOV A,0FBHMOV B,12HDIV AB3.下列程序段执行后,R0= EH ,7EH= FFH ,7FH= 3FH .MOV R0,7FHMOV 7EH,0MOV 7FH,40HDEC R0DEC R0DEC R04.已知SP=09H,DPTR=4567H,在执行下列指令后,SP= 0BH ,内部RAM0AH= 67H ,0BH= 45HPUSH DPLPUSH DPH5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间MOV R3,100;1LOOP:NOP ;1NOPNOPDJNZ R3,LOOP ;2RET ; 2一个机器周期为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,12HMOV ,CRET2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.MOV R2,10MOV DPRT,TABLELOOP: MOV X A,DPRT;取一数ORL A,80H;最高位置1MOV X DPTR,A;写回原地址1NC DPTR;处理下一单元DJNZ R2,LOOPRET3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现;MOV R0,30HMOV R1,00HMOV R2,20HLOOP: MOV A,R0;取数MOV X R1,A;存数1NC R01NC R1DJNZ R2,LOOPRET4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现R3为高字节;利用移位指令作除8操作,程序如下:MOV R2,3LOOP:CLR CMOV A,R3RRC A ;高字节除以2,末位移入C,高位补0MOV R3,A ;暂存高字节MOV A,R4RRC A ;低字节除以2,高字节末位移入低字节高位MOV R3,ADJNZ R2,LOOPRET5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串;若相等,则把数字00H送40H单元,否则把0FFH送40H单元;有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等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.用8031单片机,并采用一片27162KB和一片61162KB组成一个既有程序存储器又有数据存储器的扩展系统,请:1画出逻辑电路图(2)说明其存储空间芯片…… 地址范围2716 0 0 0 0 … 0 0000H…1 1 1 1 … 1 07FFH6116 0 0 0 0 … 0 0000H1 1 1 1 … 1 07FFH四一、填空题1、当P1口做输入口输入数据时,必须先向该端口的锁存器写入FF ,否则输入数据可能出错;2、中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由IP 寄存器的内容决确定的;3、寄存器PSW中的RS1和RS0的作用是选择工作寄存器组 ;4、LED数码显示有静态显示和动态显示两种显示形式;5、当单片机CPU响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序;其中INT1 的入口地址为0013H ,串行口入口地址为0023H ,T0 的入口地址为000BH ;6、用汇编语言编写的程序称为源程序,通过汇编后得到的用机器码表示的程序称为机器程序;7、堆栈的地址由SP的内容确定,其操作规律是“先进后出”;8、扩展并行I/O口时,常采用8255和8155可编程芯片;9、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用PUSH指令,恢复现场用POP指令;10、能在紫外线照射下擦除和重写的存储器是EPROM型存储器,能够直接在线路中快速写入和读出的存储器是flashROM型存储器;11、单片机内部与外部ROM之间的查表指令是MOVC A,A+PC;二、选择题从备选答案中选择一个正确答案,并将代号写在括号内;每题1分,共10分1、在程序状态寄存器PSW中,判断是否有借/进位的标志位是 A ,若选择寄存器工作组时标志位应是 C ;A、CYB、ACC、RS1D、RS0E、OVF、P2、在实训线路板中,8155芯片的片选端CE如果由单片机P2口,,经74LS138Y2译码决定,寄存器/存储器片选端IO/M如果由线选决定;当将8155做键盘/显示器控制口使用时,其A口地址应为 B , 当将8155作存储器使用时,其存储器首地址应为 C ;A、4401HB、4801HC、4000HD、4800H3、在程序运行过程中执行PC=0200H的一条指令LCALL addr16,该调用子程序的返回指令是 B ,实施该调用指令时,压入堆栈保存的程序地址是 F ;A、 RETIB、RETC、ENDD、2000HE、0102HF、0203H4、在单片机中, C 是数据存储器, A 是程序存储器;A.ROM B.EPROM C.RAM D.EEPROM E.FLASH5、定时/计数器有4种操作模式,它们由 B 寄存器中的M1 M0状态决定;A.TCON B.TMOD C. PCON D.SCON E.PSW6、单片机复位后,SP的内容为07H、PC、PSW、A的内容为00H,P0~P3口的内容都是为 B ;A.0FH B.FFH C.08H D.07H E.00H三、判断题:1、8051每个中断源相应地在芯片上都有其中断请求输入引脚×2、程序计数器PC不能对它进行读写操作√3、8051单片机的栈底单元是不能利用的,因此,它是一个闲置单元×4、8051单片机对最高优先权的中断响应是无条件的×5、中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令×6、在一般情况8051单片机允许同级中断嵌套×7、8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的√8、单片机系统扩展时使用的锁存器,是用于锁存高8位地址×9、RCA为循环左移指令×10、MOVA,30H为立即寻址方式×四、简答题1、MCS-51单片机的时钟周期与振荡周期之间有什么关系一个机器周期的时序如何划分时钟周期是单片机最基本的时间单位;机器周期则是完成某一个规定操作所需的时间;一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2;单片机原理及接口技术试卷闭卷A卷一.单项选择题每题1分,共20分为 CA.程序计数器B.累加器C.数据指针寄存器D.程序状态字寄存的Cy位为 BA.辅助进位标志B.进位标志C.溢出标志位D.奇偶标志位-51单片机片内ROM容量为 A-51单片机片要用传送指令访问片外数据存储器,它的指令操作码助记符是以下哪个B表示 C位立即数位立即数位直接地址位地址6.堆栈指针SP是一个A 位寄存器7.定时器/计数器工作方式选择中,当M1M0=11时,其工作方式为DA.方式0B.方式1C.方式2D.方式38.定时器/计数器工作方式0为 A位定时/计数方式位定时/计数方式位可自动装入计数初值方式个8位方式-51的最小时序定时单位是 AA.节拍B.状态C.机器周期D.指令周期10.data表示 A位直接地址位地址位立即数位立即数11.主频为12MHz的单片机它的机器周期为 C单片机在同一优先级的中断源同时申请中断时,CPU首先响应 A ;A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断A ,A+PC指令对于源操作数的寻址方式是 DA.寄存器间接寻址B.寄存器寻址C.立即寻址D.变地寻址14. PSEN为 CA.复位信号输入端B.地址锁存允许信号输出端C.程序存储允许输出端D.程序存储器地址允许输入端-51单片机的一个机器周期由D 个振荡脉冲组成;A ,30H指令对于源操作数的寻址方式是CA.寄存器间接寻址B.寄存器寻址C.立即寻址D.变地寻址17.计算机能直接识别的语言为 BA.汇编语言B. 机器语言C.自然语言D.硬件和软件18.PSW的OV位为 CA.辅助进位标志B.进位标志C.溢出标志位D.奇偶标志位19.在单片机中 A 为程序存储器;A.ROM B. RAM20.能用紫外线光擦除ROM中的程序的只读存储器为 CA.掩膜ROM二、填空每题 2 分,共 10 分1、从单片机系统扩展的角度出发,单片机的引脚可以构成三总线结构,即数据总线、地址总线和控制总线;2、ALE信号的作用是锁存低8位地址信号3、MOV A,40H 指令对于源操作数的寻址方式是直接寻址;4、PC存放的内容为:下一条要执行的指令的地址5、MCS-8051系列单片机字长是8位,有40 根引脚;三、简答题:共 25 分1、什么是单片机简述单片机的应用领域;15 分单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机;应用领域:1单片机在智能仪器仪表中的应用;2单片机在工业控制中的应用;3单片机在计算机网络与通信技术中的应用;4单片机在日常生活及家电中的应用;MOV A ,30HMOV 50H ,AMOV R6 ,31HMOV R1 ,31HMOV P1,32H上述指令执行后的操作结果为:A=AAH,50H=AAH,R6=BBH,32H=BBH,P1=CCH五、分析执行如下指令后,PSW中的Cy 、Ac、OV、P各为多少 A中的结果用十进制表示是多少15分MOV A,85HADD A,0AEHCy=1,Ac=1,OV=1,P=0;A=307六、编程题:每小题10分,共20分1、在程序中定义一个0——9的平方表,利用查表指令找出累加器A=03的平方值;10分 ORG 0050HMOV DPTR,TABLE ;表首地址→DPTRMOV A, ;03→AMOVC A ,A+DPTR ;查表指令,25→ASJMP $ ;程序暂停TABLE:DB 0,1,4,9,16,25,36,49,64,81 ;定义0——9平方表END2、试采用两种方法编制程序,开放定时器T1的溢出中断;10分MOV IE,88H。
单片机原理与应用考试试题一、填空题(每空 2 分,共 40 分)1、单片机是将_____、_____、_____和_____等部件集成在一个芯片上的微型计算机。
2、单片机的存储器分为_____和_____,其中_____存储器在掉电后数据会丢失。
3、单片机的并行 I/O 口有_____个,分别是_____、_____、_____和_____。
4、单片机的复位方式有_____复位和_____复位两种。
5、单片机的中断源有_____个,分别是_____、_____、_____、_____和_____。
6、单片机的定时器/计数器有_____个,分别是_____和_____。
7、单片机指令系统中,数据传送指令有_____、_____和_____等。
二、选择题(每题 3 分,共 30 分)1、单片机的工作频率主要取决于()A 晶振频率B 复位电路C 电源电压D 存储容量2、以下不是单片机特点的是()A 集成度高B 功耗低C 性价比高D 运算速度快3、单片机的程序计数器 PC 是()位的。
A 8B 16C 32D 644、单片机的中断优先级可以通过()设置。
A 中断允许寄存器B 中断优先级寄存器C 定时器控制寄存器D 串行口控制寄存器5、要使单片机的 P1 口输出低电平,应执行的指令是()A MOV P1,0FFHB MOV P1,00HC CLR P1D SETB P16、单片机的堆栈指针 SP 复位后指向()A 00HB 07HC 30HD 7FH7、以下指令中,属于逻辑运算指令的是()A ADDB SUBBC ANLD MOV8、单片机在执行 MOVX 指令时,相关的控制信号是()A RD 和 WR 均为低电平B RD 为低电平,WR 为高电平C RD 为高电平,WR 为低电平 D RD 和 WR 均为高电平9、若单片机的晶振频率为 12MHz,机器周期为()A 1μsB 2μsC 4μsD 8μs10、要使单片机能够响应外部中断 0,需要设置的寄存器是()A IEB IPC TCOND SCON三、简答题(每题 10 分,共 30 分)1、简述单片机的工作过程。
习题1. 何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?答:准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。
MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能?答:80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3. 定时/计数器T0有几种工作方式?各自的特点是什么?答:有四种工作方式,特点见下表:M1 M0 工作方式方式说明0 0 0 13位定时/计数器0 1 1 16位定时/计数器1 02 8位自动重置定时/计数器1 1 3 两个8位定时/计数器(只有T0有)4. 定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式初值应为多少?答:有四种方式。
方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5. 设振荡频率为12MHz,如果用定时/计数器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别设为多少?答:只能选择方式1,初值为65536-50000=15536。
6. 何为同步通信?何为异步通信?各自的特点是什么?答:异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
单片机模拟试卷001一、选择题(每题1分,共10分)1.8031单片机的()口的引脚,还具有外中断、串行通信等第二功能。
a) P0 b) Pl c) P2 d) P32.单片机应用程序一般存放在()a) RAM b) ROM c)寄存器d) CPU3.已知某数的BCD码为0111 0101 0100 0010则其表示的十进制数值为()a) 7542H b) 7542 c) 75.42H d) 75.424.下列指令中不影响标志位CY的指令有()。
a) ADD A, 20H b) CLR c) RRC A d) INC A5.CPU主要的组成部部分为()a)运算器、控制器b)加法器、寄存器c)运算器、寄存器d)运算器、指令译码器6.INTEL 8051 CPU是()位的单片机a) 16 b) 4 c) 8 d)准167.8031复位后,PC与SP的值为()a ) 0000H, OOH b) 0000H, 07H c) 0003H, 07H d) 0800H, OOH&当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
a) MOV A, @R1 b) MOVC A, @A + DPTRc) MOVX A, @ R0 d) MOVX A, @ DPTR9.8031单片机中既可位寻址又可字节寻址的单元是()a) 20H b) 30H c) 00H d) 70H10.下列哪条指令是正确的()a) PUSH R2b)ADD R0,Ac) MOVX A@DPTR d)MOV@R0,A二、填空题(每空1分, 共30分)1.一个完整的微机系统由和两大部分组成。
2. 8051的引脚RST是(IN脚还是OUT当其端出现电平时,8051进入复位状脚),态。
8051 —直维持这个值,直到RST脚收到—电平,8051才脱离复位状态,进入程序运行状态,从ROM _________ H单元开始取指令并翻译和执行。
第7章思考题及习题7参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。
答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。
答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。
答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。
答:方式1定时,131.072ms。
5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。
答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。
答:FCH,18H。
二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。
A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。
A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。
A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。
A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。
A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。
A.特殊功能寄存器SCON,与定时器/计数器的控制无关。
单片机原理及应用试题库---答案一、选择题1、单片机能够直接运行的程序是()A 汇编语言程序BC 语言程序 C 机器语言程序D 高级语言程序答案:C解释:单片机只能直接运行机器语言程序,其他语言编写的程序都需要经过编译或解释转换成机器语言才能被单片机执行。
2、 8051 单片机的堆栈区一般开辟在()A 片内数据存储区低 128 字节B 片内数据存储区高 128 字节C 片外数据存储区D 程序存储区答案:A解释:8051 单片机的堆栈区一般开辟在片内数据存储区低 128 字节,并且遵循“先进后出”的原则。
3、当 8051 单片机的 RST 引脚出现()个机器周期以上的高电平时,系统复位。
A 1B 2C 3D 4答案:B解释:RST 引脚保持 2 个机器周期以上的高电平,单片机就会进行复位操作,复位后程序计数器 PC 指向 0000H 地址。
4、 8051 单片机的定时器/计数器工作方式 1 是()A 8 位计数器结构B 13 位计数器结构C 16 位计数器结构D 32 位计数器结构答案:C解释:工作方式 1 是 16 位的计数器结构,由 THx 和 TLx 两个 8 位寄存器组成。
5、要使 8051 单片机能够响应外部中断 0,中断允许寄存器 IE 的值应设置为()A 80HB 81HC 82HD 83H答案:B解释:IE 寄存器中,EA 位为总中断允许位,EX0 位为外部中断 0允许位,要响应外部中断 0,IE 的值应设为 81H,即 10000001B。
二、填空题1、 8051 单片机内部有 4 个 8 位的并行 I/O 口,分别是 P0 、P1 、P2 、P3 。
解释:这 4 个并行 I/O 口在单片机的输入输出操作中起着重要作用。
2、单片机的最小系统包括电源、时钟电路、复位电路。
解释:电源为单片机提供工作电压,时钟电路为单片机提供时钟信号,复位电路用于单片机的初始化。
3、 8051 单片机的指令系统共有 111 条指令,按指令的长度可分为单字节指令、双字节指令、三字节指令。
期终考试《单片机原理及接口技术》(A )适用班级:一、单项选择题:(共15题,每题2分,共30分)(1)AT89C51单片机哪些不是主要功能部件组成( ) A. CPU B. RAM C. ROM D.LED 显示 (2)MCS-51系列单片机的CPU 主要是由( )组成的。
A .运算器、控制器 B.加法器、寄存器 C .运算器、加法器 D.运算器、译码器 (3)单片机中的程序计数器PC 用来( )。
A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址D.存放上一条指令地址 (4)单片机AT89C51的EA 引脚( )。
A.必须接地 B.必须接+5V 电源C.可悬空D.以上三种情况视需要而定 (5)AT89C51单片机5个中断源的优先权从高到低的是( )A. INT0、T0、INT1、T1、串行口B. T0、T1、INT0、INT1、串行口C.串行口、T0、INT1、T1、INT0D. INT0、INT1、T0、T1、串行口 (6)定时器工作在工作方式2,要定时200 us,要装入的初始值为( )A .56H B.9CH C.3CB0H D.0FFH(7) ADC0809的模拟通道选择地址线ADDC 、ADDB 、ADDA 的状态为011,则选择模拟的通道为( )A.IN6B.IN5C.IN4D.IN3 (8)8255A 的A 组控制电路是用来控制( )A.A 口及C 口的低4位B.A 口及B 口的低4位C.A 口及B 口的高4位D.A 口及C 口的高4位(9)外部扩展存储器时,分时复用做数据总线和低8位地址线的是( )。
A. P0口 B. P1口 C. P2口 D.P3口 (10)PSW 中的RS1和RS0两位用来( )。
A.选择工作寄存器组 B.指示复位 C.选择定时器 D.选择工作方式 (11)单片机上电复位后,PC 的内容为( )。
A. 0000HB. 0003HC. 000BHD. 0800H (12)AT89C51单片机的CPU 是( )。
MCS-51单片机作业第一部分基础练习一1.1234?X2=2512?问这是几进制的运算?在9进制系统中,469+??=10092.将下列二进制数转换为十进制数和十六进制数:10111101B 110111101B111011010·101B 11110111101110·111011111B3.将下列十进制数转换为二进制数,对于小数,可以仅取4位130 123·47 990·6 256 11·114.计算下列二进制算式:10100110B-101B 11011110B+1101B1110B×1011B 10111010B÷110B5.将下列算式转换成十六进制和二进制数,对于小数,可以仅取二位十六进制数12767 60000 123·14365535 32767 4096·36.计算下列算式,结果仍用十六进制数表示,仅取二位小数123H+0EFDH 1010011011B-0FDH0EAH×0CDH 666÷66H练习二1、计算题1:0DCH O R 65H 0E9H AND 7CH 0BAH EOR 5DH6DH AND 7EH OR 0ABH EOR 0D6H6DH AND (7EH OR (0ABH EOR 0D6H))2、计算题2:123 AND 10100101B 222 EOR 20011010110B OR 97 1DH EOR 11111111B3、应用题1:某计算机有一个8位并口,读入的数据存在A寄存器中,问:(1)判断0、2、6、7位是否全为0,A才变为全0,用什么运算?(2)判断1、3、4、5位中是否有任何一位为1,就使得A非0,用什么运算?4、应用题2:在Apple计算机中,磁盘存储信息中采用了“4-4编码”,即把一个字节的8 位D7 D6 D5 D4 D3 D2 D1 D0变成二个编码字节:1 D7 1 D5 1 D3 1 D1和1 D6 1 D4 1 D2 1 D0 请给出一种简便方法,将编码的两两字节还原成原来的一字节(解码)。
一、填空题(20分,每小题2分)1、-19D 的二进制的补码表示为11101101B 。
2、89c51含4KB 掩膜ROM,128B 的RAM,在物理上有4个独立的存储器空间。
3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。
调用返回时再进行出栈操作,把保护的断点弹回.PC4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中R块芯片。
PSW 中RSIRS0=10H 时,R2的地址为12H 。
假定DPTR 的内容为8100H,累加器A 的内容为40H,执行下列指令:MOVCA,@A+DPTR后,送入A 的是程序存储器814011单元的内容。
设SP=60H,片内RAM 的(30H) 行结果。
最后执行结果是一执行结果将0送外部数据存储器的2410H 单元o8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)二(TL) =OFFH 09、12根地址线可寻址.4KB 存储单元。
二、选择题(10分,每小题1分)1、MCS-51响应中断时,下面哪一个条件不是必须的(C)(A)当前指令执行完毕(B)中断是开放的(C)没有同级或高级中断服务(D)必须有RETI 2、执行PUSHACC 指令,MCS-51完成的操作是(A)(A)SP+l-SP,(ACC)-(SP);跖(ACC)-(SP),SP-1->SP5、6、 7、PUSH PUSH POP POP MOV MOVX30H 31H DPL DPH A, #00H ©DPTR,;SP=61H, ;SP=62H, ;SP=61H, ;SP=60H, (SP)=24H(SP) =10H DPL=10H DPH 二 24 H二24H,(31H) =10H,在下列程序段注释中填执(C)SP-l-SP,(ACC)一(SP);(D)(ACC)一(SP),SP+1-SP3、89C51是(C)(A)CPU (B)微处理器(C)单片微机(D)控制器4、关于MCS-51的堆栈操作,正确的说法是(C)(A)先入栈,再修改栈指针(B)先修改栈指针,再出栈(C)先修改栈指针,再入栈(D)以上都不对5、某种存储器芯片是8KBX4片,那么它的地址线根数是(B)(A)11根(B)13根(C)12根(D)14根6、MOVC,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址7、必须进行十进制调整的十进制运算(C)(A)有加法和减法(B)有乘法和除法(C)只有加法(D)只有减法8、ORG0000HAJMP0040IIORG 0040HMOVSP,#00H 当执行完左边的程序后,PC的值是(C)(A)0040II(B)0041H (C)0042H (D)0043H9、MCS-51复位时,下述说法正确的是(D)(A)QOH)=00H (B)SP=OOH(C)SBUF=OOH(D)THO=OOH三、简答分析题(30分,每小题10分)1、简述89c51定时器的四种工作模式的特点,如何选择和设定。
一.编程题 (每小题8分,共16分)1.设在内RAM 40H开始的存储区有若干个字符和数字,已知最后一个为字符“$“(并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。
参考程序:ORG 0000HSTART: MOV R1,#40H ;R1作为地址指针CLR A ;A作为计数器LOOP: CJNE @R1,#24H,NEXT ;与“$”号比较,不等转移SJMP NEXT1 ;找到“$“结束循环NEXT: INC A ;计数器加1INC R1 ;指针加1SJMP LOOP ;循环NEXT1: INC A ;再加入”$”这个字符MOV 30H,A ;存结果END2.试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。
参考程序:ORG 0000HMOV 51H ,#0HMOV 52# ,#0HMOV R1 ,#30HMOV R0 ,#20HMOV A,@R1INC R1ANL A , #01HJZ LOOP1INC 51HSJMP LOOP2LOOP1: INC 52HLOOP2: DJNZ R0 , LOOP3RET3.用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开始P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。
请编制程序。
参考程序:ORG 0000HAJMP MAINORG 0003HRL A ;中断服务MOV P1,ARETIMAIN: MOV A,#0FFHMOV P1,A ;第一灯亮SETB EASETB EX0 ;允许INT0外部中断SETB IT0 ;中断触发方式为下降沿触发SJMP $ ;等待中断4.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。
MOV 30H,#0MOV 31H,#0MOV 32H,#0MOV DPTR ,#2000HMOV R1,#100L4: MOVX A,@DPTRINC DPTRCJNE A,#0,L1INC 32HSJMP L2L2: JC L3INC 30HSJMP L2L3: INC 31HL2: DJNZ R1,L4SJMP $5.编程将内部数据存储器20H~24H单元压缩的BCD码转换成ASCⅡ存放在于25H开始的单元。
参考程序:注意压缩的BCD码为一个字节占两位BCD码。
ORG 0000HMOV R7,#05H ;R7为转换字节数MOV R0,#20H ;R0为源操作数地址MOV R1,#25H ;R1为目的操作数地址NE: MOV A,@R0ANL A,#0FH ;先取低位BCD码ADD A,#30H ;将BCD码转换成ASCⅡ码MOV @R1,AINC R1MOV A,@R0ANL A,#0F0H ;取高位BCD码SWAP A ;半字节交换ADD A,#30H ;将高位BCD码转换成ASCⅡ码MOV @R1,AINC R0INC R1DJNZ R7,NESJMP $END编程题,另外加上第4章课件上的例子。
三、程序解释(每小题5分,共10分)1.ORG 0200HMOV DPTR,#1000HMOV R0,#20HLOOP: MOVX A,@DPTRMOV @R0,AINC DPTRINC R0CJNE R0,#71H,LOOPSJMP $程序功能:把片外数据存储器1000H~1050H中的内容传送到片内数据存储器20H~70H中。
2.ORG 0200HMOV A,R0ANL A,#0FHMOV DPTR,#TABMOVC A,@A+DPTRMOV R0,ASJMP $TAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H; 0~9的ASC Ⅱ码DB 41H,42H,43H,44H,45H,46H ;A~F的ASCⅡ码程序功能:利用查表的方法实现RO中的十六进制数转换为ASCⅡ码对每小题程序中划线的指令含义(或指令作用)进行解释,并说明程序的作用。
*********************************1. 程序解释ORG 100HMOV A,R0 ;R0的内容送AANL A,#0FHMOV R1,AMOV A,R0SWAP A ;A的内容高低4位交换ANL A,#0FHMOV R2,ASJMP $ ;等待END该程序的作用是:将原R0中数据按照高低4位分成两个字节,低位字节保存在R1中,高位字节保存到R2中。
2. 程序解释ORG 30HMOV R0,#data1 ; data1送R0MOV R1,#data2MOV R2,#2CLR CLOOP:MOV A,@R0SUBB A,@R1 ;(A)-(C)-((R1))→AMOV @R0,AINC R0INC R1DJNZ R2,LOOP ;(R2)-1不等于零,跳LOOP处SJMP $END该程序的作用是:将data1中的双字节数据减去data2中的双字节数据,结果保存到data1中3. 程序解释ORG 30HVARDATA 30HFUNC D ATA 31HMOV A,VAR ;30单元的内容送AJZ DONE ;A为零转移JNB ACC.7,POSI ;A的最高位为0(正数)转移MOV A,#0FFH ;提示:0FFH表示-1SJMP DONEPOSI:MOV A, #01HDONE:MOV FUNC,ASJMP $END该程序的作用是:判断30H单元中的内容,结果放在31H单元中。
大于0放1,小于0放-1,等于零放0。
4. 程序解释ORG 100HMOV A, R3R L A ;A左循环一位(即乘2)M OV DPTR,#BRTAB ;绝对转移地址表起始地址送DPTR JMP @A+DPTR ;(PC)=(A)+(DPTR)……BRTAB:AJMP ROUT000A JMP ROUT001AJMP ROUT002……AJMP ROUT127END该程序的作用是:本程序完成128分支转移操作,根据R3中的数值转移到相应的128个分支程序中。
5. 程序解释ORG 0030HMOV R0, #22H ;立即数22H送R0MOV @R0, #00HINC R0 ; R0中的内容加1MOV @R0, #01HINC R0MOV @R0, #02H ; 02H送24H单元SJMP $END该程序的作用是:向单片机内部RAM的22H,23H,24H单元分别送数据00,01,02。
6. 程序解释ORG 0030HMOV A, 20HMOV B, 21HDIV AB ; A除以BMOV 31H, A ;商送30H单元IMOV 31H,B ;余数送31H单元SJMP $END该程序的作用是:将20H单元中有一个二进制数除以21H单元中二进制数,商保存到30H 单元,余数保存到31H。
7. 程序解释CHENGJI DATA 1000HGRADA DATA 20HGRADB DATA 21HMOV GRADA,#00HMOV GRADB,#00HMOV R2,#100MOV DPTR,#CHENGJI ;1000H送DPTRLOOP:MOVX A,@DPTRCJNE A,#60,LOOP1 LOOP1: JNC NEXT1INC GRADB ;21H单元的内容加1 SJMP NEXTNEXT1: INC GRADANEXT: INC DPTRDJNZ R2,LOOP ;(R2)-1→R2 不为零,转移 SJMP $END该程序的作用是本程序完成对100个数(如100个学生成绩)的过滤统计,成绩在60以上的学生统计到GRADA,<60的学生统计到GRADB。
8. 程序解释LEN DATA 20HSUM DATA 21HBLOCK DATA 22HCLRA ;A清0MOV R2,LENMOV R1,#BLOCKLOOP:ADD A,@R1 ;(A)+((R1))→AINC R1CHECK:DJNZ R2,LOOP ;LEN个单元未加完,继续MOV SUM,A SJMP $END该程序的作用是:完成BLOCK单元开始的LEN单元中数据个数的累加,累加结果保存到SUM单元中。
9. 程序解释XX DATA 40HYY DATA 41HM OV A,XXJZ DONEM OV R0,#0FFH ;提示:0FFH表示-1JNB ACC.7,NEG ;若A< 0,则转向NEGM OV R0,#01H ; 01送R0NEG:MOV A, R0DONE:MOV YY,A ;(A)送41H单元SJMP $END该程序的作用是:判断40H单元中的内容,结果放在41H单元中。
大于0放1,小于0放-1,等于0放0。
10. 程序解释ONE DATA 30HTWO DATA 31H;TWO地址定义为31HMAX DATA 32HC LR C;C清零MOV A,ONESUBB A,TWO;(A)-(31H)结果送AJNC XMAXYMAX:MOV A,TWOSJMP DONEXMAX:MOV A,ONEDONE:MOV MAX,A该程序的作用是:本程序完成ONE和TWO的两个单元中的数的比较,大数存入MAX单元中。
11. 程序解释BLOCK1 DATA 20HBLOCK2 DATA 40HMOV R0,#BLOCK1MOV R1,#BLOCK2MOV R2,#03CLR CLOOP: MOV A,@R0 ;被加数送AADDC A,@R1 ;带进位加法MOV @R0,A ;和送(R0)INC R0INC R1DJNZ R2,LOOP1 SJMP $END该程序的作用是:内部RAM中BLOCK1(20H)开始的三字节数与BLOCK2(40H)开始的两个三字节数相加,和数存放到BLOCK1开始的单元。
12. 程序解释SHIFT:MOV DPTR,#TABJMOV A,R2RL A ;A乘2ADD A,R2JMP @A+DPTR;跳转到(A)+(DPTR)→PCTABJ:LJMP PRG0;跳转到PRG0LJMP PRG1……LJMP PRGN该程序的作用是:根据内部RAM中R2数据转向不同的子程序,R2=0转PRG0,R2=1转PRG1,… R2=N转PRGN13. 程序解释START: CLR AMOV R2,#10MOV R1,#21H ;21H送R1 NEXT: ADD A,@R1 ;(A)+((R1))→AINC R1DJNZ R2,NEXT ;未加完,跳转MOV 22H,A SJMP $END该程序的作用是:完成21H单元开始的10个数据块的累加,结果保存到22H单元。