欢迎来到天天文库
浏览记录
ID:59221785
大小:83.00 KB
页数:7页
时间:2020-09-09
《单片微机原理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机原理与接口技术试题班级姓名学号第1页2005~2006学年二学期期末考试试题(A卷)题目一二三四五六七八总分数分数评卷人一、基本概念题(55分)1.(4分)(写出转换过程)0E75H=(10101)B;B=(922)D10.1011B=(138E.B)H;13FH=(319)D(1)0E75H=0000111001110101B(2)B=1×29+1×28+1×27+0×26+0×25+1×24+1×23+0×22+1×21+0×20=922D(3)10.1011B=0001001110001110.1011B=138E.BH(4)13FH=1×162+3×161
2、+15×160=319D2.(8分)写出下列程序段执行后,相关寄存器或存储单元的内容。MOVR0,#30HMOV30H,#40HMOVA,@R0MOV60H,ASJMP$A=40H,R0=30H,(30H)=40H,(60H)=40H3.(6分)若fosc=6MHz,编写一个能延时200毫秒的子程序。DELAY:MOVR7,#200D1:MOVR6,#250D2:DJNZR6,D2DJNZR7,D1RET4.(15分)下列程序存放在64KB的EPROM中ORG0000H0000HHLJMPMAIN;跳转到MAINORG0200H0200HE530HMAIN:MOVA,3
3、0H;将30H内容送A0202H30E706HJNBACC.7,ABD;ACC.7=0跳转ABD0205HF4HCPLA;A取反0206H04HINCA;A加10207HF531HMOV31H,A;A送31H单元0209H8002HSJMPABC;跳转到ABC020BHF532HABD:MOV32H,A;A送32H单元020DH80FEHABC:SJMP$;原地踏步无限循环020FH试分析该程序,并回答以下问题:①手工汇编该程序(写出机器码),并写出每条指令的首地址(写在程序左边);见卷面。②该程序段占用多少个存储单元;答:15个存储单元。③在CPU取回指令SJMP$,
4、并执行该指令时PC值为多少,执行后PC为多少;答:执行SJMP$指令时PC值为020FH,执行后PC值仍为020DH。④分析该程序段,并在指令后作注释。答:该程序段的主要功能是检测片内RAM30H单元的内容,若其最高位为“0”,则直接转存到片内RAM31H单元,否则将其内容取反再加“1”后送到片内RAM31H单元。实际上该程序段的功能是将RAM30H单元中的“补码”转换为“二进制数”的绝对值后存到RAM31H单元。5.(12分)T0用于定时,fOSC=12MHz,试为T0编写初始化程序,定时时间50ms。答:因为一个机器周期=12÷12MHz=1μs所以50ms内T0需
5、要计数的机器周期脉冲个数为N=50ms÷1μs=50000个由此可知必须使用T0方式1的16位计数器才能满足要求T0的初值设为X,则X=M-N=65536-50000=15536=3CB0H=10000B故T0的初值为:TH0=3CH,TL0=B0H,TMOD初始化成:TMOD=00010001B=11H还要开放中断,即初始化IE,使EA=1;定时器T0中断允许ET0=1。要使T0启动工作,还必须初始化TCON,即使TR0=1;初始化程序清单如下:ORG0000H;复位入口AJMPSTARTORG000BH;T0中断入口AJMPTOINTORG0030HSTA
6、RT:MOVSP,#60H;主程序,初始化程序MOVTH0,#3CH;T0赋初值MOVTL0,#0B0HMOVTMOD,#11H;赋T0方式字,令T0定时,工作于方式1SETBTR0;启动T0SETBET0;开T0中断SETBEA;开总允许中断单片机原理与接口技术试题班级姓名学号第2页6.(10分)分析下图2片6264(8KB)存储器芯片的地址范围。答:74LS138为3-8译码器。由图接线可知,P2.7P2.6P2.5=110时Y3有效,P2.7P2.6P2.5=001时Y4有效,故6264(1)的地址范围为:0010000000000000~001111
7、1111111111=2000H~3FFFH6264(2)的地址范围为:1100000000000000~1101111111111111=C000H~DFFFH二、应用扩展题(45分)1.(15分)根据下图所示电路编程(图中仅给出与编程有关的部分),采用定时器T0定时中断,使LED0~LED7间隔60毫秒逐个循环点亮。(设fosc=6MHz)8031P1.0..P1.7LED7LED0+5V答:因为一个机器周期=12÷6MHz=2μs所以50ms内T0需要计数的机器周期脉冲个数为N=60ms÷2μs=30000个由此可知必须使用T0方式
此文档下载收益归作者所有