导航:首页 > 操作系统 > 基于单片机的霓虹灯设计

基于单片机的霓虹灯设计

发布时间:2022-10-29 00:44:12

‘壹’ 单片机课程设计霓虹灯

//*********************************************************
//实现功能:本程序实现在P1口模拟一个流水霓虹灯程序
//*********************************************************
#include <reg51.h>
#define p_out P1 //宏定义输出的i/o口为P1
//******************时间延迟函数**********************
//描 述:用指令实现延时一段时间
//入口参数:int i,为时间延迟参数
//****************************************************
void delay_time(int i)
{
while(i)
i--;
}
//******************主函数***************************
//描 述:实现在P1口模拟一个流水灯程序
//****************************************************
void main(void)
{unsigned char i=0; //初始化一个局部变量为0
p_out=0xff; //初始化将要输出的i/o口,输出高电平,熄灭所有灯
while(1)
{
for(i=0;i<8;i++)
{
p_out=~(1<<i);//点亮一个灯,
delay_time(50000); //延迟一段时间
p_out=0xff;//熄灭所有灯
}
}
}
//**************************************

‘贰’ 实验一 P1口霓虹灯实验(单片机)

去看看“
郭天祥
十天学会C语言单片机”吧。保证你不要一天就可以把这个程序编出来。

‘叁’ 51单片机。采用八个发光二极管模拟霓虹灯

想设计的话就找个教程自己学习,不要老想着直接拿到现成的东西。

网页链接

‘肆’ 单片机汇编语言80c51设计霓虹灯要求由两种以上状态

12个LED应该需要两个IO(我是说普通8位的,若是16位的一个就可以了)。可以使用循环移位指令进行一个灯流水点,这是一种方法。
MOV
R0
1111
1110;
T:
RL
R0;
mov
P0
R0;
ACALL
delay;//调用延时程序
SJMP
T;
可采用取反指令
MOV
R0
1111
0000
MOV
P0
R0;
T:
CPL
R0;
ACALL
delay;//调用延时程序
SJMP
T;
这是一种左右互亮的方式
若是改成
MOV
R0
1010
0101,便是交叉点亮的方式。这又是一种。
方法很多,送不同的数据,点的方式就不一样了。可以多做尝试
另外我的程序有些关键词可能有点问题,你在调试的时候可以适当修改。只是在这里提供一种思路。

‘伍’ 单片机plc霓虹灯程序设计

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

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/*****************************************************************************/
void delay(unsigned int a)
{
unsigned int i;
while(--a!=0)
{
for(i=0;i<600;i++);
}
}
void Main()
{
uint i,j,a=0xff,b=0xff;

// while(1)
{
for(i=0;i<8;i++)
{
a>>=1;
P0=a;

delay(100);
}
for(j=8;j>0;j--)
{
b<<=1;
P0=~b;

delay(100);
}

}
}

‘陆’ 单片机简单8只霓虹灯的课程设计,速度来人

ORG 0000H
LJMP 0100H
ORG 0003H
LJMP 0200H
MOV IE ,#81H
SETB IT0
MOV A,#55H
KK:MOV P1,A
SJMP KK
ORG 0200H
PUSH ACC
PUSH P1
MOV A ,#00H
MOV R1,A
MOV A ,#55H
MOV P1 ,A
MOV R2 ,#20
LOOP:LUCLL DLY
DJNZ R2 LOOP
RL A
SJMP MM
MOV TMOD ,#10H
MOV TH1 #3CH
MOV TL1 , #0B0H
SETB TR1
JNB TF1 ,$
CLR TF1
CLR TR1
RET

‘柒’ 请采用MCS-51单片机,设计一直霓虹灯的控制器。假设霓虹灯有八路,可采用8只发光二极管代替。

硬件电路就相当简单了,将发光二极管设置成共阴或者共阳。因为p0口是开路输出,所以每个口得加一个上拉电阻,在依据发光二极管所需的驱动后合适选择上拉电阻的大小。其它的硬件就是单片机的最小硬件系统了,这个应该明白吧。
程序吧:如果定时器资源充足,那就将两个定时器都用上。定时器1定时为50ms,然后定义一个无符号整型变量,每到50ms进入中断后就加1,并且重装定时器1初值,当进入中断的次数为100次的整数倍时就将p0端口的值全部取反。如果要这个进行5次,那么当变量加到(5*5000)/0.05时就关闭定时器1。同时启动定时器0,将P0口先给0xfe,然后每过1秒就用循环称位函数_crol_或者_cror_(),将p0的值移一次后再赋给p0,至于你说的又要全亮我就不太明白了

‘捌’ 基于单片机的霓虹灯控制器的设计

毕业设计不是明年吗

没有指定芯片吗,那就用51吧,估计你们实验室肯定有仿真器和芯片

16路灯接P0,P2
三个按键接P3。5,p3.6, p3.7

然后把图给老师看,他点头后再做下面的

当然图上的晶振、电源、复位等电路也要有,这些就参考课本上的

‘玖’ 单片机51c语言编程20种不同霓虹灯亮法

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

uint i,j,t;uchar Temp;
void main()
{
while(1)
{
for(j=0;j<8;j++)
{
Temp = (Temp<<1);
Temp_YiWei = Temp;
for(i=0;i<7-j;i++);
{
P1 = Temp_YiWei;
Temp_YiWei = _crol_(Temp_YiWei,1);
for(t=40000;t>0;t--); //延时函数 自己调试调试
P1 = Temp_YiWei;
}
}
P1 = 0x00; //全亮
for(t=5000;t>0;t--); //延时函数 自己调试调试
P1 = 0xFF; //全亮
}
}

阅读全文

与基于单片机的霓虹灯设计相关的资料

热点内容
openldaplinux安装 浏览:21
java取月的最后一天 浏览:10
腾讯云服务器多久退款 浏览:949
微信广告植入系统源码 浏览:922
一年级语文上册pdf 浏览:315
好久不见app干什么用的 浏览:143
压缩包解压码对方可以更改吗 浏览:256
pdf电子书制作软件 浏览:888
数控三通编程 浏览:300
linux多终端 浏览:811
法律写作pdf 浏览:144
国货哪个品牌最好app 浏览:951
看哪个app给钱最多 浏览:178
编程靠经验吗 浏览:759
c教程pdf下载地址 浏览:573
制作视频哪个app有瘦脸功能 浏览:649
linux查看线程内存 浏览:509
命令行签名apk 浏览:92
网页照片旋转源码 浏览:842
QQ会员头像源码 浏览:263