河北科技师范学院单片机必考题_第1页
河北科技师范学院单片机必考题_第2页
河北科技师范学院单片机必考题_第3页
河北科技师范学院单片机必考题_第4页
河北科技师范学院单片机必考题_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、数据通信的两种常用形式:并行通信和串行通信2、按照传输数据流向,串行通信具有3种传输形式:单工,半双工,全双工3、波特率:每秒发送二进制数码的位数,即bps (位/秒)4、串行通信的收发双方必须采用相同的波特率。5、串行通信基本通信方式可分为:异步通信和同步通信6、51内部有1个可编程的全双工串行通信接口,可作为通用异步接收/发送器(UART),也可作为同步移位寄存器。有4种工作方式 串口的方式1为10位数据异步通讯方式1、80C51中包含有2个16位计数器,4个8位并行I/O口(P0P3),1个串口,5个中断源,2级中断(高优先级和低优先级)2、80C51的CPU包括控制器和运算器 3、

2、80C51运算器包括ALU,ACC,PSW4、80C51控制器包括指令寄存器、指令译码器、定时控制、程序地址寄存器、缓冲器、PC,PC+1,DPTR5、控制器的用途:统一指挥和控制各单元协调工作6、控制器的任务:从ROM中取出指令译码执行指令7、运算器的用途:对数据进行算术运算和逻辑操作8、运算器的任务:计算缓存器内容结果暂存修改运行标志9、程序计数器(Program CounterPC)16位寄存器10、数据指针寄存器(Data Pointer DPTR)16位寄存器可拆为2个8位的独立寄存器DPL和DPH11、累加器(A或ACC)存放操作数或中间运算结果的寄存器,8位寄存器12、程序状态字

3、寄存器(PSW)8位寄存器,包括CY(PSW.7)进位/借位标志位,AC(PSW.6)辅助进位标志、RS1(PSW.4)和RS0(PSW.3)工作寄存器组指针,OV(PSW.2) 溢出标志,P(PSW.0) 奇偶标志位 13、 RST为复位引脚 14、单片机最小系统中EA接高电平15、51单片机存储器采用的是哈佛结构,共有4个物理存储空间:片内RAM、片内ROM、片外RAM、片外ROM, 16、中断程序执行过程:某一突发事件相应中断入口地址自动装入PC引导两次跳转执行相应中断服务程序 17、片内数据存储器(RAM):分为工作寄存器区(00H1FH)、位寻址区(20H2FH)、用户RAM区(30

4、H7FH)、特殊功能寄存器区SFR(80HFFH)18、工作寄存器区分为4组,第0 第3组。CPU只能选一组为当前工作寄存器组。当前工作寄存器组取决于PSW的设置。PSW中的RS1和 RS0为00时选择第0组为当前工作寄存器组,为01时选择第1组为当前工作寄存器组,为10时选择第2组为当前工作寄存器组,为11时选择第3组为当前工作寄存器组。19、SFR承担着51单片机内部资源的管理工作20、字节地址末位是0或8的SFR,都具有位地址。21、单片机复位后各寄存器的值:SP为07H,P0P3为FFH,其余基本为022、单片机的时钟度量单位:时钟周期(或节拍)P、状态周期S、机器周期、指令周期51单

5、片机内: 1个状态周期(S)= 2个节拍(P)1个机器周期 = 6个状态(S) =12个节拍(P) 1个指令周期约为1,2,4个机器周期23、完成一个基本操作所需要的时间称为机器周期 24、CPU执行一条指令的时间称为指令周期26、51单片机有32只I/O引脚,分属于4个端口(P0P3),可作为并行I/O输入通道,可作为并行I/O输出通道,可作为串行通信通道, 可作为外部设备的连接通道1、PSW中RS1RS0为10标明设定当前通用寄存器的组号为_2_。2、51单片机的片内存储器由_程序存储器ROM _和_数据存储器RAM _两部分构成。3、I/O 接口有串行和_并_行两种。12、字符型液晶显示

6、器LCD1602一屏可以显示32 个字符。5、对于12MHz的51单片机,1个机器周期_1u _s 6、51单片机复位后 (SP)= _07_H7、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV为_0_、CY为_1_、AC为_1_、P为_1_。 8、51单片机中定时/计数器有4种工作方式9、KeiL C51软件中编译连接后生成可烧写的文件扩展名是hex10、8051单片机堆栈遵循数据 先进后出的原则11、8051单片机有  5   个中断源,分成 2   个优先级。13、已知变量a和b的初

