新手求教51单片机控制led点阵led灯亮问题

supplierchannel您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
单片机控制LED灯点亮(C语言).ppt全文-职业教育-在线文档 43页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:100 &&
你可能关注的文档:
··········
········
C-51的数据类型 基本数据类型 类型 符号 关键字 数的表示范围 所占位数 整型 字符型 实型 有 无 (signed) int 16 - (signed) short 16 - (signed) long 32 -~ 16 unsigned int 0~~ unsigned long int unsigned short int 16 0~65535 有 float 32 3.4e-38~3.4e38 有 double 64 1.7e-308~1.7e308 有 char 8 -128~127 无 unsigned char 8 0~255 4)While (表达式) {语句(内部也可为空)} 特点:先判断表达式,后执行语句。 原则:若表达式不是0,即为真,那么执行语句。否则跳出while 语句。
While(1) { } while(1)就是while(true),条件判断直接为true,循环永远不会退出 。也称为死循环。 5)delay()函数 是一个延时函数。 两个for语句,构成了循环嵌套。用数数的方式消耗时间产生延迟效果 。具体延迟多久取决于若干因素,以后再讨论。 void delay() {
for(x=100;x&0;x--)
for(y=600;y&0;y--)
} 注意:第二个for循环体是一条空语句。 5)for循环 for (表达式1;表达式2;表达式3) { 语句(内部可为空)} 执行过程: 1.求解一次表达式1. 2.求解表达式2,若其值为真(非0
即为真),则执行for中语句。然后执行第3步。否则结束for 语句,直接跳出,不再执行第3步。 3.求解表达式3. 4.跳到第2步重复执行。 三、流水灯:从D0D7依次点亮
分析: D0亮
软件分析: 1)依次把这8个值赋给P1口,延时一段程序
void main() {
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
a=50000;while(a--);
2)将0xfe赋给P1口,然后使用移位函数来改变P1口的值,达到流水灯的效果 移位函数: _crol_,_cror_:将char型变量循环向左(右)移动指定位数后返回 。 _crol_,_cror_: c51中的intrins.h库函数
#include&reg52.h& #include &intrins.h& #define uint unsigned int
#define uchar unsig void delay(uint);
程序如下: void main() {
for(num=0;num&8;num++)
a=50000;while(a--);
temp=_crol_(temp,1);
a=50000;while(a--);
课后练习 请在keil环境下编写一下程序: 1.点亮最后一个LED 2.点亮1、2、5、6这四个LED 3. 让第三个LED闪烁 4. 设计出流水灯程序,从D7—D0
单片机控制 led灯点亮 主要内容 一、点亮板子上的第一个灯D0
正在加载中,请稍后...新手求指教!关于点亮一个灯的问题【51单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:51,912贴子:
新手求指教!关于点亮一个灯的问题收藏
为什么单片机里面高电位是1,低点位为0,却在点亮一个灯的时候给led赋值0啊?求解释啊
专业从事单片机开发的生产,具有高品质的研发团队和设备,产品高品质保证,10年生产开发经验,深受国内外合作伙伴信赖,你的明智选择!!
低电平点亮,LED+电阻的一端接IO,另一端接VCC.懂事电子设计 Vgz
这是因为51上拉的能力弱,2MA 面下拉,灌流能力强,所以做成下拉方式,发光二极管共正极,就是共阳。
5v--------led---------0v(+)
(-)有电势差(就是电压)电子受力定向移动 (有电流)就发光了
登录百度帐号推荐应用让led灯闪烁 - 51单片机 - 电子工程世界网
让led灯闪烁
14:54:37来源: 51hei
&#define& uint unsigned int
&#define& uchar unsigned char
sbit en=P1^0;
&void delay(uint x )
&& uint i,j;
&& for(i=x;i>0;i--)
&&& for(j=110;j>0;j--);
&void main()
&&& while(1)
&& delay(15);
关键字:&&
编辑:什么鱼 引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。后使用快捷导航没有帐号?
请完成以下验证码
查看: 7096|回复: 4
新手求助帖:51单片机串口控制LED灯
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
刚接触51单片机的串口知识,遇到一个问题,希望大家解答
串口控制LED灯的程序:
#include&reg52.h&
&&TMOD=0x20;
&&TH1=0xFD;
&&TL1=0xFD;
&&SCON=0x50;& && &
&&while(1)
&&if(flag==1)
& && &&&ES=0;
& && &&&flag=0;
& && &&&SBUF=
& && &&&while(!TI);
& && &&&TI=0;
& && &&&ES=1;
void ser() interrupt 4
&&P0 = SBUF;
&&temp = SBUF;
&&理论来说程序的发送和接收的数据是一致的。
&&我用串口调试助手这软件,发现发送的数据为什么和PC机接收的数据不一样的呢?如图,
我的发送框中分别是:01 55 aa ff 00,为什么PC机中接收的数据是:81,F5,8A,FF,80呢?
111112.jpg (29.42 KB, 下载次数: 0)
12:26 上传
&&当发送aa和ff的确可以全亮或者全灭。并且低四位的LED灯能准确控制,就是当发送01到0f都能正确显示。
但当发生的数据的高四位不为0时,LED灯就不能准确显示了。比如当我发送是1f时,理论来说,LED灯应正确显示,就是第五、第六、第七位的灯会亮。而实际上它显示是:。
&&再比如我发送是3f,而实际上LED灯显示的是.就是只有最高位亮,其他都是灭的。
&&为什么是这样子的呢?望解答!
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
新手求助帖:51单片机串口控制LED灯
补充一下:我表达有误,应该是:比如当我发送是1f时,理论来说,LED灯应正确显示,就是第六、第七位、第八的灯会亮。而实际上它显示是:。
在线时间1153 小时
威望11204分
芯币15211枚
TA的帖子TA的资源
裸片初长成(初级), 积分 11204, 距离下一级还需 8796 积分
裸片初长成(初级), 积分 11204, 距离下一级还需 8796 积分
你的晶振是多大了啊?如果是12MHz的话波特率在9600的时候的误差可达8.5%,也就是波特率误差太大了,所以单片机接收到的数可能会错其中的一位或两位。你举的例子里错的也都是一位或两位,而0xFF因为都是1,所以没错,0x80就一位是1,其他都为0,出错的机会也就少了。我觉得这样的解释算是比较合理的。
用12MHz晶振的时候就的波特率误差还小一些,只有0.16%。你可以把波特率换成1200试一下。这个时候TH1的值应该为0xE6。你可以试一下,如果使用9600的波特率的话必须使用11.0592MHz的晶振,一般用51做串口通讯的都是用这个频率的晶振的,因为这个频率的晶振就是为了做51通讯而专门算出来生产的!
十分感谢,我刚换了11.0592M的晶振,问题解决了!!!:) :) 发送和接收的数据一致了!!!:carnation: 因为我是用买回来的开发板,也是第一次做串口实验,所以不知道也没注意到板子上是用了12M的晶振、、、:handsha&
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
回复 板凳 jishuaihu 的帖子
十分感谢,我刚换了11.0592M的晶振,问题解决了!!!
发送和接收的数据一致了!!!:carnation: 因为我是用买回来的开发板,也是第一次做串口实验,所以不知道也没注意到板子上是用了12M的晶振、、、
在线时间1153 小时
威望11204分
芯币15211枚
TA的帖子TA的资源
裸片初长成(初级), 积分 11204, 距离下一级还需 8796 积分
裸片初长成(初级), 积分 11204, 距离下一级还需 8796 积分
不客气,新手经常遇到类似的问题
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWORLD 官方微信
Powered by}

我要回帖

更多关于 单片机控制led点阵 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信