历史上的今天
返回首页

历史上的今天

今天是:2024年10月21日(星期一)

正在发生

2021年10月21日 | 【自学51单片机】2 --​keil软件编写程序、烧录程序和点亮LED

2021-10-21 来源:eefocus

1、 外设 LED 介绍

LED小灯 即发光二极管,发光二极管为二极管中的一种,二极管中有阳极和阴极,电流从正极流向负极导通,反向阻断。其中贴片发光二极管,正向导通电压在1.8V — 2.2V之间,靠电流驱动,工作电流在1mA – 20mA之间,1mA – 5 mA之间LED小灯亮度变化明显,5 mA – 20mA之间LED小灯亮度变化不大,20mA以上LED小灯易烧坏。


贴片发光二极管

2、计算限流电阻

LED小灯电路

1. 限流电阻: 电阻的阻值大小变化可以直接改变整条电路的电流大小,称为限流电阻。

2. 该开发板VCC电压为5V,GND接地为0V,贴片LED电压大概在2V左右,限流电阻电压为3V左右,要使LED灯亮电流控制在1mA – 20mA之间,从而限流电阻应在150欧姆 – 3K欧姆之间。


3、USB接口电路介绍

USB接口电路

 1. 1引脚:VCC,4引脚:GND。 2引脚和3引脚:数据通信引脚。  5引脚和6引脚:GND。

 2. F1为自恢复保险丝,正常情况可以看成导线,短路下保险丝断开保护电路。

 3. C16为470微法的电容,电容:隔直流,通交流。


4、点亮LED小灯原理

将图二的GND换成一个单片机的IO口 P0.0 , 更换后如图:

原理:当P0.0输出一个高电平的时候,相当于跟VCC一样的5V电压,此时整个电路路无电压差无电流,LED熄灭。当P0.0输出一个低电平的时候,相当于跟GND一样的0V电压,此时整个电路接通,LED点亮。可以P0.0输出电平可以通过程序控制。


5、特殊功能寄存器和位定义

1. 单片机内部有多个特殊功能寄存器,编程时必须得先用 sfr 关键字声明后才能使用,例如:


sfr  P0 = 0x80;  // 定义了 P0 模块特殊功能寄存器


每个模块的特殊功能寄存器地址可以通过单片机手册查询,keil软件已经把这些特殊功能寄存器保存到了 #include 的头文件中,只需在文件中添加该头文件即可省去特殊功能寄存器的声明。


2. 每个特殊功能寄存器里有8个开关,即8个IO口(输入和输出口),可以通过 sbit 关键字来定义这些开关。例如:


sbit LED = P0^0; //将 P0 模块寄存器的第0个 IO 口命名为 LED


3.特殊功能寄存器手册

 Add: 为寄存器地址,地址里h表示16进制。

 Reset Value:为上电复位值,1表示高电平,0表示低电平。


6、通过keil软件建立工程

步骤: 1. 建立工程(注意:选择Inter下的单片机)----> 2. 保存工程 ----> 3. 建立文件(文件名后缀为.c)并保存 ----> 4. 添加文件到工程 ----> 5. 编写程序 ----> 6. 编译 ----> 7. 下载程序。

7、编写程序

 1. 点亮小灯程序


#include //包含特殊功能寄存器定义的头文件


sbit LED = P0^0;//为地址声明,sbit小写,P大写

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;

ADDR2 = 1;

ADDR1 = 1;

ADDR0 = 0;

LED = 0;//低电平,点亮小灯, 同理将LED = 1,为高电平,熄灭小灯。

while(1);//让程序停止在这

}


  程序运行无误后,设置生成 .hex文件后重新编译, 重新编译成功后将生成.hex文件。


  2. output窗口说明

  data=9.0 :表示程序使用了内存RAM 9个字节。

  code = 29 :表示程序使用了FLASH资源的29个字节。


8、烧录程序

  步骤: 1.硬件连接好后查看开发板使用的COM端口号。

  2. 打开烧录软件,选择好对应单片机种类,调选好对应COM端口号。

  3. 打开生成的.hex文件后下载,

  4. 当烧录软件显示上电后,打开单片机开关即可。结果如图:

推荐阅读

史海拾趣

ECI公司的发展小趣事

ECI公司深知品质对于企业生存的重要性。因此,公司建立了严格的质量管理体系,从原材料的采购到生产流程的每一个环节都进行严格的质量控制。此外,ECI还引入了国际先进的质量检测设备和技术,确保产品的每一个细节都符合高品质的要求。正是这种对品质的坚持和追求,让ECI公司在竞争激烈的电子行业中脱颖而出。

Astema公司的发展小趣事