7、值分别为10和5,则!a的值为_0_,a|b的值为1,!a&&b的值为0 1、单片机内包含组成微机的三个主要功能部件是CPU、存储器和 _I/O_。 2、MCS-51系列单片机字长是 8 位 3、已知变量a和b的初值分别为35和12,则a的值为 0xDC ,ab的值为 0x2F_,a%b的值为 0x0B 。(结果用十六进制表示) 4、MCS-51单片机指令ANL A,20H中源操作数的寻址方式是_ 直接寻址 _。 5、串行通信根据通信的数据格式分有两种方式,分别是_同步 和 异步 。6、MCU的接口方式(或数据传送方式)可分为_串行 和 并行 _两种。7、PSW中CY是_进位/

8、借位_标志位, OV是_溢出_标志位,P是_奇偶_标志位。8、中断的处理过程为_中断请求_,_中断响应_ ,中断服务,_中断返回_。 4、51单片机状态周期为节拍周期的_2_倍。10、51单片机机器周期为状态周期的_6_倍。9、数码管可分为 共阳 和 共阴 两大类。11、8051单片机的汇编语言源程序的扩展名为  asm或A51   。1、单片机将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统2、单片机发展趋势:高集成度、高性能、低功耗、高性价比 3、51单片机是8位的4、实验中单片机仿真软件为Proteus 5、实验中单片机软件开发

9、环境为Keil6、汇编语言保存的后缀名为.asm或.a51, C51保存的后缀名为.c或.c5127、作为通用I/O口方式时,4组口中只有P0口需要外接上拉电阻。其他口都无需接上拉电阻。28、51单片机采用哈佛结构存储器,共有3个逻辑存储空间和4个物理存储空间。片内低128字节RAM中包含4个工作寄存器组、128个位地址单元和80个字节地址单元。片内高128字节RAM中离散分布有21个特殊功能寄存器。29、在需要扩展片外设备时,P2口可作为其地址线接口高8位,P0口可作为其地址线/数据线复用接口,地址线的低8位,此时它是真正的双向口。 1、汇编语言用助记符代替操作码,用地址符号代替地址码的一种

10、面向机器的程序设计语言;2、汇编语言特点:代码精炼、执行速度快,但不便于编写较复杂的程序。3、指令CPU用于指挥功能部件完成某一指定动作的指示和命令。4、指令系统计算机中全部指令的集合5、51单片机共有111条指令,按功能可划分为四大类:数据传送与交换类、算术运算类、 逻辑运算类、转移控制类6、MOV用于访问片内RAM的传送指令 7、MOVX用于访问片外RAM 8、MOVC用于访问程序存储器9、SWAP用于A内半字节交换 10、PUSH和POP用于堆栈操作,PUSH入栈操作,POP出栈操作21、CPU取得操作数的方法称为寻址方法 22、寻址方式越多,单片机的功能就越强;23、51单片机共有七种

11、寻址方式。掌握:直接寻址、寄存器寻址、寄存器间接寻址、立即寻址,如:MOV A,#07h ,源操作数的寻址方式为:_立即寻址_24、指令中包含direct形式操作数的寻址方式称为直接寻址25、指令中包含通用寄存器形式操作数的寻址方式称为寄存器寻址 R0-R726、指令中包含“间址寄存器”形式操作数的寻址方式称为寄存器间接寻址 R0-R1 27、指令中包含#data或#data16形式操作数的寻址方式称为立即寻址28、例:试分析并指出以下程序段运行后,21H单元的结果如何?MOV R1, #35H MOV A ,R1 MOV 21H,A;21H单元的结果为#35H29、 伪指令属于非执行指令,用

12、于对汇编过程提供必要辅助信息,汇编后不会产生机器码。30、 标准C中字符型char分成了两类,其中unsigned char 为无符号字符型,单字节,最大为255,signed char 为有符号字符型,单字节,值域为-128+12831、 整形(int)分为unsigned int 和signed int,为双字节,其中unsigned int能表示的最大值为6553532、 C51扩充的数据类型:bit,sfr,sfr16,sbit33、 中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。34、中断源:中断管

