2013A卷
一、 填空题(每空1分,共20分)
1、+1000001的反码是 。十进制数-4的8位二进制补码是 。 2、计算机所能执行的指令的集合称为 。指令的编码规则称为 ,一般由 和操作数两部分组成。
3、CPU一次可以处理的二进制数的位数称为CPU的 。 4、当EA为 电平时,CPU总是从外部存储器中去指令。
5、89C52单片机有6个中断源,其中内部中断源有 个,外部中断源有 个。 6、汇编指令中,对程序存储器的访问用 指令来访问,外部RAM用 指令来访问。
7、C51的数据类型sfr占 个字节,C51中整型变量占 个字节。
8、指令MOV 20H,#20H中,源操作数的寻址方式是 ,目的操作数的寻址方式是 。
9、定时器T1方式2的8位常数重装初值存放于寄存器 中。定时器T0方式0,寄存器 用于存放计数初值的低5位。 10、多机通信中,主机的SM2= 。
11、EPROM存储器27C256内部容量是32K字节,若不考虑片选信号,则对其内部全部存储单元进行寻址共需 根地址线。
12、波特率倍增位位于特殊功能寄存器 中。 13、8155A内部具有1个 位减法定时器/计数器。
二、 单项选择题(共20题,每题1分,共20分)
1、单片机的应用程序一般存放于( )中
A、RAM B、ROM C、寄存器 D、CPU
2、定时器0工作于计数方式,外加计数脉冲信号应接到( )引脚。
A、P3.2 B、P3.3 C、P3.4 D、P3.5
3、MCS51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。
A、外部中断0 B、外部中断1 C、定时器0 D、定时器1
1
4、ADC0809是( )AD的转换器件
A、4通道8位 B、8通道8位 C、4通道12位 D、8通道12位
5、执行中断返回指令后,从堆栈弹出地址送给( )
A、A B、Ri C、PC D、DPTR
6、串行通信中,发送和接收寄存器是( )
A、TMOD B、SBUF C、SCON D、DPTR
7、要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是(A、98H B、86H C、22H D、A2H
8、要将P1口高4位清0,低4位不变,应使用指令( )
A、ORL P1,#0FH B、ORL P1,#F0H C、ANL P1,#F0H D、ANL P1,#0FH
9、当选中第1工作寄存器区时,工作寄存器R1的地址是 。
A、00H B、01H C、08H D、09H 10、控制串行口工作方式的寄存器是( )
A、TMOD B、PCON C、SCON D、TCON
11、MCS-51 单片机的晶振频率为12MHz,则MUL AB指令的时间为( )μs。
A、1 B、2 C、4 D、8
12、定时器T2的中断服务程序入口地址为( )。
A、000BH B、0000H C、001BH D、002BH 13、MCS51单片机复位后,P1口锁存器的值为( )。
A、00H B、0FFH C、7FH D、80H 14、POP PSW指令是( )
A、将PSW的值压入堆栈顶部 B、堆栈顶部一个单元内容弹入PSW C、将PSW的值压入堆栈底部 D、堆栈底部一个单元内容弹入PSW 15、下列运算符不是关系运算符的是( )
A、> B、< C、= D、!= 16、设a=0x7f,b=a<<2,则b的值为( )
2
)
A、7FH B、0F7H C、0CFH D、0FCH 17、单片机复位后,SP的内容是( )
A、00H B、07H C、7FH D、80H
18、函数类型说明符如果用void表示,则函数执行结果返回值的数据类型是( )
A、整型 B、字符型 C、无返回值 D、指针型 19、MCS-51单片机,数据线的条数是 。
A、1根 B、4根 C、8根 D、16根 20、定时器T0计数溢出后,置1( )
A、TF1 B、TF0 C、TI D、RI
三、简答题(共4题,每题5分,共20分)
1、51单片机工作寄存器有几组?如何判断CPU当前使用哪一组工作寄存器?
2、在RAM的位寻址区定义无符号字符变量FLAG,并将FLAG的第0、2位分别定义为K_D、K_P。 3、单片机中各中断源对应的中断服务程序的入口地址能否任意设定?CPU响应定时器中断T0时,能否自动清除中断标志TF0?
4、串行口的发送缓冲器和接收缓冲器使用同一个特殊功能寄存器名SBUF,并具有相同的字节地址99H,他们是同一个寄存器吗?串行口的读、写SBUF指令分别操作的是哪个缓冲器?
四、程序分析题(每空2分,共10分)
已知单片机晶振频率为12MHz,要求让定时器T1工作于方式1来实现60ms定时,同时让定时器T0,工作于方式2,完成200μs定时,试完成初始化程序。
(注意:0x表示横线上所填内容要求以十六进制表示,其它数制表示不得分。)
void init_t0_1()
{ TH0=0x ① ;
TL0=0x ② ; TH1=0x ③ ; TL1=0x ④ ; TMOD=0x ⑤ ; TR0=1; TR1=1 }
3
五、编程题(10分)
完成下列中断程序,实现当开关闭合后,在外部中断服务程序中实现蜂鸣器的鸣响,当开关打开后,蜂鸣器静止。
+5V89C52P3.2/(INT0)K+5VP3.6T蜂鸣器
#include \"reg52.h\"
#define uchar unsigned char #define uint unsigned int sbit BEEP= ① ; void init1() {
EA= ② ; EX0= ③ ; IT0=0; }
void int0() interrupt ④ { uint i;
BEEP= ⑤ ; for(i=300;i>0;i--); BEEP=1;
for (i=300;i>0;i--); } main() { init1(); for(;;); }
六、综合应用(20分)
下图是由89C52单片机、74LS373锁存器、6116RAM组成的单片机系统, (1)请补全硬件接线(8分)。
(2)该芯片的地址扩展方法采用的是什么方法?(2分)设P2口未用到的引脚取1,请写出
4
该系统外扩RAM存储空间的范围。(4分) (3)74LS373锁存器的作用是什么?(3分)
(4)该单片机系统扩展的是程序存储器还是数据存储器?(3分)
89C52RDWR6116RAMOEWECEA10A9A8P2.7P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373Q7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D0G OEA7A6A5A4A3A2A1A0O7O6O5O4O3O2O1O0ALE
答案
一、填空题(每空1分,共20分) 1、01000001(41H) 11111100(FCH) 2、指令系统 指令格式 操作码
3、字长 4、低
5、4 2 6、MOVC MOVX
7、1 2 8、立即数寻址 直接寻址 9、TH1 TL0 10、0 11、15 12、PCON 13、14
二、单项选择题(共20题,每题1分,共20分)
1~5、BCABC 6~10、BBDDC 11~15、CDBBC 16~20、DBCCB 三、简答题(共4题,每题5分,共20分) 1、51单片机工作寄存器共有4组(2分)。CPU当前使用的工作寄存器组是由PSW寄存器的第三位(RS1)和第四位(RS0)的值决定的(3分)。 2、unsigned char bdata FLAG;(2分) sbit K_D=FLAG^0;
sbit K_P=FLAG^2;(后两步只要有一个正确就给2分,全对给3分) 3、各中断源的入口地址已经在中断地址区中被定义了,不能任意设定。(3分)可以(2分)。 4、不是同一个寄存器(1分),读SBUF操作的是接收缓冲器(2分),写SBUF操作的是发送缓冲器(2分)。
四、程序分析题(每空2分,共20分)
5
①0x38(2分);0x38(2分);③0x15(2分) ;④0xa0(2分);⑤ 0x12 (2分); 五、编程题(10分)
①P3.^6 (2分) ; ②1 (2分);③1 (2分);④0 (2分);⑤ 0 (2分); 六题、综合应用(20分) (1)
89C52RDWRP2.7P2.2P2.1P2.06116RAMOEWECEA10A9A8P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373Q7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D0G OEA7A6A5A4A3A2A1A0O7O6O5O4O3O2O1O0ALE(8分);
(2)线选法(2分),6116的地址范围是7800H~7FFFH(4分)。
(3)锁存地址总线的低8位,保证P0口可以分时复用为地址总线的低8位和数据总线(3分)
(4)数据存储器(3分)
2013 B卷
一、 填空题(每空1分,共20分)
1、微处理器简称 ,主要包括 ALU、控制器CU和寄存器组。 2、对于补码表示的有符号8位二进制数,其表示数的范围为 到 。 3、指令MOV A,@R0 第2操作数的寻址方式为 。
4、AT89S51单片机有 条引脚,其中 为片外程序存储器的读选通信号。 5、MCS-51单片机的特殊功能寄存器区位于片内从 到FFH的地址范围,对特殊功能寄
存器的访问只能采用 寻址方式。
6、MCS-51单片机的RST为复位引脚,为 电平复位方式,系统复位后程序计数器PC的
值为 。
6
7、采用石英晶体作为晶振时,其振荡电容的取值一般为 。
8、C51语言中,“int iCounts;”定义的变量iCounts在内存中占 个字节。
9、MCS-51单片机的并行口由1个 和1个输出驱动器构成。P0口作为普通输
出口使用时,需要外接 电阻。
10、步进电机工作在四相八拍方式时,正转一个齿距角的通电顺序依次为
A-AB-B—BC-C-CD-D-DA,则反转的通电顺序为A-DA-D-CD-C-BC- ,通过改变步进脉冲的 可以调节步进电机的转速。
11、根据传输方式的不同,串行通信的种类可以分为同步通信方式和 通信方式。 12、当T0工作在方式3时,将T0分为两个独立的 位定时/计数器,此时T1的功能
受到了限制,只能作为不需要中断功能的 发生器使用。
二、 单项选择题(共20题,每题1分,共20分)
1、 以下定义变量的C51语句中,错误的是( )
A、unsigned char chData = 0; B、 static unsigned char chData = 0; C、sfr unsigned char chData = 0; D、 static volatile char chData = 0; 2、 small存储模式下,缺省存储器类型说明的变量均放在( )区
A、idata B、 code C、pdata; D、 xdata 3、 MCS-51单片机入栈指令“PUSH ACC”执行后,堆栈指针SP( )
A、减小; B、 不变 C、增加 D、 变化不确定 4、 MCS-51单片机的电源供电电压一般为( )
A、5V; B、 12V C、24V D、 22V
5、 标准MCS-51单片机的时钟频率fosc为6MHz,则1个机器周期时间长度为( )
A、1ms; B、 2ms C、1μs D、 2μs 6、汇编语言指令“HERE:SJMP HERE”,说法错误的是( )
A、是1条循环转移指令 B、其操作数寻址方式为相对寻址 C、是1条无条件转移指令 D、是一条短转移指令 7、访问片外数据存储器使用以下那条汇编语言指令( )
A、MOV; B、 MOVX C、MOVC D、POP 8、定时器工作方式1为( )位定时/计数方式。
A、4; B、 8 C、13 D、16
7
9、共阴极LED八段数码管“1”的字型码为( )
A、0x3f; B、 0x06 C、0xc0 D、0xf9 10、LED发光二极管的导通压降一般为( )
A、0.7V; B、 1.2-1.8V C、3.3V D、5V 11、P2口除了可以做普通I/O口外,还可以作为( ) A、数据总线 B、地址总线 C、地址总线低8位 D、地址总线高8位 12、定时器T1的中断向量号为( )
A、0; B、 1 C、2 D、3 13、单片机CPU不能自动清除中断标志的中断为( )
A、串口发送中断 B、定时器T0溢出中断 C、定时器T1溢出中断 D、下降沿触发的外部中断0 14、异步串行通信中,波特率是指( )
A、每秒传送的bit数 B、每秒传送的byte数 C、每秒传送的word数 D、以上均不对 15、关于器件74LS164,说法错误的是( )
A、是一个串入并出器件 B、可以级联使用
C、常用于扩展输出口 D、两个串行数据输入端不能连接在一起 16、对于矩阵键盘可以采用( )设计软件,从而获取按键的键值。
A、直接输入输出法 B、列扫描法 C、时延法 D、去抖动法 17、关于串行AD器件TLC549,说法错误的是( )
A、片选信号有效时启动转换 B、转换时间>17μs
C、转换数据时先移最低位 D、移位时时钟信号的下降沿用于时钟同步 18、关于8155说法错误的是( )
A、内置1个定时器 B、内置256字节RAM C、可扩展出24个I/O口 D、高电平复位
19、晶振频率为11.0592MHz,采用T1作为波特率发生器,波特率不倍增,则T1的计数初值
为( )
8
A、0xfb; B、 0xfc C、0xfd D、0xfe 20、在LED调光实验中,通过改变PWM信号的( )改变LED发光二极管的亮度。
A、周期; B、 频率 C、幅值 D、占空比
三、 简答题(共4题,每题5分,共20分)
1、 说明图中阻容复位电路的工作原理(上电复位)。 2、 晶振频率fosc为12MHz,则定时器T0工作在方式2时,最大的定时时间为多少?简要说明计算过程。 3、 写出C51程序片段,访问片外数据存储器的2000H地址的内存单元,将其置为FFH。
4、 采用动态点亮方式驱动8位LED数码管时,要求刷新频率为50Hz,则每个扫描周期中,1位LED数码管的显示
时间为多长?说明计算过程。
四、程序分析题(共2题,每题10分,共20分)
1、用P1口驱动8个LED数码管,实现流水灯的效果(低电平点亮),补全代码。 #include #include void main() { P1 = ; while(1) { =_crol_(P1,1);; DelayMS(150); } } while(x--) { for(i=120;i>0;i--); } 9 2、补全以下串口初始化程序,晶振频率为11.0592MHz,将串口配置为8位异步方式,波特率9600,允许接收,开串口中断。 void initSerial() { TMOD = ; TH1=0xfd; TL1= ; SCON= ; ET0=1; =1; EA=1; TR1= ;} 五、综合应用(共20分) 1、 图为74LS164驱动8路LED发光二极管的电路,回答以下问题: (1) 图中电阻的作用是什么?其阻值大概为多大?(3分) (2) 简要说明74LS164的移位时序。(4分) (3) 说明DINA、DINB、CLR引脚的作用。(3分) 2、编写完整的程序,使得8路 LED光二极管的状态为“亮灭亮灭亮灭亮灭”。(10分)答案 10 一、填空题(每空1分,共20分) 1、CPU,运算器(或算术逻辑单元) 2、-128,127 3、寄存器间接寻址 4、40,PSEN 5、80H,直接 6、高,0000H 7、20-33pF(在范围内都算对) 8、两 9、锁存器,上拉 10、B-AB,频率 11、异步 12、8,波特率 二、单项选择题(共20题,每题1分,共20分) 1~5、CACAD 6~10、ABDBB 10~15、DDAAD 16~20 BCCCD 三、简答题(共5题,每题5分,共25分) 1、系统上电瞬间,电容C上的电压很小,RST引脚为高电平(2分);在电容充电过程中,RST引脚电位逐渐下降,当RST引脚电位小于某一特定值后,CPU即脱离复位状态(2分);RST引脚高电平维持的时间>24机器周期即可复位(1分)。 2、fosc=12MHz,定时器计数脉冲频率为12/12=1Mhz,计数脉冲周期为1us(2分);T0方式2为8位自动重装方式,其最大计时时间为28*1us=256us(3分)。 3、 参考答案之一 #include \"absacc.h\"(1分) #define P8155 XBYTE[0x2000] //(2分) P8155 = 0xff;//(2分) 参考答案之二 #include \"absacc.h\"(1分) XBYTE[0x2000] = 0xff;//(4分) 参考答案之三 *(( unsigned char xdata * )0x2000)=0xff;//(5分) 4、周期T=1/50=20ms(2分),每位LED数码管显示时间为20/8=2.5ms(3分)。 四、程序分析题(共2题,每题10分,共20分) 1、 0xfd(2分) 0x50(2分) ES (2分) 1 (2分) 五、综合应用(20分) 1、 (1)图中电阻为限流电阻,限制流过lED发光二极管的电流约为10ma,其阻值大概为200 11 欧姆。(200-1K都算对)。(3分) (2)准备好DINA和DINB相与1位数据,当CLK引脚产生上升沿的时候该位数据由Q0到Q7依次移入。(4分) (3)DINA和DINB为逻辑与的关系,为串行数据输入端;CLR为清零信号,低电平有效。(3分) 2、 #include\"reg51.h\" #define uchar unsigned char sbit SCL = P1^0; sbit SDA = P1^1; sbit DINB = P1^2; sbit CLR = P1^3; //以上3分 void so164(uchar chData) { uchar i,x; SCL = 0; x=chData; for(i=0;i<8;i++) { SDA = 0; if((x&0x01 == 1)) SDA =1; SCL =1; x = x>>1; SCL = 0; } } 以上移位函数4分 void main() { uchar x =0x55; DINB =1; CLR=1; so164(x); while(1); } //以上main函数3分 2012A卷 一、 填空题(每空1分,共20分) 1、+1000110B的反码是 ;-0110011B的补码是 。 12 2、MCS-51内部RAM的 到 是位寻址区。 3、MCS-51单片机三总线包含 、 和 。 4、MCS-51单片机复位后,PC的值是 。 5、一个机器周期等于 个状态周期,振荡脉冲2分频后产生的时钟信号的周期定义为状态周期。 6、MCS-51单片机外部程序存储器的最大可扩展容量是 ,其地址范围是 。 7、若变量定义在pdata区,则间接寻址时采用的寄存器是 (Ri/DPTR)。 8、若有C51语句unsigned char temp,那么temp占用 个字节。 9、晶振频率是12MHz,定时器0在方式2下,硬件最长能定时的时间是 。 10、MCS-51的外部中断有触发方式,一种是低电平触发,另一种是 。 11、在串口实现多机通讯当中,一个主机最多可以带 个从机。 12、MCS-51单片机外接12MHz晶振,NOP指令执行的时间是 us。 13、定时器0当GATE位设置为0时,TR0= 开始定时。 14、ROM芯片2764的容量是 ,若其首地址为0000H,则其末地址 。 二、 单项选择题(共15题,每题1分,共15分) 1、变量定义为unsigned char bdata FLAG,下列说法错误的是( ) A、数据长度为8位 B、不允许字节操作 C、允许位操作 D、变量在内部RAM的20H~2FH 2、MCS-51系列单片机外扩存储器芯片时,4个I/O中作为数据总线的是( )。 A、P0口和P2口 B、P0口 C、P2和P3口 D、P2 3、访问外部数据存储器时,不起作用的信号是( )。 A、RD B、WR C、PSEN D、ALE 4. 如果当前工作寄存器区为0区,则工作寄存器R0的地址为:( ) A、00H B、07H C、08H D、0FH 5、变量的存储器类型是指( ) A、变量在内存中的排列顺序 B、变量在程序执行过程中的作用范围 C、变量占用的物理空间大小 D、变量所处的存储区域 13 6、要使无符号字符型变量a中的数高4位为0,低4位不变,则执行以下哪条语句:( ) A、a = a & 0x0F; B、a = a & 0xF0; C、a = a | 0x0F; D、a = a | 0xF0; 7、若定义: unsigned char x[5] ,*pb ; 则正确的赋值表达式是( ) A:pb=x; B:pb=x++; C:*pb=&x; D:*pb=*x[0]; 8、访问64K程序存储器区域的变量应声明的关键字为( ) A、xdata B、idata C、code D、bdata 9.中断开启时,除了将各自的中断允许控制位置“1”外,仍然需要将( )置“1”。 A、ET0 B、EA C、ES D、ST2 10、中断服务子程序的返回指令为:( ) A、POP PSW B、POP Acc C、RET D、RETI 11、在片外扩展一片27128(16k*8bitROM),需要( )根地址线。 A、8 B、13 C、14 D、16 12、 以下能正确定义一维数组的选项是( ) A、int a[5]={0,1,2,3,4,5}; B、char a[]={0,1,2,3,4,5}; C、char a={‘A’,‘B’,‘C’}; D、int a[5]=“0123”; 13、使用宏来访问绝对地址时,一般需包含的库文件是( ) A、reg51.h B、absacc.h C、intrins.h D、startup.h 14、扩展存储器时要加锁存器74LS373,其作用是( )。 A、锁存寻址单元的低八位地址 B、锁存寻址单元的数据 C、锁存寻址单元的高八位地址 D、锁存相关的控制和选择信号 15、发光二极管的工作电流一般为( ) A、10μA B、40μA C、10mA D、40mA 三、简答题(共5题,每题5分,共25分) 1、简述时钟周期、机器周期、指令周期的概念及相互关系。 2、MCS-51外扩的程序存储器和数据存储器,共用16位地址线和8位数据线,可以有相同的地址空间,为什么两个存储空间不会发生冲突? 3、写出C51的中断程序入口地址。 4、计算右图中使LED正常工作的限流电阻R的阻值,写出计算过程。 14 5、定义如下变量 (1)、内部RAM直接寻址区无符号字符变量i; (2)、外部64K RAM的有符号整形变量x; 四、程序分析题(共10分) 1、程序改错(6分) 定义外部中断0的中断函数,如下所示,指出其中的三处错误。 unsigned int Flag; unsigned int Int0(unsigned char para) interrupt 1 { Cnt++; if(Cnt>10) { Cnt=0; Flag=1; } } 2、以下指令执行后,PSW为:(共4空,每空1分,共4分) MOV A, #10101110B ADD A, # 01111101B Cy Ac OV P 五、编程题(10分) MCS-51单片机外接晶振为12MHz,T0工作于方式1,产生50ms定时中断。补充下列函数,使P1.0产生1秒的方波。 15 六、综合应用(20分) 815589C52PB07407100欧*8上拉5VAD0PB1P0|PB2AD7PB3PB4ALEALEPB5PB6WRWRPB7RDRDP2.0IO/M8.VssPA5PA4COM5RESETPA3COM4PA2COM3PA1COM2PA0COM1COM0VccCE5V 如图为动态显示的6位LED显示接口电路图,回答如下问题。 1、简述动态显示和静态显示的优缺点。(2分) 2、图中,LED是共阴极还是共阳极接法?(2分) 3、根据图示,完成下列绝对地址变量的定义。 #define COM_8155 PBYTE[0x00] #define PA_8155 PBYTE[ ] (2分) #define PA_8155 PBYTE[ ] (2分) 4、8155命令寄存器如下图所示,完成8155初始化函数。 5VLED数码管*616 init_8155() { P2_0= ; (2分) COM_8155= ; (2分)} 5、完成动态显示子函数 uchar code SEG_TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x73,0x1c,0}; uchar code BIT_TAB[]={1,2,4,8, ,0x20}; (2分) sbit P2_0=P2^0 ; uchar IDR_BUF[6]={1,2,3,4,5,6} ; LED_Disp() { uchar a,i; uint x; for(i=0;i<6;i++) { a=DIR_BUF[i]; P2_0= ; (2分) PB_8155= ; (2分) PA_8155= ; (2分) for(x=500;x>0;x--); } } 答案 一、填空题(每空1分,共20分) 1、01000110B,11001101B 2、20H,2FH 17 3、地址总线、数据总线、控制总线 4、0000H 5、6 6、64K,0000H~FFFFH 7、Ri 8、1 9、256μs 10、下降沿触发 11、256 12、1 13、1 14、8K,1FFFH 二、单项选择题(共15题,每题1分,共15分) 1~5、BBCAD 6~10、AACBD 11~15、CBBAC 三、简答题(共5题,每题5分,共25分) 1、时钟周期是输入微处理器的时钟信号的周期。机器周期是机器完成一个基本动作的时间。在MCS-51系列单片机中,一个机器周期由12个时钟周期组成。指令周期是指执行一条指令所需的时间,由一个到数个机器周期组成。 2、因为51单片机访问片外程序存储器和数据存储器是通过不同的控制信号进行的,访问片外程序存储器使用PSEN信号,访问片外数据存储器使用WR和RD信号,因此它们有相同的地址空间也不会冲突。 3、外部中断0 0003H; 定时中断0 000BH;外部中断1 0013H; 定时中断1 000BH;串行口中断 0023H 4、R=(VCC-VF-VCES)/IF VCC=5V,VF=1.8V(1.2~2.5V),VCES=0.2V(0.1~0.2V),IF=15mA(10~20mA) R=200Ω 5、(1)unsigned char data i; (2)char int xdata x; 四、程序分析题(共10分) 1、程序改错(6分) unsigned int Int0(unsigned char para) interrupt 1 去掉unsigned int (2分) 去掉unsigned char para (2分) 将interrupt 1改成interrupt 0 (2分) 2、每空1分 Cy Ac OV P 1 1 0 0 五、编程题(10分) #include \"reg52.h\" #define uchar unsigned char #define uint unsigned int sbit P1_0=P1^0; uchar T0CNT0; (以上2分) void init_t0_1() { TH0=0x3c; TL0=0xb0; TMOD=1; TR0=1; IE=0x82; 18 T0CNT0=0xa; }(3分) void main() { init_t0_1(); for(;;); }(2分) void timer0(void) interrupt 1 { TL0=0xb0; TH0=0x3c; T0CNT0 -- ; if( T0CNT0==0) { T0CNT0=10; P1_0=~P1_0;} }(3分) 六题、综合应用(20分) 1、动态点亮方式占用硬件资源少,但软件相对复杂。静态点亮方式占用硬件资源多,但软件相对简单。(2分) 2、共阴极。(2分) 3、0x01(2分)、0x02(2分) 4、P2_0=1; (2分) COM_8155=xxxx0011B; (2分) 5、uchar code BIT_TAB[]={1,2,4,8, 0x10 ,0x20}; (2分) P2_0= 1 ; (2分) PB_8155= SEG_TAB[a] ; (2分) PA_8155= BIT_TAB[i] ; (2分) 2012B卷 一、 填空题(每空1分,共20分) 1、-0101111B的反码是 ,补码是 。 2、在除法运算中,被除数放在 中,除数放在 中。运算后,商放在累加器 中,而余数放在 寄存器中。 3、CPU是单片机的核心组件,它包括 和 。 4、外部中断0服务程序入口地址为 ,串行口中断服务程序入口地址是 。 5、在访问外部存储器时,P0口作为 ,高8位地址使用 口。 6、串口工作在方式3时,发送和接收到的第9位数分别放在 的 和 中。 7、数码管显示方式可分为 和 。 8、8051单片机的工作寄存器分成 个组,每组 个字节。 9、若变量定义在xdata区,则间接寻址时采用的寄存器是 。 19 二、 单项选择题(共15题,每题1分,共15分) 1、C51的数据类型有( ) A、unsigned char、unsigned int和指针 B、char 、int 和code C、long、data和bit D、auto、float和short 2、晶振频率为12MHz,则T0最大定时时间为:( ) A、256μs B、512μs C、131072μs D、65536μs 。 3、 CPU不能自动清除中断标志位的中断为:( ) A、T0 B、T1 C、串行口 D、下降沿触发方式的INT0 4、MCS-51单片机的复位信号为( )。 A、大于12时钟周期的高电平 B、大于24时钟周期的高电平 C、大于12时钟周期的低电平 D、大于24时钟周期的低电平 5、MCS-51单片机在寄存器间接寻址方式中,寄存器中存放的是( )。 A、操作数 B、操作数地址 C、转移地址 D、地址偏移量 6、MCS-51单片机扩展外部程序存储器和数据存储器( )。 A、分别独立编址 B、统一编址 D、动态变址 C、分别独立编址或统一编址 7、在单片机片外扩展一片6264(8K)数据存储器芯片,该芯片有( )地址线。 A.8根 B.11根 C.13根 D.16根 8.下列MCS51单片机专用寄存器中,哪个寄存器不可按位寻址?( ) A.中断容许寄存器IE B. 中断优先级寄存器IP C.定时/计数器方式寄存器TMOD D. 定时/计数器控制寄存器TCON 9、下列工作寄存器中,哪个寄存器可以用于寄存器间接寻址方式中( )。 A. R1 B. R2 C. R3 D. R4 10、MCS-51单片机字长的含义是 ( )。 A. 引脚数; B. CPU包含的地址线的条数; C. CPU包含的数据线的条数; D. 控制线的条数 11、MCS51复位后,SP的内容为07H,第一个压入堆栈的数据将位于内部RAM的哪个单元?( ) A. 09H单元; B. 08H单元; C. 07H单元; D. 06H单元 12、单片机外部中断的电平触发方式仅限于( )有效。 A. 高电平; B. 上升沿; C. 下降沿; D. 低电平 13、以下哪条指令可以读取程序存储器:( ) A、MOV B、MOVX C、MOVC D、TEST 14、串行口控制寄存器SCON中REN为:( ) A、多机通信控制位 B、接收允许位 C、中断标志位 D、第9数据位 15.当需要扩展的按键比较多的时候,一般采用( ) 方式。 A、直接编码输入 B、延时输入 20 C、编码输入 D、矩阵输入 三、简答题(共5题,每题5分,共25分) 1、计算机系统中,一般有哪三类总线?并请说出三类总线各自的特征(包括传输的信息类型、单向还是双向传输)。 2、单片机系统中的定时和计数功能有何区别?分别适用于什么场合? 3、如果将MCS-51的P1口引脚按矩阵编码方式组成M*N个检测点,那么在什么情况线检测点数目最多,这是M和N分别是多少? 4、在51系列单片机执行中断服务程序时,为什么一般都要在中断入口地址开始的地方放一条跳转指令? 5、8X5X系列CPU复位后,使用了哪一工作寄存器组?其中R1对应的物理存储单元地址是什么? 四、程序分析题(每空1分,共10分) MCS-51单片机P1口作为输出口,八位分别连线八只发光二极管(当引脚输出高电平时对应的发光二级管亮);编程实现单灯循环点亮,每隔2秒钟,亮的发光二极管(只有1个亮)移位一次。晶振为12MHz,利用内部定时计数器T0实现延时,为了实现该功能,请将下面的程序补充完整。 #include “reg51.h” unsigned char T1s = 0; unsigned char LED = 1; void Timer0 ( ) interrupt ① { } void main( ) { TH0 = ② ; TL0 = ③ ; T1s++; If(T1s = = 100) { LED <<= 1; If(LED = = ④ ) LED = ⑤ ; T1s = 0; } TMOD = ⑥ ; TL0 = ⑦ ; 21 } TH0 = ⑧ ; IE = 0x82; TR0 = ⑨ ; While(1) { P1 = ⑩ ; } 五、编程题(10分) ADC0809与单片机的接口如下图所示, ALE信号经D触发器2分频后得到约500kHz信号作为0809的时钟信号,8路A/D转换器的通路地址分别为78H~7FH,写出读八路A/D的函数。 DALEWRCKCLKALEA7STARTOERDA0A1A2D0~D72-8EOCABC2-1IN7IN0模拟输入VCCREF+REF-GND+5VQ 六、综合应用(共20分) 现有由89C52单片机、74LS373锁存器、74LS138译码器 、2764 EPROM和6264 RAM芯片共同组成的单片微型计算机系统如图所示:1)、分别写出该系统外扩的程序存储空间和数据存储空间的范围(6分);2)、说明图中除CPU外的四个芯片的功能(4分);3)、完成下面程序,实现将外部RAM C100H~C10F单元内容传送到内部RAM的40H~4FH单元中(每空2分,共10分) MOV R7, ① ; MOV DPTR, ② ; MOV R0, ③ ; LOOP: ④ ; MOV @R0,A INC R0; INC DPTR; ⑤ ; 22 答案 一、填空题(每空1分,共20分) 1. 11010000(D0H),11010001(D1H) 2. A ,B ,A ,B 3. 运算器 , 控制器 4. 0003H , 0023H 5. 低8位地址/数据总线,P2 6. SCON ,TB8 ,RB8 7. 动态模式,静态模式 8. 4,8 9. DPTR 二、单项选择题(共15题,每题1分,共15分) 1. A 11. B 2.D 3.C 12. D 4. B 5.B 6. A 7. C 8. C 9. A 10. C 13. C 14. B 15. D 三、简答题(共5题,每题5分,共25分) 1.三类总线为:地址总线、数据总线、控制总线(2分)。地址总线为单向,用于传送地址信息。数据总线为双向,用于数据的传送。控制总线,一般为单向,用于传送控制信息。(3 23 分) 2. 定时和计数的区别在于时钟来源不同,当使用内部时钟时,时钟是确定的,此时,定时器工作于定时方式;当使用外部时钟时,时钟是不确定的,此时,定时器工作于计数方式。(2分)定时主要用来产生定时中断,实现定时采样输入信号,定时扫描键盘等;计数主要用来对外部输入时钟累加统计或测量外部输入时钟的参数等。(3分) 3. 当行线M=列线N=4时,共有4*4=16个检测点,此时检测点最多。(5分) 4. 因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。(5分) 5.使用0组工作寄存器(2分);R1对应的物理存储单元地址是01H(3分)。 四、程序分析题(每空1分,共10分) void Timer0 ( ) interrupt 1 { TH0 = 0xb1 ; TL0 = 0xe0 ; T1s++; If(T1s = = 100) { LED <<= 1; If(LED = = 0 ) LED = 1 ; T1s = 0; } } void main( ) { TMOD = 1 ; TL0 = 0xe0 ; TH0 = 0xb1 ; IE = 0x82; TR0 = 1 ; While(1) { P1 = LED ; } } 五、编程题(10分) #include \"reg52.h\" #include \"absacc.h\" #define uint unsigned int #define uchar unsigned char #define AD_0809 PBYTE[0X78] uchar AD_BUF[8];(3分) 24 s_r_ad_8(){ uchar pdata *ptr; uchar x,i; for(i=0;i<8;i++) { ptr=&AD_0809+i; *ptr=0; for(x=0;x<100;x++); AD_BUF[i]=AD_0809; ptr++; } } (5分) main(){ s_r_ad_8(); for(;;); }(2分) 六、综合应用(共20分) 1. 程序存储器:4000H——5FFFH(3分) 数据存储器:C000H——DFFFH (3分) 2. 74LS138:地址译码器,用来产生数据存储器和程序存储器的片选信号; 74LS373:地址锁存器,用来锁存P0口发送的地址低8位; 2764 :程序存储器,容量为8KB的程序存储器(EPROM)用来存储程序 ; 6264 :数据存储器,容量为8KB的数据存储器(RAM)用来存储数据 ; 89C52:微控制器,8位单片机。(4分) 3.① #10H ,② #0C100H ,③ #40H ,④ MOVX A,@DPTR ,⑤ DJNZ R7,LOOP 25 因篇幅问题不能全部显示,请点此查看更多更全内容