因为公司有一部分设备生产年代久远,用的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语言才行。
上一篇:基于RF收发器Si4432A的无线射频收发系统设计
下一篇:STC15W408AS单片机GPIO口介绍及其工作模式
推荐阅读最新更新时间:2024-11-03 13:53
设计资源 培训 开发板 精华推荐
- DC1678A-B,用于 LTC2654BCUF-H16 四通道 SPI 16 位电压输出数模转换器的演示板
- LT1085CM-3.3、3.3V/7.5A LDO稳压器的典型应用电路
- 使用 Infineon Technologies AG 的 BTS 425 L1 的参考设计
- LTC2908IDDB-B1、12V、3.3V、2.5V、1.8V、1.5V、1.2V六电源监视器的典型应用电路
- 使用 NXP Semiconductors 的 TDA8933B 的参考设计
- EVAL-AD5593R-PMDZ,用于 AD5593R 8 通道、12 位、可配置 ADC/DAC/GPIO 的评估套件,具有片上参考、I2C 接口 PMOD 模块
- 【训练营】立创EDA小灯-948646A
- 原神尺子
- LT6656ACS6-3、3V 2 端子电压基准电流源的典型应用
- DC9001B,基于 LTC5800 芯片天线 + 100 个节点容量的 SmartMesh IP Eval/Dev Manager