单片机数码管0到99循环编程(单片机数码管编程)

介绍

数码管是现代电子产品中最基本的显示器,而单片机则是现代电子产品中最基本的控制器。将数码管与单片机相结合,可以实现各种各样的显示和控制功能。在这篇文章中,我们将讲述如何用单片机控制数码管显示0到99的数字,并循环不停。

单片机数码管0到99循环编程(单片机数码管编程)

硬件组成

要实现这个功能,我们需要以下硬件组成:

  • 1个单片机(例如,AT89S52)
  • 2个共阳数码管
  • 2个220欧姆电阻
  • 1个晶振
  • 若干个杜邦线

将这些硬件连接好之后,我们就可以开始编写程序了。

程序编写

程序设计的思路如下:

  • 在程序开头定义一个整型数组,里面存放0到99这100个数字在数码管中的显示方式
  • 写一个循环语句,让单片机不断地显示0到99之间的数字
  • 在循环语句中,每隔一段时间刷新一次数码管显示的数字

下面是详细的代码:

```C
#include
typedef unsigned int uint;
typedef unsigned char uchar;

uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0xff,0x7f,0x40,0x48,0x03,0x70,0x88,0x1c,0x08,0x09,
0x04,0x01,0x81,0xc2,0x41,0x61,0x86,0x8e,0xc7,0xca,
0xbf,0xb8,0x7d,0x07,0x9e,0x5e,0x4f,0x66,0x6d,0x7c,
0x58,0x5c,0x63,0x58,0x6c,0x46,0x65,0x47,0x77,0x7f,
0x39,0x32,0x0c,0x7d,0x06,0x0e,0xdf,0x46,0x33,0x45,
0x7d,0x3d,0x46,0x5b,0x39,0x64,0x0f,0x7c,0x73,0x67,
0x50,0x6d,0x78,0x3e,0x39,0x66,0x0f,0x5b,0x71,0x0d,
0x76,0x06,0x1f,0x0e,0x6e,0x48,0x00,0x01,0x31,0x48,
0xff,0xff //0-99的显示方式
};
sbit D1=P2^2;
sbit D2=P2^3;
sbit LSA=P2^6;
sbit LSB=P2^5;
sbit LSC=P2^4;

void delay(uint x) //延时函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=112;j>0;j--);
}
void main() //主函数
{
uchar cnt,flag=0;
while(1)
{
for(cnt=0;cnt<99;cnt++)
{
uint i;
for(i=0;i<1000;i++) //显示保持一定时间
{
LSA=0;
LSB=0;
LSC=0;
P0=table[cnt/10];
delay(1);
LSA=1;

P0=table[cnt%10];
delay(1);
LSB=1;

P0=table[11]; //第二个数码管被选中
delay(1);
LSC=1;
}
}
}
}
```
这里的table数组里面存放的是0到99这100个数字在数码管中的显示方式,因为我们使用的是共阳数码管,所以每个数字的显示方式都是相对应的阴码。

总结

在本文中,我们学习了如何用单片机编写程序控制数码管显示0到99的数字,并循环不停。通过这样的学习,我们不仅了解了单片机与数码管的基本原理,同时也提高了我们的编程能力和实际应用能力。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/mcu6k5sw.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 下午7:50
下一篇 2023年4月25日 下午7:51

猜你喜欢