红联Linux门户
Linux帮助

Linux下51单片机的led点亮

发布时间:2016-12-06 23:22:55来源:linux网站作者:Chen_dSir
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.寄存器:
Linux下51单片机的led点亮
 
6.电路图
Linux下51单片机的led点亮
引脚对应表:
Linux下51单片机的led点亮
点亮 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
将单片机断电之后再通电,显示如下:
Linux下51单片机的led点亮
现在便烧写成功了,可以看到单片机的led灯的闪烁了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26636.html