上次学习了点灯实验未成功的原因可能在于单片机,由于新的单片机还未到不能下定结论
单片机中LED灯的控制值为真时亮如“1”时亮,“0”时灭
此图为单片机中八个LED灯的连接图
此图是进制转换
在亮灯的基础上使LED的闪烁即一会亮一会灭,需要让他执行两个语句,先灭后亮以此循环。
但是由于单片机频率很快,闪烁较快会被误认为一直亮,需要在此基础上加上延时的语句。
#include#include void Delay500ms() { unsigned char i, j, k; _nop_(); i = 4; j = 205; k = 187; do { do { while (--k); } while (--j); } while (--i); } //此处设一个函数用来延长时间,stc中生成的 void main() { while(1) //无限循环 { p2=0xfe; //使led灯亮 Delay500ms(); //引用延时函数 延时半秒 p2=0xff; //使led灯灭 Delay500ms(); //引用延时函数 同样延时半秒 } }
由于单片机串口问题无法实操



