TIPS:本文共有 1852 个字,阅读大概需要 4 分钟。
欢迎来到我们的单片机编程课程,这里你将和菜鸟一起学习如何使用单片机来显示数字。通过本课程,你将了解单片机编程的基本原理和技能,掌握数字显示的基本原理和方法。我们将带你逐步学习如何使用C语言进行单片机编程,实现数字的显示和控制。我们的课程内容简单易懂,适合初学者入门,无需有任何背景知识。无论你是对单片机编程感兴趣的新手,还是想提升技能的菜鸟,本课程都将为你提供丰富的实例和实践操作,让你快速掌握单片机编程的基本技能。让我们一起来探索单片机编程的乐趣吧!
上一篇我们演示了用单片机做一个跑马灯的简单程序和电路,也是来到头条发的第一篇文,一再强调如果路过的大神觉得我们发的东西对你太简单了的话不要嘲笑,大神都是从菜鸟走过来的,数学家一开始都是要学加减乘除的,但还是被喷了,说这么小儿科的东西就不要发来丢人了。
其实吧,我们总不能一上来第一篇文就讲一套复杂的智能家居的软硬件系统吧,我们将从单片机的简单应用,基本操作开始讲起,后面逐步演示一些稍微高级一点的应用,以后还会讲一下我们天天都在用的手机,平板电脑等的电路,我们的目标读者人群也是刚开始学习电子,或者是其他专业的但是对电子又感点兴趣的童鞋,路过的大神自行绕道吧。
另外吧其实生活中你身边的很多大神,他会在你做的不好时批评你嘲笑你,却不会帮助你提高,帮助你做得更好,然而我一个菜鸟却愿意和你站在一起,从简单入门的开始做起,慢慢一起提高,哈哈。
我们的文章都会以简单有趣的实际应用为例子,绝对不会大篇幅的像教科书里那样谈芯片的内部结构,汇编指令集什么的,看了半天一团晕。
好了废话有点多了,进入今天的正题,用单片机控制数码管的显示数字。
首先数码管有什么用呢,比如电梯里显示楼层,数字钟表上显示时间,以及其他生活中很多需要用数字计量并显示的地方。
数码管其实就是8个发光二极管,按ABCDFFGH的顺序摆成一个8字型,假如我们要显示数字7,我们就把ABC三段点亮,假如要显示数字1,就把BC段点亮,H段是要显示小数点时才用的,就是第一张图中的DP段。
然后数码管又分共阴极和共阳极的,共阴极的就是就是八个二极管的负极全部接在一起,正极独立控制,共阳极的就是正极全部接在一起,负极独立控制。
比如对于共阳极的,将公共端接电源,abcdefgh通过电阻分别接到单片机的 P0口的1脚到8脚,假如要点亮abc三段,我们就对abc送低电平,hgfedcba=11111000,就显示了数字7。我们演示的是一个没有小数点的管子,所以H没接。
我们把要显示数字0-9时hgfedcba对应的电平列一个表,可以叫它显示码,括号中是对应的16进制的写法,11000000=0XC0。
有了上面的的基本电路和显示原理,我们编程让数码管循环显示0-9,其实还可以显示大写字母,道理都是一样哒。
----------------------------------------------------------------------------------------------------------------------------------
#include
#define uint unsigned int
void delayms(uint xms) //这里定义一个延时函数,xms等于多少就延时多少毫秒
{ uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--)
;
}
void main()
{
while(1)
{
P0=0Xc0; //送0的显示码
delayms(500) ; //延时500毫秒
P0=0Xf9; //送1的显示码
delayms(500) ;
P0=0xa4;
delayms(500) ;
P0=0Xb0;
delayms(500) ;
P0=0X99;
delayms(500) ;
P0=0X92;
delayms(500) ;
P0=0X82;
delayms(500) ;
P0=0Xf8;
delayms(500) ;
P0=0X80;
delayms(500) ;
P0=0X90;
delayms(500) ;
}
}
---------------------------------------------------------------------------------------------------------------------------------
好了将上面的程序运行,下面就是实际的效果,是不很简单又有趣呢,觉得有趣就关注我吧。
我们转型不易,新知识内容立足于正能量、实用,觉得《初学者与单片机合作:编程数字显示入门教程》对你有帮助,请留言收藏!