51单片机32个IO口点亮32个led灯。
单片机源程序如下:
- //==声明区================================================
- #include <reg51.h> // 定义8051寄存器头文件
- #define LED0 P0
- #define LED1 P1
- #define LED2 P2
- #define LED3 P3
- void delay1ms(int x); //延迟函数声明
- //==主程序================================================
- main() // 主程序开始
- {
- P0=0xf0; //P0高低位交替亮
- P1=0x0f; //P1高低位交替亮
- P2=0xaa; //P2奇偶位交替亮
- P3=0x55; //P3奇偶位交替亮
- while(1) // 无限循环
- {
- LED0=~LED0; //取反
- LED1=~LED1; //取反
- LED2=~LED2; //取反
- LED3=~LED3; //取反
- delay1ms(5); //延时
- }
- } // 主程序结束
- // === 延迟函数,延迟约x ms ================================
- void delay1ms(int x)
- { int i,j; // 声明整数变数i
- for(i=0;i<x;i++) // 计数x次,延迟约*1ms
- for(j=0;j<120;j++); // 计数120次,延迟约1ms
- }
复制代码 以下是proteus仿真截图
Keil代码与Proteus8.13仿真下载:
led_32.zip
(76.42 KB, 下载次数: 11)
|