200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 51单片机实现c语言字母滚动 我的单片机跑马灯c语言源程序

51单片机实现c语言字母滚动 我的单片机跑马灯c语言源程序

时间:2018-07-12 23:26:54

相关推荐

51单片机实现c语言字母滚动 我的单片机跑马灯c语言源程序

/*编译环境**************************************

功能:跑马灯实验,依靠程序延时控制跑马灯

CPU:STC12C5A系列

IDE:KEIL uVission2 V2.4a

************************************************/

/*资源分配**************************************

P0: 跑马灯

P33:跑马灯整体控制

P24-P27:数码管控制

************************************************/

#include "stc12c5a.h"

#defineDtube_SEG3 P27//每一位的数码管总控IO定义

#defineDtube_SEG2 P26

#defineDtube_SEG1 P25

#defineDtube_SEG0 P24

#defineLED_SEGP33//跑马灯总控IO定义

#defineHORSE_BUS P0//跑马灯定义

void Delay_Time(unsigned int time)//延时函数

{

while(time>0)

time--;

}

void main(void)

{

unsigned char horse_led;

P2M1&=~0xf0; //P2口7 6 5 4 3 2 1 0

// O O O O :数码管总控IO为强推挽输出

//P2M1 0 0 0 0

P2M0|=0xf0; //P2M01 1 1 1

P3M1&=~0x08; //P3口7 6 5 4 3 2 1 0

//O:跑马灯总控IO为强推挽输出

//P3M1 0

P3M0|=0x08; //P3M0 1

Dtube_SEG0=0; //关闭数码管显示

Dtube_SEG1=0;

Dtube_SEG2=0;

Dtube_SEG3=0;

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

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

for(;;)

{

HORSE_BUS=horse_led; //把跑马灯的值送出,点亮一个灯

horse_led<<=1; //把跑马灯的值左移,准备点亮下一个灯.更改此处可以改变方向

if(horse_led==0)//直到点亮最后一个灯,

{

horse_led=1;//再回到第一个灯

}

Delay_Time(50000);//延时,更改此处可以改变周期

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。