久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 光電顯示 > 設計應用 > 串行接口鍵盤顯示面板的設計

串行接口鍵盤顯示面板的設計

作者: 時間:2012-01-05 來源:網絡 收藏

是微機儀器的重要組成部分。主要包括器和,通過對系統進行操作。一般的單片機控制儀表的面板均含有數碼管、發光管和按鍵,本文的儀器面板就是針對這個領域而開發的。 在儀器面板的中,電路的一般采用三種方式,第一種為并行口動態掃描方式,該方式硬件簡單、軟件編程方便,與主板的信號連線多;第二種為口靜態掃描方式,此方式使用芯片多,與主板的信號連線少;第三種為口動態掃描方式,此方式具有硬件簡單、與主板信號連線少的優點,一般采用專用的串行口芯片。考慮到專用芯片成本較高,我們用普通芯片設計了串行口動態掃描方式的儀器面板。

本文引用地址:http://cqxgywz.com/article/168664.htm

鍵盤顯示電路如附圖。兩片74LS164擴展了2個并行口。第一片用作段碼輸出,接共陽數碼管的段選位,同時也接發光管的陰極;第二片用作位選輸出,通過三極管的驅動接數碼管的共陽極,同時也驅動發光管的公共陽極,這樣就實現了數碼管和發光管顯示的動態掃描。位選口也參與鍵盤的列掃描,作為按鍵檢測的行引出。 該面板的信號線共有3根。其中CLK為時鐘脈沖信號,DAT為串行數據信號,KEY為鍵盤檢測信號。另外還需提供5V電源線和地線。 該面板的驅動程序主要實現將顯示緩沖區disbuf[4]中的段碼掃描輸出到數碼管,同時檢測鍵盤,將按下按鍵的鍵碼存在key單元中的功能。函數w164()用于將數據由模擬串口發送到74LS164的并口,而display()則通過調用w164()實現動態掃描顯示,同時檢測KEY得到按鍵的鍵碼。該程序還提供數碼管顯示0~F的段碼轉換表,供用戶使用。該程序已設計成頭文件,在應用程序中可以直接調用,在用戶程序中要對三個信號線進行定義,為它們分配I/O資源。//skeydis.H文件

  char lptr.Disbuf[4];

  char key;

  char code distab[16]= //段選碼表

  {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x77,0x7c,0x39,0x5e,0x79,0x71};

  void w164(char x) //串并轉換

  {

  char i;

  for(i=0;i<8;i++)

  {

  x=x<<1;DAT=CY;

  CLK=0;CLK=1;

  }

  }

  void display() //鍵盤顯示掃描程序

  {

  char i;

  char code disptr[4]= //位選碼表

  {0xfe,0xfd,0xfb,0xf7};

  lptr=(lptr+1)%4; //移動掃描指針

  w164(0xff);w164(0xff);//熄滅顯示器

  w164(disptr[LPTR]); //送位選碼

  w164(disbuf[LPTR]); //送段選碼

  if(!KEY)key=LPTR+1; //檢測按鍵

  //鍵碼為12,3,4

  }

DIY機械鍵盤相關社區:機械鍵盤DIY




評論


相關推薦

技術專區

關閉