第1页四川理工学院试卷(2009至2010学年第1学期)课程名称:微控制器技术(B卷参考答案及评分标准)命题教师:适用班级:自动化07级1、2、3、4班考试年月日共8页注意事项:1、满分100分。要求卷面整洁、字迹工整、无错别字。2、考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。3、考生必须在签到单上签到,若出现遗漏,后果自负。4、如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。试题一、填空题(每空1分,共25分)1.微控制器片外总线按功能分为三种:包括数据总线、控制总线和地址总线。2.8051微控制器的CPU主要包括运算器和控制器两大部件。3.8051微控制器的基本操作周期名为机器周期,它包含12个时钟周期。4.在存储器结构上,8051采用的是哈佛结构,具有数据存储器和指令存储器两种存储器,每种存储器的最大存储空间可达64KB。5.MCS-51单片机片内有5个中断源,其中2个外部中断源。6.MCS-51单片机内部共有32个工作寄存器单元,分为4组寄存器,每组8个单元,以R0~R7作为寄存器的名字。7.8051微控制器片内数据传送指令助记符是MOV;片外数据传送指令的助记符是MOVX。8.指令POPB的源操作数是SP,是寄存器间接寻址方式,目的操作数是B,是寄存器寻址方式。9.MCS-51单片机的串行口有4种工作方式,其中方式0是移位寄存器方式,用RXD引脚传送数据,用TXD引脚输出同步时钟信号。题号一二三四总分评阅(统分)教师得分得分评阅教师系专业级班学号姓名密封线密封线内不要答题第2页10.I2C器件的地址码包括_器件类型_码、___片选__码和读写控制码。二、选择题,请将答案填入题后括号内(每小题2分,共24分)1.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是:(A)A.P0口B.P1口C.P2口D.P0口和P2口2.在寄存器间接寻址方式中,寄存器中存放的是:(B)A.操作数B.操作数地址C.转移地址D.地址偏移量3.8051微控制器的晶振频率为fosc=12MHz,则执行一条双周期指令需要(C)A.1µSB.0.5µSC.2µSD.4µS4.下列指令中错误的是:(B)A.MOVX﹫R0,AB.SUBR4,R3C.ANL20H,#20HD.ADDCA,R45.与定时工作方式1和0比较,定时工作方式2不具备的特点是:(B)A.计数溢出后自动装载计数初始值B.增加计数器位数C.提高定时精度D.适于循环定时和循环计数应用6.MCS-51中,PC的值是:(C)A.当前指令前一条指令的地址B.当前正在执行指令的地址C.下一条指令的地址D.控制器中指令寄存器的地址7.中断查询的是(B)A.中断请求信号B.中断标志位C.外中断方式控制位D.中断允许控制位8.在进行串行通信时,若两机的双向发送与接收只能分时进行,则为(A)A.半双工传送B.单工传送C.全双工传送D.以上都不对9.关于I2C总线的描述,错误的是(C)A.属于串行总线B.传递信息数据时,数据线上每一位信息的改变必须发生在时钟线为低电平期间C.发送开始信号和结束信号时,时钟线应为低电平D.同一I2C总线上的同类型器件最多只能挂8个得分评阅教师第3页10.以下不属于液晶显示器LCD的特点的是(B)A.体积小、重量轻、功耗低B.耐高温等恶劣环境C.可分为笔段式、字符点阵式和图形点阵式D.字符点阵式LCM的控制器可分为带字库型和不带字库型11.如果把8255A的A1、A0分别与80C51的P0.l\P0.0连接,则8255A的A、B、C口和控制寄存器的地址可能是(A)A.××00H~××03HB.00××H~03××HC.0×××H~3×××HD.×00×H~×03×H12.与其他接口芯片不同,A/D转换芯片中通常需要编址的是(C)A.用于转换数据输出的数据锁存器B.A/D转换电路C.模拟信号输入的通道D.地址锁存器三、读程及分析题(共19分)1.读下列程序,回答问题。(6分,第一空2分,后面四空每空1分)MOVR0,#dataMOVA,@R0RLAMOVR1,ARLARLAADDA,R1MOV@R0,A上述程序段实现的功能是:把data单元的内容乘以10放回原单元若程序执行前data=40H,(40H)=10H,执行上述程序段后,(A)=A0H,(40H)=A0H,(R0)=40H,(R1)=20H。2.设片内RAM的(20H)=40H,(40H)=0BH,(10H)=0CH,(P1)=0CAH,写出下列程序段执行后,片内RAM的20H、40H、10H单元及P1、P2的内容。(5分,每空1分)MOVR0,#20HMOVA,@R0得分评阅教师系专业级班学号姓名密封线密封线内不要答题第4页MOVR1,AMOVA,@R1MOV@R0,P1MOVP2,P1MOV10H,AMOV20H,10HSJMP$(20H)=0BH,(40H)=0BH,(10H)=0BH,(P1)=0CAH,(P2)=0CAH。3.下图为8051扩展3片存储器2764的电路连接示意图,用片选法完成剩下的硬件电路连接并写出每一片2764的地址范围(用十六进制数表示)。(7分)5855588第(1)片2764的地址范围是:C000H~DFFFH(1分);第(2)片2764的地址范围是:A000H~BFFFH(1分);第(3)片2764的地址范围是:6000H~7FFFH(1分)。四、综合编程题,编程语言不限,程序应有适当注释(共33分,每题11分)得分评阅教师符号地址D7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT0TMOD89HGATEC/TM1M0GATEC/TM1M0IEA8HEAET2ESET1EX1ET0EX0SCON98HSM0SM1SM2RENTB8RB8TIRIPCON87HSMOD画图4分,错误一处扣1分,扣完为止。第5页1.8051系统中,已知振荡器频率为12MHz,用定时/计数器T1,实现从P1.1产生高电平宽度为10ms,低电平宽度为20ms的矩形波。解:采用定时/计数器T1的方式1,16位定时计数方式。振荡器频率为12MHz,所以机器周期为1us,定时10ms要计数10000次,初值为65536-10000=55536=0xD8F0;定时20ms需计数20000次,初值为65536-20000=45536=0xB1E0。(4分)系专业级班学号姓名密封线密封线内不要答题#includereg51.hsbitP1_1=P1^1;voidtimer1()interrupt3{EA=0;if(P1_1){P1_0=!P1_0;TH1=0xB1;TL1=0XE0;//(2分)}else{P1_1=!P1_1;TH1=0xD8;TL1=0XF0;//(2分)}EA=1;}voidmain(){P1_1=1;TH1=0xD8;TL1=0XF0;TMOD=0x10;ET1=1;TR1=1;EA=1;while(1);//(3分)}第6页2.根据下图编制在8个数码管上从左到右分别显示1~8的程序。已知共阳极数码管0~9的字段码表:0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90。(如果使用延时函数,可只说明不写内容)。ABCDEFGDPABCDEFGDPA02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U174LS245XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51X1CRYSTALC11nFC21nFGNDR110kR210kR310kR410kR510kR610kR710kR810kGND#includereg51.hunsignedcharcodeuca_LEDCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};unsignedcharcodeuca_LEDSelect[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//(3分)voidmain(void){unsignedinti;while(1){for(i=0;i8;i++)//(2分){P1=uca_LEDCode[i+1];//送出字段码(3分)P0=uca_LEDSelect[i];//送出位选码(3分)delay();//延时函数}}}第7页3.下图是DAC0832与微控制器接口电路图,请根据电路图完成下列题目。提示:CS为片选信号,1WR为写信号线1。(1)DAC0832的工作在什么方式下?(2)DAC0832的口地址是多少?未连接地址引脚取“1”。(3)根据图形编写程序,使得0832的输出端产生三角波。答:(1)单缓冲方式(2分)(2)DAC0832的口地址为7FFFH(2分)(3)汇编语言编程:ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#7FFFH(3分)CLRALOOP1:MOVX@DPTR,AINCACJNEA,#0FFH,LOOP1(2分)LOOP2:MOVX@DPTR,ADECAJNZLOOP2SJMPLOOP1(2分)C语言编程:#includereg51.h#includeabsacc.h//定义绝对地址访问#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF](3分)系专业级班学号姓名密封线密封线内不要答题第8页voidmain(){uchari;while(1){for(i=0;i=0xff;i++){DAC0832=i;}for(i=0xff;i=0;i--){DAC0832=i;}(4分)}}