任务1-1点亮led灯
首先用proteus画出电路图,
注意要共阳极连接,反逻辑控制。单片机引脚为5v,5mA,为了得到更大亮度。
0为亮,1为灭。因为led灯即二极管具有单向导电性,二极管左右高电平到低电平则导通,反之截止。我们设高电平为1,低电平为0。
二极管电流越大,亮度越强,电流携带能量,有电压无电流则为静电。
还需要注意十进制二进制以及十六进制的换算,四个读一位,还需要加上c语言的标志0x。
/*************************
项目名称:项目一彩灯控制器
任务名称:任务1-1点亮led灯
任务描述:P1口接8个LED,编程实现灯全亮
*************************/
#include<reg51.h>//51寄存器定义头文件
void main()
{
//P1=0x00;//00000000,P1接口每根引脚都输出0(低电平),全部亮灯
//P1=0x55;//奇数亮,偶数不亮
//P1=0xff;//全不亮
P1=0xf3;
}
单片机专用的寄存器,只要不改写程序,可持续点亮。
0xff全灭,1111 1111二进制换算成16进制
奇数亮,偶数不亮对应的是引脚编号的奇数偶数。
还需注意读数时要从编号大的引脚到编号小的线读数。
双击单片机,选中hex文件,hex file为机器码文件。
现象如图:只有指定的灯才会发光。