13、理系统能够处理的突发事件;1、2个16位计数器T0 (TH0、TL0)和T1 (TH1、TL1)加1计数器2、2个8位控制寄存器TCON和TMOD管理计数器的运行7、方式1:16位定时/计数器,最大计数65536个脉冲,最大定时时间65.536ms。8、方式2:8位定时/计数器,最大计数256个脉冲,最大定时时间为256s。9、方式1: 计数值 n=65536-初值X 定时时间 t = n*12/fosc X高8位赋给TH0/1,低8位赋给TL0/1方式2: 计数值 n=256-初值X 定时时间 t = n*12/fosc TH0=X,TL0=X串行数据: 一帧信息 = 1个起始位(0)+8位

14、数据位+1个停止位(1)初始化步骤:设置TMOD,采用T1方式2,即自动重装载模式;设置T1的定时初值装载TH1和TL1;启动T1;设置串行口工作的控制寄存器SCON;设置PCON中的SMOD;采用中断时,启动中断编程IE寄存器。2、采用静态显示的方法显示小数,在原来段码表的基础上,共阳数码管:段码&0x7F,共阴数码管:段码 |0x80。2、数码管动态扫描显示需要由两组信号来控制:一组是用来控制显示的字形,称为段码;另一组用来控制第几位数码管选通,称为位码。1、中断服务程序的最后一条指令必须是( C、RETI )。2、单片机的堆栈指针SP始终是(   B、指示堆栈

15、顶)   3、设累加器A的内容为0 C 9 H,寄存器R2的内容为54H,C Y=1,执行指令SUBB  A,R2后结果为(  A、(A)=74H )4、对程序存储区数据传送,应采用助记符为 C、MOVC)5、单片机复位后,SP、PC、I/O口的内容为C、SP = 07H PC = 0000H P0 = P1 = P2 = P3 = FFH)6、8051单片机共有(B、5 )中断源      7、在进行串行通信时,若两机的发送

16、与接收可以同时进行,则称为( C 全双工传送  )。8、定时器T0的溢出标志为TF0,采用查询方式,若查询到有溢出时,该标志( B、 由硬件自动清零 )。10、MCS51单片机在同一级别里除INT0外,级别最高的中断源是( B、定时器T0 )。1、 51单片机的数据与程序分别存放,分别寻址的方式称为( A、哈佛结构 )2、51单片机指令周期为机器周期的( C、若干倍 )倍。3、51单片机有111条指令,按其长度分以下不属于其中的为( D、四字节指令 )4、单片机复位后P0为( B、FFH )5、下列不属于80C51指令系统的为( D、转换指令) 6、数据

17、寄存器指针DPTR是一个(B、16)位的寄存器7、带进位加法指令助记符为(B、ADDC)。8、MCS51单片机串行口接收数据的次序是下述的顺序( B、(4)(1)(2)(3) )(1)接收完一帧数据后,硬件自动将SCON的R1置1 (2)用软件将RI清零(3)接收到的数据由SBUF读出(4)置SCON的REN为1,外部数据由RXD输入9、C语言提供的合法的数据类型关键字是 【D】  D、Char10、使用宏来访问绝对地址时,一般需包含的库文件是A、reg51.h    mov a,#20h mov a,#20 ()6、每个特

18、殊功能寄存器都既有字节地址,又有位地址×mov a,#10000101b () mov a,#10000101 (×)MOV A,#FEH (×) MOV A,#0AF(×) MOV A, #FEH × MUL AB() MUL BA(X) MOV A,#18H MOV A,#12 PUSH A( × )DIV A B (X) DIV A,B (X) 1、MOV A,#00101111B3、sbit不可以用于定义内部RAM的可位寻址区,只能用在可位寻址的SFR上。×4、8051单片机对最高优先权的中断响应是无条件的×

19、;   5、MOV A,R0这条指令中R0的寻址方式称之为寄存器间址寻址 7、矩阵键盘键号为4所对应的键值为0xed8、程序计数器PC总是指向正在执行的指令地址。×9、加法指令将影响进位标志位C,而减法指令将不影响进位标志位C。(×)10、作算术运算时,若有进位则一定有溢出。×4、内部寄存器Rn(n=0-7)作为间接寻址寄存器。× 5、51单片机只能做控制用,不能完成算术运算。× 6、矩阵键盘键号为3所对应的键值为0x7e。 7、在MCS-51系统中,一个机器周期固定等于1.5us×51单片机指令操作数的

