- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[单片机小结之各种方案点亮流水灯
单片机小结(1)
——之流水灯的各种方法点亮
我们将8个流水灯均放置在P0口,且假设已经定义好各端口,流水灯的阳极接到P0口上,利用各种方法控制流水灯。
1.1用移位和查表控制流水灯
(1):用移位控制流水灯
void main(void)
{ uchar i;
while(1)
{
P0=0xfe;//先点亮P0^0;
Delay(10000);//延时10毫秒
for(i=0;i7;i++)
{
P0=(P01)0x01
Delay(10000);//延时100毫秒
}
}
}
或者改为如下也可以实现左移,先给temp=0xfe;
for(i=1;i8;i++)
{
a=tempi; b=temp(8-i); P0=a|b; Delay();
}
在仿真中或者开发板上可以看到led灯有规律的一个一个的点亮如此循环。如果在
P0=0xfe下加延时,那么第一次点亮时可以看到小灯的亮下再灭,否则第一次看不到小灯亮。
以上即一直往左移移位,我们可以修改程序让其左右循环来点亮流水灯,程序如下while(1)
{
for(i=0;i7;i++)
{
LED=_crol_(LED,1); //P2口向左移,注意左移和右移都住需要移动7次
Delay(50000);
}
for(i=0;i7;i++)
{
LED=_cror_(LED,1);//左移,头文件必须加#includeintrins.h方可使用, Delay(50000);
}
}
(2)用查表控制流水灯
在上个程序中我们利用左移的方法点亮小灯,即移位的思想。同时我们还可以利用查表的方法点亮led灯。程序如下:
uchar code Led_Data[]=
{
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f
} ;//此处一定要记住加分号,否者编译的时候会报错。
在将上个程序中左移的语句改为如下即可实现查表,并且将P0=0xfe;去掉
for(i=0;i8;i++)
{
P0=Led_Data[i];
Delay(10000);//延时10毫秒
}
(3)利用硬件的方法控制流水灯
除了以上移位我们还可以利用硬件来实现点亮小灯,例如利用74HC573,74HC595
1.1:74HC573为8位锁存器,
1脚OE为使能端,低电平有效。D1-D7为输入端,Q1-Q7为输出端。11脚为锁存端,高电平有效
当OE为低电平,并且LE为高电平时,芯片才正常工作,输入等于输出。
当OE为低电平,LE也为低电平时,芯片锁存。
当 OE为高电平时,输出为高阻态。
下面我们还是利用该芯片编写下控制流水灯的程序,并且是利用移位的思想。
使用之前先说明下74HC573的工作方法:
先将OE置为低电平,并且LE也置为低电平,也就是开锁。
将需要输出的数据发送到D端。
再将LE置为低电平,即锁存数据,不在随输入
/***********************源程序代码如下*************************/
#includereg51.h
#define uchar unsigned char
#define uint unsigned int
#define LED P3
sbit LE=P2^2; //定义锁存端
void Delay(uint ms);
void main(void)
{
uchar i,Temp;
while(1)
{
Temp=0xfe; //先点亮P3^0口的LED灯
for(i=0;i7;i++)
{
LE=1; //开锁,注意OE端默认已经接到低电平
LED=Temp;//送数据到P3口,点亮小灯
LE=0;//输出锁存
Delay(5000); //延时
Temp=(Temp=1)0x01;//左移一位
您可能关注的文档
- [华中科技大学机械与工程学院.doc
- [华为三层交换机配置方法、命令及实例.doc
- [华为中国质量奖制造领域第一名是如何炼成的.docx
- (经典实用有价值的企业管理培训课件企业生存发展的强势力.ppt
- [华为-能力训练-演讲培训.doc
- [华为交换机配置指南.doc
- [华为JAVA编码规范.doc
- [华为任正非年终奖话.docx
- [华为公司干部任职资格管理制度.docx
- [华为公司内部审核.doc
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
最近下载
- 福建省厦门市2024-2025学年高二下学期期末质量检测生物试卷.docx
- 西南18J515室内装修.docx VIP
- 2024年湖北省恩施州宣恩县晓关乡招聘社区工作者真题参考答案详解.docx VIP
- 2024年湖北省恩施州鹤峰县太平乡招聘社区工作者真题含答案详解.docx VIP
- 永州冷水滩区招聘城市社区专职工作人员笔试真题2024.docx VIP
- 危险化学品安全有关法律法规解读.pptx VIP
- 2024年湖北省恩施州恩施市三岔乡招聘社区工作者真题含答案详解.docx VIP
- 货物运输突发事件处理预案.docx VIP
- 2025年_永州冷水滩区招聘城市社区专职工作人员考试试卷[附答案].docx VIP
- 妊娠合并系统性红斑狼疮护理查房.pptx VIP
文档评论(0)