鍵盤顯示通常采用以下三種方式 1采用并行接口的鍵盤顯示專用芯片8279,8279外匪元器件多c顯示驅動、譯碼等)、占用電路板面積大、綜合成本較高 在中小系統中常常大材小用.2采用通用并行I/(3芯片擴展c如8255等】.需要驅動顯示.鍵盤顯示掃描占用大量CPU時間.3 采用帶FC總線的鍵盤顯示芯片.本文的MAX6955驅動器采用Maxim 公司推出的帶鍵盤掃描、LED 顯示, 具有400kbps、FC兼容白勺2線串行接口.可大大簡化設計。
上傳時間: 2013-11-02
上傳用戶:時代電子小智
s3c2440a資料SPI(串行外圍設備接口)
上傳時間: 2014-06-22
上傳用戶:lingfei
MC14489的輸入接口與MOTOROLA公司/RCA公司的SPI串行接口以及美國國半公司的MICROWIRE串行接口安全兼容,也可以由任意一種單片機的I/O口線來進行隨機的顯示訪問。
上傳時間: 2013-10-11
上傳用戶:qzhcao
單片機無線串行接口電路設計
上傳時間: 2014-01-16
上傳用戶:aix008
摘要:介紹了采取專用電平轉換芯片MAX232實現PC機與MCS51單片機之間的串行通信的方法.通過對系統的通信方式選擇89C51通信波特率的設置、通信的設置,以及對接口電路的軟件和硬件的設計分析,展示了該電路的實用性.關鍵詞:微處理器;PC機;串行通信;RS-232接口;MAX232芯片
上傳時間: 2014-01-22
上傳用戶:shizhanincc
在計算機系統中,串行通信是指計算機主機與外設之間以及主機系統與主機系統之間數據的串行傳送。由于串行通信和通信制式、傳送距離以及I/O數據的串并變換等許多因素有關,為進一步學習MCS-51的串行接口打下基礎。
上傳時間: 2013-10-10
上傳用戶:李彥東
通用串行接口 UART90 系列單片機帶有一個全雙工的通用串行異步收發器UART 主要特征如下1 波特率發生器可以生成多種波特率2 在XTAL 低頻率下仍可產生較高的波特率3 8 位和9 位數據4 噪聲濾波5 過速的檢測6 幀錯誤檢測7 錯誤起始位的檢測8 三個獨立的中斷發送TX 完成發送數據寄存器空接收RX 完成
上傳時間: 2014-12-27
上傳用戶:yulg
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
摘 要:介紹了FPGA最新一代器件Virtex25上的高速串行收發器RocketIO。基于ML505開發平臺構建了一個高速串行數據傳輸系統,重點說明了該系統采用RocketIO實現1. 25Gbp s高速串行傳輸的設計方案。實現并驗證了采用FPGA完成千兆串行傳輸的功能目標,為后續采用FPGA實現各種高速協議奠定了良好的基礎。關鍵詞: FPGA;高速串行傳輸; RocketIO; GTP 在數字系統互連設計中,高速串行I/O技術取代傳統的并行I/O技術成為當前發展的趨勢。與傳統并行I/O技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的擴展能力,克服了并行I/O設計存在的缺陷。在實際設計應用中,采用現場可編程門陣列( FPGA)實現高速串行接口是一種性價比較高的技術途徑。
上傳時間: 2013-11-22
上傳用戶:lingzhichao
摘 要:介紹了FPGA最新一代器件Virtex25上的高速串行收發器RocketIO。基于ML505開發平臺構建了一個高速串行數據傳輸系統,重點說明了該系統采用RocketIO實現1. 25Gbp s高速串行傳輸的設計方案。實現并驗證了采用FPGA完成千兆串行傳輸的功能目標,為后續采用FPGA實現各種高速協議奠定了良好的基礎。關鍵詞: FPGA;高速串行傳輸; RocketIO; GTP 在數字系統互連設計中,高速串行I/O技術取代傳統的并行I/O技術成為當前發展的趨勢。與傳統并行I/O技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的擴展能力,克服了并行I/O設計存在的缺陷。在實際設計應用中,采用現場可編程門陣列( FPGA)實現高速串行接口是一種性價比較高的技術途徑。
上傳時間: 2013-10-22
上傳用戶:semi1981