登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
小灯部分总分析
小灯部分总分析
[ 复制链接 ]
扎先
2025-7-23 18:29:27
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
点亮小灯
硬件分析
该节内容以LED2为例
分析LED部分:
欲点亮LED2,则LED2需导通状态
Q16导通,DB0低电平时,此时LED2有压降,则LED2可导通
分析74HC245芯片:
72HC245
19号OE号脚,为使能引脚,该引脚接地,所以是低电平,该引脚低电平有效,故74HC245芯片可作用
1号脚是方向引脚,接VCC,故是高电平,所以是A编号引脚控制B编号引脚
A1号脚低电平则B1号脚低电平,即DB_0低电平则DB0低电平 ^DBX-0
分析74HC138芯片:
74HC138
4号脚E1为低电平有效,5号脚E2低电平有效,E3高电平有效
欲达到上述效果,则
ENLED低电平,此时E1和E2均为低电平
ADDR3高电平,此时E3高电平
此时,该芯片可正常使用
欲使Q16导通,则LEDS6需要为低电平,此时Q16才有压降,才可以导通
欲使LEDS6低电平,查真值表后,需要3号脚A2为高电平,2号脚A1为高电平,1号脚A0为低电平
欲达到以上效果,则
ADDR0为低电平,则A0为低电平
ADDR1为高电平,则A1为高电平
ADDR2为高电平,则A2为高电平 ^Q16-1
分析跳线部分:
欲时ADDR0低电平,则P1.0需要低电平
欲使ADDR1高电平,则P1.1需要高电平
欲使ADDR2高电平,则P1.2需要高电平
欲使ADDR3高电平,则P1.3需要高电平
欲使DB_0低电平,则P0.0需要低电平
欲使ENLED低电平,则P1.4需要低电平
综上:
欲电亮小灯,
P0.0低电平,等效于DB_0低电平
P1.0低电平,等效于ADDR0低电平
P1.1高电平,等效于ADDR1高电平
P1.2高电平,等效于ADDR2高电平
P1.3高电平,等效于ADDR3高电平
P1.4低电平,等效于ENLED低电平
代码
点亮 LED2
#include<reg52.h>
sbit LED = P0 ^ 0;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED3
#include<reg52.h>
sbit LED = P0 ^ 1;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED4
#include<reg52.h>
sbit LED = P0 ^ 2;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED5
#include<reg52.h>
sbit LED = P0 ^ 3;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED6
#include<reg52.h>
sbit LED = P0 ^ 4;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED7
#include<reg52.h>
sbit LED = P0 ^ 5;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED8
#include<reg52.h>
sbit LED = P0 ^ 6;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
点亮LED9
#include<reg52.h>
sbit LED = P0 ^ 7;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
LED = 0;//灯亮
while (1);
}
复制代码
小灯闪烁
LED2闪烁
#include <reg52.h>
sbit LED = P0 ^ 0;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED3闪烁
#include <reg52.h>
sbit LED = P0 ^ 1;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED4闪烁
#include <reg52.h>
sbit LED = P0 ^ 2;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED5闪烁
#include <reg52.h>
sbit LED = P0 ^ 3;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED6闪烁
#include <reg52.h>
sbit LED = P0 ^ 4;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED7闪烁
#include <reg52.h>
sbit LED = P0 ^ 5;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED8闪烁
#include <reg52.h>
sbit LED = P0 ^ 6;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
LED9闪烁
#include <reg52.h>
sbit LED = P0 ^ 7;
sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;//U3 74HC138芯片使能
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;//三极管导通
while (1)
{
LED = 0;//灯亮
for (i = 0; i < 30000; ++i);//非精确延时
LED = 1;//灯灭
for (i = 0; i < 30000; ++i);//非精确延时
}
}
复制代码
流水灯
右向左
[code]#include sbit ADDR0 = P1 ^ 0;sbit ADDR1 = P1 ^ 1;sbit ADDR2 = P1 ^ 2;sbit ADDR3 = P1 ^ 3;sbit ENLED = P1 ^ 4;void main(){ unsigned int i = 0; char cnt = 0; ENLED = 0; ADDR3 = 1;//U3 74HC138芯片使能 ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;//三极管导通 while (1) { if (8 == cnt)//到最左边,需要进行复位,点亮最右边 cnt = 0; P0 = ~(1
小灯
部分
分析
相关帖子
误差分析与学习方法 课后习题和代码实践
一键采集微信文章所有数据:阅读数、留言评论、分享量、推荐量等…运营分析直接用
PainPoints:让痛点分析变得简单高效
PHP 8.6 即将支持部分函数应用
【分析式AI】-带你秒弄懂决策树与随机森林
【分析式AI】-朴素贝叶斯算法模型
【分析式AI】-朴素贝叶斯算法模型
【分析式AI】-带你弄懂XGBoost模型
【分析式AI】-带你弄懂XGBoost模型
【分析式AI】-带你弄懂XGBoost模型
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
误差分析与学习方法 课后习题和代码实践
0
260
柴古香
2025-12-07
业界
一键采集微信文章所有数据:阅读数、留言评论、分享量、推荐量等…运营分析直接用
0
892
赶塑坠
2025-12-09
安全
PainPoints:让痛点分析变得简单高效
1
106
处匈跑
2025-12-10
业界
PHP 8.6 即将支持部分函数应用
0
713
昝琳怡
2025-12-14
业界
【分析式AI】-带你秒弄懂决策树与随机森林
1
904
陆菊
2025-12-16
业界
【分析式AI】-朴素贝叶斯算法模型
0
226
跑两獗
2025-12-16
业界
【分析式AI】-朴素贝叶斯算法模型
0
279
巫雪艷
2025-12-16
安全
【分析式AI】-带你弄懂XGBoost模型
0
955
步雪卉
2025-12-16
安全
【分析式AI】-带你弄懂XGBoost模型
0
740
飧沾
2025-12-16
安全
【分析式AI】-带你弄懂XGBoost模型
1
61
连热
2025-12-16
回复
(4)
凤清昶
2025-11-11 08:06:06
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
铜坠匍
2025-12-9 16:02:09
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
觞刈
昨天 16:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
奄幂牛
昨天 22:54
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
扎先
昨天 22:54
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994893
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
714
告别“草率编程”:Vibe Engineering 如何
5
字符串匹配算法
339
监听小工具-股票监控神奇九转分钟线信号触
423
国内GEO优化技术深度测评:核心维度全景对
365
Avalonia源码解读:Grid(网格控件)
239
研究 TikTok 爆款的人,一定要懂这类下载工
958
Java Optional 完全指南:优雅处理 null 的
25
全面封禁 Cursor!又一家大厂出手了
879
记一次MySQL binlog日志导致磁盘空间占满的
779
记一次MySQL binlog日志导致磁盘空间占满的
879
小白也能看懂的RLHF-PPO:原理篇
303
小白也能看懂的RLHF-PPO:原理篇
279
2026年主流原型设计工具:Axure、墨刀功能
68
邮箱怎么群发邮件给多个人
589
27个行业创新实践一次看|HarmonyOS SDK案
143
秋的启迪
781
秋的启迪
500
不止编程!Claude Code 跨界应用指南:5 大
22
VictoriaMetrics 尝鲜
966
高频OTA时代,如何用SIL测试兼顾软件可靠性