文章编号:915 .7104

『关闭窗口』

led显示码的解决方法--很好的思路可以借鉴(sparkstar)


1、用汇编:
先定义笔画对应的bit位置:

........
a equ 01h
b equ 02h
c equ 04h
d equ 08h
e equ 10h
f equ 20h
g equ 40h
dot equ 80h

.......
;定义显示码如下:
........
    db    a+b+c+d+e+f    ;0
    db    b+c            ;1
    db    a+b+d+e+g      ;2
    db    a+b+c+d+g      ;3
    db    b+c+f+g        ;4
    db    a+c+d+f+g      ;5
    db    a+c+d+e+f+g    ;6
    db    a+b+c          ;7
    db    a+b+c+d+e+f+g  ;8
    db    a+b+c+d+f+g    ;9

........

2、用C:
先定义笔画对应的bit位置:

.......
#define a    0x01
#define b    0x02
#define c    0x04
#define d    0x08
#define e    0x10
#define f    0x20
#define g    0x40
#define dot  0x80

.......

uchar code dis_code[] = {
        a+b+c+d+e+f,    // 0
        b+c,            // 1
        a+b+d+e+g,      // 2
        a+b+c+d+g,      // 3
        b+c+f+g,        // 4
        a+c+d+f+g,      // 5
        a+c+d+e+f+g,    // 6
        a+b+c,          // 7
        a+b+c+d+e+f+g,  // 8
        a+b+c+d+f+g    // 9
        };

       ........

每次用只要修改笔画对应的bit位置就行了




(文章推荐人:挑战者)

 

返回大虾论坛 返回首页