女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>發光二極管>

單片機點亮數碼管程序設計解析

2017年11月17日 11:44 網絡整理 作者: 用戶評論(0

  一個數碼管有八段:A,B,C,D,E,F ,G,H即由八個發光二極管組成;發光二極管導通的方向是一定的(導通電壓一般取為1.7V),這八個發光二極管的公共端有兩種:可以分別接+5V(即為共陽極數碼管)或接地(即為共陰極數碼管)

  共陽極: 位選為高電平(即1)選中數碼管, 各段選為低電平(即0接地時)選中各數碼段,

  共陰極: 位選為低電平(即0)選中數碼管, 各段選為高電平(即1接+5V時)選中各數碼段。

  單片機點亮數碼管程序設計解析

  1位數碼顯示數字其實就是這8個發光二極管,哪個亮哪個不亮,從而達到顯示數字的效果,亮和不亮無非就是0或1。以共陰極為例。

  數碼管的段依次從低到高如圖中的a,b,c,d,e,f,g,h(h是小數點),如果要顯示數字1,即b,c亮,其他都不亮,對應的二進制數字為:00000110,轉換為16進制為0x06。即段碼為0X06時,這個數碼管就能顯示數字1了。以此類推就可以得出1-9的斷碼了。共陽極的原理也是如此,對共陰極的段碼取反即可。

  8位數碼管可以理解為8個1位數碼管組成的,這就涉及到位碼,你可以理解為位置,像第一位數碼管,第二位數碼管這樣。以共陰極為例。位選為低電平(即0)時選中該數碼管。

  比如你有1個8八位數碼管,你只想讓第1、2、3、位數碼管顯示亮起來,那么即選中1,2,3,其他均不選,二進制數字為11111000,轉換為16進制為0XF8,只要設置位碼為0xF8即可達到這個效果了,其他也是一樣的,共陽極取反即可。

  數碼管結構及工作原理,段碼計算方法

  單片機點亮數碼管程序設計解析

  段碼計算方法:理論上,八個筆段可以顯示128種不同的字符,扣除其中沒有意義的組合狀態后,七段LED數碼管可以顯示的字符如表所示。相應的其它字符也可推算出來。

  單片機點亮數碼管程序設計解析

  單片機點亮數碼管

  單片機點亮數碼管程序設計解析

  基于上圖設計顯示驅動函數

  #include 《STC89.H》 //延時程序代碼

  void delay_ms(unsigned int Cnt) {

  unsigned int t; while(Cnt--) { t=100; while(--t); } }

  //主程序代碼

  void main()

  { unsigned char i;

  unsigned char code LED[16]= { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,

  0x39,0x5e,0x79,0x71, };

  while(1) { P1=0xfe; for(i=1;i《=6;i++) { P0=LED[i];

  delay_ms(400);

  P1=(P1《《1)|0x01;

  }

  }

  }

非常好我支持^.^

(71) 2.4%

不好我反對

(2860) 97.6%

( 發表人:龔婷 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?