- 3
- 0
- 约3.97千字
- 约 43页
- 2022-05-11 发布于重庆
- 举报
广告灯的花样显示 三.项目分析 利用单片机P1口连接8个发光二极管,利用各引脚输出电位的变化,控制发光二极管的亮灭。P1口各引脚的电位变化可以通过指令来控制,为了清楚地分辨发光二极管的点亮和熄灭,在P1口输出信号由一种状态向另一种状态变化时,编写延时程序实现一定的时间间隔。 第十一页,共四十三页。 广告灯的花样显示 四.项目预备知识 1.伪指令 汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的指令,告诉它如何完成汇编工作,这一任务是通过使用伪指令来实现的。但是,这些指令在汇编时不产生目标代码,不影响程序的执行,所以称为伪指令。 本课题使用的设置起始地址,它是该伪指令的操作码助记符,总是出现在每段源程序或数据块的开始,可以使我们把程序、子程序或数据块存放在存储器的任何位置。 例如: 0000H A,20H 表示后续目标程序从0000H单元开始存放 第十二页,共四十三页。 广告灯的花样显示 2.数据传送类指令 数据传送类指令属于复制性质,而不是搬家性质。 它是在编程时用得最多、最频繁的基本指令。一般传送类 指令的助记符为“”,通用格式为: 目的的操作数,源操作数 例如: P10 表示0传送给P1 表示发光二极管状态表传送给十六位的地址 第十三页,共四十三页。 广告灯的花样显示 3.控制转移类指令 控制转移类指令用于控制程序的走向,故其作用是程序的存储空间。利用具有16位地址的长调用、长转移指令可对64K程序存储器的任一地址单元进行访问,利用具有11位地址的绝对调用和绝对转移指令,可访问2的空间。此外,还有在一页范围的短相对转移及许多条件转移指令,这类指令一般不影响标志位。 例如: 表示长转移以命名的正式程序段 表示长调用延时程序段 第十四页,共四十三页。 广告灯的花样显示 4.软件延时程序的时间计算 在设计程序时,准确显示发光二极管的变化,我们运用了延时程序进行编写。 执行完延时程序耗费的时间即是我们所要延时的时间,通常可以利用时钟频率、指令周期结合寄存器中的数据进行延时时间的计算。 延时程序如下: R510 ;1μS D1 R6200 ;2μS D2 R7250 ;2.5μS 采用12的晶振,则一个机器周期是1μS,“ R7,#10” 是一条单周期指令,执行1次需要1μS (关于指令的执行周期可以查附录二)。 “ R7,$”是双机器周期指令,执行1次需要2×1=2μS。 第十五页,共四十三页。 广告灯的花样显示 五.项目实施 1.硬件电路设计 (1)设计思路 在89C51单片机芯片及基本外围电路组成的单片机最小系统基础上,利用P1口的8个引脚控制8个发光二极管。由于发光二极管具有普通二极管的共性单向导电性,因此只要在其两极间加上合适的正向电压,发光二极管即可点亮;将电压撤除或加反向电压,发光二极管即熄灭。根据发光二极管的特性,结合单片机P1口的输出信号,即可实现流水灯的控制效果。 第十六页,共四十三页。 广告灯的花样显示 (2)电路设计 P1口结构及流水灯电路 左图是P1口中某一位的位 结构电路图。P1口为8位准双向 口,每一位均可独立定义为输 入或输出口,当作为输出口 时,1写入锁存器,T2截止, 内部上拉电阻将电位拉至1, 此时该口输出为1;当0写入锁 存器2导通,输出则为0。 作为输入口时,锁存器置1,T2 截止,此时该位既可以把外部 电路拉成低电平,也可由内部 上拉电阻拉成高电平,所以P1 口称为准双向口。 第十七页,共四十三页。 广告灯的花样显示 P1.0—P1.7:准双向口(内置了上拉电阻) 2 1 D Q 读引脚=0 读锁存器=0 写锁存器 内部总线 引脚P1 内部上拉电阻 第十八页,共四十三页。 广告灯的花样显示 (1)P1.0—P1.7作为输出口【输出1】 2 1 D Q 读引脚=0 读锁存器=0 写锁存器 内部总线 引脚P1 内部上拉电阻 输出数据 = 1 时 1 1 0 截止 =1 第十九页,共四十三页。 广告灯的花样显示 (2)P1.0—P1.7作为输出口【输出0】 2 1 D Q 读引脚=0 读锁存器=0 写锁存器 内部总线 引脚P1 内部上拉电阻 输出数据 = 0 时 0 0 1 =0 导通 第二十页,共四十三页。 广告灯的花样显示 (3)P1.0—P1.7作为输
原创力文档

文档评论(0)