Linux下51单片机的led点亮

来源:互联网 发布:linux man手册中文版 编辑:程序博客网 时间:2024/05/21 14:52

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 0