1 / 15

霓虹灯控制

学习情境 1.4. 霓虹灯控制. 做什么?. 利用单片机制作一个模拟霓虹灯的控制系统,实现不同模式下的霓虹灯显示控制。. 基本任务 1 :. 实现八个发光二极管亮灭闪烁的显示效果. 跟我做 1- ------ 画出硬件电路图. 你能说出 P1 口是什么电平点灯吗?. 跟我做 2- ------ 准备器件、焊板. 跟我做 3- ------ 用实验板来连接线路. 跟我做 4- ------ 编写控制程序. ORG 0000H START: MOV P1,#00H ACALL DELAY

alida
Télécharger la présentation

霓虹灯控制

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. 学习情境1.4 霓虹灯控制

  2. 做什么? 利用单片机制作一个模拟霓虹灯的控制系统,实现不同模式下的霓虹灯显示控制。

  3. 基本任务1: 实现八个发光二极管亮灭闪烁的显示效果

  4. 跟我做1-------画出硬件电路图 你能说出P1口是什么电平点灯吗?

  5. 跟我做2-------准备器件、焊板

  6. 跟我做3-------用实验板来连接线路

  7. 跟我做4-------编写控制程序 ORG 0000H START: MOV P1,#00H ACALL DELAY MOV P1,#0FFH ACALL DELAY SJMP START DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP DJNZ R4,DEL1 DJNZ R3,DEL2 RET END ;点亮8个LED ;调用延时子程序 ;熄灭8个LED 此DELAY子程序的延时时间是多长?

  8. (1+1+2)X Y× T机器 源程序: 指令周期 DELAY: MOV R3, #( X )H 1个T机器 DEL2: MOV R4,#( Y )H 1个T机器 DEL1: NOP 1个T机器 NOP 1个T机器 DJNZ R4,DEL1 2 个T机器 DJNZ R3,DEL2 2个T机器 RET 设晶振频率为12MHz,则T机器=1us ∴上段程序中延时时间为 (1+1+2) 255255 1us=260.1ms 你可以将DELAY延时子程序执行时间修改为1秒吗?

  9. 基本任务2: 从P1.0到P1.7依次循环点亮一个LED 完成这个任务,硬件需要修改吗?

  10. 跟我做1-------程序分析 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 RL A 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 循环8次 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 你可以编写出这个循环结构的程序吗? 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1

  11. 跟我做2-------设计程序流程图 8次 #0FEH ACALL DELAY RL A DJNZ Rn , rel

  12. 跟我做3-------编写控制程序 ORG 0000H START: MOV R2,#08H MOV A,#0FEH NEXT: MOV P1,A ACALL DELAY RL A DJNZ R2,NEXT SJMP START DELAY: …… RET END

  13. 进阶任务: 各显示模式字之间无任何变化规律,无法采用移位指令和循环结构的程序来实现。应该采用什么结构的程序呢? 任意模式霓虹灯显示

  14. ORG 0000H MOV P1, #00H ;灭灯 MOV R2, #5;循环5遍 DP0:MOV R3, #8;每遍8个状态 MOV DPTR, #TAB ;取表基址 MOV R0, #0 ;取表变址 DP1: MOV A, R0 ;变址送A MOVC A, @A+DPTR ;查控制码 MOV P1 , A ;控制码送P1口亮灯 ACALL DELAY;延时 INC R0 ;修改地址指针 DJNZ R3 , DP1;查8个状态 DJNZ R2 , DP0;查5遍 MOV P1, #00H ;灭灯 SJMP $ DELAY: …… RET TAB: DB 81H,42H,24H,18H,18H,24H,42H,81H END

More Related