第3章单片机的汇编语言与程序设计.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文档。上传文档
查看更多
第3章单片机的汇编语言与程序设计

第3章单片机的汇编语言与程序设计 流程图(程序框图) 表示出程序的执行过程或解题步骤和方法 给出程序的结构,体现整体与部分之间的关系 便于阅读、理解程序,查找错误 举例16: 在单片机P1口外接8个发光二极管(低电平驱动)。试编写一汇编程序,实现LED循环点亮功能: 第3章单片机的汇编语言与程序设计 P1.0→P1.1→P1.2→ ┅ →P1.7→P1.6→ ┅ →P1.0的顺序,无限循环。 采用软件延时方法控制闪烁时间间隔(约50ms)。 解:仿真开发过程如下 第3章单片机的汇编语言与程序设计 电路原理图设计: 利用Proteus软件的ISIS模块绘制原理图。考虑到LED低电平驱动要求,硬件电路设计时需使LED的阴极应接P1口,阳极通过限流电阻与+5V电源相接。 ①确定编程思路: 只要设法使P1口某位为低电平,其余位均为高电平,相应的LED就会点亮。适当延时后不断将点亮位挪到相邻位就会产生循环点亮的效果。 第3章单片机的汇编语言与程序设计 ②画程序流程图: 尽可能详细地表示出每一相关环节的内容 第3章单片机的汇编语言与程序设计 (1111 1110B) (RL) (ACALL) (DJNZ) (RR) (0111 1111B) (1111 1110B) (Rn) (MOV) 第3章单片机的汇编语言与程序设计 ③编写汇编程序 第3章单片机的汇编语言与程序设计 ④程序编译调试 编译通过! 机器码及在ROM中的存放 第3章单片机的汇编语言与程序设计 实际运行效果: 本章小结 51单片机指令系统的特点是不同的存储空间寻址方式不同,适用的指令不同,必须进行区分。 指令是程序设计的基础,应重点掌握传送指令、算术运算指令、逻辑运算指令和控制指令,掌握指令的功能, 操作的对象和结果,对标志位的影响,应要求记熟。 伪指令是非执行指令,提供汇编程序以汇编信息,应正确使用。 第3章单片机的汇编语言与程序设计 第3章单片机的汇编语言与程序设计 举例3:试分析如下程序段并指出其功能 MOV DPTR,#120H MOV A,#5 MOVC A,@A+DPTR MOV 30H,A ; DPTR ←data16 ; A←data ; A←(A+DPTR) ; (30H)←A ; DPTR =120H ; A=5 ; A←(125H) ; (30H)←A 功能:将ROM 125H地址中的数取出送到片内RAM的30H单元中。 意义:采用DPTR作为基址寄存器,A作为变址寄存器,查找事先存放在ROM数据块中的数据值,其中DPTR指向数据块的首地址。 第3章单片机的汇编语言与程序设计 举例3”: 在如下所示的ROM 120H地址开始的10个单元中存放着整数0~9的十进制平方值,编写一查表程序段,计算整数5的平方值,并将结果送入RAM 30单元。 执行结果:(30H)=25 ROM地址 数值 0128H 64 0127H 49 0126H 36 0125H 25 0124H 16 0123H 09 0122H 04 0121H 01 0120H 00 查表做法: 1、在ROM中设置一数据块; 2、将数据块的首地址赋值给DPTR; 3、将欲查的数存入累加器A; 4、执行MOV A,@A+DPTR查表指令; 5、查表后的结果送入指定单元。 第3章单片机的汇编语言与程序设计 举例4: 已知70H中有一个数,其值在0~9范围内,编制程序把它变为相应的ASCII码。 解:0~9的ASCII码为30H~39H。利用半字节交换指令可以把0~9的数装配成相应的ASCII码。 MOV R0,#70H ; R0←70H MOV A,#30H ; A←30H XCHD A,@R0 ; A中形成相应ASCII码 MOV @R0,A ; ASCII码送回70H单元 0-3 第3章单片机的汇编语言与程序设计 数据传送对象和方向示意图 C bit 虚线框代表片内RAM范围 立即数和ROM地址只能作为源操作数 ROM和外部RAM只能与A进行往来 PUSH和POP只能对direct进行操作 位传送只能在C与bit间进行 第3章单片机的汇编语言与程序设计 3.1汇编语言概述 3.2指令系统简介 1.数据传送与交换类指令 2.算术运算类指令 3.逻辑运算及移位类指令 4.控制转移类指令 5 .伪指令 3.3汇编语言的编程方法 第3章单片机的汇编语言与程序设计 算术运算类指令共有24条,包括加、减、乘、除和增减1运算等。 第3章单片机的汇编语言与程序设计 特点:算术运算指令一般对程序状态字PSW中的CY、

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档