这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机基础汇编语言编程实例

共1条 1/1 1 跳转至

单片机基础汇编语言编程实例

高工
2013-10-25 16:00:15     打赏

单片机汇编语言编程

1.编写程序,用位处理指令实现“P1.4=P1.0∨(P1.1∧P1.2)∨P1.3”的逻辑功能。

MOV C,P1.1ANL C,P1.2ORL C,P1.0ORL C,P1.3MOV P1.3,C2.编写程序,若累加器A的内容分别满足下列条件,则程序转到LABLE存储单元。设A中存放的的无符号数。(1)A≥10; (2)A>10; (3)A≤10。(1)CJNE A,#10,NEXTLJMP LABLENEXT:JNC LABLE(2)CJNE A,#10,NEXTLJMP NEXT2NEXT:JNC LABLENEXT2:(3)CJNE A,#10,NEXTLJMP LABLENEXT:JC LABLE3.编写程序,查找片内RAM的30H~50H单元中是否有55H这一数据,若有,则51H单元置为FFH;若未找到,则将51H单元清0。MOV R0,29HNEXT:INC R0CJNE R0,#51H,NEXT2MOV 51H,#0FFHAJMP OVERNEXT2:CJNE @R0,#55H,NEXTMOV 51H,#0OVER:4.编写程序,查找片内RAM的30H~50H单元中出现0的次数,并将查找的结果存入51H单元。MOV R0,30HMOV 51H,#0NEXT:CJNE @R0,#00H,NEXT2INC 51HNEXT2INC R0CJNE R0,#51H,NEXT5.在片外RAM中有一个数据块,存有若干字符、数字,首地址为SOURCE要求将该数据块传送到片内RAM以DIST开始的区域,直到遇到字符“$”时结束($也要传送,它的ASCII码为24H)。MOV DPTR,#SOURCEMOV R0,#DISTNEXT:MOVX A,@DPTRMOV @R0,AINC DPTRINC R0CINE A,#24H,NEXT6.片内RAM的30H和31H单元中存放着一个16位的二进制数,高位在前,低位在后。编写程序对其求补,并存回原处。CLR CMOV A,#0SUBB A,31HMOV 31H,AMOV A,#0SUBB A,30HMOV 30H,A7.片内RAM中有两个4字节压缩的BCD码形式存放的十进制数,一个存放在30H~33H单元中,另一个存放在40H~43H单元中。编写程序将它们相加,结果的BCD码存放在30H~33H中。CLR CMOV R0,#30HMOV R1,#40HMOV R2,#4NEXT:MOV A,@R0ADDC A,@R1MOV @R0,AINC R0INC R1DJNZ R2,NEXT8.编写程序,把片外RAM从2000H开始存放的16字节数据,传送到片内从30H开始的单元中。MOV DPTR,#2000HMOV R0,#30HMOV R1,#0NEXT:MOVX A,@DPTRMOV @R0,AINC DPTRINC R0INC R1CINE R1,#16H,NEXT



关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]