RL A
ADD A,R1 MOV @R0,A RET
单片机模拟试题⑥参考答案
一、填空题(每空1分,共10分)
1.00H~7FH 2.高8位地址线 3.08~0FH 4.用户RAM区 5.如何确定操作数的单元地址 6.存储器在整个存储空间的地址范围 7.定时时间到
8.从查询中断请求标志位到转向中断区入口地址所需的机器周期数 9.程序查询方式 10.关中断 三、简答题(每小题4分,共20分)
1.要点:
(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。 2.(1)8位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。 3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围:
①内部RAM低128单位,形式@Ri(i=0,1)。
②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。
它们是:外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H
定时器T1中断 001BH
串行口中断 0023H
5.(1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。 四、读程序题(每小题4分,共20分)
1.(P1)=9BH 2.(A)=8BH(或10001011B) (CY)=不影响
3.(R0)=7FH (7EH)=00H (7FH)=41H
4.(PC)=0345H (61H)=25H (62H)=01H 5.(data)×10操作
填空:满量程为10V的8位DAC芯片的分辨率为_____(10/2 V)_______。 简答题
8031外部数据存储器和外部程序存储器的可扩展的地址空间分别为多少?,它们的地址范围分别是什么?外部数据存储器和外部程序存储器为什么不会发生总线冲突?
答:MCS-51的单片机外ROM的寻址空间都是64K,既可扩展为64K,地址范围为0000H-FFFFH。由于访问外部ROM时,为低电平有效,而和都无效;访问外部RAM时,为低电平或
16
8
为低电平,而
总无效。因此不会发生总线冲突。(注:8051是片内带4KROM,8031不带ROM。)
补充内容(计算题):
对于计算题,我总结了一下,认为单片机可能就这几类计算题,重要!
第一类:计算延时时间,按要求分为粗略算法和精确算法,要求用粗算而用精算则不合题 1、以下为延时子程序,假设时钟频率为6M,估算其延时时间。 DELAY: MOV R0,#100 ;单周期 DEL2: MOV R1,#10 DEL1: MOV R2,#7DH DEL0: NOP ;单周期 NOP
DJNZ R2,DEL0 ;双周期 DJNZ R1,DEL1 DJNZ R0,DEL2
RET ;双周期
2、以下为延时子程序,假设时钟频率为6M,精确计算其延时时间。 DEL1: MOV R2,#0C8H ;单周期 DEL0: NOP ;单周期 DJNZ R2,DEL0 ;双周期
RET ;双周期
解: 三、1 :7DH为125,机器周期数≈125*4*10*100=500000,6MHz每机器周期=2us,
500000*2=1000000us=1s
2:机器周期数=1+3*(0C8H)+2=1+3*200+2=603 时间=603*2us=1206us
编程:让P1.0输出周期为1s的方波。属于同类题目。
第二类:计算定时时间,可以是要求定时时间求初值(多数题),或给定初值求定时时间。 3、晶振fosc为12MHz,用定时器0方式1产生20ms定时,计算确定其初值TL0和TH0。 4、晶振fosc为6MHz,用定时器1方式1产生2.5ms定时,计算确定其初值TL1和TH1。
解:由晶振fosc=6MHz=6×106Hz,得晶振周期为(1/6) ×10-6秒=(1/6)us,
一个机器周期=12个晶振周期=12×(1/6)us=2us(微妙) 2.5ms=2500us=(2500us/2us)个机器周期=1250机器周期 定时器1方式1的计数器是16位,216=65536
定时常数=65536-1250=64286=(FB1E)H,所以TH1=0FBH,TL1=1EH
编程:让P1.0输出周期为1s的方波,要求用中断方式编程。属于同类题目,一定要掌握。
第三类:计算波特率,可以是要求波特率求初值(多数题),或给定初值求波特率。
5、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,设SMOD=0,(TH1)=0FAH,求串行口的波特率。
解:0FAH=250
T1的溢出率=fosc/(12*(256-250))= 11.0592MHz /72=0.1536 MHz=153.6KHz 波特率=(2SMOD/32)*( T1的溢出率)= 153.6KHz/32=4.8 Kbps=4800 bps
6、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,要求串行口的波特率为4800Hz,请设置SMOD、TH1的值。
【是5题的反问题,答案是设SMOD=0,(TH1)=0FAH,或设SMOD=1,(TH1)=0F4H】
7、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在
17
自动重装初值的8位定时方式,设SMOD=0,要求串行口的波特率为4800Hz,求出TH1的值。
【是5题的反问题,由:
波特率=(2SMOD/32)*( T1的溢出率)= ( T1的溢出率)/32=4.8 Kbps 知: T1的溢出率=4.8 KHz*32=153.6KHz=0.1536 MHz 再由: T1的溢出率=fosc/(12*(256-TH1))
=11.0592 MHz /(12*(256-TH1))= 0.1536 MHz 256-TH1= 11.0592 MHz /12/0.1536 MHz=6 得:
TH1=250=0FAH 】
第四类:计算片外ROM 或RAM的地址(严格说也不算计算题,不举例请自找实例,这种技术正在淡出之中,考试的可能性估计会逐步减少了,题见附件),根据技术发展我加三道填空题如下: 1、I2C(或写成IIC)总线是PHILIPS公司推出的 行总线 。(串) 2、SPI总线是MOTOROLA公司推出的 行总线 。 (串) 3、单总线(1-wire)是DALLAS公司推出的 行总线 。 (串)。
另外再加数码管、按键的题各一道:
4、共阴7位LED数码管abcdefg脚分别接P0口的0246135脚,要显示“1”,字符编码应为 (14H) 5、简述独立非编码按键、矩阵式键盘的原理。
我建议:把编程题进行分类,初步拟定如下,请各位老师讨论。 一、比较常见的,不涉及外围器件,这类题几乎一直稳定。
1、字节内容处理,两单元的内容高低四位互换再保存;非压缩BCD码与压缩BCD码转换 2、内存搬运处理,把片内内存一段内容搬到片外某处存放 3、数学计算,加减乘除。
如编写求1+2+3+??+20的ASM程序,用循环语句,计算结果放在寄存器A中。
4、中断格式。如按一下中断INT0按键,使P0口全取反。(程序要求严格按中断格式编写) 5、定时器编程,在某管脚输出指定频率方波。可用延时法、定时器查询法、定时器中断法。 6、编程实现指定流水灯花样
7、某管脚(如P1.1)上产生方波。所有教材都要讲方波产生方式,此编程应该比较重要。 8、十六进制数转换为BCD码。(或相反)。 9、十进制数转十六进制数。(或相反) 10、十六进制数转换为ASCII码。(或相反)
二、相对较少用的,如设计A/D、D/A的编程,如输出三角波。设计外围器件,变化大。
近期补充说明:
随着基于IIC、SPI、1-wire等串行技术的发展,单片机在基本部分变化不大,但在外扩器件上变化很大。并行的ADC0809、 DAC0832、 8155、 8255、2764、6264等芯片逐步淡出。请大家看资料时,对外扩器件以所学的教材为准。但考研时这些知识是否就一定不再涉及,那就不清楚了,看所报学校指定的参考书。我们考试时则以当前所选教材为准。
补充问题: 1、画出单片机最小系统图。
2、说明从电脑向单片机下载程序的方法。
3、简述当前市场上流行的单片机,简述其特点 讨论51系列、AVR系列、PIC系列、?? 4、外扩SPI总线器件的方法
SPI要三线与MCU相连,外加作为片选。如果5、外扩I2C(或写成IIC)总线器件的方法
接地,则每三条I/O线可接一个SPI总线器件
I2C要两线与MCU相连,其地址由A0A1A2确定,所以每两条I/O线最多可接八个I2C总线器件 6、外扩单总线(1-wire)器件的方法
18
单总线(1-wire) 要一线与MCU相连,其地址由厂家确定,全部没有重复,所以每一条I/O线理论上可无穷单总线总线器件,但MCU端口的驱动能力限制,不能接太多,故数量有端口驱动能力确定。
程序阅读,也属编程部分,有些题有点技巧哦,如:执行程序到END后,A的值是多少,要求把求解过程写在程序旁边 ,至少把前两次循环的计算结果写出来。
CLR C ; (c)=0 MOV R0, #5 ; (R0)=0 MOV A, #50 ; (A)=50 SUBB A, R0 ; (A)=50-5=45 | (A)=45-4=41 DJNZ R0, LOP ; (R0)=4 | (R0)=3 NOP
END ;最后(A)= (答案为35,比较容易错成25)
LOP:
又例,编程:
利用89C51的P1.0口线控制一个发光二极管LED,编程用定时器T1定时,实现LED每隔50ms交替亮灭,周而复始。设晶振频率fosc=12MHz,要求: ① 画出电路原理图,包括时钟电路和复位电路;(5分) ② 编写程序。(要求用中断方式写程序10分,其他方法如延时、定时器查询等最高为8分)
附:可能用到的特殊功能寄存器及其位定义
TF1 TR1 T1 GATE C/T M1 M0 GATE C/T TF0 TCON各位的定义 TR0 IE1 TMOD各位的定义 IT1 T0 M1 M0 IE0 IT0
IE各位的定义
未用 未用 EA ES ET1 EX1 ET0 EX0
本老师声明:凡上我的课,期末考试请用碳素笔、深蓝色笔、中性笔,就是试卷放几年后文字不走样,请不要用圆珠笔、油性笔,写的字会扩散。
如果是我上的单片机课,一般出题范围是:本文档中的题,上课讲的例题、布置的作业题,书上的例题,“书”不是指当前用的一本教材,而是指目前流行的几种教材,所以学习范围要广,编程或与程序相关的题比例较大,所以不会编程就是挂科挂定了,不要有幻想。只要学好了就是用外购的试题也不用太怕。不是采用外购试题,则外扩器件是以当期上课教材为基本范围,编程部分等则符合大纲为准。
书中的几个大块如单片机结构、指令、纯软件编程实现数据的分拆合并搬移等、系统扩展、中断、定时计数计算、串口、定时器编程等基本块都是要考的内容,不要幻想会少那里。
今夏考后再添加感言:
单片机这门课真正能学成的人不多,可以说为少数人设置的,多数人只是通过学习形成一个大概印象而已,对电类专业而言,单片机是找工作顺利和通向高薪的必经之路,想高薪就要掌握更高的知识,如FPGA、嵌入式、芯片设计等。如果把大学电类课程比喻一个人,嵌入式等是头、单片机是腰、程序设计和硬件电路是两条腿,大学课程从腿学到头,腰是必过的一关,是首次把软件和硬件合并的课程。高薪不是人人能做到的,低薪工作也要人去做的嘛,不是有个大学本本儿就高人一等的,通过大学学习,层层筛选,也是为自己将来找工作做好心理准备,没有金刚钻就不去揽瓷器活。
决战单片机卷面50分之法(暨为对编写程序悟性较差的同学支招):
19
1、为什么不说60分而说50呢,因为只要能上课都来了(听没听懂自己知道),作业交了实验做了报告交了(是不是完全自己做的自己知道)。平时老师该给80%分吧,我校规定平时分最高30分,则可得25分,所以只要卷面有50分,50×70%=35,加平时分就够60分了。
2、试卷分析:一般老师会给出完全没有涉及程序指令的基础题(可能在选择、填空、简答、计算中)约45-65分(各老师出题习惯不同及划分方法不同而不同),按45分算,你必须拿下95%,即45×95%=40分,(这里要说明的是,关于延时的计算,我把它算到程序里了),所以必须首先强记所有基础题。 3、程序题又分为,问一条指令含义或计算结果的题(在选择、填空中),几行程序执行结果的题(延时时间也属于这类),这类题一般有5-10分左右,必须拿到50%,即3-5分,算3分,得43分。所以必须记住常用的指令,简单程序的计算。
4、完全程序题,即编程,含只有几行的编程、较长的编程、带画图的编程,多则50少则30分,按50分算,至少要得7分,才够50分,得分比例15%。所以要背基本的编程题,最小系统图、中断格式等,如果考试时看见题目与自己背住的某题有点相似,可以先写上记住的程序的一部分,要画图至少先画个最小系统图,大程序编不出来,至少写个程序的总体格式(一般是中断格式),老师会1分2分的给点,只要能凑满7分就行。
5、学习要在平时就开始,以书为主以题库为辅,以题库来检查书本学习情况,题库上不懂处看书来理解,快到期末就要以题库为主,越接近考试越要以题库为主,我看见有的同学马上要考试了还在一页一页的看书,真是皇上不急太监急,还美其名曰书才是根本,没法,平时不看书的这种人,该不及格的。我院电子开放实验室一下,功夫在平时。
网站上有测试题,是按章分开的,学完了相关部分请去测试
6、考试前两三周,利用题库再复习,网上测试,看背的好不好,网上搜点考题再试试。如果老师出的编程题的比例低一些,你可能卷面都过60分了,那就更不怕了。
7、河南大学出题要求:最少四种类型(判断为2选1易得分高不建议用、多选题易得分过低老师一般少用),老师一般选定:单选题、填空、简答、计算、编程5种。因有题库,所以期末不串讲、不用打听题型和比例,问题型比例没有意义,问非程序类基础题、简单指令题、编程题比例更合适,但老师出题时不会详细统计这个比例,只是大概如上234所述即可。所以问老师也没有用,答疑仅限于解答具体某题的问题。
8、总之、不记指令完全不会编程挂定了,但基础题不背挂得更惨,对于编程能力不强的人,基础题的失分很难从编程题弄回来,对他们而言,首先力争非编程题弄满分,到读程序题上一定弄点分,编程题上碰运气地弄点小分。
附笑话一则:两个人在森林里遇到了老虎。一个马上穿上跑鞋就开跑,另外一个说你穿上跑鞋也跑不过老虎。那人回答,我跑不过老虎,我跑得过你啊。
(以上资料由
从网上收集,并经老师加评语,供参加单片机考试及爱好单片机的同学参考。注:
资料如有版权属于原作者,本站收集仅为给大家提供练习资料,本压缩包里面的题的答案绝大多数是对的,学长们看过了,但不能保证全部题都没有错误。)
关于平时测验及平时成绩问题:我校规定,平时成绩最高30%,主要由上课点名、平时作业(单片机这门课含博客形式作业)、实验点名及实验报告、平时其他表现(含测验)等组成。老师为了让大家平时成绩分较高,初步拟定上课点名和平时作业占15%,实验点名及实验报告占10%,平时其他表现(含测验)5%,曾有个班为了使平时成绩较好,在平时测验中“相互帮助”,使老师误认为该班水平较好,所以出题较难,结果使百分之九十几的同学受影响,不及格率大幅提高。平时测验主要是同学对自己摸底和老师对所教班级摸底,以便估量期末出题难度,难度大了,除非你非常好,所有中上、中、??程度的同学都受影响。特别提示:平时测验由于人比较拥挤搞小动作容易,但获得的小小好处,远小于期末考试因老师提高考试难度带来的损失。
20
本资料主要针对程度中等及中下等的同学使用(从来不学习的除外),因为根据教师授课情况,最后都有一道比较大的编程设计题,不在本资料范围内。学好本站几份资料,及格保证无忧。
当单片机学习了一段时间后,请注意各种通知,可能是来自辅导员等,如参加**杯的比赛,申报学生创新项目。物理与电子学院开放实验室在5楼共三间,民生学院赞助的开放实验室在本楼2楼的第一间(创新实验室wu老师),具体位置见上的照片。
网上收集整理,少部分题是由eleroom编写
21