1.定義
數碼管,也稱作輝光管,是一種可以顯示數字和其他資訊的電子設備,
2.原理圖
(1)亮時為0,滅時為1(從右往左記二進制)
(2)段選與位選:
a.位選:假設我們要控制8個數碼管,依次是1、2…… 8,我們要選擇控制哪個數碼管(比如控制第1個),這就是位選,位選有選擇位置的意思,
b.段選:然后我們要讓第1個數碼管顯示“1”,我們就要控制第一個數碼管“b=0、c=0,a=1、d=1、e=1、f=1、g=1(或者b=1、c=1,a=0、d=0、e=0、f=0、g=0),這就是段選,即選擇數碼管的哪一段,
3.結構圖
此處采用共陽極數碼管
(1)高電平和低電平:
a.高電平:高電平指與低電平相對的高電壓,是電工程上的一種說法,在邏輯電平中,保證邏輯門的輸入為高電平時所允許的最小輸入高電平,當輸入電平高于輸入高電壓(Vih)時,則認為輸入電平為高電平,
b.低電平:低電平(Vil)指的是保證邏輯門的輸入為低電平時所允許的最大輸入低電平,當輸入電平低于Vil時,則認為輸入電平為低電平,是與高電平相對的低電壓,是電子工程上的一種說法,
(2)共陽極和共陰極:
a.共陽極數碼管是指八段數碼管的八段發光二極管的陽極(正極)都連在一起,而陰極對應的各段可分別控制,
b.共陰極數碼管是指八段數碼管的八段發光二極管的陰極(負極)都連在一起,而陽極對應的各段分別控制,
4.真值表
數字 真值表
0 0xC0
1 0xF9
2 0xA4
3 0xB0
4 0x99
5 0x92
6 0x82
7 0xF8
8 0x80
9 0x90
Tips: 二進制:(前綴:0b/0B)(后綴:b/B)
八進制:(前綴:0)(后綴:o/O)
十進制:(前綴:無,可加+/-)(后綴d/D)
十六進制:(前綴:0x/0X)(后綴:h/H)
5.特殊功能暫存器
特殊功能暫存器是80C51單片機中各功能部件對應的暫存器,用于存放相應功能部件的控制命令,狀態或資料,
(1)sbit是定義特殊功能暫存器的位變數
ex: sbit led1 = P1^0
將發光二極管 led1 接 P1口 0 位端,用以控制 led1 的亮滅
***在C語言里,如果直接寫P1.0,C編譯器并不能識別,而且P1.0也不是一個合法的C語言變數名,所以得給它另起一個名字,這里起的名為P1_0,sbit的用法有三種:
a:sbit 位變數名=地址值
b:sbit 位變數名=SFR名稱^變數位地址值
c:sbit 位變數名=SFR地址值^變數位地址值
(2)sfr特殊功能暫存器:
sfr也是一種擴充資料型別,點用一個記憶體單元,值域為0~255,利用它可以訪問51單片機內部的所有特殊功能暫存器,如用sfr P1 = 0x90這一句定P1為P1埠在片內的暫存器,在后面的陳述句中我們用以用P1 = 255(對P1埠的所有引腳置高電平)之類的陳述句來操作特殊功能暫存器, sfr P1 = 0x90; //定義P1 I/O 口,其地址90H sfr 關鍵定后面是一個要定義的名字,可任意選取,但要符合識別符號的命名規則,名字最好有一定的含義如P1 口可以用P1 為名,這樣程式會變的好讀好多,等號后面必須是常數,不允許有帶運算子的運算式,而且該常數必須在特殊功能暫存器的地址范圍之內(80H-FFH),sfr 是定義8 位的特殊功能暫存器,而sfr16 則是用來定義16 位特殊功能暫存器,如8052 的T2 定時器,可以定義為: sfr16 T2 = 0xCC; //這里定義8052 定時器2,地址為T2L=CCH,T2H=CDH
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279323.html
標籤:其他
上一篇:這樣學編程,直接原地起飛啊!
