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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

福建农林大学微机原理.docx

1、福建农林大学微机原理7/8/9章综合编程一、简单小程序编制:注:所有多字节数的低字节都在低地址;R0或R1均指向内部RAM的最低字节。1、将30H、31H单元内容与T0计数器的TL0、TH0交换。保持其它R和M不变。解:MOV A,R0XCH A,30HMOV TL0,AMOV A,TH0XCH A,31HMOV TH0,A2、将30H、31H单元内容与5C30H、5C31H交换。保持其它R和M不变。解:MOV DPTR,#5C30HMOVX A,DPTRXCH A,30HMOVX DPTR,AINC DPTRMOVX A,DPTRXCH A,31HMOVX DPTR,A3、将30H、31H单

2、元内容与R0指向的两字节单元交换。保持其它R和M不变。解:MOV A,R0XCH A,30HMOV R0,AINC R0MOV A,R0XCH A,31HMOV R0,A4、将30H、31H单元内容与DPTR指向的两字节单元交换。保持其它R和M不变。解:MOVX A,DPTRXCH A,30HMOVX DPTR,AINC DPTRMOVX A,DPTRXCH A,31HMOVX DPTR,A5、将30H、31H单元内容存入5C30H、5C31H单元。保持其它R和M不变。解:MOV A,30HMOV DPTR,#5C30HMOVX DPTR,AMOV A,31HINC DPTRMOVX DPTR

3、,A6、将30H、31H单元内容加上数03C4H后存入5C30H、5C31H单元。解:MOV A,30HADD A,#0C4HMOV DPTR,#5C30HMOVX DPTR,AMOV A,31HADDC A,#03HINC DPTRMOVX DPTR,A7、将30H、31H单元内容减去数03C4H后存入5C30H、5C31H单元。解:CLR CMOV A,30HSUBB A,#0C4HMOV DPTR,#5C30HMOVX DPTR,AMOV A,31HSUBB A,#03HINC DPTRMOVX DPTR,A8、将30H、31H单元内容除以2后存入5C30H、5C31H单元。解:MOV

4、A,31HCLR CRRC AMOV DPTR,#5C31HMOVX DPTR,AMOV A,30HRRC AMOV DPTR,#5C30HMOVX DPTR,A9、将30H、31H单元内容乘以2后存入5C30H、5C31H单元。解:MOV A,30HCLR CRLC AMOV DPTR,#5C30HMOVX DPTR,AMOV A,31HRLC AINC DPTRMOVX DPTR,A10、将30H、31H单元内容减1。保持其它R和M不变。解: MOV A,30HJNZ L0DEC 31HSJMP $L0: DEC 30H11、将30H、31H单元内容加1。保持其它R和M不变。解:INC 3

5、0HMOV A,30HJNZ OKINC 31HOK:.12、将外部RAM中的5C30H、5C31H单元内容乘以2。保持其它R和M不变。解:MOV DPTR,#5C30HCLR CMOVX A,DPTRRLC AMOVX DPTR,AINC DPTRMOVX A,DPTRRLC AMOVX DPTR,A13、将外部RAM中的5C30H、5C31H单元内容除以2。保持其它R和M不变。解:MOV DPTR,#5C31HCLR CMOVX A,DPTRRRC AMOVX DPTR,ADEC DPLMOVX A,DPTRRRC AMOVX DPTR,A14、将30H的低半字节和31H单元的高半字节交换

6、。解:MOV A,31HSWAP AMOV R0,#30HXCHD A,R0SWAP AMOV 31H,A15、将30H的高半字节和31H单元的高半字节交换。解:MOV A,30HXCH A,31HMOV R0,#31HXCHD A,R0MOV 30H,A16、将30H、31H单元的4位16进制数的中间两位数交换。解:MOV A,30HSWAP AMOV R0,#31HXCHD A,R0SWAP AMOV 30H,AMOV A, R0MOV 31H, A17、如果INT0为低,则位30H改为它的值与P0口最低位的“反”相“与”后的值;否则,清30H位。解:JB P3.2,L0MOV C,30H

