ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:42.66KB ,
资源ID:3998863      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3998863.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机试题库编程题Word文件下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机试题库编程题Word文件下载.docx

1、 06 2002 5B 2003 4F 2004 66 2005 6D 2006 7D 2007 07 2008 7F 20096F 23.将片外RAM空间2000H200AH中的数据的高四位变零,低四位不变,原址存放。24.将累加器A和状态寄存器内容压入堆栈保护,然后再恢复A和状态寄存器内容。25.求片外RAM 3000H、3001H单元数据的平均值,并传送给3002H单元。26.分别写出实现如下功能的程序段。 (1)将片外RAM 30H的中间4位,31H的低2位,32H得高2位按序拼成一个新字节, 存入33H单元。 (2)将DPTR中间8位取反,其余位不变。27.写出达到下列要求的指令(不

2、能改变各未涉及位的内容)。 (1)使A的最低位置1。 (2)清除A得高4位。 (3)使ACC.2和ACC.3置1。 (4)清除A的中间4位。28.有一段程序如下: 地址码 机器码 标号 汇编助记符 200AH E8 CHAR: MOV A,R0 . . . . 2010H 80 rel SJMP CHAR (1)计算指令“SJMP CHAR”的相对便移量rel的值(十六进制机器码形式)。 (2)支出相对偏移量值rel所在的地址单元。29.编写程序将片内RAM 30H中的2位十进制数转换为ASCII码,并存入31H和32H中。30.编写程序段,用三种方法实现累加器A与寄存器B的内容转交换。31.

3、将如图11-3所示片外RAM中两个无符号数按从小到大顺序排列,编程并注释。 0000H D1 0001H D2 图11-3 片外RAM 数据 32.编程将一个按高低字节存放在21H、20H中的双字节数乘2后,在按高低次序将结果存放到22H、21H、20H单元。33.编程将存放在片外RAM 1000H、1001H中的两个数,按大小次序存放到片内RAM的30H、31H单元。34.多字节减法编程,一直有两个多字节数,从高到低依次存放如下: X1-(13H)(12H)(11H)(10H) X2-(23H)(22H)(21H)(20H) 计算X1-X2,差存放在13H、12H、11H、10H中。35.计

4、算下面逻辑值(用x表示逻辑乘,+表示逻辑加)。 P1.0=P1.1xP1.2+ACC.7xC+/PSW.0 36.在ROM空间建立一个10以内的平方值表,根据R0中的数查出平方值,若平方值超出表的范围则将FF装入A。37.三字节无符号数相加,被加数在片外RAM的200H-2002H(低位在前),加数在片内RAM的20H-22H(低位在前),要求把相加之和存放在20H-22H之中,请编程。38.将片内RAM 30H-3FH中的数据按顺序传送到片外RAM 2000H-200FH,请编程。39.列举4条能使累加器A清0的指令。40.已知A=7AH,R0=30H,片内RAM 30H单元的内容为A5H,

5、请问下列程序段执行后,(A)=? ANL A,#17H ORL 30H,A XRL A,R0 CPL A 41.编程将片外RAM 1000-1010H内容传入片内RAM 30H开始的单元。42.8255A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出、C口低位输入,确定8255A控制字并编程初始化程序。43.复位后,跳过中断区,重新设置堆栈,并将工作寄存器切换至3区。44.在片外RAM空间有一个数据块如图11-4所示。 (1)若该数据块为无符号数,求该数据块 1000H 数据块长度 中数据最小值,并存放于片内RAM 20H单元。 1001H X1 (2)若该数据块是

6、有符号数,求正数、负 1002H X2 数和0的个数,并将它们的个数分别存到12H、 1003H X3 11H、10H单元中。 . 图11-4 数据块 45.编写一个软件延时1s和1min的子程序。设fosc=6MHz,则1个机器周期=2us。46.试用DAC0832芯片设计单脉冲方式的D/A转换接口电路,并编写两个程序,分别使DAC0832输出负向锯齿波和15个正向阶梯波。47.试设计DAC0809对1路模拟信号进行转换的电路,并编制采集100个数据存入89C51的程序。48.请编制串行通信的数据发送程序,发送片内RAM 50H-5FH的16B数据,串行接口设定为方式2,采用偶校验方式。设晶

