盐工单片机期末复习题(共4页).doc
精选优质文档-倾情为你奉上B电气0812单片机测验(2011.5.16)一填空题(每空1分,共20分)1. 已知两个数的真值为:X=-55,Y=108,则X+Y补 35H 。2.微型计算机组成包括 CPU 、 存储器 、 I/O接口 、 总线 四部分。3. 在MCS51单片机中,如果采用12MHz晶振,1个机器周期为 1s 。4. 单片机对外三总线分别为 地址总线 、 数据总线 和 控制总线 。5. 8051单片机内部有 2 个定时器, 4个并行口和 1 个全双工串行口,5 个中断源。6. 8051单片机内部有 4 KB的ROM, 128 B的RAM,SFR是 特殊功能寄存器 。7. 单片机的扩展包括 外部数据存储器的扩展 、 外部程序存储器的扩展、 输入/输出接口的扩展 和 管理功能器件 扩展。二说明题(每小题4分,共20分)1.8051单片机的控制引脚有哪些,各起什么作用?答:RST/VPD(9脚): RST即为RESET, VPD为备用电源, 所以该引脚为单片机的上电复位或掉电保护端。 ALE(30脚):(Address Latch Enable/PROGramming) 当访问外部存储器时, ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。PSEN(29脚):(Program Strobe ENable)片外程序存储器读选通信号输出端, 低电平有效。EA(31脚):(Enable Address/Voltage Pulse of Programing)为访问外部程序存储器控制信号。另外P3口的每一个引脚都有第二功能,第二功能都是作为控制应脚,如下表所示。2.8051单片机的四种工作方式各是什么工作方式?用户如何设定?答:单片机的四种工作方式如下表:用户通过对工作方式寄存器TMOD各位赋值来设定单片机的四种工作方式。3.什么是并行通信,什么是串行通信,各用在什么场合?答:并行通信是构成1组数据的各位同时进行传送,例如8位数据或16位数据并行传送。并行通信的特点是传输速度快,但当距离较远、位数又多时导致了通信线路复杂且成本高。串行通信是数据一位接一位地顺序传送。串行通信的特点是通信线路简单,只要一对传输线就可以实现通信(如电话线),从而大大地降低了成本,特别适用于远距离通信。缺点是传送速度慢。4.解释中断的含义。答:CPU执行程序时,由于发生了某种随机的事件(外部或内部的),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。5.单片机最小应用系统是什么意思?答:单片机最小应用系统是指一个真正可用的单片机最小配置系统。片内带程序存储器的单片机,如8051、 8751、8052,由单片机本身、时钟电路、复位电路即可构成最小应用系统。 片内不带程序存储器的单片机,如8051、 8751、8052,由单片机本身、时钟电路、复位电路,还要加上片外程序存储器与地址锁存器才能构成最小应用系统。三阅读程序,回答问题(共20分)1. #include<reg51.h> void delay (void)unsigned int a=5000;while(a-);main()P1=0x00; IT1=1;EA=1;EX1=1;while(1);void int0_srv (void) interrupt 2 using 1 delay(); P1=0xff;假设P1口接了8个发光二极管(共阴极),请说明程序的功能。(10分)答:系统上电正常工作时,P1口所接8个发光二极管全灭,当外部中断1提出请求时,且CPU响应中断时,P1口8个发光二极管全部点亮。2.#include “reg51.h” unsigned char code table=0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe,0x3f,0xcf,0xfc,0xf3,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfc,0xf3,0xcf,0x3f,0x7e,0x3c,0x18,0x00,0xe7,0xc3,0x81,0x01;unsigned char i=0;void delay(void) unsigned int m;for(m=65536;m>0;m-);void main(void) while(1) if(tablei!=0x01) P1=tablei; i+; delay(); Else i=0; 上述程序是一个彩灯控制程序(彩灯所接发光二极管为共阳极),请仔细阅读程序说明彩灯按何种规律点亮?(10分)答:P1.7接的灯为左边,P1.0接的灯为右边从左向右,每次点亮一个灯;从左向右,每次点亮两个灯;从右向左,每次点亮一个灯;从右向左,每次点亮两个灯;从两边往中间,逐个点亮;从中间往两边,逐个点亮。四应用题(共10分)采用线选法扩展来两片8KBRAM,画出电路连接图,写出两片芯片的地址范围。答:芯片的地址:6264(1):C000-DFFFH, 4000-5FFFH;6264(2):A000-BFFFH, 2000-3FFFH五应用题(共10分)若8051单片机的系统时钟频率fosc=12MHZ,利用定时器0,由P1.0输出一个周期为50ms的方波,试编写程序。解:方波的周期用定时器T0产生,根据(2n-x)×Tcy(216-x)×1s =25ms,所以x=65536-25000=40536=9E58H即TH0=9EH,TL0=58H 或者通过计算得出TH0=40536/256,TL0=40536%256在T0中设置初值为9E58H,在初值的基础上进行加1计数,每隔25ms计数溢出1次,CPU响应中断后,在中断服务程序中对1.0引脚信号取反。程序如下:#include<reg51.h>#define uint unsigned intsbit fangbo=P10;void delay(uint z); /延时子程序void main() TMOD=0x01; /设置T1为定时器模式,工作在方式1 TH0=0x9E; TL0=0x58; EA=1; /开总中断 ET0=1; /允许T0中断 TR0=1; /启动T0 while(1);void delay(uint z) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void timer0() interrupt 1 TH0=(65536-25000)/256; TL0=(65536-25000)%256; fangbo=fangbo;六应用题(共20分)用8051单片机、DAC0832芯片和一些必须的元器件,设计一个单片机应用系统,使其可输出锯齿波,并编写控制程序。解:电路连接如下:程序如下:#include <reg52.h>#include <absacc.h>#define uint unsigned int#define uchar unsigned char#define DAC0832 XBYTE0x00FEvoid DelayMS(uint ms)uchar i;while(ms-)for(i=0;i<120;i+);void main()uchar i;while(1)for(i=0;i<256;i=i+5)DAC0832 =i;DelayMS(1);专心-专注-专业