1 / 15

任务四 循环彩灯控制调试

任务四 循环彩灯控制调试. 自动化教研室 王曙霞. 任务四 循环彩灯控制调试. 任务四 循环彩灯控制调试. 任务四 循环彩灯控制调试. 考察: 1 个 LED 点亮指令 考察:仿真软件的使用. 8 个 LED 循环点亮程序设计. 任务四 循环彩灯控制调试. ORG 0000H ;表示程序从地址 0000H 开始 AJMP START ORG 0070 H ; 表示程序从地址 0070H 开始

dimaia
Download Presentation

任务四 循环彩灯控制调试

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 任务四 循环彩灯控制调试 自动化教研室 王曙霞 《智能系统设计与项目实践》项目教学课件

  2. 任务四 循环彩灯控制调试 任务四 循环彩灯控制调试 《智能系统设计与项目实践》项目教学课件

  3. 任务四 循环彩灯控制调试 考察:1个LED点亮指令考察:仿真软件的使用 《智能系统设计与项目实践》项目教学课件

  4. 8个LED循环点亮程序设计 任务四 循环彩灯控制调试 ORG 0000H ;表示程序从地址0000H开始 AJMP START ORG 0070 H ; 表示程序从地址0070H开始 START: MOV P1,#11111110B • ACALL DELAY ;延时一段时间,便于观察 • ACALL DELAY ;延时 • MOV P1,#11111011B • ACALL DELAY • MOV P1,#11110111B • ACALL DELAY • MOV P1,#11101111B • ACALL DELAY • MOV P1,#11011111B • ACALL DELAY • MOV P1,#10111111B • ACALL DELAY • MOV P1,#01111111B • ACALL DELAY • SJMP START ;返回,从START开始重复 MOV P1,#11111101B 《智能系统设计与项目实践》项目教学课件

  5. 8个LED循环点亮程序设计 任务四 循环彩灯控制调试 • DELAY: MOV R3,#0FFH ; 一段延时子程序 • DEL2: MOV R4,#0FFH • DEL1: NOP • DJNZ R4, DEL1 • DJNZ R3,DEL2 • RET ;子程序返回 • END ;表示程序结束 《智能系统设计与项目实践》项目教学课件

  6. 任务四 循环彩灯控制调试 8个LED循环点亮程序设计 • 观察1 :P1口数据的变化情况? • 观察2 :如何用简单的程序实现? 分析:P1口的数据为依次右移,数据是连续 变化。 可以移位指令实现。 《智能系统设计与项目实践》项目教学课件

  7. 累加器 A 累加器 A Cy 累加器 A Cy 累加器 A 任务四 循环彩灯控制调试 8个LED循环点亮程序设计 • 逻辑运算及移位类指令 累加器移位操作:(RL,RLC,RR,RRC——4条) RL A 左环移 RR A 右环移 RLC A 带进位位左环移 RRC A 带进位位右环移 《智能系统设计与项目实践》项目教学课件

  8. 开始 设循环次数 设循环初值 显示模式字送P1口 显示模式字左移1位 次数-1=0 N Y 8个LED循环点亮程序设计 《智能系统设计与项目实践》项目教学课件

  9. 任务四 循环彩灯控制调试 8个LED循环点亮程序设计 修改后程序: ORG 0000H • AJMP START • ORG 0070H • START:MOV P1,#0FFH • MOV A, #0FEH • LOOP: MOV P1,A • ( );循环左移或循环右移 • LCALL DELAY-50MS • SJMP LOOP • ******************************************************* • /*50MS延时子程序*/ • ******************************************************* • DELAY-50MS: MOV R7,#200 • DEL1: MOV R6, #123 • NOP • DEL2: DJNZ R6,DEL2 • DJNZ R7,DEL1 • RET • END 《智能系统设计与项目实践》项目教学课件

  10. 任务四 循环彩灯控制调试 思考:8个LED灯左移8次,然后右移8次,最后灯全亮,依次循环。 • 控制转移类指令 LJMP addr16 长跳转指令 ——可在64K范围内跳转 AJMP addr11 绝对跳转指令 ——可在指令所在的2K范围内跳转 SJMP rel 相对跳转指令 ——可在当前PC-128与+127范围内跳转 JMP @A+DPTR 间接长跳转指令 ——可在以DPTR为基址+A为偏移量 之和所指向的64K程序范围内跳转 《智能系统设计与项目实践》项目教学课件

  11. 任务四 循环彩灯控制调试 思考:8个LED灯左移8次,然后右移8次,最后灯全亮,依次循环。 • 控制转移类指令 条件转移: JZ,JNZ,CJNE,DJNZ——8条 JZ rel JNZ rel ——根据Acc的内容是否为0决定是否跳转 DJNZ direct,rel DJNZ Rn, rel ——将direct(或Rn)里的内容减 1,结果不等于0就跳转;等于0则不跳转继续往下走。 《智能系统设计与项目实践》项目教学课件

  12. 任务四 循环彩灯控制调试 思考:8个LED灯左移8次,然后右移8次,最后灯全亮依次循环。 • 条件转移 CJNE A,#data, rel CJNE A,direct,rel CJNE @Ri,#data, rel CJNE Rn,#data, rel ——将A(或@Ri,或Rn)与#data(或direct)相比较,其值不相等就跳转;相等则不跳转,继续往下走。 《智能系统设计与项目实践》项目教学课件

  13. ORG 0000H AJMP START ORG 0070H START:MOV P1,#0FFH MOV A, #0FEH MOV R5,#08H LOOP1:MOV P1,A ( RR A ); LCALL DELAY-50MS DJNZ R5, LOOP1 MOV R5,#08H LOOP2 :MOV P1,A ( RL A ); DJNZ R5,LOOP2 MOV P1,# 00H LCALL DELAY-50MS LCALL DELAY-50MS SJMP LOOP *********************** /*50MS延时子程序*/ **********************DELAY-50MS: MOV R7,#200 DEL1: MOV R6, #123 NOP DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1 RET END 任务四 循环彩灯控制调试 思考:8个LED灯左移8次,然后右移8次,最后灯全亮,依次循环。 《智能系统设计与项目实践》项目教学课件

  14. 任务四 循环彩灯控制调试 课外任务:制作单片机最小系统,制作循环彩灯控制,调试循环控制程序 《智能系统设计与项目实践》项目教学课件

  15. 练习:还有什么方法点亮灯,编程并调试。 • 试试有什么简单的编程方法? 《智能系统设计与项目实践》项目教学课件

More Related