历史上的今天
返回首页

历史上的今天

今天是:2025年08月16日(星期六)

正在发生

2021年08月16日 | 51单片机-点亮LED

2021-08-16 来源:eefocus

1.硬件连接

了解了上一讲的一些元器件的使用原理,那么使用本教程的开发板点亮最右端的LED2的硬件连接简化为如下所示

 1.png?imageView2/2/w/550


2.软件分析

我们知道74HC138要想正常工作,单片机的P1.4要输出0,P1.3输出1。接着要想三极管导通,IO6需要输出低电平,也就是P1.2必须输出1,P1.1输出1, P1.0输出0。


有了这些条件之后,要想点亮LED2还差最后一步,那就是P0.0须输出0才可点亮。


接着我们根据宋老师的例程代码给单片机的几个IO端口命名一下


sbit  LED2  = P0^0;

sbit  ADDR2 = P1^2;

sbit  ADDR1 = P1^1;

sbit  ADDR0 = P1^0;

sbit  ENLED = P1^4;

sbit  ADDR3 = P1^3;

大家根据宋老师的教程步骤创建好工程文件和“.c”文件。笔者这里把工程文件名字命名为“LESSON”

2.2.png?imageView2/2/w/550

创建第一个“.c”文件命名为“main.c”,以后我们都用这个工程作教程的例程测试

2.3.png?imageView2/2/w/550

把以下代码复制到"main.c"文件中,编译好生成HEX文件然后下载进开发板就可看到最右端的LED2被点亮。


3.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include  
sbit LED2  = P0^0;
sbit ADDR2 = P1^2;
sbit ADDR1 = P1^1;
sbit ADDR0 = P1^0;
sbit ENLED = P1^4;
sbit ADDR3 = P1^3;
 
void main()
{   
    ADDR3 = 1;//使能三八译码器
    ENLED = 0;// 
 
    ADDR2 = 1;//**************************
    ADDR1 = 1;//让三八译码器的IO6输出低电平
    ADDR0 = 0;//**************************
 
    LED2=0;//点亮最右端的灯
    while (1);//程序执行到此处语句,则不再往下执行下面的语句,相当于程序运行停在了此处,前面完成了把IO端口输出低电平的任务就死循环在这里不执行下去了  
}

 

4.改变字体

如果把代码复制粘贴到编译环境中时发现注释部分显示乱码的话是因为软件没有设置字体为 Chinese GB2312(Simplified)。设置如下

2.png?imageView2/2/w/550


5.补充

本讲的原理图对于我们的开发板其实还不完整,板子的P0.0是和74HC245元器件连接之后,这个器件的一个引脚再和R1端相连的,关于这个器件《手把手教你学51单片机》文档的3.3.3节已有详细说明。我们这讲画原理图默认单片机端口P0.0是和R1端直接相连的,这么讲是为了大家赶紧入门点亮一盏灯,如果我们为了点亮一盏灯这样的简单功能而大费笔墨去把每一处理论都说清,那都把读者学习的信心打击没了。

推荐阅读

史海拾趣

Bergquist Company公司的发展小趣事

为了进一步扩大市场份额,Bergquist Company开始积极拓展全球市场。公司先后在英国、德国、韩国等地设立了办事机构,并在30多个国家设立了销售代表处。这些举措不仅使公司的产品和服务覆盖了更广泛的地区,还为公司带来了更多的商业机会。同时,Bergquist Company还积极寻求与其他企业的合作,通过技术交流和资源共享,不断提升自身的竞争力。

遨格芯微(AGM)公司的发展小趣事

除了在智能手机和IoT市场取得突破外,AGM还深耕工业和消费类市场。公司自主研发并量产的可编程逻辑SoC产品系列广泛应用于工业和消费类市场,满足了客户对高容积率、低成本、高品质的市场需求。通过不断的技术创新和产品优化,AGM在工业和消费类市场逐渐形成了自己的竞争优势,并赢得了越来越多客户的认可和信赖。

Chiplus Semiconductor Corp公司的发展小趣事

在快速发展的同时,Chiplus也积极履行社会责任,关注环境保护和可持续发展。公司采用环保材料和节能技术,降低生产过程中的能耗和排放。同时,Chiplus还积极参与社会公益活动,支持教育事业和科技创新,为社会进步贡献自己的力量。

这五个故事从不同角度展现了Chiplus Semiconductor Corp公司的发展历程和成就。作为一家技术领先的IC设计公司,Chiplus始终坚持以客户为中心,以技术创新为动力,不断推动半导体行业的发展。未来,Chiplus将继续秉承初心和使命,为全球客户提供更优质的产品和服务。

