标题: 我的单片机跑马灯c语言源程序 [打印本页]

作者: moli111    时间: 2018-4-9 22:06
标题: 我的单片机跑马灯c语言源程序
单片机跑马灯源程序如下:
  1. /*编译环境**************************************
  2. 功能:跑马灯实验,依靠程序延时控制跑马灯
  3. CPU:  STC12C5A系列
  4. IDE:  KEIL uVission2 V2.4a
  5. ************************************************/

  6. /*资源分配**************************************
  7. P0:        跑马灯
  8. P33:跑马灯整体控制
  9. P24-P27:数码管控制
  10. ************************************************/

  11. #include        "stc12c5a.h"

  12. #define                Dtube_SEG3        P27                                                //每一位的数码管总控IO定义
  13. #define                Dtube_SEG2        P26
  14. #define                Dtube_SEG1        P25
  15. #define                Dtube_SEG0        P24
  16. #define                LED_SEG                P33                                                //跑马灯总控IO定义

  17. #define                HORSE_BUS        P0                                                //跑马灯定义

  18. void Delay_Time(unsigned int time)                                //延时函数
  19. {
  20.         while(time>0)
  21.                 time--;
  22. }

  23. void main(void)
  24. {
  25.         unsigned char horse_led;

  26.         P2M1&=~0xf0;                                                                //P2口                7 6 5 4 3 2 1 0
  27.                                                                                                 //                        O O O O                        :数码管总控IO为强推挽输出
  28.                                                                                                 //P2M1      0 0 0 0
  29.         P2M0|=0xf0;                                                                        //P2M0                1 1 1 1

  30.         P3M1&=~0x08;                                                                //P3口                7 6 5 4 3 2 1 0
  31.                                                                                                 //                                O                :跑马灯总控IO为强推挽输出
  32.                                                                                                 //P3M1              0
  33.         P3M0|=0x08;                                                                        //P3M0                        1

  34.         Dtube_SEG0=0;                                                                //关闭数码管显示
  35.         Dtube_SEG1=0;
  36.         Dtube_SEG2=0;
  37.         Dtube_SEG3=0;

  38.         LED_SEG=1;                                                                        //打开跑马灯显示

  39.         horse_led=1;                                                                //跑马灯初始值

  40.         for(;;)
  41.         {
  42.                 HORSE_BUS=horse_led;                                        //把跑马灯的值送出,点亮一个灯
  43.                 horse_led<<=1;                                                        //把跑马灯的值左移,准备点亮下一个灯.更改此处可以改变方向
  44.                 if(horse_led==0)                                                //直到点亮最后一个灯,
  45.                 {
  46.                         horse_led=1;                                                //再回到第一个灯
  47.                 }
  48.                 Delay_Time(50000);                                                //延时,更改此处可以改变周期

  49.         }
  50. }

复制代码

所有资料51hei提供下载:
跑马灯1.zip (19.19 KB, 下载次数: 8)







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