20、寻址方式主要有5种方式×9、指令中直接给出的操作数称为直接寻址× 10、DPTR可以分为2个8位寄存器使用,但PC不能 1、画出51单片机的最小系统电路。 2、定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关? 定时器/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增1,因此,定时器/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的1/2。五、综合应用题(共4题,共40分)1、 两个双字节无符号数,分别存放在R3R4,R5R6中,高字节在前,低字节在后。编程使两数相加,和数存放在21H,22H,23H

21、单元。(8分) 1、 ORG 0000HLJMP MAINORG 0030HMAIN: MOV A, R4 CLR C ADD A, R6 MOV 21H, A MOV A, R3ADDC A, R5 MOV 22H, A CLR A ADDC A, #00H MOV 23H , A END2、 利用外中断1实现按键计数,在P0口用2位LED显示二进制计数值0099。已知共阳数码管09的段码值依次为0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90。要求画出电路结构图,写出完整程序。 (12分) #include <reg52.h>

22、#define uchar unsigned charuchar code LED_tab10= 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90 ; uchar count;void delay(t) uchar i; for(;t>0;t-) for(i=0;i<120;i+); /延时约1ms void ini_INT() IE=0x81; /相当于EA=1;EX0=1; EX1=1; IT1=1; /外中断下降沿触发 void exint0() interrupt 2count+; if (count>99)coun

23、t=0; main() ini_INT(); while(1) P2 = 1;P0 = LED_tabcount/10; delay(2);/取十位显示 P2 = 2;P0 = LED_tabcount%10; delay(2);/取个位显示 3、 编写程序,定时器T1采用方式1定时,在P1.0输出周期为400s,占空比为1:2的矩形脉冲。已知单片机为12MHz晶振。(12分) #include<reg52.h>#define uchar unsigned charsbit P10=P10;(1分)uchar Count;uchar High=1; /控制高电平时间uchar Cy

24、cle=2; /控制周期/*T0的初始化*/void Timer0_init()TMOD = 0x10; /定时器0,方式2EA=1;ET1=1; /开总中断和定时器1中断;TH1 =65336/256;TL1 =65336%256 /设置定时初值,TR1 = 1; /开启定时器T0 /*T0中断函数*/void Timer0() interrupt 3TH1 =65336/256;TL1 =65336%256;Count+;if(Count=High) P10 =0; /控制高电平时间if(Count=Cycle) P10 =1; Count=0; /控制周期时间 *主函数*/void ma

25、in() Timer0_init();while(1);4、 编写初始化函数,串口通信工作于方式1,波特率4800bps,允许接收数据的串口通信。频率11.0592MHz,初值为FAH。(8分) void ini()TMOD=0x20; /T1的方式2TH1=0xfa;(1分)TL1=0xfa; /T1初值TR1=1; /启动T1SCON=0x50; /串口工作方式1,允许接收PCON=0x00; /SMOD=0EA=1; ES=1; /开中断14、运算题例1:设(A)=45H,(R0)=20H,(20H)=0ADH,执行指令: ADD A, R0 01000101 +10101101 111

26、10010结果:(A)=F2H,CY=0,AC=1,OV=0,P=1。例2:设(A)=85H,(20H)=0FFH,CY=1,执行指令;ADDC A,20H 10000101 11111111 + 1 110000101结果:(A)=85H,CY=1,AC=1,OV=0,P=1。例3:设(A)=76H,立即数为C5H,CY=0,执行指令: SUBBA,#0C5H0111011011000101 - 010110001结果:(A)=0B1H, CY=1,AC=0, OV=1,P=020、编写延时大约50ms子程序(设系统采用12MHz晶振)。 分析:12MHz晶振时对应的机器周期为1s。指令DJ

27、NZ需要占用机时为2s,子程序的总延时量应大约为:2×125×200=50msORG 0000H LJMP DEL50:ORG 0030HDEL50: MOV R7,#200DEL1: MOV R6,#125DEL2: DJNZ R6,DEL2 ;循环125次 DJNZ R7,DEL1 ;循环200次 END28、例:试分析并指出以下程序段运行后,21H单元的结果如何?MOV R1, #35HMOV A ,R1 MOV 21H,A;21H单元的结果为#35H1、 C51中的延时:毫秒级带参数的延迟void delay(unsigned int t ) unsigned in

