标题:
单片机跑马灯 流水灯Proteus仿真及源程序
[打印本页]
作者:
51黑ff
时间:
2016-10-10 16:57
标题:
单片机跑马灯 流水灯Proteus仿真及源程序
分享2个简单的单片机跑马灯 流水灯Proteus仿真下面是原理图:
0.png
(25.58 KB, 下载次数: 174)
下载附件
2016-10-10 16:52 上传
单片机跑马灯源程序:
/********************************************************************
51黑电子论坛
*********************************************************************/
#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=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。
delay();//延时
for(i=1;i<8;i++)//实现广告灯的从右到左移动
{
a=temp<<i; //左移i位
b=temp>>(8-i); //右移8-i位
P3=P2=P0=P1=a|b;//相与求值
delay();
}
for(i=1;i<8;i++)//实现广告灯的从左到右移动
{
a=temp>>i; //右移i位
b=temp<<(8-i); //左移8-i位
P3=P2=P0=P1=a|b;//相与求值
delay();
}
}
}
/********************************************************************
结束
*********************************************************************/
复制代码
单片机流水灯源程序:
/********************************************************************
51黑电子论坛
*********************************************************************/
#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()
{
temp=0xfe; //11111110定义每次一个灯亮
while(1)
{
P3=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。
delay();//延时
for(i=1;i<8;i++)//实现广告灯的从右到左移动
{
a=temp<<i; //左移i位
P3=P2=P0=P1=a;//相与求值
delay();
}
}
}
/********************************************************************
结束
*********************************************************************/
复制代码
0.png
(59.71 KB, 下载次数: 165)
下载附件
2016-10-10 16:55 上传
所有资料包含仿真工程文件和源码下载:
流水灯.rar
(49.86 KB, 下载次数: 59)
2016-10-10 16:56 上传
点击文件名下载附件
下载积分: 黑币 -5
跑马灯.rar
(41.95 KB, 下载次数: 38)
2016-10-10 16:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
ljf10080
时间:
2017-1-11 17:51
有点失望,,,
作者:
dongdayong
时间:
2017-10-24 11:25
在哪里下载
作者:
zhaoming9746
时间:
2017-10-24 14:44
谢谢分享
作者:
18686
时间:
2018-12-7 21:37
做汇编的路过了
作者:
欧金金
时间:
2019-1-8 18:43
还是不太懂跑马灯和流水灯的区别
作者:
jinsheng7533967
时间:
2019-2-6 22:12
不错,资料比较全
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1