51单片机 动态数码管显示

本章博客写的内容主要围绕动态数码管显示,动态数码管显示与静态数码管显示比较稍有变化,主要在添加延时函数这点上

1.首先将上一章节使用子函数方法的代码复制过来

将Nixie( , )移到下方while循环中(因为要实现效果为动态的)

void main()
{
	while(1)
	{
		Nixie(1,1); 
		Nixie(2,2); 
		Nixie(3,3); 
	}
}

编译下载后效果为:

 对于这种效果要进行消影的处理

因为单片机编译处理顺序是按照:位选  段选    (清零),位选 段选    ,位选 段选

由上一段的段选到下一部分的位选需要进行清零处理

接下来主要进行:增添延时函数和清零处理

2.在STC-ISP中生成相应的延时函数,函数时间为1ms,并对其进行灵活修改,如下

void Delay(unsigned int xms)		 
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
		
}

先延时再清零

编译下载后效果如下:

3.还可以了解一下数码管的驱动方式

1)单片机直接扫描:硬件设备简单,但会耗费大量的单片机CPU时间

2)专用驱动芯片:内部自带显存、扫描电路,单片机只需告诉它显示什么即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值