VHDL语言编程,让led3灯以1HZ的频率闪烁,直接在我的上面修改即可

VHDL语言编程,让led3灯以1HZ的频率闪烁,直接在我的上面修改即可,第1张

可以用外部中断计数,来实现流水灯的正转、暂停、以及反转和爆闪。。这是我前几天写的一个这样的程序,楼主可以结合protues 画图仿真,宏仔中注意程序中所用到的IO端口就行戚握了。

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

uchar a,b

void delay(uchar z)

{

uchar i,j,k

for(i=zi>0i--)

for(k=20k>0k--)

for(j=110j>蔽山0j--)

}

void begain()

{

EA=1

EX0=1

IT0=1

}

void main()

{ a=b=0

P0=0xfe

begain()

while(1)

{

if(a==1)

{

P0=_crol_ (P0,1)

delay(50)

}

if(a==3)

{

P0=_cror_(P0,1)

delay(50)

}

if(a==4)

{

P0=0x00

delay(50)

P0=0xff

delay(50)

P0=0xfc

}

if(a==5)

{

a=1

}

}

}

void int0() interrupt 0

{

a++

if(a==5)

{

a=1

}

}

ENTITY LED IS

PORT(clk: IN BIT-- 假设clk为2Hz,周期0.5秒

led_out: OUT BIT)

END LED

ARCHITECTURE behav OF LED IS

SIGNAL q: BIT

BEGIN

PROCESS(clk)

BEGIN

IF (clk‘枣纯Event AND clk='1') THEN

q <凳拆咐= NOT q

END IF

END PROCESS

led <= q

END behav

如果你的时御姿钟信号频率比较高,再设计一个分频器,将其频率降为2Hz即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12411738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存