7、ANL C,/P0.0MOV 30H,CSJMP $L0:CLR 30H18、如果INT0为低,则位30H改为它的值与P0口最高位的“反”相“或”后的值;否则,清30H位。解:JB P3.2,L0MOV C,30HOPL C,/P0.7MOV 30H,CSJMP $L0:CLR 30H19、如果INT0为高,则,位30H改为它的值与P0口最低位相“或”后的值;否则,取反30H位。解:JNB 30H, L0MOV C,30HORL C,P0.0MOV 30H,CSJMP $L0:CPL 30H20、如果INT0为低,则A的最低位与A的最高位对调;否则,清除A。解:JB P3.2,L0MOV C,

8、ACC.0MOV 0,CMOV C,ACC.7MOV ACC.0,CMOV C,0MOV ACC.7,CSJMP $L0:CLR,A21、如果INT1为高,则A的最低位改为它的值与A的最高位的“反”相“与”后的值;否则,取反A。解:JNB P3.3,L0MOV C,ACC.0ANL C,/ACC.7MOV ACC.0,CSJMP $L0:CPL A22、改变30H单元为加上数0F7H后的值,如果产生进位,则设置F0标志;否则,清除F0标志。解:MOV A,30HADD A,#0F7HMOV 30H,AJC L0CLR F0SJMP L0:SETB F0 23、改变30H单元为减去数0F7H后的

9、值,如果产生进位,则设置F0标志;否则,清除F0标志。解:CLR C MOV A.30HSUBB A,#0F7HMOV 30H,AJC L0SETB F0SJMP $L0:CLR F0 24、如果30H内容等于数80H,则,P1.0置位;否则,P1.0清零。保持其它R和M不变。解:MOV A,30HCJNE A,80H, L0SETB P1.0SJMP $L0:CLR P1.025、改变30H、31H单元内容为乘以2后的值,如果产生进位,则,工作寄存器换用寄存器组1。解:CLR CMOV A,30HRLC AMOV 30H,AMOV A,31HRLC AMOV 31H,AJNC CONCLR

10、RS1SETB RS0CON:.26、改变30H、31H单元内容为除以2后的值,如果余数为1,则工作寄存器换用寄存器组3。解:MOV A,31HCLR CRRC AMOV 31H,AMOV A,30HRRC AMOV 30H,AJNC L0SETB RS1SETB RS0L0:.27、已知晶振频率为8MHZ,编一个子程序,延时150微秒。保持其它R和M不变。解:DELAY:MOV R7,#16HNOPL1:NOPNOPNOPNOPDJNZ R7,L1RET28、已知晶振频率为6MHZ,编一个子程序,延时30微秒。保持其它R和M不变。解:DELAY:MOV R7,#07HL1: DJNZ R7,

11、L1RET29、将从10H开始的64单元内容异或数5AH。保持其它R和M不变。解: MOV R2,#64HMOV R0,#10HMOV A,#5AHL00P: XPL A,R0MOV R0,AINC R0DJNZ R2,LOOP30、将由R0寻址的32个单元内容清为零。保持其它R和M不变。解: CLR AMOV R2,#32HLOOP: MOV R0,AINC R0DJNZ R2,LOOP31、将由R0寻址的32个单元内容移到R1寻址的单元中。保持其它R和M不变。解: MOV R2,#32HLOOP:MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,LOOP32、将由R0

12、寻址的16个单元内容改为与R1寻址的单元相“异或”后的值。保持其它R和M不变。解: MOV R2,#16HLOOP:MOV A, R0XPL A,R1MOV R0,AINC R0INC R1DJNZ R2,LOOP33、将由R0寻址的32个单元内容改为与R1寻址的单元相“或”后的值。保持其它R和M不变。解:和32是一样的。34、将由DPTR寻址的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。解: MOV R7,#100LOOP:MOVX A,DPTRJN FINDZINC DPTRDJNZ R7,LOOPSJMP FINDZ: MOV 30H,DPLMOV 31H,DP

13、H35、将从5C00H开始的100个单元内容移到5E00H开始的单元中。解: MOV R7,#100HMOV DPTR,#5C00HMOV P2,#5EHMOV R0,#00HLOOP:MOVX A,DPTRMOVX R0,AINC DPTRDJNZ R7,LOOP36、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“或”后的值。解: MOV R7,#100MOV DPTR,#5C00HMOV P2,#5EHMOV R0,#00HLOOP: MOVX A,DPTRORL A, R0 MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOP37、将从5C00H

