欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    习题三答案单片机汇编程序设计基础(共6页).doc

    • 资源ID:13291818       资源大小:26.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    习题三答案单片机汇编程序设计基础(共6页).doc

    精选优质文档-倾情为你奉上单片机汇编程序设计基础  习题答案一、填空题1、给程序做注释使用  ;(或半角分)    号来标识。2、注释可以写在  一行指令上   ,也可以写在  一个指令     之后。3、在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分支     结构、循环    结构和   子程序调用    结构的程序。4、寻址方式是指   寻找操作数的方式        。5、机器语言是   机器码的集合      。6、MCS-51单片机的指令的一般格式中,包括  标号   、助记符    、  目的操作数   、源操作数    和   注释等部分。7、MCS-51汇编语言源程序的扩展名为   asm  。二、程序设计题1、求50H与40H单元内容之和,结果存入20H,进位位存入2lH。解答:  MOV  A。50 H  ADD  A,40H  MOV  20HA  CLR    A  ADDC A#00H  MOV  21H,A  SJMP  $2、编程实现双字节加法运算(R1)(R0)+(R7)(R6)一(31H)(30H)。解答:  MOV  AR0  ADD  A,R6  MOV  30HA  MOV  A,R1  ADDC  AR7MOV  31H,ASJMP  $3、试编写程序,求出内部RAM20H单元中的数据含“1”的数,并将结果存入21H单元。解答 MOV  21H,#00HMOV  A,20HCLR  C MOV  R7,#08HLOOP: RLC  AJNC  NEXTINC  21HNEXT: DJNZ  R7,LOOPSJMP  $4、试编写程序,将内部RAM的20H2FH共16个连续单元清零。解答:MOV  R0,#20HMOV  R7,#10HCLR  A NEXT:MOV  R0,AINC  R0DJNZ  R7,NEXT      SJMP  $5、编程将片内RAM30H单元开始的B的数据传送到片外RAM3000H开始的单元中去。解答:STRAT:MOV     R0,#30H         MOV     R7,#0FH         MOV     DPTR,#3000H  LOOP: MOV     A,R0         MOVX    DPTR,A         INC       R0         INC       DPTR         DJNZ      R7,LOOP         RET6、片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和256 )解答: ADDIO:MOV     R0,30H          MOV      R7,#9          MOV      A,R0   LOOP: INC       R0          ADD       A,R0          DJNZ      R7,LOOP          MOV      30H,A              RET7、 试编写程序,查找在内部RAM的30H50H单元中出现FFH的次数,并将查找的结果存入51H单元。解答:MOV  51H,#00HMOV R1,#30HMOV R7,#21HLOOP:CJNE  R1,#0FFH,NEXT INC 51HNEXT:INC  R1DJNZ  R7,LOOPSJMP  $8、设单片机的fosc=6MHz,编写实现100ms延时的子程序。解答:DELAY:  MOV  R7,#64HA0:     MOV  R6,#0FAH        DJNZ  R6,$DJNZ  R7,A0RET9、 从内部RAM的30H单元开始存放一组用补码表示的带符号数,其数目以存放在20H单元。编写程序统计出其中的正数、0和负数的数目,并奖结果分别存入21H、22H、23H单元。解答:MOV  R0,#30HMOV  21H,#00HMOV 22H,#00HMOV 23H,#00HMOV  A,R0JZ  NEXT1JB  ACC.7,NEXT2INC 23HSJMP  NEXT3NEXT2: INC  21HSJMP  NEXT3NEXT1:INC  22HNEXT3:INC R0DJNZ 20H,LOOPSJMP $10、 在程序存储器中从tab开始的16个单元连续存放0-15的平方值,设计程序,任意给一个数x(0x15),查表求出z的平方值,并把结果存入y单元。解答:设x单元为30H,Y单元为31H。文件名:aasm ,查表求x的平方值,X的值在015之间。    ORG  3000H    MOV  DPTR,#tab    MOV  A,X    MOVC A,A+DPTR    MOV  y,ASJMP  $tab:DB 00H,01H,04H,09H,10H,19H,24H,31 H    DB 40H,51H,64H,79H,90H,0A9H,0C4H,0E1H    X  DATA 30H    Y  DATA  31H    END11、 从XX单元开始,连续存放10个无符号数,设计程序,从中找出最大值送入yy单元。解答:设XX单元为40H,YY单元为30H。    ORG 0020H    MOV  R0#xx    MOV  B,R0    MOV  R7#09H    INC    R0LOOP: MOV  A,B    CLR    C    SUBB  A,R0    JNC    NEXT    MOV  B,R0NEXT:INC    R0    DJNZ  R7,LOOP    MOV  YY,BSJMP  $XX DATA  40HYY DAIA  30HEND12、 从x单元开始,连续存放30个无符号数,统计奇数和偶数的个数,并分别存入y和z单元。解答:设x单元为30H,Y单元为50H,z单元为51H。      ORG  2000HSTART:MOV    R1,#00H       MOV    R2,#00H       MOV    R7,#1EH       MOV    R0,#XLOOP:MOV  A,R0      JNB    ACC0,NEXT      INC    R1      SJMP  A1NEXT:INC R2 Al:INC    R0      DJNZ  R7,LOOP      MOV  y,R1      MOV  Z,R2      SJMP  $ x   DATA  30H y   DATA 50H z  DATA  5lH     END13、从x单元开始,连续存放30个带符号数,求出各个数的绝对值,将结果存入原单元。解答:设 x 单元为30H  START:MOV  R7,#1EH        MOV  R0,#XLOOP:   MOV A,R0JNB  ACC.7,NEXTCPL  AINC  AMOV  R0,ANEXT:  INC  R0DJNZ  R7,LOOPSJMP  $X  DATA  30HEND14 、用查表法编一子程序,将R3中的BCD码转换成ASCII码.解:MAIN:    MOV  A,R3        ;待转换的数送A          MOV      DPTR,#TAR        ;表首地址送DPTR          MOVC     A,A+DPTR        ;查ASCII码表          MOV      R3,A             ;查表结果送R3          RET  TAR     DB        30H,31H,32H,33H,34H          DB        35H,36H,37H,38H,39H15、 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中解:   START:  MOV    R0,#40H          ;数据块首地址送R0                 MOV     R7,#09H         ;比较次数送 MOV     A,R0           ;取数送    LOOP:   INC      R0                  MOV     30H,R0          ;取数送H                CJNE     A,30H,NEHT      ;(A)与(30H)相比       NEXT:    JNC      BIE1            ;(A)(30H)转BIR1                MOV     A,30H            ;(A)(30H),大数送A BIE1:    DJNZ     R7,LOOP         ;比较次数减1,不为0,继续比较    MOV     50H,A            ;比较结束,大数送50H    RET        16、利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。解  用R0和R1作数据指针,R0指向第一个加数,并兼作“和”的指针,指向另一个加数,字节存放到中作计数初值。主程序:JAFA:  MOV    R0,#20H           ;指向加数最低字节MOV   R1,#29H           ;指向另一加数最低字节MOV   R2,#04H           ;字节数作计数值ACALL   JASUB           ;调用加法子程序AJMP      $                RTE 多字节加法子程序:JASUB:  CLR    CJASUB1: MOV    A,R0        ;取出加数的一个字节(无符号数加数)ADDC    A,R1       ;加上另一数的一个字节MOV     R0,A       ;保存和数INC      R0         ;指向加数的高位INC      R1         ;指向另一加数的高位DJNZ    R2,JASUB1      ;全部加完了吗?      RET 专心-专注-专业

    注意事项

    本文(习题三答案单片机汇编程序设计基础(共6页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开