《武汉理工大学单片机.doc》由会员分享,可在线阅读,更多相关《武汉理工大学单片机.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除 试卷装订线 装订线内不要答题,不要填写考生信息试卷装订线 姓 名学 号专业班级学院武汉理工大学考试试卷(A卷)2015 2016 学年 1 学期 单片机原理与应用 课程 闭卷 时间120分钟, 40 学时, 学分,总分100分,占总评成绩 80 % 2015年12月19 日题号一二三四五六七八九十合计满分102020101525100得分得分一、 填空题(每空1分,共10分)1. 51单片机从指令分类上看,其存储空间分为程序存储器ROM、片内RAM和( ),对应的传送指令的助记符分别是MOVC、MOV和( )。2. 51单片机的片内RAM存储器
2、的寻址地址为( )位,其特殊功能寄存器的起始地址是( )。3. 51 系列单片机片内数据存储器中,用户“位”地址范围为00H7FH,位地址0FH位于( )字节地址中的第( )位。4. 在51单片机中,开机或复位后,R0对应的物理地址是( ),但若设置PSW中的RS1和RS0为“01”后,R0对应的物理地址则是( )。5. 在51单片机中, 开机或复位后程序的起始地址是( ),INT1的中断入口地址是( )。得分 二、问答题(每小题5分,共20分)1. 在51系列单片机的程序存储器ROM和片外随机存储器RAM的寻址空间都是64K,为什么寻址都可以从0000H到FFFFH?请举例。2. 中断技术中
3、,保护现场中的“现场”指的是什么?为什么要保护现场? 【精品文档】第 10 页3. 51单片机中断响应后,其断点和现场通常被保存在哪里?对通用寄存器组的保护有更快的途径吗?请举例?。4. 51单片机中,并行I/O端口的使用,分为直接片上地址和通过总线扩展两种模式,试说明这两种模式的特点。 得分 三、51单片机汇编指令应用与分析(每题5分,共20分)1试将ROM空间上2000H单元中的内容传送到2001H的I/O地址上。2.试将R3R2(R2为低八位)中的内容乘2,结果存入R4R3R2中。3.读入2100H的I/O地址内容除2后,整数部分存入外部RAM的4100H单元。4. 试将P1.0与P1.
4、1“异或”的结果,通过P1.2输出。 得分 四、程序设计(10分)设ROM中有一起始地址为DTATAB的数据表格,表格中存放有256个数据,每个数据占一个字节。请编写程序实现:根据从2000H为地址的I/O口中获得一个字节的数据,查DTATAB数据表格,并将查表结果从2001H的I/O口输出。 得分 五、电路与驱动程序程序设计(15分) 试作如下设计:记录一个按键的按下次数,记录从0到99,循环计数(99后归零)。请利用51单片机设计一个按键,两位七段数码管(7分)。驱动程序要求:每按下一次按键,两位数码管显示器累计显示按键按下的次数。(8分)。试卷装订线 装订线内不要答题,不要填写考生信息试
5、卷装订线 得分 六、综合题(共25分)下图是一个正弦波信号发生器电路以及驱动程序,请完成如下任务:1.51单片机的晶振频率为12MHz,按提供的驱动程序,分析正弦波周期是多少?(5分)2.正弦波的周期受什么因数的影响?如果要延长正弦波的周期可采用什么办法?(2分)3.修改驱动程序,利用定时器中断来控制正弦波的周期。(10分)4.定时器的最短定时时间不得短于多少?为什么?(3分)5.增设两个按键,“+”,“-”。用来控制定时器的定时时间,从而控制正弦波的周期,完成按键的驱动程序。(5分)提示:中断及定时计时器控制器的格式如下:D7D6D5D4D3D2D1D0EA-ESET1EX1ET0EX0IE
6、:TCON:D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TMOD:D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1MOT1方式字段T0方式字段ORG 0000HLOOP1:MOV A,R0;(1机器周期)MOV DPTR,#DATA;(2机器周期) MOVC A,A+DPTR;(2机器周期) MOV DPTR,#0DFFFH;(2机器周期) MOVX DPTR,A;(2机器周期) INC R0;(1机器周期) AJMP LOOP1;(2机器周期)DATA:DB 80H, 83H, 86H共256个数据。试卷装订线 装订线内不要答题,不
7、要填写考生信息试卷装订线 A卷参考答案:一、1 外部RAM/IO、 MOVX2 8 、80H3 21H 、74 00H 、08H5 0000H、0013H二、1 因为51单片机中的这两个空间是独立编址的,各自拥有自己的访问指令,故可以地址重叠。如ROM空间使用MOVC A,A+DPTR指令,而外部RAM空间则使用MOVX A,DPTR指令。 2 “现场”指的是中断服务程序中所用到的地址资源,只有进行了现场保护才能保证中断服务程序在任何时候被执行后,不影响主程序的运行。 3 通常保存在堆栈区,但对于通用寄存器组的保护可通过切换通用寄存器组的映射区来保护,这样做保护速度快。如主程序中用0组,中断服
8、务程序中通过设置RS1、RS0=01,来使用1组空间。 4 直接片上地址,使用的是片内RAM中地址单元,8位寻址,端口地址固定,具有位地址,使用MOV指令。而总线扩展模式使用外部RAM/IO空间,16位寻址,端口地址依设计而定,使用MOVX指令。三、1. MOV DPTR,#2000H;(1分) CLR A ;(1分) MOVC A,A+DPTR;(1分) INC DPL ;(1分) MOVX DPTR , A ;(1分)2. CLR C ;(1分) MOV R4,#00H ;(1分) MOV A,R2 RLC A ;(1分) MOV R2,A ;(1分) MOV A,R3 RLC A MOV
9、 R3,A MOV A,R4 ;(1分) RLC A MOV R4,A 3.CLR C MOV DPTR,#2100H;(1分) MOVX A,DPTR ;(1分) RRC A ;(1分) MOV DPH,#41H ;(1分)MOVX DPTR,A;(1分) 4. MOV C,P1.0ANL C,/P1.1;(1分)MOV F0,C ;(1分)MOV C,P1.1;(1分)ANL C,/P1.0;(1分)ORL C,F0 ;(1分)MOV P1.2,C四、ORG 0000H ;(1分)MOV DPTR,#2000H ;(1分)MOVX A, DPTR ;(1分)MOV DPTR,#DTATAB
10、;(2分)MOVC A, A+DPTR;(2分)MOV DPTR,#2001H;(2分)MOVX DPTR,A; (1分)五、ORG 0000HMOV A,#00HMOV P2,ALOOP1:JB P1.0,$ ACALL MS ADD A,#01H DA A MOV P2,A AJMP LOOP1MS:MOV R0,#0FFHLOOP2:NOP DINZ R0,LOOP2 RET六、 ORG 0000HLOOP1:MOV A,R0;(1机器周期)MOV DPTR,#DATA;(2机器周期) MOVC A,A+DPTR;(2机器周期) MOV DPTR,#0DFFFH;(2机器周期) MOVX
11、 DPTR,A;(2机器周期) INC R0;(1机器周期) AJMP LOOP1;(2机器周期)DATA:DB 80H, 83H, 86H共256个数据。1. 正弦波的周期=(1+2+2+2+2+1+2)*256us=12*256us=3072us 5分2. 正弦波的周期受晶振频率和波形输出程序的影响,256个值的输出速度决定正弦波的周期,延长每个输出值的间隔时间即可延长正弦波的周期。2分3. ORG 0000H 评分(10分):1.能正确分配各段程序的地址得3分 AJMP BEGIN 2.正确初始化程序3分 ORG 000BH 3.正确中断服务程序3分 AJMP CTC0 4.主程序“AJ
12、MP $” 1分 ORG 0030HBEGIN:MOV R0,#00H MOV TMOD,#02H;T0; 定时,8位自动重装。 MOV TH0,#-20 MOV TL0,#-20 MOV IE,#82H SETB TR0 AJMP $CTC0: MOV A,R0;(1机器周期)MOV DPTR,#DATA;(2机器周期) MOVC A,A+DPTR;(2机器周期) MOV DPTR,#0DFFFH;(2机器周期) MOVX DPTR,A;(2机器周期) INC R0;(1机器周期) RETI;(2机器周期)DATA:DB 80H, 83H, 86H共256个数据。4定时器的最短定时时间不得短于20个机器周期的时间,因为中断服务程序每执行一遍需要12机器周期,加上中断响应时间为5至8个机器周期,故定时器的最短定时时间=12+8=20个机器周期。3分5将上面程序中的“AJMP $”替换成如下程序:SUBJ :JB P1.0,ADDJ ACALL 延时子程序 CLR C MOV A,TH0 SUBB A,#-20 JNC ADDJ INC TH0ADDJ:JB P1.1,SUBJ ACALL延时子程序 MOV A,TH0 JZ SUBJ DEC TH0 AJMP SUBJ 延时子程序:省略5小题评分:图1分,两个键的程序段各2分。