单片机数码管显示的原理(CA CC) 字型的显示 动态显示的原理 大概的说下 采纳的再加分

发布网友 发布时间:2022-03-22 16:19

我来回答

1个回答

热心网友 时间:2022-03-22 17:48

数码管,举个例子,8段共阴极数码管。其实它的结构很简单,就是8个LED发光二极管,这8个LED发光二极管的正极就是a b c d e f g dp(小数点)这8个,负极就8个LED连接在一起。
单片机I/O口比如P0什么的不是有8个?正好连接到8个发光二极管的正极。然后把数码管负极接地。当你要显示数字,比如2时,2对应a b d e g这几个字母对应的LED亮,所以只要单片机接到abdeg的IO口置高电平就行了,正高负低,LED不就亮了?对应的LED亮了,不就显示对应的数字了?
至于动态显示,一般是8个数码管吧?段的接口不变,还是P0口,而它们的负极呢,不再接地了,而是接到P2口(P1什么的都行)。P2口来控制哪个数码管亮。只有当P2口为低电平的时候,LED才有可能导通并亮。
比如你要显示12345678,你可以先把P0口的段码调到1,也就是bc亮,P1.1、P1.2置高电平,这样就是显示1了,然后就是位选了,1是显示在第一位,所以你应该把P2.0置低电平,其他位置高电平,这样,第一个数码管就显示1了。显示2,则把P2.1拉低,其他拉高。这样弄一个循环,数码管不就从1依次显示到8了?
不过由于单片机执行指令很快,如果直接12345678这样显示,由于太快,会导致数码管很暗,所以,你可以在切换数码管的时候,加上一点点的延时,不过不能太长,不然就会闪了。当然你也可以把显示程序放到中断里,比如没过10ms就显示一次,这样会更好一点。
懂了吗?
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com