由于郭天祥教程使用的板子和本论坛的板子电路图不一样,所以程序也不一样 本论坛的板子点亮一个灯,必须先使P1^4口为低电平, 而且对应LED灯是:D1灯对应P0^7口 D2灯对应P0^6口 D3灯对应P0^5口 …… D8灯对应P0^0口 这个和郭天祥的板子正好相反 //使LED从D1顺序到D8依次亮,实现流水灯 #include<reg52.h> #include<intrins.h>//循环左/右移的头文件 #define uint unsigned int #define uchar unsigned char uchar temp;//全局变量(8位) sbit deep=P2^2;//蜂鸣器接口 sbit D0=P1^4; /*声明函数,带一个参数*/ void delay(uint); void main() { D0=0; deep=0;// 打开蜂鸣器 temp=0x7f;//D1灯亮,D1灯对应P0^7口 //D2灯对应P0^6口 P0=temp;//P0口是LED灯 while(1) { /*将temp变量循环右移一位,注意:郭天祥的是左移,而且temp初始值是0xfe,因为两个板子LED灯对应的接口不一样*/ temp=_cror_(temp,1); delay(600); P0=temp;//下一个灯亮 } } void delay(uint z) { uint x,y; for(x=100;x>0;x--) for(y=z;y>0;y--); } |