单片机复习提纲.docx
- 文档编号:9243470
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:25.28KB
单片机复习提纲.docx
《单片机复习提纲.docx》由会员分享,可在线阅读,更多相关《单片机复习提纲.docx(16页珍藏版)》请在冰豆网上搜索。
单片机复习提纲
泉州信息学院单片机原理》期末复习提纲
一、填空题
●原理与汇编语言部分
1、89S52单片机片内共有256字节单元的RAM,8K字节单元的ROM。
2、以助记符形式表示的计算机指令就是它的 汇编 语言。
3、单片机执行程序时需要把助记符指令(或汇编指令)转换成_机器代码_。
4、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。
5、外部中断请求有两种方式即低电平触发或下降沿触发_。
6、串行中断ES的中断人口地址为0023H。
7、单片机的复位操作是2个机器周期的高电平,单片机复位后,堆栈指针SP的值是07H。
8、单片机中,常用作地址锁存器的芯片是74HC573,常用作地址译码器芯片是74HC138。
9、若选择内部程序存储器,应该设置为EA高电平,那么,PSEN信号的处理方式为开路(不用)。
10、单片机程序的初始入口地址是0000H,外部中断1的入口地址是0013H。
11、若采用6MHZ的晶体振荡器,则MCS-51单片机的振荡周期为1/6μS,机器周期为2μS。
12、外围扩展芯片的选择方法有两种,它们分别是线选法和译码法。
13、单片机的内部RAM区中,可以位寻址的地址范围是20-2FH,特殊功能寄存器中,可位寻址的地址是能被8整除的地址。
14、子程序返回指令是RET,中断子程序返回指令是RETI 。
15、ALE信号的作用是低8位地址锁存。
16、.P2口通常用作扩展接口高8位地址,也可以作通用的I/O口使用。
17、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为08~0FH。
18、.若使用位寻址区,8051的堆栈区一般开辟在30H以上区域。
19、.AT89C51单片机当
=1时,地址小于4KB的程序从片内程序存储器读取,而地址超过4KB的程序从外部程序存储器读取;当
=0时,则不管程序地址大小,一律从片外程序存储器读取。
20、单片机正常工作最基本条件是:
电源、地和基准振荡信号。
21、51系列单片机复位电路通常有两种基本形式,即上电复位和人工复位。
22、51系列单片机有两种存储器,即程序存储器和数据存储器;4个存储空间,即内部程序存储器、外部程序存储器、内部数据存储器和外部数据存储器。
23、AT89C51单片机片内256个字节数据存储器分为两部分:
低128字节为用户数据RAM单元,地址为00~7FH,该部分为用户数据存取使用;高128字节为特殊功能寄存器单元,地址为80~FFH,该部分为单片机功能控制用。
24、共阳数码管的公共端com接高电平,当某段发光二极管的阴极接低电平时,此二极管点亮。
25、定时/计数器控制寄存器TCON用于定时器控制及中断控制。
26、当定时/计数器1作波特率发生器使用时,选用工作方式2,可以避免因程序反复装入定时初值所引起的时间延迟,使波特率更加稳定。
27、引起中断的原因或者说能发出中断请求的各种事件来源称为中断源,根据其来源的不同,可以分为外部和内部两大类。
28、定时器/计数器的控制寄存器符号是TMOD,其中的C/T位选择是定时器或计数器工作方式,当其=0.选择定时器工作方式。
29、使用定时器/计数器1设定串行通讯的波特率时,应把定时器/计数器设定作方式2,即8位时间常数自动装载方式。
30、串行通讯使用RS232C标准,发送数据信号线是RXD,接收数据信号线是TXD。
31、串行通讯的方式有同步和异步方式,一般采用异步通讯。
32、中断允许控制寄存器的符号是IE,CPU中断总控制位的符号是EA,=1时开中断。
33、定时器/计数器的控制寄存器符号是TCON,其中的TR0和TR1分别控制定时器/计数器T0、T1的工作,当其=1起动定时/计数器。
34、函数 是C语言的基本单位。
35、串行口方式2接收到的第9位数据送SCON 寄存器的RB8 位中保存。
36、89S52内部提供3个可编程的 16 位定时/计数器,定时器有4 种工作方式。
37、一个函数由两部分组成,即 说明部分和 语句部分。
38、串行口方式3发送的第9位数据要事先写入 SCON 寄存器的 TB8 位。
39、C语言中输入和输出操作是由库函数scanf 和 printf 等函数来完成。
二、单选题
1、C51语言的中断处理函数选择寄存器语句正确的是()。
A.using2B.using5C.interrupt3
2、通常C51语言程序经过KeilC编译后,形成可下载(烧写)到单片机芯片的文件的格式是()。
A.BINB.OBJC.HEX
3、C51语言程序用()访问特殊寄存器(SFR)中特定的位。
A.sfrB.sbitC.bit
4、下述变量中属于指针变量的是()
A.timeB.pointC.*sp
5、定时器T0的中断服务入口地址是()。
A.000BHB.0013HC.0003H
6、C51语言程序用()访问16位特殊寄存器(SFR)。
A.16sfrB.bitC.sbit
7、决定单片机能否进行多机通信的是()。
A、PCON寄存器的SMOD位;B.SCON寄存器的SM2C、SCON寄存器的SM0、SM1位。
8、51系列单片机采用()制式进行通讯。
A.单工;B.半双工;C.全双工
9、通过串行口发送或接收数据时,在程序中不可以使用()
A、SBUF=data1B、data2=SBUFC、SBUF=P3
10、系统复位后,中断优先寄存器IP默认的中断优先级别是()。
A.INT0最高,ES0次之;B.INT1次之,T0最低;C.INT1次之,ES0最低。
11、串行通讯的传送速率单位是波特,而波特的单位是()
A、字符/秒B、位/秒C、帧/秒
12、定时器1工作在计数方式时,其外加的计数脉冲信号应连接到()引脚。
A.P3.2B.P3.3C.P3.4D.P3.5
13、当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持()。
A.1个机器周期B.2个机器周期
C.4个机器周期D.10个晶振周期
14、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应()。
A.外部中断0B.外部中断1
C.定时器0中断D.定时器1中断
15、定时器若工作在循环定时或循环计数场合,应选用()。
A.工作方式0B.工作方式1C.工作方式2D.工作方式3
16、MCS-51单片机的外部中断1的中断请求标志是()。
A.ET1B.TF1C.IT1D.IE1
17、串行口每一次传送()字符。
A.1个B.1串C.1帧D.1波特
18、内部数据存储器读写指令为()
(A)MOV(B)MOVC(C)MOVX(D)MOVD
19、程序状态字寄存器PSW的第4和第3位(RS1和RS0)的值为00,选择的当前工作寄存器组为()
(A)第3组(B)第2组(C)第1组(D)第0组
20、MOVA,30H指令的寻址方式为()
(A)立即寻址(B)直接寻址(C)变址寻址(D)相对寻址
21、外部中断1的中断请求标志位为()
(A)IT0(B)IT1(C)IE0(D)IE1
22、外部中断0的中断允许控制位为()
(A)EX0(B)EX1(C)ET0(D)ET1
23、T1的中断优先级控制位为()
(A)PX0(B)PX1(C)PT0(D)PT1
24、共阴数码管要显示字形“1”时,则对应的七段码值为()
(A)3FH(B)06H(C)5BH(D)4FH
25、单片机振荡频率fosc为6MHZ,则机器周期为()
(A)1us(B)2us(C)3us(D)4us
26、在进行BCD码加法运算时,必须紧跟一条指令()
(A)DAA(B)CPLA(C)CLRA(D)SWAPA
27、在进行串行发送数据时,将发送数据写入()
(A)SBUF寄存器(B)SCON寄存器(C)PCON寄存器(D)TCON寄存器
三、是非题
1、一个正在执行的中断程序,一定不能被其它较低级的中断源打断。
()
2、当CPU查询到有中断,立即响应中断。
()
3、调用中断服务子程序后的返回指令可以是RETI或RET。
()
4、同步通信与异步通信比较,传送速率较快,但设备较复杂。
()
5、串行通讯使用RS232C标准,发送数据信号线是RXD,接收数据信号线是TXD。
()
6、调用中断服务子程序后的返回指令可以是RETI,不能用RET。
()
7、在串行通讯中,收发双方对波特率的设定可以任意设定。
()
8、中断允许控制寄存器的符号是IE,允许外部中断1开放的控制位是ET1。
()
9、在定时器工作方式1以下,计数器的宽度为16位,如果系统晶振频率为6MHZ,则最大定时时间约为131mS。
()
10、C51经常只使用ifelse语句判断三个以上条件是否符合要求;从而决定程序的转向。
()
11、swithcase通常用于实现多分支判断程序,case后的表达式必须是常量()
12、while()语句判断的是条件真(true),继续循环,条件假(fause),跳出该循环,执行下面的语句。
()
13、指令字节数越多,执行时间越长。
14、内部寄存器Rn(n=0-7)作为间接寻址寄存器。
15、当MCS—51上电复位时,堆栈指针SP=00H。
16、EPROM的地址线为11条时,能访问的存储空间有4K。
17、单片机只能做控制用,不能完成算术运算。
18、为了消除按键的抖动,常用的方法只有硬件方法
19、必须有中断源发出中断请求,并且CPU开中断,CPU才可能响应中断。
20、8155的复位引脚可与89C51的复位引脚直接相联。
21、MCS—51的串行接口是全双工的。
22、51单片机有7种寻址方式:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。
()
23、P0口即可作通用I/O口用,又可在扩展外部存储器或外部设备时作高8位地址/数据总线用。
()
24、内部RAM位寻址区为50H~5FH单元,共有16个字节,128个位,位地址为00H~7FH。
()
25、独立式键盘接口电路的硬件电路和软件编程都比较简单,但每个按键必须占一根I/O口线,在按键个数较多时,I/O口线资源浪费较大,故只在按键数量不多时采用这种键盘电路。
()
26、当中断响应后,程序转到中断入口地址处,执行中断服务程序,执行到中断返回指令RETI时,中断服务结束。
()
27、串行口中断响应后,能自动由硬件电路将TI或RI清“0”。
()
28、定时/计数器工作方式寄存器TMOD中的门控位GATE为启动方式控制位。
当GATE=0时,定时/计数器仅受TR0或TR1控制;当TR0或TR1为1时,定时器开始工作,此时称软启动方式。
()
29、串行通信工作方式0是16位计数长度的工作方式,由TH0的8位和TL0的8位构成。
()
30、串行通信允许接收位REN由指令置“1”或清“0”,当REN=0时,允许接收数据;REN=1时,禁止接收数据。
四、程序分析题
程序1电子秒表工作程序(不包括定时器中断程序)
voidmain()
{
TMOD=0x01;//定时器工作在方式1
TH0=0xD8;//T0装入时间常数
TL0=0xf0;
EA=1;//允许中断
ET0=1;//允许定时器0中断
i=0;
second1=0;
second2=0;
TR0=1;//启动定时器0
while
(1)//无条件循环
{
for(k=0;k<3;k++)
{
P0=b[k];//送出数码管段码
P2=k;//送出数码管位选码
delaym(3);//调用延时函数
}
}
}
}
程序2矩阵式按键扫描,读取按键的行列编码。
unsignedcharKeycan(void)
{
unsignedcharrcode,ccode;
P1=0xF0;//P1口对键盘输出键盘扫描信号
if((P1&0xF0)!
=0xF0)
{
delay
(1);//调用岩石函数函数实现软件去抖动
if((P1&0xF0)!
=0xF0)//如果不相等说明有键按下
{rcode=0xFE;//逐行扫描初值
while((rcode&0x10)!
=0)
{
P1=rcode;//输出行扫描码
if((P1&0xF0)!
=0xF0)//
{
ccode=(P1&0xF0)|0x0F;//取入列代码
//do{;}
while((P1&0xF0)!
=0xF0);//等待键释放
return((~rcode)+(~ccode));//返回
}
else
rcode=(rcode<<1)|0x01;//行输出代码移1位}
}
}
return0;//无键按下,返回
}
程序3从计算机键盘输入月份,通过串口显示相应的日子。
#include
#include
#defineuintunsignedint
voidmain()
{
uintmonth;
uintday;
SCON=0x50;//串行口工作在方式1,允许接收。
TMOD=0x20;//定时器1工作在方式2
TCON=0x40;
TH1=0xE8;//装入波特率对应的时间常数
TL1=0xE8;
TI=1;
TR1=1;
printf("inputmonth\n");//要求输入月份
scanf("%d",&month);//读取键盘输入的月份数值。
switch(month)//查阅月份
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
day=31;//1、3、5、7、8、10、12上显示31日
break;
case4:
case6:
case9:
case11:
day=30;//4、6、9、11显示30日
break;
case2:
day=28;//2月份显示28日
break;
default:
day=1;//都不是,日期1
}
printf("month,hasday\n",&month,&day);//在屏幕上显示对应月份的日期
}
程序4延时1秒子程序A
●voiddelay(void)
{unsignedcharm,n,s;//定义m,n,s为无符号字符型数值(0~255)
for(m=10;m>0;m--)//m的用途控制第1重循环
for(n=100;n>0;n--)
for(s=124;s>0;s--);//3个for指令总延时1mS×100×10=1秒
延时子程序B
voiddelay(unsignedchart)
{
while(t--)//由调用程序规定延时时间
{
unsignedcharj;//j的取值范围0~255
for(j=0;j<123;j++);//语句延时1mS
}
}
程序5数码显示程序
unsignedcharb[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//16个数码管段码,加1个全灭段码
unsignedcharc[8];//规定显示段码数组为8
voiddisplay()
{unsignedchari;
for(i=0;i<8;i++)//显示8个数据
{
P0=c[i];//送出段码
P2=i;//送出位选码
delay
(2);
}
}
程序6串口接收程序
#include
#defineucharunsignedchar
ucharidatabuf[8];
main()
{
uchari;
SCON=0x50;//规定串口工作方式1,允许接收。
PCON=0;//SMOD=0
TMOD=0x20;//定时器1工作在定时方式2
TH1=0xe6;//12MHz1200波特率
TL1=0xe6;
TR1=1;//启动钉子定时器1
while
(1)//不断接收数据
{for(i=0;i<9;i++)
{
while(RI==0)//查询接收一帧数据完毕否
RI=0;
buf[i]=SBUF;//从串口接收数据存入数组buf[]
}
}
}
程序7串口发送程序,发送89S51
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharidatatrdata[]={'8','9','S','5','1',0x0d,0x0a,0x00};
main()
{
uchari;
uintj;
SCON=0x40;//规定串口工作在方式1,发送数据
PCON=0;//SMOD=0
TMOD=0x20;//定时器1工作在方式2
TH1=0xe6;//12MHz1200波特率
TL1=0xe6;
TR1=1;//启动定时器1
while
(1)//不断发送数据
{
i=0;
while(trdata[i]!
=0x00)//00结束
{
SBUF=trdata[i];//将数据送到串口发送器SBUF
while(TI==0);
TI=0;
i++;
}
for(j=0;j<50000;j++);//延时8μS×50000=0.4秒
}
}
五、作图题
1、键盘数码显示练习板主要由下列器件构成。
数码管段码P0口输出,P2口经138驱动。
添上必要的器件,把电路补充完整。
2、键盘数码显示练习板主要由下列器件构成。
数码管段码P0口输出,位选由P2口控制。
添上必要的器件,把电路补充完整。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习 提纲
