while(1)
{
for(c=0;c<10;c++)
{
P2=0x20;P0=0xc0|flash;delay(2);
P2=0x10;P0=0xc0|flash;delay(2);
P2=0x08;P0=0x40|flash;delay(2);
P2=0x04;P0=0xc0|flash;delay(2);
P2=0x02;P0=0x40|flash;delay(2);
P2=0x01;P0=0xf9|flash;delay(2);
}
}
求指导,,,共阳数码管为什么不能正常闪烁显示01.00.00 数码管的动态显示刷新时间是多少啊???延时函数是2毫秒的,flash是中断半秒取反变量,仿真的时候显示0.0.0.0.00闪烁且数码管0上面的一横还没有了......
数码管动态闪烁不能正常显示,是刷新时间的问题吗?程序感觉没有错误啊????求帮助
答案:3 悬赏:20
解决时间 2021-02-20 16:37
- 提问者网友:wodetian
- 2021-02-19 18:43
最佳答案
- 二级知识专家网友:情战凌云蔡小葵
- 2021-02-19 19:19
语句“| flash”应该改为"& flash",还有就是在每一句的delay(2);后增加"P0 = 0;"另外delay可以增加到10毫秒
全部回答
- 1楼网友:湫止没有不同
- 2021-02-19 21:20
moduleled_dong(seg,sl,clk);//静态模块显示
output[7:0]seg;//定义数码管段输出引脚
output[3:0]sl;//定义数码管位(选择)输出引脚
inputclk;//定义输入时钟引脚
reg[7:0]seg_reg;//定义数码管段输出寄存器
reg[3:0]sl_reg;//定义数码管位输出寄存器
reg[3:0]disp_dat;//定义显示数据寄存器
reg[29:0]count;//定义计数器寄存器
always@(posedgeclk)//定义clk信号下降延触发
begin
count=count+1;//计数器加1
end
always@(count[18:17])//定义显示数据触发事件
begin
case(count[18:17])//定义扫描显示数据
2'b00:disp_dat=4'b1000;//显示个位数为8
2'b01:disp_dat=4'b0010;//显示十位数为2
2'b10:disp_dat=4'b0001;//显示百位数为1
2'b11:disp_dat=4'b0
- 2楼网友:飘零作归宿
- 2021-02-19 20:33
数码管动态显示扫描频率2oohz就够了,共阳极数码管的共阳极借口看看有没有译码器
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