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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《单片机原理及应用》课外练习.docx

1、单片机原理及应用课外练习 单片机原理及应用-课外练习题目答案一:基础部份: 1:什么叫单片机?答:所谓单片机就是把CPU和一定容量的存储器(RAM和ROM),中断系统,一些并串口电路及定时器/计数器集成在一块芯片上。2:什么叫原码?反码?补码?答:原码:凡正数的符号位用0表示,负数的符号位用1表示,而数值位保持原样的机器数称为原码。反码:正数的反码和原码相同,负数的反码是符号位不变,数值位按值取反。补码:正数的补码与正数的原码相同,负数的补码是由它的反码在末位加1得到。3:什么叫溢出?8位符号数X,Y ,X=+60,Y=+70,相加是否会溢出。答:所谓溢出是指参加运算的操作数或操作结果的绝对值

2、超出计算装置的范围时,就称为溢出。由于X+Y=130超过了+127所以会溢出。4:总线有哪几种类型,各作用又是什么?答:总线有以下类型:1:数据总线。2:地址总线, 3:控制总线。数据总线用于传送数据信息。地址总线用于传送地址信息控制总线用于传送控制命令。5:单片机有哪五个主要部分组成。答:1:运算器 2:控制器 3:存储器 4:输入设备 5:输出设备6:什么叫全双工的传输方式。MCS-51是不是全双工通信接口。答:允许数据同时沿两个方向传送。MCS-51的通信接口是全双工的通信接口7:MCS51有那些中断源,各中断源的中断服务程序入地址在分别在哪.MCS51有以下5个中断源。1:外部中断0

3、入口地址 0003h2:定时器0 中断 入口地址 000Bh3:外部中断1 入口地址 0013h4:定时器1中断 入口地址 001Bh5:串口中断 入口地址 0023h8:如果外部中断零允许中断,怎么初始化。 第一步:设置外部中断0的中断方式。第二步:开外部0中断9:如果定时器0工作在中断方式,要怎么初始化,定时器的初值随意。第一步:初始化定时器的初值第二步:初始化定时器零的工作方式第三步:开定时器0的中断10:简要说明串口是怎么发送一个数据,是怎么接收一个数据。答:初始化串口以后,往SBUF写一个数据,串口会自动把 SBUF中的数据发出。 当RI=1时,读SBUF中的数据,就是接收到的串口数

4、据。二:判断题:在对的地方打(),在错的地方打(X)。1: MOV A,11H, 是直接寻址。( )。2: MOV A, R0, 是寄存器寻址。( )。3: MOV A,#22H, SUBB A,#11H, Cy = 1 ( x )。4: MOV A,R0 是寄存器间接寻址( )。5: MOV A,#11H 是立即数寻址( )。6: MOV DPTR,#TABLE MOV A,#01 RL A JMP A+DPTRTABLE: AJMP PRG0 AJMP PRG1 AJMP PRG2 AJMP PRG3 程序会执行到这条指令AJMP PRG0( X )。7: MOV R4,#5LOOP: N

5、OP DJNZ R4,LOOP MOV A,R4 (A)=0 ( )。8: 已知(CY)=0,JC LOOP1NOPNOPAJMP LOOP2LOOP1: NOP NOPLOOP2:NOP NOP程序会执行到LOOP1( X )9: MOV A,#11H ANL A,#FFH (A)= 11H ( )10:MOV A,#11H ORL A,#FFH (A)= 11H ( X )三:填空题:1:假定外部数据存储器1000H单元的内容为60H,执行下列指令后,累加器A的内容为( 61H )。MOV DPTR , # 1000HMOV A , #00HMOVX A , DPTRADD A, #01H

