目錄
一、原理圖:?編輯
二、思路梳理:
三:一些說明:
1.點亮方式:
2.數組:
3.數字與段碼對應:
四:程序實現:
一、原理圖:
二、思路梳理:
注意注意本實驗靜態數碼管,一開始只聯系讓第一個位置亮數字。
三:一些說明:
1.點亮方式:
LED燈給0是點亮。
數碼管給1是點亮。并且順序是dp,g,f,e,d,c,b,a
以?0x3F
?為例,它的二進制是?0011 1111
,表示?a
、b
、c
、d
、e
、f
?段為高電平(亮),g
?和?dp
?段為低電平(滅),從而顯示數字?0
。
2.數組:
首先數碼管的點亮可以用數組表示,數組從第一位到最后就是從數字0到數字15,如果你想讓某一位顯示數字幾,就把這個數字對應的數組元素賦給那個位置。
3.數字與段碼對應:
數組索引 | 段碼值 | 二進制 | 顯示內容 |
---|---|---|---|
0 | 0x3f | 0011 1111 | 0 |
1 | 0x06 | 0000 0110 | 1 |
2 | 0x5b | 0101 1011 | 2 |
3 | 0x4f | 0100 1111 | 3 |
4 | 0x66 | 0110 0110 | 4 |
5 | 0x6d | 0110 1101 | 5 |
6 | 0x7d | 0111 1101 | 6 |
7 | 0x07 | 0000 0111 | 7 |
8 | 0x7f | 0111 1111 | 8 |
9 | 0x6f | 0110 1111 | 9 |
10 | 0x77 | 0111 0111 | A |
11 | 0x7c | 0111 1100 | B |
12 | 0x39 | 0011 1001 | C |
13 | 0x5e | 0101 1110 | D |
14 | 0x79 | 0111 1001 | E |
15 | 0x71 | 0111 0001 | F |
四:程序實現:
#include <REGX51.H>
typedef unsigned u16;
typedef unsigned u8;
#define LED P0
u8 light[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void main()
{
LED=light[5];
?while(1)
?{
?}
?}