单片机例题
- 格式:pdf
- 大小:218.05 KB
- 文档页数:11
单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机是一种集成了CPU、存储器、I/O接口等功能的微型计算机,其英文缩写是:A. CPUB. RAMC. ROMD. MCU答案:D2. 下列哪个是51系列单片机的特有寄存器?A. ACCB. PSWC. SPD. PC答案:B3. 在8051单片机中,以下哪个指令是用于将累加器A的内容与外部数据存储器中的数据进行交换?A. MOV A, @DPTRB. MOVX A, @DPTRC. MOV DPTR, #20HD. MOV A, #20H答案:B4. 8051单片机的定时器/计数器0和1,其定时器模式下的工作方式有:A. 1种B. 2种C. 3种D. 4种答案:C5. 下列哪个中断源在8051单片机中具有最高优先级?A. 定时器0中断B. 外部中断0C. 定时器1中断D. 串行中断答案:B二、填空题(每空2分,共20分)1. 单片机的最小系统通常包括________、________和________。
答案:时钟电路、复位电路、电源电路2. 8051单片机的P0口是________位的双向I/O口。
答案:83. 8051单片机的中断向量地址是固定的,其中外部中断0的中断向量地址是________。
答案:03H4. 8051单片机的定时器0和定时器1都可以被配置为________模式,用于计数外部事件。
答案:计数器5. 在8051单片机中,使用MOV指令可以实现寄存器之间的数据传输,例如MOV A, R0,表示将________的数据传送到________。
答案:R0寄存器;累加器A三、简答题(每题10分,共30分)1. 请简述单片机的中断系统的作用及其重要性。
答案:单片机的中断系统允许单片机在执行程序的过程中,对外部事件或内部条件做出快速响应。
中断系统的重要性在于它能够实现多任务处理,提高系统的实时性和效率。
2. 描述8051单片机的串行通信方式及其特点。
1.P3.0按键控制P1.0灯亮灭2.按键1数码管显示1,按键2数码管显示2,按键3数码管显示3,按键4数码管显示43.用两位数码管显示一个十进制数,变化范围为00-60,开始时显示00,按键S1每按下一次,数值加1;按键S2每按下一次,数值减1;按键S3每按下一次,数值归零。
4.矩阵键盘,数码管显示各个序号5.P3.0控制灯全亮,P3.1全灭。
中断口0控制流水灯向下,中断口1控制流水灯向上6.流水灯7.数码管显示1238.数码管三位分别从0显示到F9.数码管从0显示到999910.中断控制LED灯前四盏灭和后四盏亮11.中断口1控制l ed灯闪烁12.定时器0延时1S控制第一盏灯闪烁13.中断口0控制数码管从0到60显示14.按键KEY1进行调分、调时状态切换,进入调整状态时,时钟停止走动,这时按下按键KEY2可实现分、时的调整。
按键使用外部中断来产生。
15.串口初始化16.中断,定时总结1.P3.0按键控制P1.0灯亮灭#includ e<reg51.h>#d efine LED P1sbit Key=P3^0;//按键定义void Delayxms(unsigned int xms){ unsigned int i,j;for(i=xms;i>0;i--){for(j=110;j>0;j--);}}void main(){Key=1;whil e(1){if(Key==0){Delayxms(10);if(!Key){LED=~LED;}}}}2.按键1数码管显示1,按键2数码管显示2,按键3数码管显示3,按键4数码管显示4#includ e<reg51.h>#d efine LED P1unsigned char cod e led[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71}; sbit Key1=P3^0;sbit Key2=P3^1;sbit Key3=P3^2;sbit Key4=P3^3;void display(unsigned char num){P2=0xf0;P0=l ed[num];}void Delayxms(unsigned int xms){unsigned int i,j;for(i=xms;i<0;i--){for(j=110;j>0;j--);}}unsigned char Key_scan(){unsigned char KeyValue;P3 |=0xf0;if(Key1==0){Delayxms(10);if(!Key1){KeyValue=1;whil e(!Key1);}}if(Key2==0){Delayxms(10);if(!Key2){KeyValue=2;whil e(!Key2);}}if(Key3==0){Delayxms(10);if(!Key3){KeyValue=3;whil e(!Key3);}}if(Key4==0){Delayxms(10);if(!Key4){KeyValue=4;whil e(!Key4);}}return KeyValue;}void main(){whil e(1){display(Key_scan());}}3.用两位数码管显示一个十进制数,变化范围为00-60,开始时显示00,按键S1每按下一次,数值加1;按键S2每按下一次,数值减1;按键S3每按下一次,数值归零。
1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。
试编程实现。
ORG 0030H MOV R0,#inbuf MOV R1,#outbuf MOV R4,#10HLOOP:MOV A,@R0 ; 从内部RAM取数 CJNE A,#0DH,LL ;是否为回车符CRSJMP STOP ;是转停止传送 LL: MOVX @R1,A ;不是则传送到外部RAMINC R0 INC R1 DJNZ R4,LL;沒传送完则循环 STOP: SJMP $2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。
编程实现在表中找出最小数。
(3AH存放在运行程序时的最小的数)ORG 0030HMOV R0,#listMOV A,@R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,@R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,A SJMP $3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。
若X为正奇数,Z =X+Y;若X为正偶数,Z =X∨Y;若X为负奇数,Z =X∧Y;若X为负偶数,Z =X⊕Y。
分析:负数:第7位为1,正数:第7位为0 奇数:第0位为1,偶数:第0位为0 ORG 0000H MOV A,20H CLR C RL A JC FS ;移到负数处处理RR A RR A ;第0位移到C 再判定一下是不是1 JC ZJS ;到正奇数处MOV A,20H ORL A,21H MOV 22H,A SJMP OKZJS: MOV A,20H ADD A,21H MOV 22H,A SJMP OKFS: MOV A,20H CLR C RR A JC FJS ;第0位是1,移到正奇数处理MOV A,20H XRL A,21H MOV 22H,A SJMP OKFJS: MOV A,20H ANL A,21H MOV 22H,A OK: END4、把一个8位二进制数的各位用ASCII码表示之(亦即为“0”的位用30H表示,为“1”的位用31H表示)。
一填空题1. A T89S51单片机芯片共有 40 个引脚,MCS-51系列单片机为 8 位单片机。
2. AT89S51单片机有 2 级优先级中断。
3. AT89S51内部数据存储器的地址范围是 00H-7FH ,位地址空间的字节地址范围是20H-2FH ,对应的位地址范围是 00H-7FH ,外部数据存储器的最大可扩展容量是64k字节。
4. 单片机也可称为微控制器或嵌入式控制器。
5.当MCS-51执行MOVC A,@A+PC指令时,伴随着 PSEN 控制信号有效。
6. 当单片机复位时PSW= 00 H,当前的工作寄存器区是0区,R4所对应的存储单元地址为 04 H。
7. MCS-51系列单片机指令系统的寻址方式有寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址加变址、位寻址。
(相对寻址也可)8. 51系列单片机的典型芯片分别为AT89S51 、 8031 、 AT89C51 。
9. A T89S51的 p3 口为双功能口。
10. 由A T89S51组成的单片机系统在工作时EA引脚应该接地。
二选择题1.如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHD A, @ R1;结果(A)=(A)A.42HB.20HC.12HD.15H2. AT89S51复位后,PC与SP的值为分别为(B)A.0000H、00HB.0000H、07HC.FFFFH、00HD.0000H、FFH3. 堆栈数据的进出原则是(B)A.先进先出 B.先进后出 C.后进后出 D.进入不出4. 已知:R0=28H (28H)=46H,顺序执行下面三条指令后MOV A,#32H; MOV A,45H ; MOV A,@R0执行结果A的内容为( A )A.46HB.28HC.45HD.32H5. AT89S51单片机中,唯一一个用户不能直接使用的寄存器是(C).A. PSWB.DPTR C . PC D. B三判断题1.AT89S51单片机可执行指令:MOV 35H,@R3。
例 4.1(顺序结构)被加数存于片内RAM的32H、31H、30H 单元,加数存于片内RAM的35H、34H、33H单元相加之和存于片内RAM的32H、31H、30H单元,进位存于片内RAM 的00H单元。
程序如下:START: MOV R0, #30HMOV R1, #33HMOV A, @R0ADD A, @R1MOV @R0, AINC R0INC R1MOV A, @R0ADDC A, @R1MOV @R0, AINC R0INC R1MOV A, @R0ADDC A, @R1MOV @R0, ACLR AADDC A, #00HMOV 00H, ARET例 4.2(分支结构)假定在片外RAM的2000H、2001H、2002H 这3个连续单元中,2000H和2001H单元存放着两个无符号数。
要求找出两个无符号数中较大者,并存放于2002H单元。
程序如下:ORG 0100HSTART: CLR CMOV DPTR, #2000HMOVX A, @DPTRMOV R2, AINC DPTRMOVX A, @DPTRSUBB A, R2JNC LOOP1XCH A, R2LOOP0: INC DPTRMOVX @DPTR, ARETLOOP1: MOVX A, @DPTRSJMP LOOP0例4.5两个多字节数的减法。
设有2个n字节无符号数,分别存放在片内的ram单元中,低字节在前,高字节在后。
CLR CMOV R2,#NLOOP:MOV A,@R0SUBB A,@R1MOV @R0,AINC R0INC R1DJNZ R2,LOOPRET 例4.3(循环结构)将片内RAM的20H单元为起始地址的数据串(最长为32 Bytes),传送到外部RAM的2000H单元为首地址的区域,直到发现“$”字符的ASCⅡ码为止。
程序如下:START: MOV R0, #20HMOV DPTR, #2000HMOV R7, #32LOOP0: MOV A, @R0XRL A, #24HJZ LOOP1MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R7, LOOP0LOOP1: RET例4.7假设被乘数放在r6和r7中,乘数放在r4和r5中,求乘积放于40H~43H单元中,低字节在前。
单片机考试题及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是:A. CPUB. MCUC. ROMD. RAM答案:B2. 下列哪个不是单片机的组成部分?A. 中央处理器B. 存储器C. 输入/输出接口D. 显示器答案:D3. 8051单片机的内部RAM是:A. 128字节B. 256字节C. 512字节D. 1024字节答案:B4. 单片机的程序存储器通常使用的是:A. RAMB. ROMC. EPROMD. EEPROM答案:C5. 单片机的I/O口可以配置为:A. 只读B. 只写C. 推挽输出D. 开漏输出答案:D6. 下列哪个不是单片机的中断源?A. 定时器溢出B. 外部中断C. 串行通信D. 显示器答案:D7. 8051单片机的定时器/计数器的计数范围是:A. 0到255B. 0到511C. 0到1023D. 0到2047答案:A8. 单片机的看门狗定时器的主要作用是:A. 计时B. 计数C. 监视程序运行D. 控制I/O口答案:C9. 下列哪个不是单片机的常用编程语言?A. C语言B. 汇编语言C. Java语言D. C++语言答案:C10. 单片机的I/O口的模式设置通常包括:A. 推挽输出B. 开漏输出C. 上拉输入D. 以上都是答案:D二、填空题(每题2分,共20分)1. 单片机的CPU主要由______、______和______组成。
答案:算术逻辑单元、控制单元、寄存器组2. 单片机的______存储器用于存储程序代码。
答案:程序3. 8051单片机的定时器/计数器有______个。
答案:24. 单片机的中断优先级可以通过______寄存器来设置。
答案:IP5. 单片机的______模式可以减少功耗。
答案:睡眠6. 单片机的______接口允许单片机与外部设备进行数据交换。
答案:I/O7. 单片机的______寄存器用于存储程序计数器的值。
答案:PC8. 单片机的______功能可以防止程序死循环。
单片机考试试题及答案一、选择题(每题2分,共20分)1. 单片机中,CPU的主要功能是()。
A. 存储数据B. 处理数据C. 传输数据D. 显示数据答案:B2. 在8051单片机中,下列哪个寄存器是用于存储程序计数器的地址?A. SPB. PCC. DPTRD. ACC答案:B3. 下列哪项不是单片机的I/O接口?A. 定时器/计数器B. 串行通信接口C. 模数转换器D. 键盘答案:C4. 单片机的中断系统通常由哪两部分组成?A. 中断源和中断服务程序B. 中断向量表和中断服务程序C. 中断向量表和中断源D. 中断源和中断向量表答案:B5. 在8051单片机中,下列哪个指令用于将累加器的内容传送到外部数据存储器?A. MOVXB. MOVC. MOVCD. MUL答案:A二、填空题(每题2分,共20分)1. 单片机的______是单片机的核心部件,负责执行程序。
答案:CPU2. 8051单片机的定时器/计数器共有______个。
答案:23. 在8051单片机中,______指令用于将内部RAM的某个单元的内容传送到累加器。
答案:MOV4. 单片机的______接口用于实现单片机与外部设备的通信。
答案:串行通信5. 单片机的______功能允许它在执行当前任务的同时响应外部事件。
答案:中断三、简答题(每题10分,共30分)1. 请简述单片机的中断优先级是如何工作的?答案:单片机的中断优先级是指在多个中断请求同时发生时,单片机根据中断源的重要性来决定先响应哪一个中断请求。
通常,中断优先级由中断向量表中的地址顺序决定,优先级高的中断源对应的中断向量地址在表中靠前。
2. 描述单片机的I/O接口的作用。
答案:单片机的I/O接口是单片机与外部设备进行数据交换的通道。
它允许单片机接收外部设备的数据输入,并将处理后的数据输出到外部设备。
3. 简述单片机的定时器/计数器的作用。
答案:单片机的定时器/计数器用于提供精确的时间控制和事件计数。
单片机28例1、利用位操作法点亮第三盏灯。
#include <reg52.h>void main(){P2=0xbb;P0=0x99;while(1);}2、利用位操作法点亮第五盏灯。
#include <reg52.h>void main(){P2=0x00;P0=0x80;while(1);}3、利用位操作法点亮第六盏灯。
#include <reg52.h>void main(){P2=0xed;P0=0xb0;while(1);}4、利用位操作法点亮第八盏灯。
#include <reg52.h>void main(){P2=0xb2;P0=0x86;while(1);}5、利用位操作法点亮第一、三、六、八盏灯。
#include <reg52.h>sbit led0=P1^0;sbit led1=P1^1;sbit led2=P1^2;sbit led3=P1^3;sbit led4=P1^4;sbit led5=P1^5;sbit led6=P1^6;sbit led7=P1^7;void main(){led0=0;led1=0;led2=0;led3=0;led4=0;led5=0;led6=0;led7=0;}6、利用位操作法点亮第四、五、六、七盏灯。
#include <reg52.h>sbit led3=P1^3;sbit led4=P1^4;sbit led5=P1^5;sbit led6=P1^6;void main(){led3=0;led4=0;led5=0;led6=0;}7、利用位操作法点亮第一、三、五、八盏灯。
#include<reg52.h>#define uint unsigned intvoid delay1s(){uint i,j;for(i=300;i>0;i--)for(j=110;j>0;j--);}void main(){P2=0xfe;while(1){P0=0xc0;delay1s();P0=0xf9;delay1s();P0=0xa4;delay1s();P0=0xb0;delay1s();P0=0x99;delay1s();P0=0x92;delay1s();P0=0x82;delay1s();P0=0xf8;delay1s();P0=0x80;delay1s();P0=0x90;delay1s();}}8、利用位操作法点亮八盏灯。
单片机课堂练习题/例题总结习题和思考题一1、一个完整的单片微机芯片内至少有哪些部件?2、根据程序存储器的差别单片机可以分为那些类型?3、单片机的主要特性是什么?它适宜于构成一个通用微机系统还是专用微机系统?为什么?习题与思考题二1、8051单片机内包含哪些主要逻辑功能部件?2、MCS-51单片机结构上有哪些主要特点?习题和思考题三1、详细描绘MCS-51单片机的存储器配置图。
2、MCS-51单片机是通过哪些方法将程序存储器和数据存储器严格分开的?3、什么是单片机的特殊功能寄存器?8051/8052各有几个特殊功能寄存器?这些特殊功能寄存器占有的地址范围?4、MCS—51单片机有哪些可直接寻址的位?5、什么是堆栈?8031的堆栈区可以设在什么地方?一般应设在什么区域?如何实现?试举例说明。
习题和思考题四1、试根据P1口和P3口的结构特性,指出它们作为输入口或第二功能输入/输出的条件。
2、MCS-51中无ROM型单片机在应用中P2口和P0口能否直接作为输入/输出连接开关、指示灯之类的外围设备?为什么?3、画出MCS-51系列单片机进行系统扩展时的三总线结构图。
课堂练习一1、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行SETB RS1 指令,此时只能使用()区的工作寄存器。
A、0区B、1区C、2区D、3区2. 09H位所在的单元地址是()A.02H B.21H C.08H D.20H3.单片机在进行取指令操作时,指令的地址是由()的内容决定。
A.SP B.PC C.DPTR D.PSEN和ALE4. P1口作输入用途之前必须( )。
A.外接高电平B.外接上拉电阻C.相应端口先置0 D.相应端口先置15.程序计数器PC用来( )。
A.存放指令B.存放上一条的指令地址C.存放下一条的指令地址D.存放正在执行的指令地址思考题1. 数123可能是( )。
A. 二进制数B. 八进制数C. 十六进制数D.四进制数 E.十进制数2. 8031单片机内部RAM包括( ) 。
单片机考试题目及答案一、单项选择题(每题2分,共20分)1. 单片机中,以下哪个寄存器用于存储程序计数器(PC)的值?A. SPB. PCC. DPTRD. SCON答案:B2. 在8051单片机中,下列哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, R0答案:B3. 下列哪个指令是8051单片机的无条件跳转指令?A. SJMPB. CJNEC. DJNZD. JZ答案:A4. 在8051单片机中,以下哪个中断源的中断优先级最高?A. 外部中断0B. 定时器0中断C. 外部中断1D. 串行通讯中断答案:C5. 8051单片机的定时器/计数器工作在方式1时,其计数器的计数范围是多少?A. 0到255B. 0到65535C. 0到32767D. 0到65536答案:C6. 8051单片机中,哪个指令用于将累加器A的内容与立即数进行逻辑“或”操作?A. ORL A, #dataB. ORL A, directC. ORL A, @R0D. ORL direct, #data答案:A器R0的内容进行逻辑“与”操作?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:A8. 8051单片机中,哪个指令用于将累加器A的内容与直接地址中的数据进行逻辑“异或”操作?A. XRL A, #dataB. XRL A, directC. XRL direct, AD. XRL A, @R0答案:B器R0的内容进行逻辑“异或”操作?A. XRL A, R0B. XRL R0, AC. XRL A, #dataD. XRL direct, A答案:A10. 8051单片机中,哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑“与”操作后,结果存回R0?A. ANL A, R0B. ANL R0, AC. ANL A, #dataD. ANL direct, A答案:B二、填空题(每题2分,共20分)1. 8051单片机的内部RAM分为______和______两部分。
单片机 c语言例题单片机 C 语言例题在单片机教学中,C 语言的例题是帮助学生理解和掌握单片机编程的重要工具。
通过例题的学习,学生可以更好地理解C语言语法和单片机的工作原理。
本文将介绍几个单片机 C 语言例题,帮助读者更好地了解单片机的应用。
例题一:LED 灯的闪烁以下是一个简单的单片机 C 语言例题,通过控制单片机上的LED 灯,实现灯的闪烁效果。
```c#include <reg51.h> // 单片机头文件// 主函数void main() {while(1) { // 循环执行P1 = 0x00; // 将 P1 置为低电平(LED 灯熄灭)Delay(); // 延时P1 = 0xFF; // 将 P1 置为高电平(LED 灯亮)Delay(); // 延时}}// 延时函数void Delay() {int i, j;for(i = 0; i < 800; i++) { // 大约延时 1 秒for(j = 0; j < 1000; j++) {}}}```在上述例题中,我们使用了一个延时函数 `Delay()`,通过循环控制LED 灯的亮灭状态,实现了灯的闪烁效果。
通过修改延时循环,可以改变灯闪烁的频率。
例题二:数码管显示数字以下是另一个单片机 C 语言例题,通过控制单片机上的数码管,实现数字的显示效果。
```c#include <reg51.h> // 单片机头文件sbit LED = P2^0; // 数码管的引脚定义// 数码管显示数字函数void Display(int num) {switch (num) {case 0: LED = 0xFC; break; // 数字0显示case 1: LED = 0x60; break; // 数字1显示case 2: LED = 0xDA; break; // 数字2显示case 3: LED = 0xF2; break; // 数字3显示case 4: LED = 0x66; break; // 数字4显示case 5: LED = 0xB6; break; // 数字5显示case 6: LED = 0xBE; break; // 数字6显示case 7: LED = 0xE0; break; // 数字7显示case 8: LED = 0xFE; break; // 数字8显示case 9: LED = 0xF6; break; // 数字9显示default: LED = 0xFF; break; // 其他情况,不显示数字 }}// 主函数void main() {int num = 0; // 待显示的数字while(1) { // 循环执行Display(num); // 数码管显示数字num++; // 数字自增if (num > 9) { // 数字大于9后重置为0 num = 0;}Delay(); // 延时}}// 延时函数void Delay() {int i, j;for(i = 0; i < 800; i++) { // 大约延时 1 秒 for(j = 0; j < 1000; j++) {}}}```在上述例题中,我们通过控制数码管的引脚,并编写了一个显示数字的函数 `Display()`,通过循环控制数码管显示不同的数字,实现了数字的切换和显示效果。
单片机典型例题[例题] 指出下列指令的寻址方式MOV A,R1 ;A←(R1)寄存器寻址ADD A,#05H ; A←(A)+立即数05H 立即寻址MOV A,@R1 ; A ←((R1)) 寄存器间接寻址MOV 30H,4AH ; 30H ←(4AH)直接寻址MOVC A,@A+DPTR ;A←((A)+(DPTR)) 变址寻址SJMP LP ; PC←(PC)+ 2 + 偏移量相对寻址MOV C, 65H ; Cy ←(65H))位寻址【例】MOV DPTR,#1234H ;(DPTR)=1234H该指令也可以用两条8位数据传送指令实现:MOV DPH,#12H ;(DPH)=12HMOV DPL,#34H ;(DPL)=34H,(DPTR)=1234H例1:读下面程序,写出41H、42H单元内容MOV R0,#40HMOV R1,#41HMOV A,#11HMOV 40H,#32HMOV @R1,AMOV 42H ,@R0解:(41H)=11H,(42H)=32H例2:将片内RAM中30H~3FH单元的内容复制到50H~5FH单元中。
MOV R0,#30H ;30h →R0MOV R1,#50H ;50h →R1MOV R7,#10H ;10h →R7LOOP:MOV A,@R0 ;( (R0 )) →AMOV @R1,A ;A →(R1 )INC R0 ;(R0 )+1 →R0INC R1 ;(R1 )+1 →R1DJNZ R7,LOOP ;R7内容不为零转LOOPRET例1 :已知外部RAM的88H单元有一个数x,试编程将x送外部RAM的1818H单元。
【解】:外部RAM中的数据是不能直接传送的,因此必须使用两次MOVX 指令完成此操作。
ORG 2000HMOV R0,#88H ;为8位指针赋值MOVX A,@R0 ;取x 到累加器AMOV DPTR,#1818H ;为16位指针赋值MOVX @DPTR,A ;x 送RAM的1818h单元已知RAM50h单元有一个0~9的数,试编程将它变成相应的ASCII码。
单片机考试题目及答案单片机原理与应用考试题目一、选择题(每题2分,共20分)1. 单片机的核心部件是()。
A. 微处理器B. 存储器C. 定时器D. I/O接口2. 下列哪种设备不属于单片机的外围设备?A. 显示器B. 键盘C. 鼠标D. CPU3. 在单片机中,堆栈的作用是()。
A. 存储程序代码B. 存储数据C. 保存函数调用的返回地址D. 存储操作系统4. 单片机的I/O端口通常具有()功能。
A. 仅输入B. 仅输出C. 输入/输出D. 仅定时器5. 下列哪种单片机是51系列单片机?A. 8051B. 8052C. 8031D. 80486. 在单片机程序设计中,通常使用()语言编写程序。
A. 机器语言B. 汇编语言C. 高级语言D. 网络语言7. 单片机的定时器/计数器可以用来()。
A. 计数外部事件B. 生成时间延迟C. 产生音乐D. 所有以上功能8. 串行通信与并行通信相比,其主要优点是()。
A. 速度快B. 传输距离远C. 抗干扰能力强D. 线路简单9. 在单片机系统中,EEPROM是指()。
A. 电可擦除只读存储器B. 电子擦除可编程只读存储器C. 电子擦除可编程可擦写存储器D. 电可擦除可编程可擦写存储器10. 下列哪种中断源在单片机中是可屏蔽的?A. 外部中断0B. 外部中断1C. 定时器0中断D. 串行口中断二、填空题(每题2分,共20分)1. 单片机中的______是指具有微处理器、存储器、I/O接口以及其他功能模块集成在同一芯片上的微型计算机。
2. 在51单片机中,P1、P2、P3分别是______、______、______端口。
3. 单片机的程序存储器通常采用______型存储器。
4. 单片机中,______的作用是在程序执行过程中为子程序调用提供返回地址。
5. 单片机的串行通信接口可以实现______位数据的串行传输。
6. 在单片机中,______是指在程序执行过程中,由于外部事件或内部条件触发而中断当前程序执行的过程。
单片机习题库含答案一、单选题(共107题,每题1分,共107分)1.AT89C1051单片机的字长是()位。
A、4B、8C、16D、32正确答案:B2.8051单片机的串行接口具有()种工作方式。
A、2B、1C、4D、3正确答案:C3.AT89C51单片机是()位机。
A、4B、8C、16D、32正确答案:B4.十进制数127其对应的无符号十六进制可表示为()。
A、7EB、(B)7FC、(C)80D、81H正确答案:B5.AT89C1051单片机的字长是()位。
A、4B、8C、16D、32正确答案:B6.MCS-51单片机复位后堆栈指针SP=()。
A、07B、0FC、7FD、0FFH正确答案:A7.单片机上电后或复位后,工作寄存器R7是在内部RAM的()。
A、07H单元B、0FH单元C、17H单元D、1FH单元正确答案:A8.累加器A的内容是23H,执行SWAPA指令后累加器的内容变为()。
A、02HB、03C、32D、13H正确答案:C9.8031单片机的堆栈位于()中。
A、内部RAMB、外部RAMC、程序存储器D、特殊功能寄存器正确答案:A10.AT89C51单片机有()个中断优先级。
A、4B、3C、2D、1正确答案:C11.下列指令中有错误的是()。
A、CLRB、MOVXC、(C)MOVD、JE、TF0,LOOP正确答案:A12.MCS-51单片机的RS1,RS0=11时,当前寄存器R0~R7占用内部RAM()单元。
A、00H—07B、(B)08H—0FC、(C)10H—17D、18H—1FH正确答案:D13.MCS-51系列单片机的堆栈指针SP始终是指示()。
A、堆栈大小B、堆栈长度C、堆栈底部单元的地址D、堆栈顶部单元的地址正确答案:D14.下列操作系统中属于嵌入式操作系统的是()。
A、DOSB、WindowsC、WindowsD、EE、Windows正确答案:C15.8051单片机有()个中断源。
四、程序分析题1、已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后:ANL A ,#17HORL 17H ,AXRL A ,@R0CPL A问:(A)= CBH ,(R0)= 17H ,(17H)= 37H 。
2、已知(10H)=5AH,(2EH)=1FH,(40H)=2EH,(60H)=3DH ,执行下列程序段后:MOV 20H ,60HMOV R1 ,20HMOV A ,40HXCH A ,R1XCH A ,60HXCH A ,@R1MOV R0 ,#10HXCHD A ,@R0问:(A)= 5AH (10H)=1FH (2EH)= 3DH(40H)= 2EH (60H)= 3DH 3、执行下列程序段:MOV A ,#00HMOV R7 ,#0FFHMOV PSW, #80HADDC A ,R7问:(CY )= 1 (AC )= 1(P)= 0(ACC)= 00H (R7 )= 0FFH4、写出执行每条指令后的结果。
MOV A,#25HCLR A; (A)=00HCPL A; (A)=0DAH5、写出下列指令执行后的结果。
MOV A,#37HMOV R0,#20HMOV @R0,AANL A,#0FH(A)=__07H___ (R0)=__ 20H __ (20H)=__37H __6、执行如下三条指令后,30H单元的内容是___0EHMOV R1,#30HMOV 40H,#0EHMOV ﹫R1,40H7、请分析下面程序执行后的操作结果,(A)=__40H_ ,(R0)=__60H_。
MOV A,#60HMOV R0,#40HMOV @R0 ,AMOV 41H,R0XCH A,R08、已知:(R0)=00H,写出执行指令后的结果。
ORG 0000HMOV A,R0JZ L1MOV R1,#00HAJMP L2L1: MOV R1,#0FFHL2: SJMP L2END执行完整段程序后,(A)= __00H __ (R1)= __0FFH __。
单片机考试题目及答案一、选择题(每题2分,共20分)1. 单片机的英文缩写是()。
A. CPUB. MCUC. RAMD. ROM2. 下列哪个不是51单片机的内部存储器类型?()A. ROMB. RAMC. EPROMD. EEPROM3. 单片机的I/O口在默认情况下是()。
A. 推挽输出B. 开漏输出C. 高阻态D. 悬浮态4. 单片机的中断系统具有()个优先级。
A. 1B. 2C. 3D. 45. 单片机的定时器/计数器可以用于()。
A. 定时B. 计数C. 脉冲宽度测量D. 所有以上6. 下列哪个指令不是51单片机的指令类型?()。
A. MOVB. ADDC. JUMPD. CALL7. 51单片机的外部中断INT0和INT1的触发方式分别是()。
A. 电平触发,边沿触发B. 边沿触发,电平触发C. 边沿触发,边沿触发D. 电平触发,电平触发8. 下列哪个不是单片机的串行通信协议?()。
A. UARTB. SPIC. I2CD. USB9. 单片机的看门狗定时器主要功能是()。
A. 定时复位B. 定时唤醒C. 定时计数D. 定时中断10. 51单片机的定时器0和定时器1的计数方式分别是()。
A. 8位计数器,16位计数器B. 13位计数器,16位计数器C. 16位计数器,8位计数器D. 13位计数器,13位计数器答案:1. B 2. D 3. C 4. B 5. D 6. C 7. A 8. D 9. A 10. A二、填空题(每题2分,共10分)1. 单片机的最小系统包括_____、_____和_____。
答案:时钟电路,复位电路,电源电路2. 51单片机的P0口作为I/O口使用时,需要外接_____。
答案:上拉电阻3. 单片机的中断服务程序结束后,需要通过_____指令返回。
答案:RETI4. 单片机的I2C通信协议中,主设备通过_____来控制从设备。
答案:时钟信号5. 单片机的看门狗定时器如果未在预定时间内重置,将会导致_____。
定时/计数器应用1
本题要求:AT89C51单片机扩展16KB外部程序存储器,目代码存放于外部存储器中,P1.0口接一个发光二极管,编写程序,控制发光二极管闪烁,时间间隔1s,采用AT89C51内部定时器计时。
基础知识:关于内部计数器的编程,主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本题目使用的是定时器,定时1s。
CPU运行定时中断方式,实现每1s输出状态发生一次反转,即发光管每隔1s亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD 用于设置定时器/计数器的工作方式0~3,并确定用于定时还是计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器振荡周期。
本题中单片机晶振采用12MHz,定时/计数器工作于方式2(8位自动重装方式)定时器,定时器100微妙中断一次,所以定时常数的设置可按以下方法计算:
机器周期=12/12MHz=1μs
(256−定时常数)×1μs=100μs
定时常数=156。
然后对100微妙中断次数计数10000次,就是1s。
在本题的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完成之后再打开相应的中断。
在Proteus ISIS编辑环境中按表1所列的元件清单添加元件,并在Proteus ISIS 的编辑区域中按图1所示的原理图连接硬件电路。
表1 元件清单
元件名称所属类所属子类
AT89C51 Microprocessor ICs 8051 Family
CAP Capacitors Generic
CAP-POL Capacitors Generic
CRYSTAL Miscellaneous
RES Resistors Generic
BUTTON Switches & Relays Switches
LED-YELLOW Optoelectronics LEDs
NOT Simulator Primitives Gates
图1 电路原理图
1、程序流程
主程序
定时器中断服务程序
2、源程序
定时/计数器应用2
本题要求:用AT89C51单片机的定时/计数器T0产生2s的定时时间,每当2s定时到来,更换指示灯闪亮,每个指示灯闪亮的时间为0.2s。
即,开始D1指示灯闪亮0.2s,当2s定时到来之后,D2开始闪亮0.2s,如此循环,0.2s的闪亮时间也由定时/计数器T0来完成。
扩展32KB外部程序存储器,目代码存放于外部存储器中。
基础知识:AT89C51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。
只要通过设置特殊功能寄存器TMOD,即可完成。
定时/计数器的启动时间也是通过软件设定TCON寄存器来完成的。
本题目中选择16位定时工作方式,对于T0来说,最大定时65536μs,即65.536ms,无法达到所需的2s定时,须通过软件来处理这个问题。
若取T0的最大定时为50ms,即要定时1s需经过40次的50ms的定时。
对于这40次可以采用软件方法来统计。
因此,设定TMOD=00000001B,即TMOD=01H。
要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算
⁄
TH0=(2 −50000)256
TL0=(2 −50000) MOD 256
定时2s,采用16位定时50ms,共定时40次才可达到2s,每50ms产生一次中断,定时的40次数在中断服务程序中完成,同样,对于0.2s的定时,需要4次中断才可达到0.2s。
由于每次2s定时完成时,D1~D4要交替闪亮。
采用ID 号来识别,当ID=0时,D1闪亮;当ID=1时,D2在闪亮;当ID=2时,D3闪亮;当ID=3时,D4闪亮。
在Proteus ISIS编辑环境中按表1所列的元件清单添加元件,并在Proteus ISIS 的编辑区域中按图1所示的原理图连接硬件电路。
表1 元件清单
元件名称所属类所属子类
AT89C51 Microprocessor ICs 8051 Family
CAP Capacitors Generic
CAP-ELEC Capacitors Generic
CRYSTAL Miscellaneous
RES Resistors Generic LED-YELLOW Optoelectronics LEDs
图1 电路原理图
1、程序流程
2、源程序
定时/计数器应用3
本题要求:用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。
扩展32KB外部程序存储器,目代码存放于外部存储器中。
基础知识:AT89C51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。
只要通过设置特殊功能寄存器TMOD,即可完成。
定时/计数器的启动时间也是通过软件设定TCON寄存器来完成的。
本题目中选择16位定时工作方式,对于T0来说,最大定时65536μs,即65.536ms,无法达到所需的1s定时,须通过软件来处理这个问题。
若取T0的最大定时为50ms,即要定时1s需经过20次的50ms的定时。
对于这20次可以采用软件方法来统计。
因此,设定TMOD=00000001B,即TMOD=01H。
要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算
⁄
TH0=(2 −50000)256
TL0=(2 −50000) MOD 256
一、硬件设计
在Proteus ISIS编辑环境中按表3所列的元件清单添加元件,并在Proteus ISIS 的编辑区域中按图3所示的原理图连接硬件电路。
表3 元件清单
元件名称所属类所属子类
AT89C51 Microprocessor ICs 8051 Family
CAP Capacitors Generic
CAP-ELEC Capacitors Generic
CRYSTAL Miscellaneous
RES Resistors Generic 7SEG-COM-CAT-GRN Optoelectronics 7-Segment Displays PULLUP Modelling Primitives Digital [Miscellaneous]
图3 电路原理图
二、程序设计
1、程序流程
2、源程序
PWM输出控制
本题要求:用电位器调节AT89C51的PWM输出占空比,将A/D转换后的数据作为延时常数。
当电位器阻值发生变化时,ADC0808输出的值发生相应变化,进而调节单片机输出的PWM占空比。
基础知识:PWM是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比变成电压。
程序中通过调整占空比来调节输出模拟电压。
占空比是指脉冲中高电平与低电平的宽度比。
一、硬件设计
在Proteus ISIS编辑环境,按表1所列的元件清单添加元件。
按原理图连接硬件电路(包括晶振和复位电路)
表1 元件清单
元件名称所属类所属子类
AT89C51 Microprocessor ICs 8051 Family
CAP Capacitors Generic
CAP-ELEC Capacitors Generic
CRYSTAL Miscellaneous —
RES Resistors Generic
POT-HG Resistors Variable
ADC0808 Data Converters A/D Converters
二、程序设计 1、程序流程
2、源程序
1、单片机概述
1.1 8051单片机简介
1.2 8051引脚介绍
1.3 8051单片机定时/计数器
2、硬件设计
2.1 8051单片机振荡电路2.2 8051单片机复位电路
2.3 “题目要求的电路设计”
3、软件设计
3.1 程序流程图
3.2 源程序
4、设计结果
4.1 电路原理图
4.2 程序运行结果图
参考文献。