第一步:打开proteus,如图导入元器件并连线。
第二步:像下面的代码一样编写c程序,完事编译成.hex文件(不会可以看上一篇文章,有介绍!)
# include"reg51.h" // 引入头文件
void delay(unsigned int n){ // 此延时函数不准确,大概的时间,凑活着用。
unsigned int i=0, j=0;
for(i=0;i<n;i++){
for(j=0;j<120;j++);
}
}
void led1(){ // 定义共阳LED灯 子函数 led1()
int i=0; // 定义i等于0
for(i=0;i<8;i++){ // for循环 起始值i=0; 只要i小于8就循环; i+1
P2 = ~(0x01 << i);// P2口=0000 0001 左移i位 第一次:0000 0010 第二次:0000 0100 第三次:0000 1000 加括号为了保证先移位后取反
delay(100);
}
}
void led2(){ // 定义共阴极LED灯子函数 led2()
int i=0; // 定义i等于0
for(i=0;i<8;i++){ // for循环 起始值i=0; 只要i小于8就循环; i+1
P3 = (0x01 << i);// P2口=0000 0001 左移i位 第一次:0000 0010 第二次:0000 0100 第三次:0000 1000 加括号为了保证先移位后取反
delay(100);
}
}
void main(){ // 主函数
while(1){ // 无限循环
led1(); //调用共阳极子函数led1
led2(); //调用共阴极子函数led2
}
}
第三步:proteus中导入刚生成的.hex文件,之后模拟仿真,就可以看到流水灯的效果了!