1、单片机复习题(+作业)一、填空题1、AT89S51 单片机有 个中断源,有 个中断优先级,其中 INT0 中断服务程序入口地址为 。2、AT89S51 单片机低 128 单元随机存贮器,按其用途可划分为 区、区、 区,它们的地址范围分别为 、 、,RAM 中地址为 80HFFH 的为 区。3、8051 单片机复位后 SP , P0 。4、单片机 8051 片内有两个 位的定时/计数器,即 T0 和 T1。5、单片机 8051 中的串行通信共有 种方式,其中方式 是用作同步移位寄存器来扩展 I/O口的。6、单片机 8051 的时钟频率为 6MHz,若要求定时 1ms,定时/计数器工作于模式 1,
2、其定时/计数器的初值为 。7、KeiL C51 软件中,编译连接后生成可烧写的文件扩展名是_。8、C51 的存储类型有 、bdata 、idata、pdata、 、 。9、AT89S51 单片机的内部硬件结构包括了: 、 、 、和 以及并行 I/O 口、串行口、中断控制系统、时钟电路、位处理器等部件,其最小系统由 51 单片机、 电路和 电路组成。10、执行#define PA8255 XBYTE0x3FPA8255=0x7e 后, 单元的内容变为 。二、选择1、在MCS-51单片机中,当采用4MHZ晶振频率时,一个机器周期等于 ( )微秒。 A.1 B.2 C.3 D.4 2、单片机的程序计
3、数器PC是16位的,其寻址范围为( )。 A.128 B B.256 B C.8 KB D.64 KB3、若将字库放在程序存储器中,则存储类型是( ) A. xdata B. code C. pdata D. Bdata4、MCS-51单片机定时器工作方式0是指( )工作方式。 A.8位 B.8位自动重装 C.13位 D.16位 5、51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( ) A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断6、T0 设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的( ) A.1/12 B.1/24 C.1/48 D. 1/6
4、7、串行口工作在方式0时,作同步移位寄存器使用,此时串行数据输入输出端为( ) A.RXD引脚 B.TXD引脚 C.T0引脚 D.T1引脚 8、下列论述哪一项是错误的:( ) A.RS-232是同步传输数据的 B.RS-232编码协议是传输距离短的主要原因 C.RS-422、RS-485的电路原理与RS-232基本相同 D.RS-232广泛用于计算机接口9、51外扩ROM,RAM和I/O口时,它的数据总线是( ) A.P0 B.P1 C.P2 D.P3 10、LCD1602属于那一种液晶显示器( ) A.笔段式液晶显示器 B.字符点阵式显示器 C.图形点阵式液晶显示器11、对5V电压进行A/D
5、采样,若要求对电压的最小分辩率为5mv,则A/D的转换位数为:( ) A.8位二进制 B.10位二进制 C.12位二进制 D.14位二进制 12、以下哪种方式的接口总线最少?( ) A.SPI B.I2C C.单总线 D.并行通信 13、以下哪项不是SPI总线信号( ) A.SCK B.MISO C.MOSI D.EA 14、可以将 P1 口的低 4 位全部置高电平的表达式是( )AP1 BP1|=0x0f; CP1=0x0f; DP1=P1;15、如果执行 IP=0x0A; 则优先级最高的是( )附 IP 的定义:,PS,PT1,PX1,PT0,PX0A.外部中断 1 B.外部中断 0 C.
6、定时/计数器 1 D.定时 /计数器 016、汇编用RS1、RS0改变工作寄存器组,C51改变工作寄存器组用关键字( )A.interrupt B.sfr C.while D.using17、执行#define PA8255 XBYTE0x3FPA8255=0x7e; 后,下列说法对的是( )A.片外RAM存储单元003FH的值是7EH B.PA单元的值为8255HC.片内RAM存储单元003FH的值是是0x7e D.PA单元的值为7EH18、单片机程序设计中需要在主程序设计死循环来防止程序跑飞,在 C51 中实现死循环采用语句( ) 。A.while(1); B.for(;); Cwhile
7、(1);或 for(;); 都可以 D.前面的语句都不行19、程序定义如:void T0_svr(void) interrupt 1 using 1请问下面说法哪个是错误的( )A.T0_svr 无入口参数,也无返回值B.T0_svr 是中断函数,中断序号为 1,对应汇编入口地址为 000BHC.T0_svr 不能被其他程序调用,但可以被主程序 call T0_svr 调用D.T0_svr 的工作寄存器为 1 组,即片内 RAM 的 08H-0FH 地址处20、下面的语句,用于设置定时器 0 的中断,并使之能的是( )A.EX0=1; B.ET0=1; C.ES=1; D.EX1=1;21、M
8、CS-51单片机的字长是( )。 A.2位 B.4位 C.8位 D.16位 22、单片机复位时,程序计数器PC的值为( )。 A.0000H B.0030H C.4000H D.4100H 23、单片机在与外部I/O口进行数据传送时,将使用( )线。 A B. INT0LEALEPSNC. D.RD WIT1 24、 AT89S51单片机中的片内程序存储器空间有多大?( ) A.0 KB B.4 KB C.8 KB D.64KB 25、AT89S51单片机的位寻址区位于内部RAM的( )单元。 A.00H7FH B.20H7FH C.00H1FH D.20H2FH 26、下列计算机语言中,CP
9、U能直接识别的是( ) A.自然语言 B.高级语言 C.汇编语言 D.机器语言 27、改变工作寄存器组的方法是( ) A. using n B. interrupt m C. reentrant D. sbit m 28、若将字库放在程序存储器中,则存储类型是( ) A. xdata B. code C. pdata D. bdata 29、下列类型中,( )是51单片机特有的类型 A. char B. int C. sbit D. float 30、0023H 是51单片机的( )中断入口地址 A.外部中断0 B.外部中断1 C.定时器中断1 D.定时器中断0 31、 T1中断允许控制位为(
10、 ) A.ET0 B.ET1 C.ES D.EX1 32、定时器/计数器工作于模式 2 ,在计数溢出时( ) A.计数从零重新开始 B.计数从初值重新开始 C.计数停止 D.由程序设定 33、外部中断 INT0 的触发方式控制位 IT0 置 1 后,其有效的中断触发信号是( ) A.高电平 B.低电平 C.上升沿 D.下降沿 34、串行口工作在方式0时,作同步移位寄存器使用,此时串行数据输入输出端为( ) A.RXD引脚 B.TXD引脚 C.T0引脚 D.T1引脚 35、在异步通信中每个字符由9位组成,串行口每分钟传25000个字符,则对应的波特率为( )/。 A.2500 B.2750 C.
11、3000 D.375036、当进行点对点通信时,通信距离为3M,则可以优先考虑下了哪种通信方式( ) A.串行口直接相连 B.RS-232 C.RS-422A D.RS-485 37、甲乙双方采用串行口模式1进行通信,采用定时器T1工作在模式2做波特率发生器,波特率为2400bit/s,当系统晶振为6Mhz时,SMOD=1,计数初值为( ) A.F3H B.F6H C.FEH D.E3H 38、51单片机外扩存储器芯片时,4个I/O口中用作地址总线的是( )。 A.P0口和P2 B.P0口 C.P1口和P3口 D.P2口 39、对5V电压进行A/D采样,若要求对电压的最小分辩率为5mv,则A/
12、D的转换位数为:( ) A.8位二进制 B.10位二进制 C.12位二进制 D.14位二进制 40、I2C总线在读或写时,开始的信号为( ) A. SCL为高电平期间,SDA从低变高 B. SCL为高电平期间,SDA从高变低 C. SCL为低电平期间,SDA从低变高 D. SCL为低电平期间,SDA从高变低 三、简答题1、AT89S51 单片机内部包含哪些主要逻辑功能部件?简述各部分的功能作用2、中断响应的条件是什么?51 系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、名称及其入口地址。3、在使用 51 的定时器/计数器、串行口前,应对它进行初始化,其步骤是什么? 4、5
13、1 单片机的存储结构是什么?如何划分及各部分功能?四、读程序写结果1、#include sbit P1_0=P10;void delay(unsigned int n) while(n-); void int0_svr(void) interrupt 0 using 1 delay(1000);if(INT0= =0) P1_0=!P1_0;while(INT0=0);void main()EA=1;EX0=1;while(1); 请说明上面程序的功能:2、#include#include void main(void)unsigned char i;for(i=0;i#define ucha
14、r unsigned char#define uint unsigned int void delayms(uint xms)uint i,j;for(i=xms;i0;i-) /i=xms 即延时约 xms 毫秒for(j=110;j0;j-);void main()SM0=1;SM1=0;TB8=1;EA=1;ES=1;TI=0;while(1)SBUF=0xaa;delayms(1);void ser0() interrupt 4TI=0;本图用单片机外中断功能改变数码管的显示状态,当无外部中断 0 中断请求时,主程序运行状态为数码管循环显示 0,1,2,3,4,5,6,7,8,当有外部
15、中断 0 产生时,数码管显示状态改为闪烁显示“8”,共 8 次后,返回主程序继续执行。请补充完整程序,实现以上功能。 (每空 2 分,共 16 分)4、完善程序例(并行口、中断、定时/计数器、串行口)本图用单片机外中断功能改变数码管的显示状态,当无外部中断 0 中断请求时,主程序运行状态为数码管循环显示0,1,2,3,4,5,6,7,8,当有外部中断 0产生时,数码管显示状态改为闪烁显示“8” ,共 8 次后,返回主程序继续执行。请补充完整程序,实现以上功能。#includeunsigned char code table=0x3f,0x06,0x5B,0x4f,0x66,0x6d,0x7d,
16、0x7f;void delay(unsigned char delaytime)unsigned char i,j;for(i=0;i=_;i+)for(j=0;j=200;j+);void init_tx()EA=_;EX0=_;IP=0x00;void main()unsigned char i;init_tx();;for(i=0;i8;i+)P1= ;delay(200);void tx0() interrupt unsigned char i;P1= ;XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD4
17、35.5/54P0.6/AD63.7/72P1.0/T21./EX2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47UAT89C52R310kVCX1CRYSTALC130pFC230pFR510kR610kC31uFVCR7470R89470R1470R123470Rdelay(200);for(i=0;i= ;i+)P1=P1;delay(200);五、编写程序1、
18、实现不同存储区域之间的数据传输。2、在 51 系统中,已知振荡频率是 12MHz,用定时器/计数器 T0 实现从 P1.1 产生周期是 2s 的方波3、利用89S51的P1.0口线控制一个发光二极管LED,编程用定时器T1定时,实现LED每隔1s交替亮灭,周而复始。设晶振频率fosc=12MHz,要求:画出电路原理图,包括时钟电路和复位电路;编写程序。(要求用中断方式写程序)4、设计硬件电路(画出电路图) ,并编写一程序实现正常工作时 P1 口流水灯点亮,有中断发生时,蜂鸣器报警,中断结束后报警消除。注:程序和图要对应5、按照下图设计程序,对按键动作进行计数和显示,达到 99 后重新由 1 开
19、始计数。6、采用 ADC0809 设计数据采集电路,将 IN7 通道输入的模拟量信号进行测量,结果以 16 进制显示。7、 (1)ADC 0809 和单片机及集成 LED 显示的电路连接如图所示,其中 ADC0809 的 CLK 接 1M 赫兹的脉冲信号,输入 IN3 和可调电位器相连, START 和 P1.2 相连,EOC 和 P1.1 相连,ADDA、ADDB、ADDC 分别和、 P1.5、P1.6 相连;ADC 0809 的八位数字输出端和口相连;(2)P0 口和集成数码管的字段(abcdefgdp)相连,P2.0P2.3 依次和集成数码管的位选段 1234 相连。请结合实验及相关知识
20、用 C 语言编写程序,在四位集成数码管上显示量程为 05V 的三位十进制可调电压,其中集成数码管 2 显示小数点。结果如下图所示。abcdefgabcdefgXTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225
21、.5/136.6/47U180C51+5VBUTLED1 LED2ResitorResitor ResitorResitor ResitorResitor ResitorResitor ResitorResitor ResitorResitor ResitorResitor 10 x 71-R7D76D54D32D10D01D23D45D67C2STST 3EOC 1C32C1STEOCXTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.
22、45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51OUT121AD B24 A5C3VREF(+)12 (-)6IN31I42IN53I64IN75 START6OUT58EOC7OE9CLOCK1020OUT714658741OUT39I228IN17I026ALE2U3ADC089SEVN-MPX4-C-BLUE91%RV11kC12pFC22pFC310uFX112MR110k234567891RP1SEVN-MPX4-C-BLUE已知 09 及小数点的七段码如下:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80;并且延时程序已知,为 delay(),可直接调用。