第1页四川理工学院试卷(2008至2009学年第2学期)课程名称:微控制器及其应用(补考开卷)命题教师:适用班级:电气061-065考试年月日共8页注意事项:1、满分100分。要求卷面整洁、字迹工整、无错别字。2、考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。3、考生必须在签到单上签到,若出现遗漏,后果自负。4、如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。试题一、填空题(每题3分,共30分)1.MCS-51微控制器有4个I/O口,它们分别是P0、P1、P2和P3,共有32根I/O线。2.MCS-51微控制器共有21个专用寄存器,分布在80H-FFH的地址中。3.MCS-51微控制器程序存储器指令地址使用计数器为PC,外接数据存储器地址指针为DPTR,堆栈的地址指针为SP。4.MCS-51微控制器共有5个中断源,每个中断源有2级优先权;在MCS-51微控制器中断源中,其中外部中断源2个。5.MCS-51微控制器的串行口有4种工作方式,工作时RXD占用P3.0引脚,TXD占用P3.1引脚。6.串行口中断标志RI/TI由硬件置位,软件清零。7.PSW是一个8位专用寄存器,用于存放程序运行中的各种信息。题号一二三四五六七八总分评阅(统分)教师得分得分评阅教师系专业级班学号姓名密封线密封线内不要答题第2页8.83C552微控制器的具有2个PWM输出通道,8路10位逐次比较型A/D转换器。9.在8051微控制器中,加法指令可以分为带进位的加法(或者ADDC)和不带进位的加法(或者ADD)两种。10.MCS-51微控制器内部有定时器/计数器2个,它们具有定时和计数功能。二、单项选择题(每题2分,共20分)1.MCS—51微控制器的CPU主要的组成部分为A。A.运算器、控制器B.加法器、寄存器C.运算器、加法器D.运算器、译码器2.微控制器中的程序计数器PC用来C。A.存放指令B.存放正在执行的指令地址C.存放下一条指令地址D.存放上一条指令地址3.INTEL8031微控制器的P0口,当使用外部存贮存器时它是一个D。A.传输高8位地址口A.传输低8位地址口C.传输高8位数据口D.传输低8位地址/数据口4.MCS—51微控制器的P1口的功能是A。A.可作通用双向I/O口用B.可作一般I/O口用C.可作地址/数据总线用D.可作通用I/O口用5.MCS—51汇编语言指令格式中,唯一不可缺少的部分是B。A.标号B.操作码C.操作数D.注释6.8031微控制器的定时器T1用作定时方式时是B。A.由内部时钟频率定时,一个时钟周期加1B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1D.由外部时钟频率定时,一个机器周期加17.启动定时器0开始计数的指令是使TCON的B。A.TF0位置1B.TR0位置1C.TR0位置0D.TR1位置08.用8031的定时器T0作计数方式,用模式1(16位),则工作方式控制字为D。A.01HB.02HC.04HD.05H9.ADC0809芯片是m路模拟输入的n位A/D转换器,m、n是A。A.8、8B.8、9C.8、16D.1、810.8031响应中断后,中断的一般处理过程是A。A.关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,中断返回B.关中断,保护现场,保护断点,开中断,中断服务,恢复现场,中断返回C.关中断,保护现场,保护中断,中断服务,恢复断点,开中断,中断返回D.关中断,保护断点,保护现场,中断服务,关中断,恢复现场,开中断,中断返回得分评阅教师第3页三、判断题(正确的划“√”,错误的划“×”)(10分)(×)1.MCS—51微控制器是高档16位微控制器。(√)2.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。(×)3.微控制器的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。(√)4.MCS—51指令:MOVA,#40H;表示将立即数40H传送至A中。(√)5.已知:A=1FH,(30H)=83H,执行ANLA,30H后,结果:A=03H(30H)=83HP=0。(×)6.在MCS—51微控制器内部结构中,TMOD为模式控制寄存器,主要用来控制定时器的启动与停止。(×)7.当8031的定时器T0计满数变为0后,溢出标志位(TCON的TF0)也变为0(×)8.DAC0832是8位D/A转换器,其输出量为数字电流量。(√)9.在接口芯片中,通常都有一个片选端CS(或CE),作用是当CS为低电平时该芯片才能进行读写操作。(√)10.已知:DPTR=11FFH执行INCDPTR后,结果:DPTR=1200H。四、分析题(15分)已知MCS-51微控制器内部RAM(10H)=00H,(30H)=40H,(40H)=10H,P1口为11001010B,分析指令执行后各单元的内容,并加以注释。MOVR0,#30HMOVA,@R0MOVR1,AMOVB,@R1MOV@R1,P1MOVP2,P1MOV10H,#20H指令执行后各单元的内容(10H)=20H,(30H)=40H,(40H)=CAH,(P1)=CAH,(P2)=CAH,(A)=40H,(B)=10H,(R0)=30H,(R1)=40H,得分评阅教师得分评阅教师系专业级班学号姓名密封线密封线内不要答题第4页五、编程题(共25分)IE(A8H)1、编程实现把51微控制器内部RAM中从20H单元开始的20个单字节数传送到片外RAM8000H开始的单元中去。(要求:使用汇编语言或C51语言编写,程序应有适当的注释。)(10分)汇编程序ORG0000HLJMPMAINORG0100HMAIN:MOVR0,#20HMOVDPTR,#8000HMOVR2,#14HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR2,LOOPSJMP$得分评阅教师EA——ESET1EX1ET0EX0SCON(98H)SM0SM1SM2RENTB8RB8TIRID0D7C语言程序#includereg51.h#includeabsacc.h#defineOUTXBYTE[0x8000]#defineINNERDBYTE[0x20]#defineucharunsignedcharuchardata*in_adr;ucharxdata*ou_adr;uchari=0;voidmain(void){in_adr=&INNER;ou_adr=&OUT;for(i=0;i=20;i++){*ou_adr=*in_adr;in_adr++;ou_adr++;}}第5页2、设系统时钟频率为11.0592MHZ,编写一段程序,利用51微控制器的串口发送41H,波特率为4800bps。(要求:使用汇编语言或C51语言编写,程序应有适当的注释。)(15分)波特率=2SMOD/32×(T1溢出率)=2SMOD×Fosc/[32×12(2K-初值)]选用工作方式2,K=8,得到初值为FAH。ORG0000HLJMPMainORG00F0HMain:MOVSP,#60H;给堆栈指针赋初值MOVTMOD,#20H;设置T1为方式2MOVTH1,#0FAH;设置波特率为9600MOVTL1,#0FAHMOVSCON,#50H;设置串口位方式1MOVPCON,#00HSETBTR1;定时器1开始计数Mainloop:MOVSBUF,#41H;开始发送SENDWT:JBCTI,MainloopAJMPSENDWTend#includereg52.hsbitP1_0=P1^0;voidDELAY();main(){TMOD=0X20;//设置T1为方式2TH1=0XFA;//设置波特率为9600TL1=0XFA;SCON=0X50;//设置串口位方式1PCON=0X00;TR1=1;//定时器1开始计数while(1){SBUF=0X41;while(TI==0);TI=0;}}系专业级班学号姓名密封线密封线内不要答题