7、振频率为6MHz。49.请编制串行通信数据接收程序,将接收的16B数据送入片内RAM 58H-5FH单元中,串行接口设定为工作方式3,波特率为1200波特,fosc=6MHz。50.在89C51片内RAM 20H-3FH单元中有32B数据,若采用方式1进行串行通信,波特率为1200波特, fosc=12MHz,用查询和中断两种方式编写发送/接收程序对。51.已知当前PC值为2000H,请用两种方法将程序存储器20F0H中的常数送入累加器A中。52.请用两种方法实现累加器A与寄存器B的内容交换。53.请用位操作指令编写下面逻辑表达值的程序。 P1.7=ACC.0X(B.0+P2.1)+P3.2

8、54.编程将片内20H单元开始的30个数据送到片外RAM 3000H开始的单元中。55.在片外2000H开始的单元中有100个有符号数,试编程统计其中正数、负数和0的个数的程序。56.在2000H-2004H单元中,存有5个压缩BCD码,编程将他们转换成ASCII码,存入2005H开始的连续单元中。57.编程将累加器A的低4位数据送P1口的高4位,P1口的低4位保持不变。58.编程将片内RAM 40H单元的中间4位取反,其余位不变。59.如果R0的内容0,将R1置为0,如R0内容非0,置R1为FFH,试进行编程。60.编程将片内数据存储器20H-24H单元压缩的BCD码转换成ASCII存放在2

9、5H开始的单元。61.片内存储单元40H中有一个ASCII字符,试编一程序给该数的最高位加上奇校验。62.编写一段程序,将存放在自DATA单元开始的一个4B数(高位在高地址),取补后送回原单元。63.将片内RAM的20H单元中的十六进制数变换成ASCII存入22H、21H单元,高位存入22H单元,要求用调子程序编写。64.编写一段程序,以实现图11-5种硬件的逻辑运算功能。 图11-5 逻辑运算图 65.用位操作指令实现下面的逻辑方程。 P1.2=(ACC.3XP1.4X/ACC.5)+(/B.4X/P1.5) 66.利用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽

10、随意)。画出电路,编出汇编语言程序。67.利用89C51的P1口控制8个发光二极管LED。相邻的4个LED位一组,使2组每隔0.5s交替发亮一次,周而复始。画出电路,编写程序(设延时0.5s子程序为D05,已存在)。68.设计一个4位数码显示电路,并用汇编语言编程使“8”从右到左显示1遍。69.编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。70.设计89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H-59H单元,画出电路图,编出 (1)延时方式; (2)查询方式; (3)中断方式中的一种程序。

11、五、编程题答案 1. 程序如下:STRAT: MOV A,R0 MOV B,#10 MUL AB MOV R0,A RET MOV R0,#30H START: MOV R7,#0FH MOV DPTR,#3000H LOOP: MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,LOOP RET 3. MOV A,40H MOV DPTR,#TAB MOV C A,A+DPTR MOV 40H,A TAB: DB 30H,31H,32H,33H,34H, DB 35H,36H,37H,38H,39H 4. START: CLR C MOV A,51H C

12、PL A ADD A,#01H MOV 51H,A MOV A,50H ADDC A,#00H MOV 50H,A 5. ADDIO: MOV R0,30H MOV R7,#9H MOV A,R0 LOOP: ADD A,R0 DJNZ R7,LOOP MOV 30H,A 6.RIB-AI: MOV A,R1 ORL A,#30H MOV DPTR,#1000H 7. SOUT: MOV SCON,#40H MOV TMOD,#20H MOV TL1,#OE8H MOV TH1,#0E8H SETB TR1 MOV SBUF,A JNB T1,$ CLR 8.CARY: MOV DPTR,#2

13、000H MOV R0,#20H MOV R3,#05H NEXT: MOVX A,DPTR MOV R0,A DJNZ R3,NEXT 9. 程序如下:MAIN: MOV A,R3 MOV R3,A 10 START: MOV R0,#40H MOV R7,#09H MOV 30H,R0 CJNE A,30H,NEXT JNC BIE1 MOV A,30H BIE1: MOV 50H,A 11. MOV R7,#20H MOV R0,#30H MOV X A,DPTR MOV R0,A 12 MOV A,R2 ADD A,#01H MOV R2,A MOV A,R1 ADDC A,#00H

14、MOV R1,A 13. MOV R0,#40H MOV R7,#0AH MOV DPTR,#4000H I NC R0 14. START: MOV TL1,#0E8H MOV SCON,#50H L1: JNB R1,L1 CLR R1 MOV A,SBUF 15. START:MOV A,31H RLC A MOV 31H,A MOV A,30H MOV 30H,A 16. START: MOV X A, DPTR ADD A,#30H MOV X DPTR,A 17.解:要实现单字节BCD数的减法,应当设法将减法变为加法后,再用DA A指令调整。具体操作是:先用模(99+1)H即9AH

