PCM-16xx系列工業(yè)多串口卡可以應(yīng)用于傳統(tǒng)的RS-232/422/485串行通訊領(lǐng)域,快速擴(kuò)充PC機標(biāo)準(zhǔn)COM通訊端口的數(shù)量。兼容PC/104規(guī)范,即插即用;集成4個串行通訊端口;同一PC可安裝多達(dá)8塊同型號卡;RS-232端口最高速率可達(dá)921.6Kbps;PCM-16xx系列工業(yè)多串口卡提供2~8個RS-232/422/485通訊端口,每個端口的通訊速率可以高達(dá)921.64Kbps。多串口卡采用工業(yè)級設(shè)計,每一個通訊端口都集成防浪涌30KV ESD保護(hù),可選的高速電氣隔離保護(hù)。同一PC最多可安裝8塊同一型號的PCM-16xx工業(yè)多串口卡。
上傳時間: 2013-11-08
上傳用戶:zl5712176
TKS_COM串口調(diào)試助手在具備一般串口調(diào)試助手功能的同時增加了對多串口的實時監(jiān)控、橋接、多播和數(shù)據(jù)過濾等功能。
標(biāo)簽: 串口 調(diào)試助手 用戶手冊
上傳時間: 2013-12-01
上傳用戶:sdfsdfs1
本實驗是基于EasyFPGA030 的串口接收設(shè)計。FPGA 除了需要控制外圍器件完成特定的功能外,在很多的應(yīng)用中還需要完成FPGA 和FPGA 之間、FPGA 和外圍器件之間以及FPGA 和微機的數(shù)據(jù)交換和指令傳輸,稱之為FPGA 數(shù)據(jù)傳輸。FPGA 的數(shù)據(jù)通信的方式有并行通信和串行通信兩種,這里我們就本實驗重點講述串口通信。所謂串口通信是指外設(shè)與計算機之間使用一根數(shù)據(jù)信號線(另外需要地線,可能還需要控制線),數(shù)據(jù)在一根數(shù)據(jù)信號線上一位一位地進(jìn)行傳輸,每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約成本。當(dāng)然,其傳輸?shù)乃俣缺炔⑿袀鬏斅?/p>
上傳時間: 2013-10-08
上傳用戶:wushengwu
關(guān)鍵詞 串口擴(kuò)展,多路通信,數(shù)據(jù)采集摘 要本文檔介紹了采用 Actel Flash 架構(gòu)的FPGA 實現(xiàn)擴(kuò)展多路串口功
上傳時間: 2013-11-13
上傳用戶:13160677563
SPI接口讀寫串行EEPROM:93C46為采用3線串行同步總線SPI接口方式的EEPROM,其芯片引腳名稱和功能描述如圖1-1:
上傳時間: 2013-11-19
上傳用戶:taozhihua1314
串口調(diào)試軟件SSCOM可供免費使用,免費下載,本軟件可以在Win95/98、Win2000、WinNT、WinXP下面運行.軟件功能主要為: 1.接收從串口進(jìn)來的數(shù)據(jù)并在窗口顯示. 2.所接收到的數(shù)據(jù)數(shù)據(jù)顯示方式可以選擇為字符方式或者HEX方式 4.中文顯示無亂碼,且不影響速度 5.串口波特率可以選擇為110bps-256000bps.(波特率>115200時需要硬件支持) 6.可以即時顯示存在的串口號.如果您增加了usb轉(zhuǎn)串口等設(shè)備,串口號也會在列表中出現(xiàn). 7.可以選擇“5、6、7、8”四種數(shù)據(jù)長度. 8.可以選擇為“1、1.5、2”三種停止位.(1.5停止位需要硬件支持) 8.第9位數(shù)據(jù)可以選擇為“無、奇校驗、偶校驗、1、0”四種方式. 9.可以選擇“無流控、軟流控、硬流控、自定義”四種流控方式. 10.串口設(shè)置和字符串操作等設(shè)置在程序關(guān)閉時自動保存,打開時自動載入. 11.可以在接收窗口按鍵即發(fā)送該鍵值. 12.可以在字符串輸入框輸入您想發(fā)送的字符串,并發(fā)送. 13.可以在字符串輸入框輸入您想發(fā)送的HEX數(shù)據(jù)串,數(shù)據(jù)的值從00到FF,沒有任何限制. 14.可以定時重復(fù)發(fā)送數(shù)據(jù),并可以設(shè)置發(fā)送時間間隔. 15.可以在發(fā)送字符串時選擇發(fā)送新行,即自動加上回車換行. 16.可以顯示當(dāng)前串口的CTS、DSR、RLSL(CD)信號線的狀態(tài). 17.可以自由控制當(dāng)前串口的DTR、RTS信號線的輸出狀態(tài). 18.可以打開一個文本文件或者一個二進(jìn)制文件預(yù)覽其內(nèi)容,查看方式可以是文本或者HEX方式. 19.可以打開一個文本文件或者一個二進(jìn)制文件并以當(dāng)前波特率發(fā)送到串口. 20.可以保存窗口內(nèi)容到一個文本文件,文件名取自當(dāng)前時間,保存在當(dāng)前目錄. 21.可以即時顯示發(fā)送的字節(jié)數(shù)和接收到的字節(jié)數(shù),按清除窗口將會清零. 22.帶有功能強大的擴(kuò)展功能:多條字符串發(fā)送定義和網(wǎng)上查找串口資料等. 23.可以定義最多32條預(yù)備發(fā)送的字符串,每條字符串可以定義為HEX數(shù)據(jù)串或者字符串方式.在每一條數(shù)據(jù)的左邊打勾就表示這是一條hex數(shù)據(jù)串. 24.點擊字符串右邊的標(biāo)號即可以發(fā)送這條定義好的字符串. 25.可以設(shè)置為循環(huán)發(fā)送你定義過的多條字符串,并且可以設(shè)置發(fā)送時間間隔. 26.在串口資料欄您可以從mcu51網(wǎng)站或者Google查找有關(guān)串口技術(shù)資料. 27.在串口資料欄您可以進(jìn)入技術(shù)討論bbs,在此發(fā)表您的高見或者提出您的問題和需求. 28.在產(chǎn)品信息欄您可以獲得現(xiàn)時最新的產(chǎn)品信息. 29.這是個綠色軟件,單個文件即可執(zhí)行,不會給您的機器增加任何負(fù)擔(dān). 此版本使用C++Builder編寫,相對于上一版本SSCOM2.0,主要改進(jìn)在: 1.程序更穩(wěn)定可靠,修改了一些報錯信息.使用更加人性化。 2.修改了避免顯示漢字亂碼的算法,快了許多. 3.hex數(shù)據(jù)輸入的錯誤兼容性. 4.發(fā)送字符串可以加發(fā)回車換行. 5.可以保存窗口內(nèi)容到文件. 6.發(fā)送和接收的字符數(shù)統(tǒng)計更準(zhǔn)確. 7.不再接收到一定數(shù)量字符數(shù)就清屏,因為發(fā)現(xiàn)即使收到很多內(nèi)容也不會溢出,速度仍然很快. 8,可以打開二進(jìn)制文件并發(fā)送,從前只能發(fā)文本文件. 9.打開文件后可以用asc方式或者h(yuǎn)ex方式預(yù)覽文件中前4K內(nèi)容. 10.發(fā)送文件前告訴操作者需要發(fā)送多少時間.免得久等. 11.新增功能強大的擴(kuò)展功能,多達(dá)32條自定義字符串操作,程序關(guān)閉時這些字符串會自動保存,下次開機時再載入,每條可以定義為HEX數(shù)據(jù)串或者ASC字符串,按后邊的數(shù)字按鈕可以發(fā)送.也可以自動循環(huán)發(fā)送定義過的字符串. 12.新增串口設(shè)置自動保存. 13.加入了網(wǎng)絡(luò)支持功能,用戶很方便討論問題和找到技術(shù)支持.
標(biāo)簽: SSCOMV 3.0 串口調(diào)試 軟件
上傳時間: 2013-10-26
上傳用戶:448949
介紹了一種基于高性能51 內(nèi)核網(wǎng)絡(luò)微控制器的串口至以太網(wǎng)接口轉(zhuǎn)換器的設(shè)計方案,采用網(wǎng)絡(luò)單片機DS80C410,利用集成的MAC 通過以太網(wǎng)收發(fā)器與以太網(wǎng)相連,借助TINI SDK 軟件開發(fā)包通過Java編程實現(xiàn)串口和以太網(wǎng)之間的數(shù)據(jù)通訊。串口至以太網(wǎng)接口轉(zhuǎn)換器使得帶有RS232/422/485 通訊接口的設(shè)備和以太網(wǎng)服務(wù)器進(jìn)行數(shù)據(jù)流傳輸,通過以太網(wǎng)服務(wù)器對串口設(shè)備進(jìn)行實時監(jiān)控。互聯(lián)網(wǎng)硬件和軟件的迅猛發(fā)展,使得各種電氣設(shè)備、儀器儀表以及生產(chǎn)過程中的數(shù)據(jù)采集與控制設(shè)備逐漸走向網(wǎng)絡(luò)化。計算機技術(shù)、測控技術(shù)、網(wǎng)絡(luò)與通訊技術(shù)不斷發(fā)展與融合是一個必然的趨勢。目前以太網(wǎng)已經(jīng)廣泛應(yīng)用于計算機網(wǎng)絡(luò),成為互聯(lián)網(wǎng)鏈接不可缺少的部分,另外以太網(wǎng)一般都基于TCP/IP協(xié)議,使得整個網(wǎng)絡(luò)只有一種互聯(lián)通訊協(xié)議,滿足控制系統(tǒng)各個層次的要求,而且易于和Internet實現(xiàn)無縫連接。現(xiàn)今大多數(shù)現(xiàn)場設(shè)備通過串口與外界通訊,甚至串口是它們與外界通訊的唯一通道,串口設(shè)備的廣泛使用以及對設(shè)備上網(wǎng)能力的不斷需求,使得如何實現(xiàn)串口到以太網(wǎng)的轉(zhuǎn)換顯得尤為重要。DS80C410利用集成的MAC通過物理層器件與以太網(wǎng)相連,借助TINI SDK軟件開發(fā)包可以輕松實現(xiàn)串口至以太網(wǎng)的接口轉(zhuǎn)換。
上傳時間: 2013-10-20
上傳用戶:a296386173
PC機之間串口通信的實現(xiàn)一、實驗?zāi)康?nbsp;1.熟悉微機接口實驗裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會串行通信程序的編制方法。 二、實驗內(nèi)容與要求 1.基本要求主機接收開關(guān)量輸入的數(shù)據(jù)(二進(jìn)制或十六進(jìn)制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時乒乓開關(guān)的狀態(tài)讀入計算機I中,并顯示出來,同時顯示經(jīng)串行通訊后,計算機II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進(jìn)行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發(fā)送方確認(rèn)來保證發(fā)送和接收正確。 三、設(shè)計報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時,必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來的對CPU請求發(fā)送信號的響應(yīng)信號。然后就開始發(fā)送過程。在發(fā)送時,每當(dāng)CPU送往發(fā)送緩沖器一個字符,發(fā)送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時指定的波特率因子,為發(fā)送器時鐘頻率的1、1/16或1/64。當(dāng)波特率指定為16時,數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準(zhǔn)備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動接收控制電路中的一個計數(shù)器來進(jìn)行計數(shù),計數(shù)器的頻率等于接收器時鐘頻率。計數(shù)器是作為接收器采樣定時,當(dāng)計數(shù)到相當(dāng)于半個數(shù)位的傳輸時間時再次對RxD端進(jìn)行采樣,如果仍為低電平,則確認(rèn)該數(shù)位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數(shù)8個時鐘后采樣到低電平。之后,8251A每隔一個數(shù)位的傳輸時間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進(jìn)入接收移位寄存器,通過校驗并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經(jīng)收到一個有效的數(shù)據(jù)。一個字符對應(yīng)的數(shù)據(jù)可以是5~8位。如果一個字符對應(yīng)的數(shù)據(jù)不到8位,8251A會在移位轉(zhuǎn)換成并行數(shù)據(jù)的時候,自動把他們的高位補成0。 五、系統(tǒng)總體設(shè)計方案根據(jù)系統(tǒng)設(shè)計的要求,對系統(tǒng)設(shè)計的總體方案進(jìn)行論證分析如下:1.獲取8位開關(guān)量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時,雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個時鐘來實現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設(shè)計中使用實驗臺上的8253芯片的計數(shù)器2來實現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實現(xiàn)。設(shè)計思路框圖,如下圖所示: 六、硬件設(shè)計硬件電路主要分為8位開關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個部分。1.8位開關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關(guān)的數(shù)據(jù)。此次設(shè)計在獲取8位開關(guān)數(shù)據(jù)量時采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實驗臺上CS1口,對應(yīng)端口為280H-283H,PA0-PA7接8個開關(guān)。2.串行通信電路串行通信電路本設(shè)計中8253主要為8251充當(dāng)頻率發(fā)生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車?yán)怖怖?/p>
掌握先進(jìn)微處理器芯片結(jié)構(gòu)、微型計算機實現(xiàn)技術(shù)、計算機主板構(gòu)成、各種接口技術(shù)原理及其應(yīng)用編程方法;掌握匯編語言程序的編寫方法,尤其掌握接口訪問的方法。了解微機技術(shù)新的發(fā)展趨勢,系統(tǒng)科學(xué)地獲得分析問題和解決問題的訓(xùn)練;提高分析和設(shè)計接口的能力。不僅要學(xué)習(xí)微機各種接口電路的原理與作用,熟悉PC系列機接口電路,而且還要掌握常用接口的設(shè)計與分析方法,學(xué)會使用匯編語言和C語言對接口進(jìn)行編程,并具有一定的動手實驗?zāi)芰徒涌趹?yīng)用程序的編寫能力,為微機的深入應(yīng)用和嵌入式系統(tǒng)SOC設(shè)計等的學(xué)習(xí)與實踐打下良好基礎(chǔ)。同時有興趣的同學(xué)自學(xué)Windows 2000/XP驅(qū)動程序的編寫方法。一定要下載和打印或復(fù)印電子講義,課堂上注意聽講并及時記錄教師課堂上補充的內(nèi)容,認(rèn)真獨立完成作業(yè),做好課程實驗和自修實驗、做好課前預(yù)習(xí)和課后復(fù)習(xí)。1)抓住IBM PC/XT機基本結(jié)構(gòu)這條主線,分析其基本結(jié)構(gòu),掌握各接口電路及可編程接口芯片的應(yīng)用。2)進(jìn)一步擴(kuò)展和延伸CPU—從8086~Core 2 Duo,從實模式~保護(hù)模式;匯編語言-CPU及接口直接控制,16位~32位匯編;總線—PCI,USB等; 中斷—從實模式下的中斷向量~保護(hù)模式下的中斷描述符;從傳統(tǒng)中斷~PCI中斷~串行中斷 芯片組—從中大規(guī)模集成電路(8237、8254、8255、8259等)~ 超大規(guī)模集成電路(82815EP、82801BA)。第1章—CPU與整機:CPU的信號與工作模式、PC結(jié)構(gòu)第11章--軟件如何控制CPU和接口:指令系統(tǒng)和匯編編程(在教師講授重點的基礎(chǔ)上,通過預(yù)習(xí)、實驗與練習(xí)自學(xué)) 第2章--CPU如何與MEM或I/O設(shè)備通信:I/O接口與譯碼 第3章--總線如何工作:總線標(biāo)準(zhǔn)(PCI、USB) 第4章--I/O接口直接和MEM通信:DMA(8237,全自學(xué)) 第5章--I/O接口如何主動與CPU通信:中斷技術(shù)(8259) 第6章--I/O接口的定時與計數(shù)功能:(8254) 第7章--I/O接口的并行通信:8255與打印機接口標(biāo)準(zhǔn) 第8章--I/O接口的串行通信:串行通信協(xié)議與8250 第10章--I/O軟接口技術(shù):保護(hù)模式存儲,WDM驅(qū)動程序編寫(全自學(xué))
標(biāo)簽: 現(xiàn)代微機原理 接口技術(shù)
上傳時間: 2014-01-21
上傳用戶:徐孺
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現(xiàn)編程的讀,寫,擦等細(xì)節(jié)//AT89C2051的特殊處:給XTAL一個脈沖,地址計數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#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()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ 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)//轉(zhuǎn)換并設(shè)置P0口的數(shù)據(jù){ 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);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 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();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 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)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //寫一個單元 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)//效驗:循環(huán)讀,直到讀出與寫入的數(shù)相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //讀一個單元 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();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 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()//設(shè)置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ 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
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1