标题: 新入请教ATMEG8单片机接数码管字符表问题 [打印本页]

作者: 宏达工控    时间: 2020-3-3 18:03
标题: 新入请教ATMEG8单片机接数码管字符表问题
本帖最后由 宏达工控 于 2020-3-4 12:28 编辑

手上一块板子,想学习一下数码管,管脚定义如下:
PB0---D
PB1--E
PB2--A
PB3--F
PB4--B
PB5--十位
PB6--接个位

PD5--G
PD6--C
PD7--DP

PC0--百位
PC1--接千位
如果PB口全部接段码,知道怎么编写字符表 ,可现在分开用了,请教字符表该如何编写
数码管共阳

作者: huang123456789    时间: 2020-3-3 22:16
想要谁亮对应的引脚输出高电平就好,比如个位8就PB0-4、PB6、PD5-6输出高电平就好
作者: hantu    时间: 2020-3-4 00:15
这种没法用段码表,只能自己写子函数或switch来封装。
作者: yxh1999    时间: 2020-3-4 09:12
这个问题难度不大,需要有整段代码才能给你改啊,就提供这么点信息,回复的时候也不能把所有的都写给你啊。
作者: 黎明初至    时间: 2020-3-4 09:29
如果能修改,你这ABCDEFG最好对应PB0~PB6,这样你对照表好写。
目前你这样的顺序,需要自己去对照1、2、3。。。等字符那个亮,自己写出来对照表。
还需要注意是共阴极还是共阳极。
作者: 宏达工控    时间: 2020-3-4 12:22
板子是拆的,管脚是定义好的  ,数码管是共阳      ,由于没有用连续的位地址,想学习一下,没有找到这方面的例程。谁能指导下,给个例子
作者: 宏达工控    时间: 2020-3-4 12:24
板子是共阳,管脚定位是板子测出的,想学习一下无从下手,谁给指点一下,做个例子
作者: haierzaifei11    时间: 2020-3-4 12:53
只能自己写子函数或switch来封装。
作者: 宏达工控    时间: 2020-3-5 17:09
void IOSet(u8 byte)
{

    PB0=byte&(0x01); byte>>=1;
        PB1=byte&(0x01); byte>>=1;
        PB2=byte&(0x01); byte>>=1;
        PB3=byte&(0x01); byte>>=1;
        PB4=byte&(0x01); byte>>=1;
        PD5=byte&(0x01); byte>>=1;
        PD6=byte&(0x01); byte>>=1;
        PD7=byte&(0x01); byte>>=1;
}
昨天请教给个这样例子,是不是BYTE当做变量,然后按这个变量列出数组字符表
作者: mengzhixinheng    时间: 2020-3-5 21:00
用逻辑与对应分解编码表,常规编码表的每个数据对应着数码管的每个LED,这样很方便。如果io口无法对应可以用逻辑与分解出每个数据的单个位去对应你的io口。如果你的io口是一组一组的,可以一组一组的分解更好。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1