Linux下51单片机的led点亮

Linux下LED 点亮实验
1.装有SDCC交叉编译环境,以及Python 的烧写工具
2.设备
单片机开发板 1 个,USB 数据线 1 根,跳线帽 1 个。
3、 内容
使用 python下软件进行编写、编译程序;
用跳线帽将 J3 短接,下载程序,观看 LED 状态。
4、原理
LED 发光二极管具有单项导通性,通过 5mA 左右的电流就能正常点亮发光二极管,
电流越大,LED 的亮度就越强, 但是如果通过的电流过大, 就会烧毁 LED,电流一般
有控制在 3~20mA,电路图中的 1K 的上拉电阻的作用就是限制通过 LED 的电流,可称为
“限流电阻”

电路中 LED 采用的是共阳的接法,正极接一个限流电阻再接到电源,负极接到单片
机的引脚,把单片机引脚的电平拉低就能点亮 LED。
LED 判断正负极的方法:直插,引脚短或者 LED 一边被削平的为负极,贴片,有颜
色的一边负极,可采用万用表短路测试,导通是 LED 发亮,或者是万用表上面有示数,
然后观看表红黑表笔的位置(前提是红黑表笔没有接错),就能确定 LED 的正负极。
LED 判断正负极的方法:直插,引脚短或者 LED 一边被削平的为负极,贴片,有颜
色的一边负极,可采用万用表短路测试,导通是 LED 发亮,或者是万用表上面有示数,
然后观看表红黑表笔的位置(前提是红黑表笔没有接错),就能确定 LED 的正负极。
5.寄存器:
这里写图片描述
6.电路图
这里写图片描述
引脚对应表:
这里写图片描述
点亮 LED 实验程序:

点亮 LED 实验程序: led.c
#include <8051.h>
//此文件中定义了 52 的一些特殊功能寄存器
sbit LED1=P1^7;//声明端口
void main()
{
LED1 = 0; //置 P1_7 口为低电平 ,点亮 LED
}

操作步骤:
在Linux打开终端:vim led.c (输入以上代码)
sdcc led.c 然后ls查看,会生成许多文件,我们需要的是ihx文件.
然后packihx led.ihx > led.hex 将十进制转化成十六进制
之后: hex2bin led.hex 将十六进制转化成二进制,然后开始烧写: sudo python ./stcflash.py ./led.bin
将单片机断电之后再通电,显示如下:
这里写图片描述
现在便烧写成功了!!!可以看到单片机的led灯的闪烁了~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值