流水灯课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else IOCLR = DATA; //是0时数据线被拉低 流水灯软件仿真
二、软件仿真
dat<<=1; IOSET = CLK; } IOSET =CS; } //至此8位数据全部输出完毕,SPI_CS=1
//SPI_CLK=1,时钟线输出1
流水灯软件仿真
二、软件仿真
2、显示子程序
void display(void){uint8 DISP_TAB[8] = {0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; /*第1个灯亮,第2个灯亮......第8个灯亮,构成的数组表*/ uint8 i; for(i=0;i<3;i++) //闪烁三次 { SendDat(0x00);//使所有灯都点亮 DelaynS(100); SendDat(0xff);//使所有灯都熄灭 DelaynS(100); } 流水灯软件仿真
2.2 使用注意事项
管子极性不能接反,一般引线较长为正极,引线较短为负 极; 加过流保护,给LED串联保护电阻使其工作稳定;
流水灯软件仿真
一、硬件电路
3、总体硬件图分析
图中,8个发光二级管由74HC595通过给定高低电平控制 它的亮灭,74HC595由LPC2103控制。 具体连接如下: P0.4~SHcp(数据输入脉冲) P0.10~Ds(数据) P0.12~STcp(数据输出脉冲) /OE数据输出一直使能
一、硬件电路
1、74HC595
第三步: 目的:并行输出数据。即数据并出 方法:P1.1产生一上升沿,将由P1.0上已移入数据寄 存器中的数据送入到输出锁存器。(P1.1~STcp)
流水灯软件仿真Байду номын сангаас
一、硬件电路
2、发光二级管
流水灯软件仿真
一、硬件电路
2.1 工作原理
发光二级管简称LED,采用砷化镓、镓铝砷、和磷化镓
等材料制成,其内部结构为一个PN结,具有单向导电性,当 在发光二级管PN结上加正向电压时,PN结势垒降低,载流子 的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区 的电子注入到P区,这样相互注入的空穴与电子相遇后会产 生复合,复合时产生的能量大部分以光的形式出现,因此而 发光。
流水灯软件仿真
一、硬件电路
流水灯软件仿真
一、硬件电路
1、74HC595
引脚说明: 74595的数据端: Q1—Q7: 八位并行输出端,可以直接控制数码管的8个段; Q7‘: 级联输出端。将它接下一个595的SI端; Ds: 串行数据输入端; 74595的控制端说明: /MR(10脚): 低点平时将移位寄存器的数据清零;通常将 它接Vcc; 流水灯软件仿真
26
RTCK
6 +1.8v
标题
LED-BLUE
RST
D5
LED-YELLOW
40 17 5 43 31 19 7
V3 V3 V18 VSS VSS VSS VSS LPC2104
D4
LED-RED
D1
LED-GREEN
D7
LED-BLUE
一、硬件电路
主要由LPC2103、74HC595和八 个发光二级管组成; LPC2103作为整个模块的控制中心;
流水灯软件仿真
二、软件仿真
在程序设计时,首先进行逻辑分析,通过分析,程序大 体分为两部分
流水灯驱动子程序
主函数
流水灯软件仿真
二、软件仿真
1、74HC595驱动程序
void SendDat(uint8 dat) { uint8 i; IOCLR = CS; //SPI_CS=0,选中芯片HC595 /*发送8位的数据,循环1次发送8位数据中的1位*/ for(i=0;i<8;i++) { IOCLR = CLK; //SPI_CLK=0,时钟线输出0 if((dat&0x80)!=0) IOSET = DATA; //判断待发送数据的最高位是0 or 1 //是1时数据线被拉高
74HC595用于驱动7段数码管;
流水灯软件仿真
一、硬件电路
1、74HC595
流水灯软件设计
一、硬件电路
1、74HC595
74HC595是串入串出/并出带有锁存功能的移位寄存器, 移位寄存器和存储器是分别的时钟。数据在SHcp的上升沿输 入,在STcp的上升沿进入存储寄存器中。如果两个时钟连在 一起,则移位寄存器总是比存储寄存器早一个脉冲。
二、软件仿真
for(i=0;i<8;i++)// 从上到下依次点亮 { SendDat(DISP_TAB[i]);//依次送出数组中的每1个数,使灯 依次点亮 DelaynS(150); } for(i=0;i<3;i++) //闪烁三次
{ SendDat(0x00);DelaynS(100); SendDat(0xff);
DelaynS(100); } for(i=8;i>0;i--)//从下到上依次点亮 流水灯软件仿真
二、软件仿真
{ SendDat(DISP_TAB[i-1]);//反序送出数组中的每1个数,使 灯反序点亮 DelaynS(150); }
}
流水灯软件仿真
二、软件仿真
3、主程序
int main (void) { PINSEL0=0x0000000;//P0.0~P0.15全部设定为GPIO功能 IODIR=0xFFFFFFFF;//P0.0~P0.31全部设定为输出 while(1) { display();//调用流水灯的演示程序 } return 0; } 流水灯软件仿真
D6 RP1 U2
11 14 12 SH_CP DS ST_CP Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q7' 15 1 2 3 4 5 6 7 9 1 LED-YELLOW
D3
LED-RED
D2
LED-GREEN D8
+3.3v 27 DBGSEL
10 13
MR OE 74HC595
2 3 4 5 6 7 8 9 4.7k
一、硬件电路
1、74HC595
SHcp(11脚):上升沿时数据寄存器的数据移位; Q1-->Q2-->QC3-->...-->Q7,下降沿 移位寄存器数据不变。(脉冲宽度:5V时, 大于几十纳秒就行了。通常都选微秒级) STcp(12脚):上升沿时移位寄存器的数据进入数据存储寄 存器,下降沿时存储寄存器数据不变。(通常 将STcp置为低电平,)当移位结束后,在STcp 端产生一个正脉冲(5V时,大于几十纳秒就 流水灯软件仿真
一、硬件电路
1、74HC595
行了。通常都选微秒级),更新显示数据。 /OE(13脚): 高电平时禁止输出(高阻态)。如果单片机 的引脚不紧张,用一个引脚控制它,可以方 便地产生闪烁和熄灭效果。比通过数据端移 位控制要省时省力。
流水灯软件仿真
一、硬件电路
1、74HC595
总之就是下面三步: 第一步: 目的:将要准备输入的数据移入74HC595数据输入端上。 方法:送位数据到P1.0。(P1.0~Ds) 第二步: 目的:将位数据逐位移入74HC595,即数据输入 方法:P1.2产生一上升沿,将P1.0上的数据从低到高 移入74HC595中。(P1.2~SHcp) 流水灯软件仿真
The end!
THANK YOU!
流水灯软件仿真
张盟蒙 盟蒙
陕西科技大学
流水灯软件仿真
流水灯软件仿真
硬件电路
软件仿真
流水灯软件仿真
一、硬件电路
U1
11 12 XTAL1 XTAL2 P0.0/TxD0/PWM1 P0.1/RxD0/PWM3 P0.2/SCL/CAP0.0 P0.3/SDA/MAT0.0 P0.4/SCK/CAP0.1 P0.5/MISO/MAT0.1 P0.6/MOSI/CAP0.2 P0.7/SSEL/PWM2 P0.8/TxD1/PWM4 P0.9/RxD1/PWM6 P0.10/RTS1/CAP1.0 P0.11/CTS1/CAP1.1 P0.12/DSR1/MAT1.0 P0.13/DTR1/MAT1.1 P0.14/DCD1/EINT1 P0.15/RI1/EINT2 P0.16/EINT0/MAT0.2 P0.17/CAP1.2/TRST P0.18/CAP1.3/TMS P0.19/MAT1.2/TCK P0.20/MAT1.3/TDI P0.21/PWM5/TDO P0.22/TRACECLK P0.23/PIPESTAT0 P0.24/PIPESTAT1 P0.25/PIPESTAT2 P0.26/TRACESYNC P0.27/TRACEPKT0/TRST P0.28/TRACEPKT0/TMS P0.29/TRACEPKT2/TCK P0.30/TRACEPKT3/TDI P0.31/EXTIN0/TDO 13 14 18 21 22 23 24 28 29 30 35 36 37 41 44 45 46 47 48 1 2 3 32 33 34 38 39 8 9 10 15 16