标题: 51单片机32IO口点亮32led程序 [打印本页]

作者: Trepverter51Hei    时间: 2022-9-9 19:05
标题: 51单片机32IO口点亮32led程序
51单片机32个IO口点亮32个led灯。
单片机源程序如下:
  1. //==声明区================================================
  2. #include        <reg51.h>                // 定义8051寄存器头文件
  3. #define LED0  P0
  4. #define LED1  P1
  5. #define LED2  P2
  6. #define LED3  P3
  7. void delay1ms(int x);        //延迟函数声明                 
  8. //==主程序================================================
  9. main()                                                        // 主程序开始
  10. {        
  11.         P0=0xf0;     //P0高低位交替亮
  12.         P1=0x0f;     //P1高低位交替亮
  13.         P2=0xaa;     //P2奇偶位交替亮
  14.         P3=0x55;     //P3奇偶位交替亮        
  15.         while(1)                                        // 无限循环
  16.         {
  17.           LED0=~LED0;      //取反
  18.           LED1=~LED1;      //取反
  19.           LED2=~LED2;      //取反
  20.           LED3=~LED3;      //取反
  21.           delay1ms(5);    //延时
  22.         }
  23. }                                                                // 主程序结束
  24. // === 延迟函数,延迟约x ms ================================
  25. void delay1ms(int x)                        
  26. {        int i,j;                                        // 声明整数变数i
  27.         for(i=0;i<x;i++)                        // 计数x次,延迟约*1ms               
  28.                 for(j=0;j<120;j++);                // 计数120次,延迟约1ms
  29. }        

复制代码
以下是proteus仿真截图


Keil代码与Proteus8.13仿真下载: led_32.zip (76.42 KB, 下载次数: 11)

作者: 啤酒瓶子老大    时间: 2022-9-16 14:04
大佬你在来一个16个口控制64个灯的。我也学习一下。
作者: lsh04    时间: 2022-9-20 17:52
啤酒瓶子老大 发表于 2022-9-16 14:04
大佬你在来一个16个口控制64个灯的。我也学习一下。

解码器就可实现,或串口→并口扩展输出(74HC595)
作者: lsh04    时间: 2022-9-20 17:53
啤酒瓶子老大 发表于 2022-9-16 14:04
大佬你在来一个16个口控制64个灯的。我也学习一下。

用串口→并口,一个IO口就看人控制几百个LED
作者: lsh04    时间: 2022-9-20 17:54
译码器就可实现,或串口→并口扩展输出(74HC595)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1