在Keil 6.12软件里面新建工程,再新建一个文件,把这个文件挂到工程名下面。然后开始在文件里面写程序去点亮第一个发光二极管。
#include <reg52.h> ? ? ?
/*52系列单片机头文件,安装Keil软件时候已经copy了reg52.h文件到电脑中,把 reg52.h文件在这里调用一下,就不用把这个文件里面写过的定义再写一遍了? */ sbit led1=P1^0;? ? ? ? ? ?
?/*? 声明单片机P1口的第一位为led1,后面为了只操作led1方便;P1口的第一位,是单片机连接锁存器连接发光二极管的设置? */ void main() ? ? ? ? ? ? ?
/*主函数,返回值为空,函数也为空,一个单片机C程序有且仅有一个main函数,他是整个程序开始执行的入口,所有代码都要写到整个函数的{}?里面 */ { led1=0; ? ? ? ? ? ? ? ?
?/*点亮第一个发光二极管,led=0,就是P1的第一个口=0,让他为低电平。二极管正极为高电平,负极连接的P1^0给出为低电平,则发光二极管有电压产生,电流流过,发亮,其他没定义的默认都高电平,两端高电平无压差产生,不亮。? */ }
完整写法:
#include <reg52.h> ? ? ? //52系列单片机头文件 sbit led1=P1^0; ? ? ? ? ?//声明单片机P1口的第一位 void main() ? ? ? ? ? ? ?//主函数 { led1=0; ? ? ? ? ? ? ? ? ?//点亮第一个发光二极管 }
?电路图如下:
此一条语句只能控制一个IO口,叫做位操作法,还有总线操作法,一次性对8个IO口同时控制:
#include<reg52.h> ? ? ? //52系列单片机头文件 void main() ? ? ? ? ? ? ?//主函数 { ? ? ?P1=0x7F;? ? ? ?
/* 7F转化为二进制为 0111? 1111,也就是说第一位是低电平,第一个二极管亮,其余各位都高电平,都不亮? */ }
|