14、开始的100个单元内容改为与5E00H开始的单元相“异或”后的值。解:和36一样,只需改为XRL38、将从5C00H开始的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。解: MOV R2,#100MOV DPTR,#5C00HL1:MOVX A,DPTRJZ L0INC DPTRDJNZ R2,L1SJMP L0: MOV 30H,DPLMOV 31H,DPH39、将从5C00H开始的100个单元中找出第一个内容不为00H的单元,其地址存入30H、31H。解:和38换成JNZ即可40、将从5C00H开始的100个单元中找出最大的数和存该数的单元,数存入40H,地址存入3

15、0H,31H。解: MOV R7,#100MOV DPTR,#5C00HMOV 40H,#0LOOP: MOVX A,DPTRCJNE A,40H,LIL1: JC L2MOV 40H,AMOV 30H,DPLMOV 31H,DPHL2: INC DPTRDJNZ R7,LOOPSJMP 41、将从5C00H开始的100个单元中找出最小的数和存该数的单元,数存入40H,地址存入30H,31H。解: MOV R7,#100MOV DPTR,#5C00HMOV 40H,#0FFHLOOP: MOVX A,DPTRCJNE A,40H,LIL1: JNC L2MOV 40H,AMOV 30H,DPL

16、MOV 31H,DPHL2: INC DPTRDJNZ R7,LOOPSJMP 42、将从5C00H开始的100个单元中找出第一个偶数和存该数的单元,数存入40H,地址存入30H,31H。解: MOV R7,#64HMOV DPTR, #5C00HLOOP: MOVX A,DPTRJNB ACC.0, L0INC DPTRDJNZ R7,L1SJMP L0: MOV 40H,AMOV 30H,DPLMOV 31H,DPH43、将从5C00H开始的100个单元中找出第一个奇数和存该数的单元,数存入40H,地址存入30H,31H。解:和42是一样的,改为JB44、编查表子程序,按40H中的索引数查

17、出存在5C00H中的100个三字节数,存入30H,31H,32H。45、编多分支转移程序段,按40H中的索引数,取转移地址表中的两字节地址,进行跳转。46、将R0指向的三字节带符号数取负后存回。解:MOV A,R0CPL AADD A,#01HMOV R0,AINC R0MOV A,R0ADDC A,#00HMOV R0,AINC R0MOV A,R0ADDC A,#00HMOV R0,A47、将R0指向的三字节数取R2R3乘以R4的积。48、将R0指向的二字节带符号数乘以2,校验是否溢出。解:CLR CMOV A,R0RLC AMOV R0,AINC R0MOV A,R0RLC AMOV R

18、0,AXRL C,ACC.7JC OVERFLAW实验编程1.将20H位单元送给B的最高位。解: CLR CMOV C,20HMOV B.7,C2.将程序存储器2000H单元内容送往片外RAM 1000H单元。解: CLR AMOV DPTR,#2000HMOVC A,A+DPTRMOV P2,#10HMOV R0,#00HMOVX R0,A3. R1与上 P2和 R0所指出的外部RAM单元内容,结果仍放入R1中。解: MOV A,R1ANL A,P24. 比较30H、31H、32H三个单元的内容,将最大的数给B。解:5. 将外部RAM 5C30H开始的99个单元内容清零。解: MOV R2,#99MOV DPTR,#5C30HLOOP: MOV A,#00HMOVX DPTR,AINC DPTRDJNZ R2,LOOP答案错误的题目:1、利用堆栈将A、B值传给R2、R3解: CLR PSW.3CLR PSW.4 PUSH AccPUSH BPOP 03HPOP 02H2.将30H开始的16个数中大于等于80H的单元内容放入50H以后的相应单元中解: MOV R0,30HMOV R1,50HMOV R6,#16HLOOP: MOV A,R0JNB ACC7,NPUTMOV R1,ANPUT: INC R0INC R1DJNZ R6,LOOPRET

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

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