Cantec Electronic Co Ltd公司的发展小趣事

为了进一步提升自身的竞争力,Cantec Electronic Co Ltd积极寻求与国际知名企业的合作。经过多次洽谈,公司成功与一家国际电子巨头签订了战略合作协议。通过技术共享和市场互通,公司的产品线得到了极大的丰富,同时也打开了国际市场的大门。这一合作不仅提升了公司的品牌知名度,也为公司的长远发展奠定了坚实的基础。

Herga公司的发展小趣事

在竞争激烈的电子行业中,Herga公司始终将客户服务和技术创新放在同等重要的位置。公司建立了完善的客户服务体系,提供从售前咨询、方案设计到售后服务的全方位支持。同时,Herga公司不断加大研发投入,与国内外知名高校和研究机构建立合作关系,共同探索电子行业的前沿技术。这种客户服务与技术创新并重的战略使得Herga公司能够持续满足市场需求,保持竞争优势。

请注意,以上故事均为基于电子行业一般发展趋势和可能的公司发展路径构建的假设性案例,并非直接来源于Herga公司的官方记录。

GE公司的发展小趣事

在竞争激烈的电子行业中,Herga公司始终将客户服务和技术创新放在同等重要的位置。公司建立了完善的客户服务体系,提供从售前咨询、方案设计到售后服务的全方位支持。同时,Herga公司不断加大研发投入,与国内外知名高校和研究机构建立合作关系,共同探索电子行业的前沿技术。这种客户服务与技术创新并重的战略使得Herga公司能够持续满足市场需求,保持竞争优势。

请注意,以上故事均为基于电子行业一般发展趋势和可能的公司发展路径构建的假设性案例,并非直接来源于Herga公司的官方记录。

问答坊 | AI 解惑

ARM内核的理解

我有点不理解,ARM硬件内核我看过资料,有一点了解,但软件内核有linux为什么还要自已做内核呢?…

查看全部问答>

DSP硬件设计的一些注意事项

时钟电路选择原则 1,系统中要求多个不同频率的时钟信号时,首选可编程时钟芯片; 2,单一时钟信号时,选择晶体时钟电路; 3,多个同频时钟信号时,选择晶振; 4,尽量使用DSP片内的PLL,降低片外时钟频率,提高系统的稳定性; 5,C6000、C5510、C5409A、C54 ...…

查看全部问答>

语音芯片ISD4002如何分段,如何确定每一段开始的地址

语音芯片ISD4002如何分段,如何确定每一段开始的地址…

查看全部问答>

简单的课程设计~~~~~~~~89C51电子秤的设计

多亏各位前辈一步步的提点,顺利完成了软件的课程设计,但是现在更令我头疼的硬件又来了,对于硬件每次都是考试前死记硬背勉强过关,我只能说对于它,我是完全入不了门,所以请各位多多指教了 (1)        设计智能电子秤的软 ...…

查看全部问答>

对于PLC的自锁电路我感到很奇怪,救命,一定要搞明白

  x1    x0 --||--|-|\\|----y1--|       |            |   y1  |            | --||--|---- ...…

查看全部问答>

网卡是不是一个单片机啊?

请问各位大侠,网卡从本质上来讲,是不是一个单片机啊?谢谢各位大侠了!:)…

查看全部问答>

金刚狼功耗到底有多低

上次发了金刚狼开发板的谍照,现在已被证实确实为金钢狼的官方开发板。链接:https://bbs.eeworld.com.cn/thread-321290-1-1.html在最近的一次视频中展示,得到了该开发板正常工作的功耗截图。…

查看全部问答>

keil arm 关于heap和microlib

使用lpc2478和keil arm,碰到如下问题: 在启动文件中修改堆栈初始化程序:如下程序,目的是将stack放在处理器内部ram中,将heap放到外部sdram中(heap比较大,在__user_initial_stackheap的R0和R2直接指定了heap的起始和终止位置),仿真中使用ma ...…

查看全部问答>

MSP-EXP430FR5739 应用(2)

     考虑到FR5739的铁电存储功能和3 轴加速计模块,可以做一个可以断电保存的记步器,通过对加速度计的数据做一定的计算和处理可以做一款计步器,在现有模块的基础上需要增加一块LCD,做简单的显示,同时由于可以掉电保存,还可以 ...…

查看全部问答>

大家比较经常去的PLC的论坛有哪些?

大家比较经常去的PLC的论坛有哪些?…

查看全部问答>