<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機計數器C語(yǔ)言練習

單片機計數器C語(yǔ)言練習

作者: 時(shí)間:2013-02-18 來(lái)源:網(wǎng)絡(luò ) 收藏
要求:編寫(xiě)一個(gè)程序,將T0作為來(lái)使用,對外部信號計數,將所計數字顯示在數碼管上。

  該部分的硬件電路如圖所示,U1的P0口和P2口的部份引腳構成了6位LED數碼管驅動(dòng)電路,數碼管采用共陽(yáng)型,使用PNP型三極管作為片選端的驅動(dòng),所有三極管的發(fā)射極連在一起,接到正電源端,它們的基極則分別連到P2.0…P2.5,當P2.0…P2.5中某引腳輸是低電平時(shí),三極管導通,給相應的數碼管供電,該位數碼管點(diǎn)亮哪些筆段,則取決于筆段引腳是高或低電平。圖中看出,所有6位數碼管的筆段連在一起,通過(guò)限流電阻后接到P0口,因此,哪些筆段亮就取決于P0口的8根線(xiàn)的狀態(tài)。


  編寫(xiě)程序時(shí),首先根據硬件連線(xiàn)寫(xiě)出LED數碼管的字形碼、位驅動(dòng)碼,然后編寫(xiě)程序如下:

  #include "reg51.h"

  #define uchar unsigned char

  #define uint unsigned int

  uchar code BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB}; //位驅動(dòng)碼

  uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,

0x83,0xC6,0xA1,0x86,0x8E,0xFF}; //字形碼

  uchar DispBuf[6]; //顯示緩沖區

  void Timer1() interrupt 3

  { uchar tmp;

  uchar Count; //,顯示程序通過(guò)它得知現正顯示哪個(gè)數碼管

  TH1=(65536-3000)/256;

  TL1=(65536-3000)%256; //重置初值

  tmp=BitTab[Count]; //取位值

  P2=P2|0xfc; //P2與11111100B相或

  P2=P2tmp; //P2與取出的位值相與

  tmp=DispBuf[Count];//取出待顯示的數

  tmp=DispTab[tmp]; //取字形碼

  P0=tmp;

  Count++;

  if(Count==6)

  Count=0;

  }

  void main()

  { uint tmp;

  P1=0xff;

  P0=0xff;

  TMOD=0x15; //定時(shí)器0工作于計數方式1,定時(shí)器1工作于定時(shí)方式1

  TH1=(65536-3000)/256;

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>