资讯 更多 >>
led的点亮和流水灯的制作 焦点精选
@深圳人,快收好这份“五一”出行交...
每日热点:4月27日广汽传祺影豹2.0T...
维杰·莫里娅_关于维杰·莫里娅介绍...
北京通报5起违反中央八项规定精神问题
梦幻西游手游假日乐斗单人第二关怎...
每日观察!中国工商银行股份有限公司...
中级注册安全工程师考试时间及科目...
【全球时快讯】宁夏农垦乳业红崖子...
万华化学集团股份有限公司升级绿色...
动态更多 >>
你们,温暖了2021
西安市新增27个中风险地区 目前有1...
广西新增本土确诊病例1例
哈尔滨市全域均为低风险地区
寒潮将影响我国中东部地区 四川盆...
昆明至哈尔滨一航班发现1名入境复阳...
陕西研考:封控区内考生在原报考点...
北京今日最高气温仅5℃ 明起强冷空...
那年今日 | 历史上的12月22日发生...
我要找债主
会展 更多 >>
美籍酿酒师在崇礼:中国是第二故乡...
河南项城报告2名疑似新冠肺炎病例 ...
浙江绍兴确诊病例首次零新增 上虞...
广西东兴实行全员居家隔离 启动口...
新疆全方位推进乡村振兴 “富春山...
云南瑞丽市主城区全员核酸检测结果...
内蒙古满洲里累计治愈出院本土确诊...
孙海洋夫妻驱车山东阳谷:还在为孙...
大国工匠追梦“玉米强国”40载:用...
让南海“海洋热带雨林”斑斓多彩
专题报道 
当前位置: 资讯 > >> 正文
 
led的点亮和流水灯的制作 焦点精选
来源:博客园     时间:2023-04-27 18:09:52

先给出led的电路图

每个led灯连着VCC,默认为高电平

可以看到led灯对应连着P20到P27共8个灯


(相关资料图)

所以只要将P20到P27对应的引脚置为低电平即可

具体来说就是

P2_0 = 0//头文件里面定义了相关的文件等价于P2的第0位

想实现流水灯的话

首先是延时函数

一个基本语句的执行时间为10us

然后1s = 1000ms = 1000000us

所以要延时1s的话就必须执行100000个基本语句

所以可以写个函数

void deley(int x) {    while (x--) {}}

然后需要多少秒就乘1e5,然后填入参数即可

然后为了代码简洁,肯定要用for循环

所以要换种形式来让led灯亮

就是直接操作P2来达到这个效果(而不是具体到某一位)

那么初始状态是左边的第一个灯亮着,其余都暗着

对应的二进制数为11111110

十六进制为0xFE

然后就一直往右移即可

想要灯的显示效果一直右移

那么可以先左移,然后再加一即可达到这个效果

那么如果想要灯光效果左移捏

同理,一直右移,然后加一即可,但是注意这个加一加的是第8位上的1,所以加的是0x80

代码如下:

#include sbit led = P2 ^ 7;void delay(int x){while (x)x--;}void main(){int i;P2 = 0xFE;delay(50000);while (1){for (i = 1; i <= 7; i++){P2 <<= 1;P2 += 1;delay(50000);}// for (i = 1; i <= 7; i++)// {// P2 >>= 1;// P2 += 0x80;// delay(50000);// }}}

关键词:

热门推荐
猜你喜欢