单片机小结之各种方案点亮流水灯

单片机小结之各种方案点亮流水灯

ID:41816814

大小:101.43 KB

页数:9页

时间:2019-09-02

单片机小结之各种方案点亮流水灯_第1页
单片机小结之各种方案点亮流水灯_第2页
单片机小结之各种方案点亮流水灯_第3页
单片机小结之各种方案点亮流水灯_第4页
单片机小结之各种方案点亮流水灯_第5页
资源描述:

《单片机小结之各种方案点亮流水灯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机小结(1)——之流水灯的各种方法点亮我们将8个流水灯均放置在P0口,且假设已经定义好各端口,流水灯的阳极接到P0口上,利用各种方法控制流水灯。1・1用移位和查表控制流水灯(1):川移位控制流水灯voidmain(void){uchari;while(1){PO二Oxfe;//先点亮POP;Delay(10000);//延时10毫秒for(i=0;i<7;i++){P0二(P0«l)&0x01Delay(10000);//延时100毫秒}或者改为如下也町以实现左移,先给temp=0xfe;for(i=l;i<8;i++){a=temp«

2、i;b=temp»(8-i);P0=a

3、b;Delay();}在仿真中或者开发板上可以看到led灯有规律的一个一个的点亮如此循环。如果在P0二Oxfe卜•加延时,那么第一次点亮时可以看到小灯的亮下再灭,否则第一次看不到小灯亮。以上即一宜往左移移位,我们可以修改程序让其左右循环来点亮流水灯,程序如下while(1){for(i=0;i<7;i++){LED=_crol_(LED,1);//P2口向左移,注意左移和右移都住需要移动7次Delay(50000);}for(i=0;i<7;i++){LED=_cror_(LED,1);//左移,头文

4、件必须^J

5、

6、#includo方可使用,Delay(50000);}}(1)用查表控制流水灯在上个程序中我们利用左移的方法点亮小灯,即移位的思想。同时我们述可以利用杏表的方法点亮led灯。程序如下:ucharcodeLed_Data[]={Oxfe,Oxfd,Oxfb,0xf7,Oxef,Oxdf,Oxbf,0x7f};〃此处一定要记住加分号,否者编译的时候会报错。在将上个程序屮左移的语句改为如下即可实现查表,并且将P0二Oxfe;去掉for(i=0;i<8;i++){PO=Led_Data[i];Delay(lOOO

7、O);//延时10毫秒(2)利用硕件的方法控制流水灯除了以上移位我们还可以利用硬件来实现点亮小灯,例如利用74HC573,74HC5951.1:74HC573为8位锁存器,0E-00-_Vcc-00122019DI-318-01W-417-0203-516-03W-615-04D5—714-05D6—813-06D7-912-07GND-to11-LE1脚0E为使能端,低电平有效。D1-D7为输入端,Q1-Q7为输出端。11脚为锁存端,高电平有效其功能农如下:(H代表髙电平,I.代表低电平,X代表仟您电平,7:代农高输入输入输入输出OELE

8、DQHXXZLLX不变LHLLLHHH当0E为低电平,并.LLLE为高电平时,芯片才正常工作,输入等于输出。当0E为低电平,LE也为低电平时,芯片锁存。当0E为高电平时,输出为高阻态。下面我们还是利川该芯片编写下控制流水灯的程序,并是利用移位的思想。使用之前先说明下74HC573的工作方法:1.先将0E置为低电平,并且LE也置为低电平,也就是开锁。2.将需要输出的数据发送到D端。3.再将LE置为低电平,即锁存数据,不在随输入/***********************源程序彳弋码如下*************************/#

9、include#defincucharunsignodchar#defineuintunsignedint★defineLEDP3sbitLE二P2"2;〃定义锁存端voidDelay(uintms);voidinain(void){uchari,Temp;whi1e仃){Temp二Oxfe;//先点亮P3飞口的LED灯for(i=0;i<7;i++){LE二1;//开锁,注意OE端默认已经接到低电平LED二Temp;//送数据到P3口,点亮小灯LE二0;//输出锁存Delay(5000);//延时Temp=(Temp<<

10、=1)&0x01;//左移一位}}}voidDelay(unsigncdintms){unsignedchari;for(;ms>0;ms—)for(i=127;i>0;i—);}我们还可以利用其去控制数码管,原理和控制流水灯差不多。此处利用74HC595控制流水灯将在数码管部分提到如何利用,以及原理。1.2利用中断和定吋器以及串口控制流水灯1.2.1利用外部中断0控制流水灯说明:利用按键来控制流水灯,采用移位的方法实现控制,利用外部中断0。(1)屮断的概念:由于内部或者外部的原因,使CPU暂停当前的工作,转到需处理的中断的服务程序入口(中

11、断响应),去执行小断程序,执行完毕后接着刚才未执行完的程序继续接着执行。(2)中断的控制和实现:主要是通过四个与中端冇关的特姝功能寄存器配置完成。定时器/计数器控制寄存器TC0N

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。