第1页四川理工学院试卷(2008至2009学年第1学期)课程名称:微控制器原理与接口技术(B)命题教师:适用班级:自动化061-063班考试年月日共8页注意事项:1、满分100分。要求卷面整洁、字迹工整、无错别字。2、考生必须将姓名、班级、学号完整、准确、清楚地填写在试卷规定的地方,否则视为废卷。3、考生必须在签到单上签到,若出现遗漏,后果自负。4、如有答题纸,答案请全部写在答题纸上,否则不给分;考完请将试卷和答题卷分别一同交回,否则不给分。试题一、填空题(每题2分,共20分)1、8051微控制器堆栈遵循数据后进先出(先进后出)的原则。2.微控制器外总线有三种:其中包括控制总线、地址总线和数据总线。3.80C51微控制器共有立即寻址,直接寻址以及_寄存器寻址__、___寄存器间接寻址__、___基地址加变址的间接寻址__等5种寻址方式。4、在8051微控制器中,加法指令可以分为带进位的加法(或者ADDC)和不带进位的加法(或者ADD)两种。5、8051微控制器的异步通信中数据帧包括_起始位____、___数据位___、___校验位____和___停止位___四部分。6、I2C总线由一根__数据线(SDA)_和一根___时钟线(SCL)__构成。7、在设计微控制器源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分支结构或者循环结构的程序。题号一二三四五六七八总分评阅(统分)教师得分得分评阅教师系专业级班学号姓名密封线密封线内不要答题第2页8、LED与8051微控制器连接时,有共阳极接法和共阴极接法。9、8051微控制器中的定时器/计数器有T0和T1两个。10、8051微控制器有5个中断源,分成2级优先级。二、单项选择题(每题2分,共20分)1.微控制器能直接运行的程序叫C。A.源程序B。汇编程序C。目标程序D。编译程序2.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是A。A.P0口B。P1口C。P2口D。P0口和P2口3.8031微控制器若晶振频率为fosc=12MHz,则一个机器周期等于CµS。A.1/12B.1/2C.1D.24.微控制器的堆栈指针SP始终是指示B。A.堆栈底B.堆栈顶C.堆栈地址D.堆栈中间位置5.微控制器中PUSH和POP指令常用来C。A.保护断点B.保护现场C.保护现场,恢复现场D.保护断点,恢复断点6.MCS—51寻址方式中,直接寻址的寻址空间是D。A.工作寄存器R0~R7B.专用寄存器SFRC.程序存贮器ROMD.程序存储器256字节范围7.8031微控制器的定时器T0用作计数方式时是C。A.由内部时钟频率定时,一个时钟周期加1B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,下降沿加1D.由外部计数脉冲计数,一个机器周期加18.用8031的定时器T1作定时方式,用模式1,则工作方式控制字为C。A.01HB.05HC.10HD.50H9.MCS—51微控制器串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的A,向CPU申请中断。A.RI或TI置1B.RI或TI置0C.RI置1或TI置0D.RI置0或TI置110.在用接口传信息时,如果用一帧来表示一个字符,且每一帧中有一个起始位、一个结束位和若干个数据位,该传送属于A。A.串行传送B.并行传送C.同步传送D.异步传送得分评阅教师第3页三、判断题(正确的划“√”,错误的划“×”)(10分)(×)1.微控制器的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成(×)2.MCS—51微控制器上电复位后,片内数据存储器的内容均为00H。(×)3.MCS—51微控制器的数据存贮器是指外部存贮器。(√)4.MCS—51指令中,MOVX为片外RAM传送指令。(√)5.MCS—51指令中,16位立即数传送指令是:MOVDPTR,#data16。(√)6.指令LCALLaddr16能在64K字节范围内调用子程序。(√)7.MCS—51微控制器的两个定时器的均有两种工作方式,即定时和计数工作方式。(√)8.串行口数据缓冲器SBUF是可以直接寻址的专用寄存器。(√)9.8051微控制器对最高优先权的中断响应是无条件的。(×)10.83C552微控制器片内含有8路8位逐次比较型A/D转换器。四、分析题(15分)设A=0FH,R0=30H,片内RAM的(30H)=0AH,(31H)=0BH,(32H)=0CH,写出下列程序段执行后,相关寄存器或存储单元的内容,并加以注释。MOVA,@R0MOV@R0,32HMOV32H,AMOVR0,#31HMOVA,@R0SJMP$(A)=0BH,(R0)=31H,(32H)=0AH。2.已知(59H)=50H,以下程序段执行后,相关寄存器或存储单元的内容,并加以注释。MOVA,59HMOVR0,AMOVA,#00MOV@R0,AMOVA,#25HMOV51H,AMOV52H,#70H(A)=25H,(50H)=00H,(51H)=25H,(R0)=50H。得分评阅教师得分评阅教师系专业级班学号姓名密封线密封线内不要答题第4页五、编程题(每题10分,共20分)IE(A8H)1、编写一程序,查找内部RAM单元的30H~50H中是否有0BBH这一数据。若有,则将51H单元置01H;若无,则使51H单元置0。(要求:使用汇编语言或C51语言编写,程序应有适当的注释。)汇编程序ORG0000HCLR51HMOVR0,#20HLOOP:MOVA,@R0INCR0CJNZR0,#51H,LOOP1LJMPFINISHLOOP1:CJNZA,#BBH,LOOPFINISH:SJMP$得分评阅教师EA——ESET1EX1ET0EX0SCON(98H)SM0SM1SM2RENTB8RB8TIRID0D7C语言#includereg51.hvoidmain(void){inti,*p,*p1;p=0x51;p1=0x20;*p=0;for(i=0;i=0x30;i++){if(*p1==0xBB){*p=1;break;}p1=p1;}while(1);}第5页2、设系统时钟频率为12MHZ,用定时/计数器T0编程实现从P1.0输出周期为500μs的方波。(要求:使用汇编语言或C51语言编写,程序应有适当的注释。)从P1.0输出周期为500μs的方波,只须P1.0每250μs取反一次则可。当系统时钟为12MHZ,定时/计数器T0工作于方式2时,最大的定时时间为256μs,满足250μs的定时要求,方式控制字应设定为00000010B(02H)。系统时钟为12MHZ,定时250μs,计数值N为250,初值X=256-250=6,则TH0=TL0=06H。汇编程序:ORG0000HLJMPMAINORG000BH;中断处理程序CPLP1.0RETIORG0100H;主程序MAIN:MOVTMOD,#02HMOVTH0,#06HMOVTL0,#06HSETBEASETBET0SETBTR0SJMP$ENDC语言程序:#includereg51.h//包含特殊功能寄存器库sbitP1_0=P1^0;voidmain(){TMOD=0x02;TH0=0x06;TL0=0x06;EA=1;ET0=1;TR0=1;while(1);}voidtime0_int(void)interrupt1//中断服务程序{P1_0=!P1_0;}系专业级班学号姓名密封线密封线内不要答题第6页六、应用分析题。(15题)下图是DAC0832与微控制器接口电路图,请根据电路图完成下列任务。1.DAC0832的工作在什么方式下?2.DAC0832的口地址分别多少?3.根据图形编写程序,使得0832的输出端产生锯齿波。(提示:CS为片选信号,1WR为写信号线1)1、单缓冲方式2、DAC0832的口地址为7FFFH3、汇编语言编程:ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#7FFFHCLRALOOP:MOVX@DPTR,AINCASJMPLOOPC语言编程:锯齿波:#includeabsacc.h//定义绝对地址访问#defineucharunsignedchar#defineDAC0832XBYTE[0x7FFF]得分评阅教师第7页voidmain(){uchari;while(1){for(i=0;i0xff;i++){DAC0832=i;}}}系专业级班学号姓名密封线密封线内不要答题