1 / 40

学习情境 3 个性跑马灯的设计与实现

学习情境 3 个性跑马灯的设计与实现. 天津职业大学电信学院. 3. 主要内容. 用户要求. 1. 硬件电路设计. 2. 软件设计. 3. 软件设计. 用户要求. 硬件电路设计. 逻辑关系. 学习情境. 个性跑马灯设计与实现. 用户要求. 跑马灯 变化规律. 霓虹灯 变化规律. 基本要求. 具有跑马灯和霓虹灯功能. 自右向左隔两个灯亮. 每隔 1 秒闪烁一次. TEXT 隔灯亮灭变化时间为 1 秒 由跑马灯状态变化到霓虹灯状态由按键控制 个性跑马灯的显示灯个数为 8 个. 硬件电路设计. 系统方案设计.

joben
Download Presentation

学习情境 3 个性跑马灯的设计与实现

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. 学习情境3个性跑马灯的设计与实现 天津职业大学电信学院

  2. 3 主要内容 用户要求 1 硬件电路设计 2 软件设计 3

  3. 软件设计 用户要求 硬件电路设计 逻辑关系 学习情境 个性跑马灯设计与实现

  4. 用户要求 跑马灯 变化规律 霓虹灯 变化规律 基本要求 具有跑马灯和霓虹灯功能 自右向左隔两个灯亮 每隔1 秒闪烁一次 • TEXT隔灯亮灭变化时间为1秒 • 由跑马灯状态变化到霓虹灯状态由按键控制 • 个性跑马灯的显示灯个数为8个

  5. 硬件电路设计 系统方案设计 硬件电路设计 具体可分为 硬件方案确定 总设计电路原理图(SCH)

  6. 系统方案设计 系统方案设计理论图

  7. 硬件方案确定 非常重要,需反复修改 复位电路 设计 按键电路 设计 硬件方案 时钟电路 设计 显示电路 设计

  8. 硬件方案确定––显示电路设计––器件的选择硬件方案确定––显示电路设计––器件的选择 用户要求 器件的型号 器件个数 发光二极管 红色φ5 8个

  9. 硬件方案确定 –显示电路设计–显示驱动电路设计 拉电流 高电平输出时,一般是对负载提供电流,其提供电流的数值叫“拉电流”; 低电平输出时,一般是要吸收负载的电流, 其吸收电流的数值叫“灌电流”; 灌电流 电阻的选择

  10. 按键电路设计 硬件方案确定 –按键电路设计 点动型按键 按键连接方式 自锁型 外部并口引脚 不可自锁型 外部中断引脚 按键类型选择 硬件方案选择 中断方式电路设计

  11. 外部并口引脚方式(1) 1)假设 1 跑马灯显示 按键松开 外部引脚 0 霓虹灯显示 按键按下 2)电路 3)按键确定可自锁型点动按键 4)相应程序 MOV C,P1.0 JC 跑马灯程序 霓虹灯程序

  12. 外部并口引脚方式(2) 5) 引出问题 ? 上述方法是否符合工程实际 在整个工作过程中CPU效率较低 解决方法:使用单片机内部资源来提高CPU的效率,即:中断方式。 中断: 终止现行程序,转去执行中断源所需执行服务程 序,服务完后回来继续原来的工作。 中断源:能够产生中断的外部和内部事件。

  13. 外部并口引脚方式(3) 主程序 中断服务子程序 中断源 中断工作流程图

  14. AT89S52中的中断源类型 外部中断源 INT0 外部中断0请求中断输入引脚(P3.2引脚),低电平或下降沿有效。 INT1 外部中断1请求中断输入引脚(P3.3引脚),低电平或下降沿有效。 内部中断源 T0(P3.4引脚):定时/计数器0溢出中断。 T1(P3.5引脚):定时/计数器1溢出中断。 T2(P1.0引脚):定时/计数器2溢出中断。 串行通信中断。

  15. 中断方式的硬件电路设计 中断方式 硬件电路设计 按键的选择 电路的设计 不可 自锁 电动 按键

  16. 硬件方案确定 –时钟\复位电路设计 时钟电路设计图 复位电路设计图

  17. 总设计电路原理图(SCH) 系统方案电路设计理论图

  18. 软件设计 软件方案设计 软件设计 具体可分为 软件方案确定 总程序

  19. 软件方案 中断位查询方式:占用CPU时间,CPU效率较低。 内部中断方式: 提高CPU效率。 软件延时:浪费CPU时间,降低CPU效率 硬件延时:使用内部定时器 软件方案设计 跑马灯模块 霓虹灯模块 显示功能切换模块 延时模块

  20. 方案确定––延时模块设计 软件延时 硬件延时 使用程序 采用定时器T0 占用CPU的时间 降低CPU工作效率 选用内部定时器的使用方法 采用内部资源 提高CPU工作效率 内部定时器的控制方法

  21. 方案确定 ––硬件延时––方式控制寄存器TMOD(1) 方式控制寄存器TMOD (INT0或INT1)为高,且TR0(或TR1)为1时,T0(或T1)工作 GATE=1 TR0(或TR1)为1时,T0(或T1)工作, 与( INT0或INT1 )无关。 GATE=0

  22. =1 =0 方案确定 ––硬件延时––方式控制寄存器TMOD(2) 为计数器功能 为定时器功能 M1M0工作方式控制位

  23. 方案确定 ––硬件延时––控制寄存器TCOD 控制寄存器TCOD 用于中断

  24. 方案确定 ––硬件延时––内部定时器的控制方法 位查询方式:查询溢出标志位,占用CPU时间。 JNB TF0,$ 中断方式: 提高CPU效率。 中断控制寄存器IE

  25. 初值计算 方案确定 ––硬件延时––中断入口、初值计算 中断服务程序入口地址 假设选择了N位的计数器,机器周期为TCN,定时时间为T, 计数初值为X,则初值为:

  26. 初始化 提供中断入口地址 • 保护现场 • 屏蔽中断 • 重新赋初值 • 工作 • 开中断 • 恢复现场 编写中断服务程序 方案确定 ––硬件延时––定时器的应用步骤 选择工作模式 MOV TMOD,….. 定时器赋初值 MOV TH0,…. MOV TL0,….. 定时器启动 SETB TR0 对中断源不屏蔽 SETB ET0 开中断 SETB EA

  27. 方案确定 ––硬件延时––编程(1) 1)方式选择 选择T0的方式1 2)初值计算 机器周期: T=12/(6M)=2uS 则T0定时初值为:N=216-50000=15536=3CB0H 3)主程序中关于T0部分 MOV TMOD,#01H MOV TH0,#3CH, MOV TL0,#0B0H SETB TR0 SETB ET0 SETB EA 4)T0的中断入口 ORG 000BH JMP T00

  28. T00: CLR TR0 DJNZ R0,LOOP MOV R0,#0AH SETB TIME LOOP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 RETI 方案确定 ––硬件延时––编程(2) 5)T0中断服务入口程序 T0中断服务入口程序流程图

  29. 方案确定––显示功能切换模块设计 外中断触发 方式选择 编程 外中断启动 显示功能模块设计 中断系统 的应用 中断优先级

  30. 方案确定 ––显示功能模块设计––外中断触发方式选择 控制寄存器TCOD IT1(或IT0)=1:( 或 )为边沿触发方式。 IT1(或IT0)=1:( 或 )为电平触发方式。 IE1(或IE0)=1:( 或 )为中断请求标志位。

  31. 方案确定 ––显示功能模块设计––外中断启动 外中断启动

  32. 方案确定 ––显示功能模块设计––中断优先级 默认状态下中断优先顺序 中断优先级控制寄存器IP

  33. 方案确定 ––显示功能模块设计––中断系统的应用方式 中断系统 应用方式 主程序部分 • 给SP赋值; • 定义触发方式; • 根据需要给IP赋值,定义中断优先级; • 给IE赋值,开放中断; • 安排好等待中断过程中主程序的操作 中断服务 子程序部分 • 在相应的中断入口地址单元设置一条跳转指令; • 根据需要保护现场; • 根据情况屏蔽中断; • 安排中断服务所做的操作; • 恢复现场,根据需要去除中断屏蔽; • 中断返回

  34. 方案确定 ––显示功能切换模块––编程 1)主程序部分 MOV SP,#40H SETB IT0 SETB EX0 SETB EA 2)中断入口 ORG 0003H JMP INT00 3)中断服务程序 INT00: CLR EX0 JB DISPLAY,LOP MOV A,#0FFH LOP0: CPL DISPLAY SETB EX0 RETI LOP: MOV A,#0FEH JMP 显示功能切换模块程序流程

  35. WATERLIGH: CLR EX0 MOV P1,A JNB TIME,$ CLR TIME RL A RL A SETB EX0 RET 方案确定––跑马灯模块设计 跑马灯模块程序流程

  36. 方案确定––霓虹灯模块 SHINE: CLR EX0 MOV P1,A JNB TIME,$ CLR TIME CPL A SETB EX0 RET 霓虹灯模块程序流程

  37. 方案确定––主程序模块(1) TIME BIT 20H.0 ;1S满标志位 DISPLAY BIT 20H.1 ;显示标志位 ORG 0000H JMP MAIN ORG 0040H 主程序模块程序流程

  38. 方案确定––主程序模块(2) MAIN: MOV SP,#40H MOV TMOD,#01H ;定时器初始化 MOV TH0,#3CH MOV TL0,#0B0H SETB IT0 SETB TR0 SETB EX0 ;中断开放 SETB ET0 SETB EA CLR TIME ;标志位初始化 CLR DISPLAY MOV A,#0FEH LPP: JNB DISPLAY,LPP00 LCALL SHINE ;霓虹灯显示调用 JMP LPP LPP00: LCALL WATERLIGH ;跑马灯显示调用 JMP LPP

  39. 主程序 见Word文档(请点击)

  40. Thank You !

More Related