单片机编程实例100例大全 单片机编程实例
*实例1:使用P3口流水点亮8位LED
#include
unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++) ; }
/ 函数功能:主函数 void main(void) { while(1) {
P3=0xfe; //第一个灯亮 delay(); //调用延时函数 P3=0xfd; //第二个灯亮 delay(); //调用延时函数 P3=0xfb; //第三个灯亮
delay(); //调用延时函数 P3=0xf7; //第四个灯亮 delay(); //调用延时函数 P3=0xef; //第五个灯亮 delay(); //调用延时函数 P3=0xdf; //第六个灯亮 delay(); //调用延时函数 P3=0xbf; //第七个灯亮 delay(); //调用延时函数 P3=0x7f; //第八个灯亮 delay(); //调用延时函数 } / / }
*实例2:通过对P3口地址的操作流水点亮8位LED #include
sfr x=0xb0; //P3口在存储器中的地址是b0H, 通过sfr可定义8051内核单片机
//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作 /
函数功能:延时一段时间 /
void delay(void) {
unsigned char i,j; for(i=0;i<250;i++) for(j=0;j<250;j++)
; //利用循环等待若干机器周期,从而延时一段时间} /
函数功能:主函数 /
void main(void) { while(1) {
x=0xfe; //第一个灯亮 delay(); //调用延时函数 x=0xfd; //第二个灯亮 delay(); //调用延时函数 x=0xfb; //第三个灯亮 delay(); //调用延时函数 x=0xf7; //第四个灯亮 delay(); //调用延时函数
x=0xef; //第五个灯亮 delay(); //调用延时函数 x=0xdf; //第六个灯亮 delay(); //调用延时函数 x=0xbf; //第七个灯亮 delay(); //调用延时函数 x=0x7f; //第八个灯亮 delay(); //调用延时函数 } }
*实例3:用不同数据类型控制灯闪烁时间 #include
函数功能:用整形数据延时一段时间 /
void int_delay(void) //延时一段较长的时间 {
unsigned int m; //定义无符号整形变量,双字节数据,值域为0~65535 for(m=0;m<36000;m++) ; //空操作 } /
函数功能:用字符型数据延时一段时间 /
void char_delay(void) //延时一段较短的时间 {
unsigned char i,j; //定义无符号字符型变量,单字节数据,值域0~255 for(i=0;i<200;i++) for(j=0;j<180;j++) ; //空操作 } /
函数功能:主函数 /
void main(void) {
unsigned char i; while(1) {
for(i=0;i<3;i++) {
P1=0xfe; //P1.0口的灯点亮 int_delay(); //延时一段较长的时间 P1=0xff; //熄灭