C语言设计跑马灯程序
#include<reg51.h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint) //声明延时函数
void main(void)
{
uint i
uchar temp
while(1)
{
temp=0x01
for(i=0i<8i++) //8个流水灯逐个闪动
{
P1=~temp
delay(100) //调用延时函数
temp<<=1
}
}
void delay(uint t) //定义延时函数
{
register uint bt
for(tt--)
for(bt=0bt<255bt++)
}
跑马灯程序最基本的,c语言还未入门啊!!!
led灯具是常见的灯具产品之一,它不仅仅为消费者提供了多种多样尺寸样式以及设计风格的选择,而且旗下还有丰富多彩的种类,包括下文提及的led跑马灯等等就是常见的产品之一。led跑马灯即可以选购现成的,参考一定的安装步骤进行操作,也可以自己准备材料进行制作,那么接下来小编就为大家给出这两个方面的分析,帮助有兴趣的朋友进行操作。
一、led跑马灯怎么安装
1、铝槽轨道安装:先固定底壳,再把点光源卡入事先冲好孔的铝槽里面,然后直接扣在底壳上面即可,看不以任何线条,美观大方,这个使用的范围很广,铝槽可以和墙体颜色一样,也可以叫做LED隐形灯,白天看不到灯点,晚上灯光四射。楼顶安装可以抗台风。
2、卡扣拉钢丝安装:卡扣卡入钢丝,然后把点光源卡入卡扣即可适用于玻璃幕墙或悬空安装使用。
3、用螺丝直接安装:也可以打玻璃胶固定,这个安装方式一般工程公司为了降低成本,缺点是电源线和点光源连接线裸露在外面。
4,整板冲孔安装:铁板,铝板,不锈钢板整板冲孔,然后把点光源从背面穿过来,接好线安装即可,这种安装方式也是比较常用的。
二、led跑马灯怎么制作
Led跑马灯制作的步骤
首先我们将红色的彩纸拿出来进行准备,旁边放着剪刀,然后用剪刀将彩纸进行裁剪,将它裁剪成一方一圆的形状,方的材质尺寸大小为36*14厘米,而圆形的直径大小应当为12厘米,方形的彩纸一般是用来制作圆筒用的,而圆的彩纸则是用来制作顶盖,也就是风轮用的。当我们的彩纸裁剪好之后,把方形的卷起来做成圆筒,在其中一端裁剪出小齿的形状,同时将它粘上浇水,并将它弄弯,方便顶盖能够和它粘合,这样跑马灯的主体形状就成型了,我们能够很清楚地看到这个跑马灯的大体外形。
虽然市面上可供选择的led跑马灯有很多,大部分也可以保障出色的质量和性价比表现,但是并不就意味着消费者购置后就可以保障满意使用效果了,因为我们还需要参考合适的步骤方法进行安装,比如上文提及的三种安装方法就值得参考。除此之外有兴趣动手实践的朋友也可以自己准备材料制作led跑马灯,既节省成本,又锻炼了自己的能力。
assume cs:code
start:
mov al,81h
mov dx,203h
out dx,al初始化8255控制字
ks1:
call ks 读取按键
cmp al,0fh 判有无按键闭合
jz ks1 无键闭合,循环等待
mov bl,0efh 初始化列码
mov bh,0初始化列计数值
again: mov dx,202h
mov al,bl
out dx,al
in al,dx
and al,0fh
cmp al,0fh
jnz B 判定是否为第一列的键闭合
inc bh 列计数值加一
rol bl,1 判定下一列
cmp bl,07fh 判定该轮扫描是否结束
jnz again
B:cmp al,0eh 如果按的是0键的话无效
jz ks1
one:cmp al,0dh 是否按的是1键
jnz four
mov al,1
jmp free
four: cmp al,0bh 是否按的是4
jnz seven
mov al,4
jmp free
seven: cmp al,07h 是否按的是7
jz A
inc bh 列计数值加一
rol bl,1 判定下一列
cmp bl,07fh 判定该轮扫描是否结束
jnz again
A: mov al,7
free: mov cx,10
mov dx,200h
add al,bh
cmp al,1 判断按键并指向所实现的花色程序
jnz next2
jmp liu1
input clk,
input rst_n,
input direction,
output reg [7:0] deng
)
integer i
reg on_off
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
on_off<= 8'b0
else if((&deng==1'b1)||(|deng==1'b0))
on_off <= ~on_off
end
always @(posedge clk or negedge rst_n) begin
if(rst_n==1'b0)
deng <= 8'b0
else begin
case(direction)
0:begin
deng[0] <= on_off
for (i=0i<7i++)
deng[i+1]<=deng[i]
end
1:begin
deng[7] <= on_off
for (i=7i>0i++)
deng[i-1]<=deng[i]
end
endcase
end
end
endmodule
右跑为例,依次如下
00000000
10000000
11000000
11100000
。。。
11111111
01111111
00111111
00011111
。。。
00000000
direction接开关,deng接8位led灯