C. 应该空悬(即不用连接) D. 应该接单片机的ALE信号
三、程序填空题
1、编程将8XX51的内部数据存储器20H单元和35H单元的数据相乘,结果存放到外部数据存储器中(位置不固定)。 main() {
char data *p1,*p2; xdata int a;
__________ __________ a=(*p1)*(*p2); }
p1=0x20;p2=0x35;
2、将内部RAM 21H单元存放的BCD码数转换为二进制存入30H为首址的单元,BCD码的长度存放在20H单元。 main() {
int data a=0,*p3; char i,*p1,*p2; p1=0x20; p2=0x21; p3=0x30;
for(i=0;i< __________;i++) {
a= __________ __________ }
__________ }
*p1 a*10+*p2; *p3=a; p2++;
3、将内部RAM 30H单元存放的2字节二进制数转换为十进制存于21H为首的单元中,长度存放于20H单元中。 main( ) {
unsinged int a,k,*p3; char i,*p1,*p2 p1=0x20; p2=0x21; p3=0x30; a=*p3; k=10000;
while(a/k== __________)k= __________;
for(i=0; __________;i++) {
*p2= __________; a=a%k; __________; k=k/10; }
__________; }
0 k/10 a!=0 a/k p2++ *p1=i
4、设系统时钟频率为12MHz,利用定时器/计数器T0编程实现从P1.0输出周期为20ms的方波。
#include
char i;
TMOD=0x01; __________; for(;;){
__________;
__________;
do{ } while (!TF0) { __________; __________; } } }
TR0=1 TH0=0xD8 TL0=0xF0 P1_0=!P1_0 TF0=0
5、用8051单片机的串行口外接串入并出的芯片CD4094扩展并行输出口控制一组发光二极管,使发光二极管从左到右依次点亮,并反复循环。 __________ __________; void main() {
unsigned char i,j; SCON=0x00; j=0x80; for(;;) {
P1_0=0; __________;
while(__________){ ;} P1_0=1; TI=0;
for(i=0;i<=254;i++){;} __________;
if(__________) __________; } }
#include
6、将89C51的RXD(P3.0)和TXD(P3.1)短接,将P1.0接一个发光二极管,发光二极管的一端接地,一端接P1.0,编一个自己发送自己接收程序,检查本单片机的串行口是否完好,设系统时钟频率为12MHz,波特率取600。 #include
void main() {
unsigned int i; TMOD=0x20; __________; __________; TR1=1;
SCON=0x50; while(1) {
__________; P1=0xfe;
for(i=0;i<10000;i++); SBUF=0xff;
While(__________); RI=0;
P1=SBUF;
while(__________); for(i=0;i<10000;i++); } }
TH1=0xcc TL1=0xcc TI=0 RI==0 TI==0
四、编程题
1、使用定时器0以定时方法在P1.0输出周期为400us,占空比为20%的矩形脉冲,设单片机晶振频率为12Mhz,编程实现。
2、片外RAM以30H开始的数据区有100个数,要求每隔100ms向片内RAM以10H开始的数据区传送20个数据,通过5次传送把数据全部传送完。以定时器1作为定时,编写有关程序,设fosc=6MHz。
3、采用8255芯片扩展I/O时,若把8255芯片B端口用作输入,B端口每一引脚接一个开关,A端口用作输出,A端口的每一引脚接一个发光二极管。若A端口的地址为7FFFFH, 请画出硬件电路图,并编写程序实现当B端口的开关闭合而A端口对应发光二极管点亮。 4、自己设计3×3矩形式键盘的硬件接口电路,试编制相应的键盘扫描程序。 5、用51单片机并行口设计显示一个数码的电路,使数码管循环显示“0”~“F”。
6、利用8XX51的并行口接2个数码管,显示INT1中断次数(次数不超过FFH)。
7、利用8XX51的T0计数,每计10个脉冲,P1.0变反一次,用查询和中断两种方式编程。 8、已知8XX51单片机系统时钟频率为6MHz,利用定时器T0使P1.2每隔350us输出一个50us脉宽的正脉冲。 9、一个8XX51单片机的双机通信系统波特率为9600,fosc=12MHz,用中断方式编写程序,将甲机片外RAM3400~34A0H的数据块通过串行口传送到乙机的片外RAM4400H~44A0H单元中去。
10、利用89C51串行口设计4位静态显示器,画出电路并编写程序,要求4位显示器上每隔1s交替地显示“0123”和“4567”。
《单片机原理与应用》
一.填空题(每空2分,共24分)
1.8051 的片内数据RAM、片外数据RAM和程序ROM存储器空间配置地址依此为: 、 、 。
2.8051复位后,PC= 。若希望从片内存储器开始执行程序,EA脚应接 电平,PC值超过 时,8051会自动转向片外存储器继续取指令执行。
3.定时器/计数器T0工作于方式3时,将 拆成两个独立的8位计数器TL0、TH0,此时,TH0只可作为 使用。
4.8051 片内有__ 组工作寄存器区,每组为 个寄存器,每组寄存器均被命名为R0~R7,当前工作寄存器是通过对 寄存器中RS1、RS0两位设置确定的。
5. 外部中断1(INT1)的中断入口地址为 ;定时器1的中断入口地为 。
二.判断题(每小题2分,共16分)
1.片内RAM的20H~2FH为位寻址区,所包含的位地址是( )。
A、00H~20H B、00H~7FH C、20H~2FH D、00H~FFH
2. MCS-51单片机的复位信号是( )有效。
A、高电平 B、低电平 C、脉冲 D、下降沿
3. 单片机的定时器/计数器工作方式1是( )。
A、8位计数器结构 B、2个8位计数器结构
C、13位计数结构 D、16位计数结构
4. 执行#define PA8255 XBYTE[Ox3FFC],PA8255=Ox7e 后 存储单元Ox3FFC的值是( )
A、Ox7e B、8255H C、未定 D、7e
5. 在80C51单片机中,要求计数值较大时应采用() A.方式0 B.方式1 C.方式2 方式3
6. 以下不能定义为用户标识符是( )。
A、Main B、_0 C、_int D、sizeof
7. 若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( )。 A、2μs B、4μs C、8μs D、1ms
8. 已知1只共阳极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,小数点暗,则它的字形代码应为( )。
A、06H B、F9H C、30H D、CFH
三.读程序填空(共20分)
1.执行下列程序段中第一条指令后,(1)(P1.7)=____ (P1.3)=_____, (P1.2)=_________;执行第二条指令后,(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________。(6分) ANL P1,#73H ORL P1,#38H
2. 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A= ,R0= ,