Astema公司自创立之初,就专注于研发创新的电子技术。公司投入大量资源于研发部门,不断推出具有竞争力的新产品。其中,一款具有高效能、低功耗特点的芯片产品,在市场上获得了巨大成功,为公司带来了可观的收入。这一成功促使Astema在行业内建立了良好的声誉,吸引了更多的客户和合作伙伴。

General Electronic Devices公司的发展小趣事
负责产生控制信号,驱动开关元件按一定频率和占空比工作。
ADDtek公司的发展小趣事
提供稳定的直流电压。
北京人民电器厂公司的发展小趣事

近年来,随着新能源产业的快速发展,北京人民电器紧跟时代步伐,在新能源领域取得了重要突破。公司推出的真安型零飞弧直流断路器,解决了直流低压系统中长期存在的外喷电弧问题,为新能源行业的发展提供了重要的技术支持。这一创新成果不仅得到了行业的广泛认可,也为公司在新能源领域的发展打开了新的局面。

这五个故事只是北京人民电器在电子行业发展历程中的一部分,但它们足以展现出公司在技术创新、产品应用、生产自动化、人才队伍建设以及新能源领域发展等方面的努力和成就。这些故事不仅记录了北京人民电器的成长轨迹,也见证了中国电子行业的蓬勃发展。

Coil-Q Corporation公司的发展小趣事

随着公司规模的扩大,Coil-Q意识到单靠自身的力量难以应对日益激烈的市场竞争。于是,公司积极寻求与其他企业的战略合作,与多家知名电子品牌建立了长期稳定的合作关系。通过共享资源、共同研发,Coil-Q不仅拓展了业务领域,还提高了自身的技术水平和市场竞争力。

问答坊 | AI 解惑

电路图

这是电路图…

查看全部问答>

SoC工程师的三种境界——巧妙、稳定、生命体

这是我昨天在回家路上的思考,观察新入职的员工,对比已经逐步成熟的员工,再考察自己的经历,结合论坛上的众生相,突然就有了这样的三种境界的认识。当然我自己觉得前两种境界应该比较精准,但是最后一种境界的总结还有欠提炼,不过在现在,已经觉 ...…

查看全部问答>

sqlce3.5

1、智能设备平台WM6.5、PC编程VS2008 C# 2.运行我我自己的应用软件时提示:报错: mobileClient.exe 中发生错误。 请选择“退出”然后重新启动此程序,或选择“详细信息”以了解详细信息。 找不到文件或程序集名称“System.Data.SqlServerCe, ...…

查看全部问答>

vxworks 添加104扩展板卡驱动

大家好,我需要把胜博PC104的两块扩展卡添加到系统中,一块为ADT882,一块为ADT900,其都有驱动,并且告诉了安装过程,如下: adt900 安装步骤 1)、把cdt900.o文件拷贝到$(WIND_BASE)/target/lib/objPENTIUMgnuvx目录中; 2)、在您的VxWorksW ...…

查看全部问答>

我的电脑变ipd了

DIY ipd 好久没来eeworld了,挺想念的。 最近读研不怎么玩硬件了,只能编编程,快过年了想做出个什么东西来eeworld秀秀,O(∩_∩)O哈哈~ http://v.youku.com/v_show/id_XMjQwODc3Njc2.html 这是我这几天做的,哈哈。硬件很简单,主要是matlab编 ...…

查看全部问答>

430

430的低功耗在手持通信设备上非常实用!…

查看全部问答>

求助搞研发的各位大师

大家好,麻烦问一下各位,开发的时候一些元器件,比如继电器,各种接插件,上哪找datasheet去??多谢了估计问题太弱了。。…

查看全部问答>

PIC16F73

#include<pic.h> void main(void){ ADCON1 = 0x06  PORTA  = 0x00; TRISA  = 0x00;PORTA =0x0F; while(1)   {    }}用得编译工具是MPLAB,配置为MPLAB自带的configuration bits 当 ...…

查看全部问答>

最新版MATLAB R2012b怎么和CCS5.2.1自动链接

最新版MATLAB R2012b不直接支持CCS5.2.1,不过可以生成makeflie文件, 通过这个makeflie文件可以将算法模型自动生成的C代码,自动与CCS5.2.1链接 自动编译,生成可执行的.out文件,这个问题,在外网上有很多人都在问? 也有人回答,不过,说得很 ...…

查看全部问答>

如何与别人的zigbee设备组网?

我购买的一套简单的zigbee设备,就是一个协调器(a)和一个开关节点(c)。手上还有其他不同品牌的协调器(b),那么我是否可以用协调器(b)与开关节点(c)组网,a与c之间在网络层是加入了安全机制的。…

查看全部问答>