因为公司有一部分设备生产年代久远,用的PLC也是比较古老的,有一款东芝EX20/40的用的单片机是P8051AH,其CPU板的图片如下。
因此想尽可能的的了解一下8051系列单片机,适逢活动中有《51单片机C语言编程》,遂报名参加。
因为以前对51单片机做过了解,拿到书后直接跳到流水灯章节阅读,按照书上的位操作例程弄了一个比较繁琐的控制数码管显示0-9的程序:
#include
#define unit unsigned int
sbit led0=P1^0;
sbit led1=P1^1;
sbit led2=P1^2;
sbit led3=P1^3;
sbit led4=P1^4;
sbit led5=P1^5;
sbit led6=P1^6;
sbit led7=P1^7;
unit i,j;
void delay(unit);
void main()
{
while(1)
{
led0=0;
led1=0;
led2=0;
led3=0;
led4=0;
led5=0;
led6=1;
delay(1000);
led1=0;
led2=0;
led0=1;
led3=1;
led4=1;
led5=1;
led6=1;
delay(1000);
led0=0;
led1=0;
led3=0;
led4=0;
led6=0;
led2=1;
led5=1;
delay(1000);
led0=0;
led1=0;
led3=0;
led4=1;
led6=0;
led2=0;
led5=1;
delay(1000);
led0=1;
led1=0;
led3=1;
led4=1;
led6=0;
led2=0;
led5=0;
delay(1000);
led0=0;
led1=1;
led3=0;
led4=1;
led6=0;
led2=0;
led5=0;
delay(1000);
led0=1;
led1=1;
led3=0;
led4=0;
led6=0;
led2=0;
led5=0;
delay(1000);
led0=0;
led1=0;
led3=1;
led4=1;
led6=1;
led2=0;
led5=1;
delay(1000);
led0=0;
led1=0;
led3=0;
led4=0;
led6=0;
led2=0;
led5=0;
delay(1000);
led0=0;
led1=0;
led3=0;
led4=1;
led6=0;
led2=0;
led5=0;
delay(1000);
}
}
void delay(unit z)
{
unit x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
虽然点亮了数码管,但是没明白Z、X、Y的意义,看了还得好好学习C语言才行。