北京中科白癜风医院郑华国 http://baidianfeng.39.net/a_yqyy/210109/8576070.html

一、题记

前面的文章介绍了数码管的基本结构,驱动方式,静态显示和动态显示原理,并分别编写了驱动程序,显示静态的数据,这依然无法应用到现实生活中,但这些都是学习单片机必须经历的过程,这编文章将重点描述用2位一体式共阴数码管来实现00~99计数器。

二、什么是计数器?

计数器没什么好解释的,就是记录数据,生活中常见的计数器有很多,比如秒表,产品数量统计,车流量统计等都需要计数器,只不过是功能更加丰富而已,下面列举两例:

1、秒表:按1s或1ms等数据加1,按照时间的规律计数。

2、脉冲计数:按高电平脉冲或低电平脉冲等数据加或减,也是一种计数器。

三、两位数码管计数器的实现

目的:采用两位数码管,设计proteus电路和C程序,运行仿真后自动计数,计数时间间隔随意,范围00~99

实验电路:

C语言程序:

程序解释:

1、数码管显示函数:关键在于2位数的拆分,在程序的第20和26行中,有两段函数

P0=Tab[AddCount/10]//十位

P0=Tab[AddCount%10]//个位

在单片机C语言中,符号“/”表示除法取商;符号“%”表示除法取余

例如要显示23,23/10=2,Tab[2]就得到2的字形码;23%10=3,Tab[3]就是3的字形码;这样在数码管就可以显示数字23了。

2、数据自加函数:这里让变量AddCount自加1, 值为99,当然,也可以改为其他两位数,这里可以控制计数的最值。

3、主函数:

for循环控制计数变化频率,实际就是让数码管显示一个数多少次,本例让数码管显示一个数字次,然后调用计数自加函数,得到下一个显示的数字,进入循环。

4、计数器效果:



转载请注明地址:http://www.abmjc.com/zcmbhl/1751.html