28、t i; for(;t>0;t-) for(i=0;i<124;i+); 2、 中断函数的定义void 中断函数名()interrupt 中断号 using n声明部分执行语句1)中断函数无返回值,数据类型以void表示,也可以省略。2)中断函数名为标识符,一般以中断名称表示,力求简明易懂,如timer0。 3)()为函数标志,interrupt 为中断函数的关键字。 4)中断号为该中断在IE寄存器的使能位位置,如外部中断0的中断号为 0,定时/计数器0的中断号为 1,外部中断1的中断号为 2,定时/计数器1的中断号为 3,串行口中断号为 4。1、 例:如图所示电路,利用外中断编程

29、,实现按一下K1点亮LED,按一下K2熄灭LED。#include<reg52.h>sbit LED=P17; /定义LED控制端ini_INT() IE=0x85; /相当于EA=1;EX0=1; EX1=1; IT0=0; IT1=0; IP=0x05; void exint0() interrupt 0 using 1 LED=0; void exint1() interrupt 2 using 1 LED=1; main() ini_INT(); while(1); 5、实例1 设单片机的fosc=12MHz,采用T1定时方式1在P2.0脚上输出周期为2ms的方波。分析:周

30、期为2ms的方波由2个半周期为1ms的正负脉冲组成方波输出原理:定时1ms后将端口输出电平取反。1ms定时的计数初值应为:a = 65536 t* fos / 12 = 65536 1000* 12/ 12 = 64536TH1 = 64536/256 TL1 =64536%256程序:#include <reg51.h>sbit P2_0=P20; void ini_t1()TMOD = 0x10; /T1定时方式1TH1 = 64536/256;/装载计数初值 TL1 = 64536%256; EA=1; /开总中断 ET1=1; /开T1中断 TR1=1; /启动T1time

31、r1 () interrupt 3 /T1中断函数 P2_0 = !P2_0; /P2.0取反 TH1 = 64536/256; /装载计数初值 TL1 =64536%256; main()ini_t1();while(1);6、例:利用定时/计数器T1的方式2对外部信号计数。要求每计满5个数,将P1.0引脚信号取反。初值:x=256-n=256-5=251程序:#include<reg51.h>sbitpulse_out=P10;/*定义脉冲输出位*/ t1_ini() TMOD=0x60;/* T1定时方式2*/TH1=251;/*装入计数初值*/TL1=251;ET1=1;/

32、*T1开中断*/EA=1;/*开总中断*/TR1=1;/*启动定时器T1*/void t1_int() interrupt 3pulse_out=!pulse_out;/*取反脉冲输出位*/main() t1_ini();while(1);/*等待中断*/7、方式1:16位定时/计数器,最大计数65536个脉冲,最大定时时间65.536ms。8、方式2:8位定时/计数器,最大计数256个脉冲,最大定时时间为256s。9、方式1: 计数值 n=65536-初值X 定时时间 t = n*12/fosc X高8位赋给TH0/1,低8位赋给TL0/1方式2: 计数值 n=256-初值X 定时时间 t

33、= n*12/fosc TH0=X,TL0=X12、例:串口通信工作于方式1,波特率9600bps,编写允许接收数据的串口通信初始化函数。频率11.0592MHzTMOD=0x20; /T1的方式2TH1=0xfd;TL1=0xfd; /T1初值TR1=1; /启动T1SCON=0x50; /串口工作方式1,允许接收PCON=0x00; /SMOD=0EA=1; ES=1; /开中断1、 用外中断0检测按键计数:#include<reg51.h>#define uchar unsigned charuchar code LED_tab10=0xc0,0xf9,0xa4,0xb0,0

34、x99,0x92,0x82,0xf8,0x80,0x90; uchar count;void int_init() IT0=1; EX0=1; EA=1;void int_int() interrupt 0 count+;void main() int_init(); while(1) if(count=10)count=0; P2=LED_tabcount; 6、用定时器T0中断的方法数码管显示计数值#include<reg51.h>#define uchar unsigned charuchar code LED_tab10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论