中科因仑“3+1”工程特种兵精英论坛

标题: 003、STC15F104E系列单片机之跑马灯 [打印本页]

作者: 张衍波    时间: 2015-5-6 08:08
标题: 003、STC15F104E系列单片机之跑马灯
/********************************************************************
                            汇诚科技

实现功能:跑马灯
使用芯片:STC15F104E系列单片机
晶振:11.0592MHZ
波特率:9600
编译环境:Keil
作者:zhangxinchun
网站:www.ourhc.cn
淘宝店:
汇诚科技 http://ourhc.taobao.com
郑兴电子直销部 http://shop68451856.taobao.com
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

*********************************************************************/
#include<reg52.h>                 //库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int  //宏定义无符号整型
/********************************************************************
                            初始定义
*********************************************************************/
uchar temp;           //定义字符型变量
uchar a,b,i;
/********************************************************************
                            延时函数
*********************************************************************/
void delay()//延时程序
{
uchar m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
/********************************************************************
                            主函数
*********************************************************************/
void main()
{
while(1)
{
temp=0xfe; //11111110定义每次一个灯亮
P3=temp;//直接对1/0口赋值,使批输出低电平。
delay();//延时
for(i=1;i<8;i++)//实现广告灯的从右到左移动
{
a=temp<<i;                //左移i位
b=temp>>(8-i);        //右移8-i位
P3=a|b;//相与求值
delay();
}
for(i=1;i<8;i++)//实现广告灯的从左到右移动
{
a=temp>>i;            //右移i位
b=temp<<(8-i);  //左移8-i位
P3=a|b;//相与求值
delay();
}
}
}       
       
/********************************************************************
                              结束
*********************************************************************/

[attach]2732[/attach]







欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4