北京中科白癜风医院郑华国 http://baidianfeng.39.net/a_yqyy/210109/8576070.html
转载请注明地址:http://www.abmjc.com/zcmbhl/1751.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