收藏 分销(赏)

单片机练习题参考答案.doc

上传人:仙人****88 文档编号:9314536 上传时间:2025-03-21 格式:DOC 页数:9 大小:83.50KB 下载积分:10 金币
下载 相关 举报
单片机练习题参考答案.doc_第1页
第1页 / 共9页
单片机练习题参考答案.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
单片机练习题参考答案 一、填空题 1. CPU、存储器、I/O口。 2. MOV 、 MOVX 、 MOVC 3. 64K 、 64K 4. 全“ 1 ” 5. 上拉电阻 6. 外部中断 0 、外部中断 1 、定时器 0 溢出中断、定时器 1 溢出中断、串行口中断 7. RETI 、 RET 8. 模式设定,定时 9. ( A ) =76H , CY=0 , AC=0 , OV=1 , P=1 10. 软件消抖动、硬件消抖动 11. 独立式、行列式 12. 共阴、共阳、静态显示、动态显示 13. 00H~07H 、 08H~0FH 、 10H~17H 、 18H~1FH 、 0 、 1 14. 低 8 位地址 / 数据复用总线、高 8 位地址总线 15. 外部中断 0 、外部中断 1 、定时器 0 溢出中断、定时器 1 溢出中断、串行口中断、 IE 、低 16. 13、–128~+127B 、 2KB 、 64KB 17. 复位控制、地址锁存控制、片外取指控制、片外程序存储器选择控制 18. FOSC/12,SCON,TB8 19. 00~7FH,20~2FH,00~7FH,64KB 20. 49,58H 21. 3,256 22. 00,07H,高(或“1”) 23. 0 24. PSEN 25. ALE,P0口 26. 2FFF 27. 12,2µs 28. 28H;88H。 29. 50H;88H。 30. 04H;00H;0。 31. PC;PC。 32. A,PC,DPTR。、 33. 操作码,操作数,操作码。 34. 1031H。 35. 程序,数据。 36. 地址。 37. 00H, 0AAH。 38. (DPH)=3CH,(DPL)=5FH,(SP)=50H。 39. (SP)=62H,(61H)=30H,(62H)=70H。 40. 0013H;001BH。 41. 外部中断1;定时器T1。 42. PC、PC、程序存储器。 43. 1。 44. 相等。 45. 片选。 46. 16KB 47. 程序,数据。 48. 2KB,14。 49. 0FFFH。 50. 同步。 二、选择题 1. ③ 2. ② 3. ① 4. ③ 5. ③ 6. ② 7. ② 8. ① 9. ② 10. ② 11. ① 12. ④ 13. ③ 14. ① 15. ① 16.② 17. ② 18. ③ 19. ③ 20. ③ 21. ① 22. ① 23. ② 24. ② 25. ② 26.② 27. ③ 28. ② 29. ③ 30. ② 31. ④ 32. ② 33. ① 34. ④ 35.① 36. ③ 37. ② 38. ④ 39. ④ 40. ① 41. ② 42. ③ 43. ③ 44. ④ 45. ③ 三 1.答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。 2.答:(A)=0CBH。 3.答: A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。 4. 答:( A ) =ACH ,( SP ) =60H 5.答:( 32H ) =24H ,( 33H ) =01H 程序功能是将 30H 和 31H 两单元的无符号数相加,结果存于 32H 单元,进位存于 33H 单元。 6.答:(A)=0CBH,(R0)=17H,(17H)=37H 7. 答:(A)=1AH,(10H)=5FH,(2EH)=3DH,(40H)=2EH,(60H)=3DH。 8.答:3.(CY)=1,(AC)=1,(P)=0,(ACC)=00H,(R7)=0FFH。 四、设计编程题 1.试编写一个程序,将内部RAM中45H单元的高4位清“0”,低4位置“1”。 答:参考程序如下: MOV A,45H ANL A,#0FH ORL A,#0FH MOV 45H,A 2.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。 答:参考程序如下: START: MOV R0,#30H MOV R2,#20H LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP MOV 51H,#00H EXIT: RET 3.试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找到的结果存入41H单元。 答:参考程序如下: START: MOV 41H,#0 MOV R0,#20H MOV R2,#20H LOOP: MOV A,@R0 JNZ NEXT INC 41H NEXT: INC R0 DJNZ R2,LOOP RET 4.在内部RAM的21H单元开始存有一组单字节无符号数,数据长度为20H,编写程序,要求找出最大数存入MAX单元。 5.某系统有3个外部中断源1、2、3,当某一中断源发出的中断请求使引脚变为低电平时(见图5-10),便要求CPU进行处理,它们的优先处理次序由高到低为3、2、1,中断处理程序的入口地址分别为1000H、1100H、1200H。试编写主程序及中断服务子程序(转至相应的中断处理程序的入口即可)。 答:参见电路如图5-10所示,参考程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INT_EX1 ORG 0030H MAIN: CLR IT0 ;采用电平触发,低电平有效中断 SETB EX1 ;允许外部中断1 SETB EA WAIT: LJMP WAIT ;用原地跳转代替一段用户程序 ;以下为外部中断1服务子程序 INT_EX1: JNB P1.2,NEXT1 ;P1.2=0,不是3号中断,跳转NEXT1 LJMP INT_IR3 ;是3号中断,跳转到对应的中断处理程序 NEXT1: JNB P1.1,NEXT2 ;P1.1=0,不是2号中断,跳转NEXT2 LJMP INT_IR2 ;跳转到2号中断处理程序 NEXT2: LJMP INT_IR1 ;跳转到1号中断处理程序 ORG 1000H INT_IR3: 插入相应中断处理程序 RETI ;中断返回 ORG 1100H INT_IR2: 插入相应中断处理程序 RETI ;中断返回 ORG 1200H INT_IR1: 插入相应中断处理程序 RETI ;中断返回 6.编写一段程序,功能要求:当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。 答:将P1.1的输入脉冲接入INT0,即使用T0计数器完成对P1.1口的脉冲计数。参考程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN: JNB P1.0,MAIN MOV TMOD,#05H ;定时器/计数器T0为计数方式1 SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断 SETB EA ;CPU开中断 WAIT: JB P1.2,WAIT CLR EA CLR TR0 MOV R1,TH0 MOV R0,TL0 AJMP $ IT0P: INC R2 RETI 7.试编写一个程序(如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。 答:本题主要考察对外部存储器的读、写操作的编程,只要正确使用MOVX指令就可以了。编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高4位和低4位互换,再屏蔽掉低4位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高4位,然后将寄存器A的值与30H进行“或运算”,将运算后的结果保存在2002H中。 ORG 0000H MAIN: MOV DPTR,#2001H ;设置数据指针的初值 MOVX A,@DPTR ;读取2001H的值 SWAP A ANL A,#0F0H ;屏蔽掉低4位 MOV 30H,A ;保存A INC DPTR ;指针指向下一个片外RAM单元 MOVX A,@DPTR ;读取2002H的值 ANL A,#0FH ;屏蔽掉高4位 ORL A,30H ;进行拼装 MOVX @DPTR,A ;保存到2002H片外RAM单元 END 8.编写程序,将外部数据存储器中的4000H~40FFH单元全部清“0”。 答:本题主要考察对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。 ORG 0000H MAIN: MOV A,#0 ;0给A MOV 0,#0FFH ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清“0” INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END 9.现有AT89C51单片机、74LS373锁存器、1片2764 EPROM和两片6264 RAM,请用它们组成一个单片机应用系统,要求如下: (1)画出硬件电路连线图,并标注主要引脚; (2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。 10.假设81C55的TIMERIN引脚输入的脉冲频率为1MHz,请编写在81C55的引脚上输出周期为10ms的方波的程序(假设I/O口地址为7F00H~7F05H)。 答:将1MHz的脉冲改变为10ms的方波,实际上就是分频。分频前后频率之比为100∶1,这样只要将定时器初值设置为64H就可以了(假设I/O口地址为7F00H~7F05H)。 START: MOV DPTR,#7F04H ;指针指向计数器低8位 MOV A,#64H ;送初值给A MOVX @DPTR,A ;初值送给计数器低8位 INC DPTR ;指向计数器高8位 MOV A,#40H ;计数器方波输出 MOVX @DPTR,A MOV DPTR,#7F00H ;指向命令/状态口 MOV A,#0C2H ;设定控制字 MOVX @DPTR,A ;启动计数器 END 11.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被按下并得到其键号的程序。 答:先对P1口高4位送低电平,读取P1口低4位的值;再对P1口低4位送低电平,读取P1口高4位的值,将两次读到的值组合在一起就得到了按键的特征码,再根据特征码查找键值。参考程序如下: KEYIN: MOV P1,#0FH ;反转读键 MOV A,P1 ANL A,#0FH MOV B,A MOV P1,#0F0H MOV A,P1 ANL A,#0F0H ORL A,B CJNE A,#0FFH,KEYIN1 RET ;未按键 KEYIN1: MOV B,A ;暂存特征码 MOV DPTR,#KEYCOD ;指向特征码表 MOV R3,#0FFH ;顺序码初始化 KEYIN2: INC R3 MOV A,R3 MOVC A,@A+DPTR CJNE A,B,KEYIN3 MOV A,R3 ;找到,取顺序码 RET KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查 RET ;已查完,未找到,以未按键处理 KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表 DB 0D7H,0DBH,0DDH,0DEH DB 0B7H,0BBH,0BDH,0BEH DB 77H,7BH,7DH,7EH 12.在一个由AT89C51单片机与一片ADC0809组成的数据采集系统中,ADC0809的8个输入通道的地址为7FF8H~7FFFH,试画出有关接口的电路图,并编写每隔1分钟轮流采集一次8个通道数据的程序,共采样50次,其采样值存入片外RAM中以2000H单元开始的存储区中。 答:接口电路可参见图11-17。参考程序如下: MAIN: MOV R0,#20H MOV R1,#00H MOV R2,#00H MOV R3,#50 MOV R8,#08H LOOP: MOV DPTR,#7FF8H LOOP1: MOVX @DPTR,A MOV R6,#0AH DELAY: NOP NOP NOP DJNZ R6,DELAY MOVX A,@DPTR INC DPTR MOV R2,DPL MOV DPH,R0 MOV DPL,R1 MOVX @DPTR,A INC DPTR MOV R0,DPH MOV R1,DPL MOV DPH,#7FH MOV DPL,R2 DJNZ R7,LOOP1 LCALL DELAY1M ;延时1分钟 DJNZ R3,LOOP ………………… 13. 如图所示的电路,要求开机时灯灭,按一下按钮,灯D1亮,延时10秒后自动熄灭,若在灯亮期间再按一下按钮,则灯立即熄灭。试编写实现上述功能的完整程序。 参考程序如下: LED BIT P1.0 KEY BIT P3.2 ORG 0 LJMP MAIN ORG 000BH LJMP INTT0 ORG 0100H MAIN: SETB LED MOV R2,#200 MOV TMOD,#01 MOV TH0,#50H MOV TL0,#50H LOOP: JB KEY,LOOP CLR LED SETB TR0 SETB EA SETB ET0 JNB KEY,$ NOP JB KEY,$ CLR LED CLR TR0 CLR EA JNB KEY,$ LJMP LOOP INTT0: MOV TH0,#50H MOV TL0,#50H DJNZ R2 ,STOP CLR LED CLR TR0 CLR EA CLR ET0 MOV R2,#200 STOP: RETI END 14.如图所示电路,要求完成实现按钮按压次数的计数及显示,按一次按钮,计数值加1(要求按十进制累加),计数及显示范围是:0~99,超过99则自动归零。请设计实现该功能的完整程序。要求对按钮的检测用中断实现,数码显示用动态扫描(数码管为共阴数码管)。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服