单片机简单程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机简单程序

* * * * * * 三、排序 例将内存一串单字节无符号数升序排序。 步骤: 第一次循环,比较N-1次,取到数据表中最大值,交换数据位置。 第二次循环,比较N-2次,取到次大值。 … 第N-1次循环:比较一次,排序结束。 * 例4-3 试编程将内部RAM 50H—70H中数据由大到小进行原地排序。 解:排序的方法很多,这里介绍一种选择排序法。其基本思路是:反复找出数据区中最大数并将该数与当前数据区首地址中内容互换,同时将数据区长度减一,即数据区首地址下移,逐步扩大已排序区,减小未排序区,直至未排序区长度为零. ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV SP,#30H ;设置SP指针。 MOV 7EH,#50H ;首地址50H送7EH。 MOV 7FH,#20H ;数据长度送7FH。 AGAIN:LCALL FINDMAX ;寻找大数。 LCALL EXCHANGE ;交换。 DEC 7EH ;首址指针下移一位。 DJNZ 7FH,AGAIN ;如未完继续。 SJMP $ ;结束。 * ORG 1000H FINDMAX:MOV R0,7EH ;数据区首址送R0。 MOV R7,7FH ;数据长度送R7 MOV A,@R0 ;取第一个数。 MOV 20H,R0 ;首地址送20H。 LOOP:INC R0 ;R0指向下一单元 MOV 40H,@R0 ;取下一数送40H。 CJNE A,40H, CHK ;比较A与40H中的数。 CHK:JNC LOOP1 ;若A内容大转 MOV A, 40H ;大数送A。 MOV 20H,R0 ;大数地址送20H。 LOOP1:DJNZ R7,LOOP ;未完继续。 MOV 2FH,A ;最大数送2FH。 RET ;返回。 子程序:寻找大数程序(FINDMAX) 入口参数为: 当前数据区首地址存放单元:7EH 当前数据区长度存放单元: 7FH 出口参数为 当前数据区大数所在地址存放单元:20H 当前数据区最大数存放单元:2FH * ORG 1200H EXCHANGE:MOV R1, 20H MOV A , @R1 ;取出当前区域内最大值 MOV R1,7EH XCH A, @R1 ;大数与当前数据区内容互换,大数放首地址 MOV R1,20H ;取大数地址 MOV @R1, A ;原首地址中数到大数地址 RET 子程序:交换程序(EXCHANGE) 说明:模块三入口参数: 当前数据区最大数所在地址存放单元:20H 当前数据区首地址存放单元:7EH * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第四章 汇编语言程序设计 4-1 汇编程序的约定 4-2 程序设计步骤 4-3 直线程序 4-4 分支程序 4-5 循环程序 4-6 子程序 4-8 编程举例 4-7 算数运算 4-1 汇编程序约定 汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。 汇编程序: 能将汇编语言源程序转换成机器语言目标程序的系统软件。 汇编语言程序到机器语言程序的转换过程称为汇编。 1.手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。 2.机器汇编:用汇编程序进行汇编。 * 源程序使用机器汇编要考虑汇编程序的约定 1)按指令格式和语法规则编写程序。 常数的表示: 十进制数:20 十六进制数:87H,0F0H 二进制数 字符: ‘H’ 字符串: “Hello”。 2)使用伪指令提供汇编信息。 * 汇编的主要任务: 1)确定程序中每条汇编语言指令的指令机器码。 2)确定每条指令在存储器中的存放地址。 3)提供错误信息。 4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。 一. 汇编语言指令

文档评论(0)

allap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档