微控制器原理08A(自动化)答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页四川理工学院试卷(2008至2009学年第1学期)课程名称:微控制器原理与接口技术(A)命题教师:适用班级:自动化061-063班考试年月日共8页注意事项:1、满分100分。要求卷面整洁、字迹工整、无错别字。2、考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。3、考生必须在签到单上签到,若出现遗漏,后果自负。4、如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。试题一、填空题(每题2分,共20分)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.目前市场上的嵌入式操作系统主要有VxWorks、μLinux和WindowsCE。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页五、编程题(每题10分,共20分)IE(A8H)1、编程实现把51微控制器内部RAM中从20H单元开始的20个单字节数传送到片外RAM8000H开始的单元中去。(要求:使用汇编语言或C51语言编写,程序应有适当的注释。)汇编程序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语言编写,程序应有适当的注释。)波特率=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;}}系专业级班学号姓名密封线密封线内不要答题第6页六、应用分析题。(15题)下图是ADC0809与微控制器接口电路图,请根据电路图完成下列任务。1.A/D启动信号由哪条指令产生?2.A/D转换通道端口地址分别是多少?3.根据图形编写采集8路模拟量程序,并将结果存入20H地址开始的内部RAM中。(提示:ADC0809A/D转换芯片,当START和ALE输入为高电平时,启动A/D转换。当ENABLE输入为高电平时,可读取A/D转换结果,EOC为高电平时,A/D转换转换结束)1、MOVX2、由图可得,8000H~8007H3、ORG0003HLJMPINT0ORG0100H;主程序MOVR0,#30H;设立数据存储区指针MOVR2,#08H;设置8路采样计数值SETBIT0;设置外部中断0为边沿触发方式SETBEA;CPU开放中断SETBEX0;允许外部中断0中断MOVDPTR,#0000H;送入口地址并指向IN0LOOP:MOVX@DPTR,A;启动A/D转换,A的值无意义得分评阅教师第7页HERE:SJMPHERE;等待中断ORG0200H;中断服务程序INT0:MOVXA,@DPTR;读取转换后的数字量MOV@R0,A;存入片内RAM单元INCDPTR;指向下一模拟通道INCR0;指向下一个数据存储单元DJNZR2,NEXT;8路未转换完,则继续CLREA;已转换完,则关中断CLREX0;禁止外部中断0中断RETI;中断返回NEXT:MOVX@DPTR,A;再次启动A/D转换RETI;中断返回#includereg51.h#includeabsacc.h//定义绝对地址访问#defineucharunsignedchar#defineIN0XBYTE[0x0000]//定义IN0为通道0的地址staticuchardatax[8];//定义8个单元的数组,存放结果ucharxdata*ad_adr;//定义指向通道的指针uchari=0;voidmain(void){IT0=1;//初始化EX0=1;EA=1;i=0;ad_adr=&IN0;//指针指向通道0*ad_adr=i;//启动通道0转换for(;;){;}//等待中断}voidint_adc(void)interrupt0//中断函数{x[i]=*ad_adr;//接收当前通道转换结果i++;ad_adr++;//指向下一个通道if(i8){*ad_adr=i;//8个通道未转换完,启动下一个通道返回}else{EA=0;EX0=0;//8个通道转换完,关中断返回系专业级班学号姓名密封线密封线内不要答题第8页}}

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功