操作,如果对命令口送出0x06控制字,是对 C
A.PC6置0 B. PC6置1 C. PC3置0 D. PC4置0
7、执行如下指令后,50H单元的内容是 C 。
MOV R1,#50H
MOV 40H,#07H
MOV @R1,40H
A. 40H
B. 50H
C. 07H
D. 0FH
8、指令MOV A, 3AH的源操作数寻址方式是 C 。
A. 立即寻址方式 C. 直接寻址方式
B. 寄存器间接寻址 D. 寄存器寻址方式
9、.有如下程序段: C
MOV R0, #70H
SETB C
CLR A
ADDC A, #00H
MOV @R0, A
执行完该程序后,70H单元的内容是.
A. 0
B.00H
C.1
D.01H
10、有如下图: 1键的键码是11101110,14键的键码是 D
A. 11011101
B. 01110111
C. 11011110 D。
11010111
二、填空题(每题2分,共44分)
1、在程序开头定义了一个符号常量CONST其值为60。
其语句是_#define CONST 60____。
将PORTA定义为外部I/O口,地址为0xffco其语句是_#define PORTA XBYTE [0xffc0]_。
2、在MCS-51单片机中,内部RAM有_4__个通用工作区,它们由PSW_特殊功能寄存器中的_RS1 RS0___来选择。
复位后,默认为___0_____工作寄存器组。
3、MCS-51单片机有_4_个并行I/O口,其中_P0__口作地址/数据复用线,_P2__口作地址总线高8位输出口,_P3__口具有双重功能。
4、8051内部共有_2_个__16__位的定时器/计数器_TH____和_TL_,每个定时/计数器都可以设置成_定时___或____计数___方式。
5、8051共有_5___个中断源,_2__个中断优先级。
6、单片机要执行的程序的地址放在__PC___寄存器中,MCS-51单片机访问外接数据存储器或I/O口时,对它们的寻址可先把地址放在寄存器__DPTR__中,然后通过寄存器间接寻址来进行访问。
7、定时器运行启停控制位是_TR0,TR1__标志,已知A中值为01100111B,P=_1_。
单片机进行复位操作后,PC自动指向_0000H___单元,表明_程序从0000H地址开始运行_。
8、51单片机能提供_16__条地址线,可扩展_64K__字节的ROM。
9、EPROM2764芯片的存储容量为_8K__,它的地址线有_13__根。
10、ADC 0809是8位逐次逼近__型A/D转换器,带__8__个模拟量输入通道。
11、MCS-51单片机中,用__PSEN__信号作外部EPROM的读选通信号;用__RD_____和_WR______信号作外部数据存储器的读/写选通信号。
12、当系统晶振频率为6MHZ,则时钟周期为__1/3__μs,机器周期为__2____μs,最短和最长的指令周期分别为___2_____μs和____8__μs。
13、当单片机的型号为8031/8032时其芯片引线EA一定要接__高___电平。
CPU与内存或I/O接口相连的系统总线通常由___地址总线__、_数据总线_、_控制总线_等三种信号线组成。
14、MCS-51指令系统中,ADD与ADDC指令的区别是__不加进位与加进位的区别_。
15、MCS-51单片机访问片外存储器时利用_ALE信号锁存来自__P0__口的低八位地址信号。
16、12根地址线可选_2_个存储单元,32KB存储单元需要_15__根地址线。
17、用并行口扩展一个有32只按键的行列式键盘,最少需要__12__根I/O线。
18、与Timer工作有关的特殊功能寄存器是:_TMOD_____和_TCON_____。
19、TMOD选方式1 写“M1,M0” = __01_____。
20、已知fosc = 12MHz方式1求50ms计算初值的公式是_TH0=(65536-50000)/256; TL0=(65536-50000)%256;__。
21、74LS273通常用来作__输出___接口扩展;而74LS244则常用来作简单_输入__接
口扩展。
22、C51提供的位操作运算符有_& | ! << >> ___。
三、简答题(每题4分,共24分)
2、试说明8051单片机的专用控制信号线ALE、PSEN的含义是什么?
•ALE地址锁存允许/编程脉冲输入端。
P0口寻址外部低8位地址时接外部锁存器G端;
ALE端平时会输出周期正脉冲:f fosc/6 ;
对片内ROM编程时编程脉冲由此端加入
•PSEN寻址外部程序存储器时选通外部EPROM的
读控制端(OE)低有效。
3、如下函数是什么函数:
V oid inter_ex1 () interrupt 2 using 2
{
}
是外部中断1 中断函数。
4、12M晶振选定时器0 方式1,定时50MS ,定时器1方式2计数100次,编写C51初始化程序。
TMOD=0x51;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1= 256-100
TL1=256-100
6、特殊功能寄存器PSW地址为D0在C51中如何定义?其中CY又如何定义?Sfr PSW=0xd0;
Sbit CY=PSW^7;
四、分析程序(每题4分,共16分)
1、已知dd的内容为0xaa执行如下程序后,d_dat输出值:
void out_disp(unsigned char dd) {
unsigned char i;
sbit d_dat,d_clk;
for (i=0;i<8;i++) {
if (dd&0x01) d_dat=1; else d_dat=0;
d_clk=0;
dd>>1;
d_clk=1; }}
答案:01010101
2、有如下DAC0832输出程序段,画出它的输出波形?
#include<absacc.h>
#include<reg51.h>
#define DA0832 XBYTE[0xffe]
#define uchar unsigned char;
#defiine uint unsigned int
void stasr(void)
uchar i;
while(1)(
for(i=0;i<=255;i++=)
{ DA0832=I;
}
} }
3 、如下定时器程序画出它的P1。
1端输出波形,并写出定时间常数。
#include <reg51.h>
sbit P1_1=P1^1;
void timer0(void) interrupt 1 using 1 {
P1_1=!P1_1;
TH0=65536-1000/256; TL0=65536-1000%256;
}
void main (void) {
TMOD=0x01;
TH0=65536-1000/256; TL0=65536-1000%256;
EA=1; ET0=1; TR0=1;
Do { } while(1);
} 时间周期是1MS
4、单片机P0口连接8个8段数码管的段码端,P2口连接8个8段数码管的位码端,有如下程序:
#include <reg52.h>
unsigned char code T AB[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char aa, b1[8]; int ii;
void main
{
for(ii=0;ii<8;ii++) { b1[i]=8-ii; }
while(1)
aa=0xfe;
for(ii=0;ii<8;ii++) {
P2=0xff; P0=T AB[b[ii]; P2=aa; aa=aa<<1 aa=aa|0x01;} }
}
写出个8段数码管显示的数。
答案: 1 2 3 4 5 6 7 8
五、综合设计(每题9分,共18分)
2、在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,编写C51中断服务程序:从左到右依次点亮八盏灯。
V oid inter_ex1 () interrupt 2 using 2
V oid main()
{ { IE=ox82;
Unsigned char aa; int I; while (1)
Aa=0x80; {}
For (i=0;i<8;i++)
{ P1=aa; daly(1000) aa=aa>>1; }} }。