企业网站维护外包,网站设计公司 国际,高端白酒品牌有哪些,衡阳网站建设开发价格文章目录 前言解决方法后记 前言
我是直接把以前写的 51 数码管程序复制过来的#xff0c;当时看的郭天祥的视频#xff0c;先送段选#xff0c;消隐后送位选#xff0c;最后来个 1ms 的延时。
代码在 Proteus 中数码管静态是可以的#xff0c;动态显示出了问题——显示… 文章目录 前言解决方法后记 前言
我是直接把以前写的 51 数码管程序复制过来的当时看的郭天祥的视频先送段选消隐后送位选最后来个 1ms 的延时。
代码在 Proteus 中数码管静态是可以的动态显示出了问题——显示不全我在网上搜的说是 Proteus 的 Bug需要先送位选再送段选我试了试也不行。 最后在我多次实验下终于让我解决了可以完全显示而且显示的非常平稳。
这里记录一下
解决方法
Proteus 中不需要任何设置只需要将消隐的顺序换一下把消隐放在送完位选之后然会延时即可。
for(i 0;i 8;i)
{// 送段选NIXIE_TUBE_D 1;P0 d_table[i];NIXIE_TUBE_D 0;// 送位选NIXIE_TUBE_W 1;P0 w_table[i];NIXIE_TUBE_W 0;// 消隐P0 0xff;// 延时bsp_DelayMS(1);
}下面是 51 单片机在晶振为 11.0592MHz 时毫秒级的延时函数STM32 单片机可以使用 HAL 库自带的HAL_Delay进行延时。
void bsp_DelayMS(uint32_t n) //11.0592MHz
{uint8_t data i, j;if (n 0){return;}while(n--){_nop_();i 2;j 199;do{while (--j);} while (--i);}
}后记
对你有所帮助的话可以点赞支持一下。