找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7459|回复: 0
打印 上一主题 下一主题
收起左侧

我的单片机跑马灯c语言源程序

[复制链接]
跳转到指定楼层
楼主
ID:304787 发表于 2018-4-9 22:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机跑马灯源程序如下:
  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)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表