6、2:假设外部数据存储器1000H单元的内容为10H,1001H的单元内容为20H,执行下列指令后,累加器A的内容为( 30H )。MOV DPTR ,1000HMOVX A,DPTRMOV R1,AINC DPTRMOVX A ,DPTRADD A,R13:A=8AH,(R1)=B2H,执行指令ADD A,R1 后,(A)= ,(AC)= ,(CY)= ,(OV)= 。(A)=3CH ,(AC)=0 ,(CY)=1 ,(OV)=1 .4:(R1)=30H,(A)=2BH,(30H)=6AH,执行指令后XCHD A R1,(R1)=, (A)=,(30H)= 。(R1)=30H, (A)=2AH

7、 ,(30H)=6BH5:设(A)=04H,(CY)=1,RL A, A= , A= 08HRR A, A= , A= 02HRLC A, A= , A= 09HRRC A, A= 。 A= 82H6:(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写出下列各条指令的结果。 MOV A ,R0 (A)=30H (R0)=30H XCH A, R0 (A)=30H (R0)=30H XCHD A,R0 (A)=A5H (R0)=30H (30H)=30H ADD A,#30H (A)=D5H (CY)=1 ADDC A,30H (A)=06H (CY)=1 SUBB A,#

8、30H (A)=D5H (CY)=17:将真值+1001001 写成,原码反码及补码。原码( 01001001 )反码( 00110110 )补码( 01001001 )8:将真值-1001101写成,原码反码及补码。原码(11001101 )反码( 10110010 )补码( 10110011 )9:将58转化成二进制,十六进制。二进制( 111010 )十六进制( 3AH )10:将200转化成二进制,十六进制。二进制( 11001000 )十六进制( C8H )11:当串口接收到一个数据,此时RI=( 1 ),当串口发送完一个数据,此时TI=( 1 );12: MOV R4,#6LOOP

9、: NOP DJNZ R4,LOOP MOV A,R4 (A)=( 00H ) 。13:MOV A,#13H INC A INC A ADD A,#11H (A)=( 26H )。14:MOV A,#11H CJNE A ,#11H,LOOP MOV R1,#22H AJMP LOOP1LOOP: MOV R1,#11H.LOOP1: (R1)=( 22H )。15: MOV SP,#60HMOV A,#30HMOV B,#70HPUSH ACCPUSH BSP= ( 62H ),61H单元的内容为( 30H ),62H单元的内容为( 70H );16:MOV A,#33H ANL A,#0F

10、H (A)=( 03H );17:MOV A,#00H XRL A,#FFH (A)= ( FFH );18: MOV A,#0FHCPL A(A)= ( F0H )19 MOV A ,#01HRL A(A)= 220 (CY)=1; MOV A,#01H RRC A (A)=( 80H );编程部分:1: 设在外部RAM中有三个连续单元2001H,2002H,2003H,其中2001H和2002H单元中分别存放两个8位无符号二进制数,比较这两个数的大小,然后将大数送到2003H单元。ORG 0000HACALL compareWait:Ajmp wait;Compare:mov DPTR,

11、#2001hmovx a , dptrmov r0,ainc dptrmovx a,dptrsubb a ,r0jnc loopmov a, r0inc dptrmovx dptr ,aretloop:inc dptrmovx dptr ,aret 2:将内部RAM 40H开始的10个单元,搬移到50H开始的10个单元中。Org 0000hAcall movedata:Wait :Ajmp waitMovdata:mov r0,#40hmov r1,#50hmov r2, #10loop1:mov a, r0mov r1,ainc r0inc r1djnz r2 ,loop1ret3: 设单片

12、机晶振频率为12Mhz,使用定时器0,怎么样在P1.0引脚输出一个周期为1000us等宽的矩形波?org 0000HAJMP MAINORG 000BHAJMP T0_INTMAIN:MOV TH0, 0xfeMOV TL0 , 0x0bMOV TMOD, #01HSETB TR0SETB ET0SETB EAWAIT:AJMP WAITT0_INT:MOV TH0,0xfeMOV TL0,0x0bCPL P1.0RETI END4:设单片机晶振频率为12Mhz,怎么样让一个发光二极管以一秒周期闪烁。发光二极管的控制脚用P1.3.org 0000HAJMP MAINORG 000BHAJMP

13、T0_INTMAIN:MOV TH0, 0xd8MOV TL0 , 0xefMOV TMOD, #01HSETB TR0SETB ET0SETB EAMOV 30H ,#00HWAIT:AJMP WAITT0_INT:MOV TH0,0xd8MOV TL0,0xefINC 30HMOV A , 30HCJNE A, #50,LOOP1CPL P1.3Mov 30H ,#00HRETILOOP1:RETI END4:实现一个4个键盘的方法,画出硬件简略图.怎么实现都可以不限条件。;键盘为1行四列;p1.7为输出;p1.0 p1.1 p1.2 p1.3为输入;键值放在20h单元org 0000Hm

14、ov 20h ,#00Hwait:acall key_inputajmp waitkey_input:jnb p1.0,key_0jnb p1.1,key_1jnb p1.2,key_2jnb p1.3,key_3retkey_0: acall delay jnb p1.0,get_key_0 mov 20h,#00h retget_key_0: mov 20h,#30h retkey_1: acall delay jnb p1.1,get_key_1 mov 20h,#00h retget_key_1: mov 20h,#31h retkey_2: acall delay jnb p1.2,

15、get_key_2 mov 20h,#00h retget_key_2: mov 20h,#32h retkey_3: acall delay jnb p1.0,get_key_3 mov 20h,#00h retget_key_3: mov 20h,#33h retdelay: mov r0,#0ffh;delay2: mov r1,#22hdelay1: djnz r1,delay1 djnz r0,delay2 ret end5:设在外部RAM中有3个连续单元1000H,1001H,1002H,求这三个单元之和,和结果放在1004H 1005H,低位放在1004H,高位放在1005H.o

16、rg 0000H;把1004h 1005h单元内容清为零 acall addthree:wait:ajmp waitaddthree:mov dptr,#1004hmov a,#00hmov dptr ainc dptrmov dptr,a;把1001单元内容存到r0mov dptr,#1001hmovx a,dptrmov r0,a;把1002单元内容存到r1inc dptrmovx a,dptrmov r1,a;把1003单元内容存到ainc dptrmovx a,dptr;add a,r0mov dptr,#1004hmovx dptr ,ajc loop1add a,r1movx dp

17、tr ,ajc loop2retloop1: ;高位加1 mov dptr ,#1005h mov a, #01h movx dptr,a mov dptr,#1004h movx a,dptr add a,r1 movx dptr,a jc loop2 retloop2: ;高位加1 mov dptr,#1005h movx a ,dptr inc a movx dptr,a ret6: 设在内部RAM中50H开始有连续的10个单元,求这10个单元之和,结果放在60H,61H,低位放在60H,高位在61H.org 0000Hacall addtenwait: ajmp waitaddten:

18、mov r0 ,50hmov r1,#10mov a,#00hmov 60h, amov 61h, aloop1:add a, r0inc r0mov 60h,ajc loop2djnz r1,loop1retloop2:mov a,61h;add a,#01hdjnz r1 ,loop1retend7:怎么让20H单元的内容低四位保持不变,高四位取反。Org 0000hMov A,20HXRL A,#f0hWait:Ajmp wait8:有一个控制字保存在20H单元中,如果这个控制字的第八位为零,则P1.0端口输出为0,如果这个控制字的第八位为1,则P1.0输出为1.Org 0000hACALL CONTROL:WAIT:AJMP WAITCONTROL:Mov a,20HRLC AJC LOOPCLR P1.0RETLOOP:SETB P1.0RET9: 求出上面各芯片2764 , 6264 , 8255 ,0832 的起始地址?2764的起始地址为0000H6264的起始地址为2000H8255的起始地址为5FFCH0832的起始地址为7FFCH

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1