15、减去减数,再与被减数进行加法操作,然后用DA A调整。 假定被减数放在片内RAM的60H单元,减数放在61H单元,差值放入62H单元。程序如下: CLR CMOV A,#9AH SUBB A,61H ADD A,60H DA AMOV 62H,A 18. 解:用 R0和R1作数据指针,R0指向第一个加数,并兼做“和”的指针,R1指向另一个加数,字节数存放到R2中作记初值。主程序: JAFA:MOV R0,#20H MOV R1,#29H MOV R2,#04H ACALL JASUB AJMP $ 多字节加法子程序: JASUB:CLR C JASUB1:MOV A,R0 ADDC A, R1

16、 MOV R0,A INC R0 INC R1 DJNZ R2,JASUB1 19.解: MOV DPTR,#0000H MOV X A,DPTR MOV 10H,A MOV B,#00H MOV DPTR,#0001H THREE: CJNE A,B,ONE ONE: JC TWO XCH A,B TWO: DJNZ 10H,THREE MOV A,B 20 解: ORG 0030H MOV 20H,#00H MOV DPTR,#0000H MOV 10H,A MOV DPTR,#0001H JB ACC.7,ONE DJNZ 10H,TWO 21.解:MOV DPTR,#0000H MOV

17、 A,#00H PUSH A MOV 20H,A POP A ADD A,20H DJNZ 10H,ONE 22.解:TABLE: MOV A,20H CJNE A,#0AH,NEXT JC LED MOV 30H,#0FFH SJMP ENDD LED: MOV DPTR,#2000H MOVC A,A+DPTR ENDD:23.解: ORG 1000H MOV DPTR, #2000H MOV 10H, #0BH MOVX A, DPTR ANL A, #0FH MOVX DPTR, A DJNZ 10H,LOOP 24.解: PUSH PSW POP PSW 25.解:MOV DPTR,

18、#3000H MOVX A,DPTR MOV R0,A INC DPTR ADD A,R0 RRC A MOVX DPTR,A 26.解: MOV A,30H ANL A,#3CH RL A MOV 33H,A ANL 31H,#3 ANL 32H,#0C0H MOV A,31H ORL A,32H ORL 33H,A XRL DPH,#0FH XRL DPL,#0F0H 27.解:SETB ACC.0或ORL A,#1 ANL A,#0FH ORL A,0CH ANL A,#0C3H 28. 解:相对偏移量的计算方法有两种,一种是偏移量=转移地址(相对转移指令地址+相对转移指令字节数),则本

19、题中的偏移量=200AH(2010H+2)=FFF8。另一种是根据转移指令的硬件动作直接计算,既偏移量=目标地址下条指令的地址,则本题中的偏移量=H200AH2012H=FFF8H。取低8位偏移值,rel=F8H。29.解:MOV R0,#30H MOV A,R0 SWAP A ANL A,#0FH ORL A,#30H XCHD A,R0 MOV 32H,A 30.解:方法1 用1条指令实现:XCH A,B 方法2 用3条指令实现:MOV R0 MOV B,A 方法3 用4条指令实现:PUSH ACC PUSH B POP ACC POP B 31.解: ORG 0300H JNC TWO

20、SJMP TWO 32.解:ORG 0030H MOV A,20H MOV 20H,A MOV A,21H MOV 21H,A JNC NEXT MOV 22H,#01 SJMP $ 33.解:MOV DPTR,1000H MOV B,A CJNE A,B,00H JNC NEXT1 MOV 30H,B SJMP NEXT2 NEXT1: MOV 31H,B NEXT2: SJMP NEXT2 34.解:MOV R0,#10H MOV R1,#20H MOV R7,#04H SUBB A,R1 35.解: MOV C,P1.1 ANL C,P1.2 MOV 7EH,C ANL C,ACC.7 ORL C,7FH ORL C,/PSW.0 MOV P1.0,C 36.解:MOV DPTR,#TAB MOV A,R0 CJNE A,#10H,NEXT JNC NEXT1 MOV A,#0FFH 37.解:MOV DPTR,#2000H MOV R0,#20H MOV R1,#03H ADDC A,R0 DJNZ R1,LOOP 38.解: MOV R0,#30H MOV R1,#10H MOV A,2R0 INC

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2