PC機(jī)之間串口通信的實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?nbsp;1.熟悉微機(jī)接口實(shí)驗(yàn)裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學(xué)會(huì)串行通信程序的編制方法。 二、實(shí)驗(yàn)內(nèi)容與要求 1.基本要求主機(jī)接收開關(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)將此時(shí)乒乓開關(guān)的狀態(tài)讀入計(jì)算機(jī)I中,并顯示出來,同時(shí)顯示經(jīng)串行通訊后,計(jì)算機(jī)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)行出錯(cuò)處理,例如采用奇偶校驗(yàn),出錯(cuò)重傳或者采用接收方回傳和發(fā)送方確認(rèn)來保證發(fā)送和接收正確。 三、設(shè)計(jì)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時(shí),必須首先設(shè)置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號(hào),是命令寄存器中的一位;CTS#(Clear To Send)是由外設(shè)發(fā)來的對(duì)CPU請(qǐng)求發(fā)送信號(hào)的響應(yīng)信號(hào)。然后就開始發(fā)送過程。在發(fā)送時(shí),每當(dāng)CPU送往發(fā)送緩沖器一個(gè)字符,發(fā)送器自動(dòng)為這個(gè)字符加上1個(gè)起始位,并且按照編程要求加上奇/偶校驗(yàn)位以及1個(gè)、1.5個(gè)或者2個(gè)停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗(yàn)位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時(shí)鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時(shí)鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時(shí)指定的波特率因子,為發(fā)送器時(shí)鐘頻率的1、1/16或1/64。當(dāng)波特率指定為16時(shí),數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時(shí)鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設(shè)備。在8251A接收字符時(shí),命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測(cè)RxD引腳上的低電平來準(zhǔn)備接收字符,在沒有字符傳送時(shí)RxD端為高電平。8251A不斷地檢測(cè)RxD引腳,從RxD端上檢測(cè)到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動(dòng)接收控制電路中的一個(gè)計(jì)數(shù)器來進(jìn)行計(jì)數(shù),計(jì)數(shù)器的頻率等于接收器時(shí)鐘頻率。計(jì)數(shù)器是作為接收器采樣定時(shí),當(dāng)計(jì)數(shù)到相當(dāng)于半個(gè)數(shù)位的傳輸時(shí)間時(shí)再次對(duì)RxD端進(jìn)行采樣,如果仍為低電平,則確認(rèn)該數(shù)位是一個(gè)有效的起始位。若傳輸一個(gè)字符需要16個(gè)時(shí)鐘,那么就是要在計(jì)數(shù)8個(gè)時(shí)鐘后采樣到低電平。之后,8251A每隔一個(gè)數(shù)位的傳輸時(shí)間對(duì)RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進(jìn)入接收移位寄存器,通過校驗(yàn)并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時(shí)發(fā)出有效狀態(tài)的RxRDY信號(hào)通知CPU,通知CPU8251A已經(jīng)收到一個(gè)有效的數(shù)據(jù)。一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)可以是5~8位。如果一個(gè)字符對(duì)應(yīng)的數(shù)據(jù)不到8位,8251A會(huì)在移位轉(zhuǎn)換成并行數(shù)據(jù)的時(shí)候,自動(dòng)把他們的高位補(bǔ)成0。 五、系統(tǒng)總體設(shè)計(jì)方案根據(jù)系統(tǒng)設(shè)計(jì)的要求,對(duì)系統(tǒng)設(shè)計(jì)的總體方案進(jìn)行論證分析如下:1.獲取8位開關(guān)量可使用實(shí)驗(yàn)臺(tái)上的8255A可編程并行接口芯片,因?yàn)橹灰@取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實(shí)驗(yàn)臺(tái)上的8位開關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時(shí),雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個(gè)時(shí)鐘來實(shí)現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計(jì)算機(jī)之間的通信只采用異步通信。3.由于8251A本身沒有時(shí)鐘,需要外部提供,所以本設(shè)計(jì)中使用實(shí)驗(yàn)臺(tái)上的8253芯片的計(jì)數(shù)器2來實(shí)現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實(shí)現(xiàn)。設(shè)計(jì)思路框圖,如下圖所示: 六、硬件設(shè)計(jì)硬件電路主要分為8位開關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個(gè)部分。1.8位開關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關(guān)的數(shù)據(jù)。此次設(shè)計(jì)在獲取8位開關(guān)數(shù)據(jù)量時(shí)采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實(shí)驗(yàn)臺(tái)上CS1口,對(duì)應(yīng)端口為280H-283H,PA0-PA7接8個(gè)開關(guān)。2.串行通信電路串行通信電路本設(shè)計(jì)中8253主要為8251充當(dāng)頻率發(fā)生器,接線如下圖所示。
上傳時(shí)間: 2013-12-19
上傳用戶:小火車?yán)怖怖?/p>
DSP中輸入信號(hào)的生成過程。 conio.cpp實(shí)現(xiàn)X(n)信號(hào),其中有兩個(gè)頻率分量的正弦信號(hào)(正弦計(jì)算由sinwn.cpp實(shí)現(xiàn)),頻率可變,這里取140Hz和70Hz。 考慮了高斯白噪聲,由gauss.cpp實(shí)現(xiàn)。 最后該信號(hào)共產(chǎn)生2000個(gè)點(diǎn),最后的信號(hào)點(diǎn)存儲(chǔ)于 “x.txt”文本中。
標(biāo)簽: conio DSP cpp 輸入信號(hào)
上傳時(shí)間: 2014-09-03
上傳用戶:tianyi223
N個(gè)源碼,都是C文件或C++源文件。 此文件高壓縮。解壓時(shí)間可能長(zhǎng)一些。 申請(qǐng)加下載限額。 主頁(yè):http://www.programsalon.com/developer.asp?id=victor000000 郵箱:victor000000@tom.com
標(biāo)簽: 源碼
上傳時(shí)間: 2013-12-21
上傳用戶:stewart·
現(xiàn)有一個(gè)信號(hào):x(n)=1+cos(π*n/4)+ cos(2*π*n/3)設(shè)計(jì)及各種數(shù)字濾波器以達(dá)下列目的: 低通濾波器,濾除cos(2*π*n/3) 的成分,即想保留的成分為1+cos(π*n/4) 高通濾波器,濾除1+cos(π*n/4) 的成分,即想保留的成分為cos(2*π*n/3) 帶通濾波器,濾除1+cos(2*π*n/3) 的成分,即想保留的成分為cos(π*n/4) 帶阻濾波器,濾除cos(π*n/4) 的成分,即想保留的成分為1+cos(2*π*n/3) 1. 用MATLAB命令butterord求除濾波器的階數(shù),用命令butter設(shè)計(jì)各濾波器;畫出濾波器幅度和相頻相應(yīng) 取各濾波器的系統(tǒng)函數(shù)H(z)。
標(biāo)簽: cos 信號(hào) 低通濾波器 數(shù)字濾波器
上傳時(shí)間: 2013-12-28
上傳用戶:daoxiang126
本程序用C語言實(shí)現(xiàn)了集成神經(jīng)網(wǎng)絡(luò)解決廣義異或問題。用神經(jīng)網(wǎng)絡(luò)集成方法做成表決網(wǎng),可克服初始權(quán)值的影響,對(duì)神經(jīng)網(wǎng)絡(luò)分類器來說:假設(shè)有N個(gè)獨(dú)立的子網(wǎng),采用絕對(duì)多數(shù)投票法,再假設(shè)每個(gè)子網(wǎng)以1-p的概率給出正確結(jié)果,且網(wǎng)絡(luò)之間的錯(cuò)誤不相關(guān),則表決系統(tǒng)發(fā)生錯(cuò)誤的概率為 Perr = ( ) pk(1-p)N-k 當(dāng)p<1/2時(shí) Perr 隨N增大而單調(diào)遞減. 在工程化設(shè)計(jì)中,先設(shè)計(jì)并訓(xùn)練數(shù)目較多的子網(wǎng),然后從中選取少量最佳子網(wǎng)形成表決系統(tǒng),可以達(dá)到任意高的泛化能力。
標(biāo)簽: 神經(jīng)網(wǎng)絡(luò) 子網(wǎng) 程序 C語言
上傳時(shí)間: 2015-05-03
上傳用戶:kiklkook
最小平方近似法 (least-squares approximation) 是用來求出一組離散 (discrete) 數(shù)據(jù)點(diǎn)的近似函數(shù) (approximating function),作實(shí)驗(yàn)所得的數(shù)據(jù)亦常使用最小平方近似法來達(dá)成曲線密合 (curve fitting)。以下所介紹的最小平方近似法是使用多項(xiàng)式作為近似函數(shù),除了多項(xiàng)式之外,指數(shù)、對(duì)數(shù)方程式亦可作為近似函數(shù)。關(guān)於最小平方近似法的計(jì)算原理,請(qǐng)參閱市面上的數(shù)值分析書籍
標(biāo)簽: least-squares approximation approximating discrete
上傳時(shí)間: 2015-06-21
上傳用戶:SimonQQ
全班有N(2<=N<=45)個(gè)人排成一排,但因?yàn)楦甙积R,需要進(jìn)行調(diào)整。調(diào)整的方法是,不調(diào)換左右次序,只讓若干人后退一步變?yōu)榈?排,使第一排留下的人從左到右的身高按降序排列,即右邊的人不比左邊的人高。如果第2排的人還不按降序排列,則照此辦理,即再讓第2排的若干人后退一步變?yōu)榈?排,這樣繼續(xù)下去,直到所有排的人都按身高從高到低排列。 調(diào)整中,你需要找出一種使第一排留下的人數(shù)盡可能多的調(diào)整方法,第二排若需要繼續(xù)調(diào)整,則也應(yīng)使第二排留下的人數(shù)盡可能多,余類推。
上傳時(shí)間: 2015-06-29
上傳用戶:zhenyushaw
求前N個(gè)自然數(shù)的全排列的程序源代碼。短小精悍,效率高。
上傳時(shí)間: 2014-01-17
上傳用戶:徐孺
該文件是產(chǎn)生兩組隨即的高斯分布系列,均值為0,均方差為N/2
上傳時(shí)間: 2015-09-17
上傳用戶:qunquan
學(xué)生成績(jī)管理 假設(shè)有一個(gè)班級(jí)的學(xué)生n人,期末考試?yán)蠋熞獙?duì)成績(jī)從高到低列出,并對(duì)各科的考試成績(jī)求出其最高分、最低分和平均成績(jī)?,F(xiàn)在設(shè)計(jì)一個(gè)成績(jī)管理程序,能夠?qū)崿F(xiàn)以下的功能: (1)對(duì)某門科目的成績(jī)進(jìn)行排序并顯示輸出; (2)求出每門科目的最高分、最低分和平均分的信息; 學(xué)生成績(jī)的數(shù)據(jù)用結(jié)構(gòu)數(shù)組表示,包括:學(xué)號(hào)、姓名、三門科目的考試成績(jī),其結(jié)構(gòu)格式如下: 學(xué)號(hào) 姓名 語文 數(shù)學(xué) 外語 C++ int num char name[10] int score[4]
標(biāo)簽:
上傳時(shí)間: 2015-10-24
上傳用戶:Thuan
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1