一、實(shí)驗(yàn)?zāi)康模保莆斩〞r(shí)/計(jì)數(shù)器、輸入/輸出接口電路設(shè)計(jì)方法。 2.掌握中斷控制編程技術(shù)的方法和應(yīng)用。3.掌握8086匯編語(yǔ)言程序設(shè)計(jì)方法。 二、實(shí)驗(yàn)內(nèi)容與要求 微機(jī)燈光控制系統(tǒng)主要用于娛樂(lè)場(chǎng)所的彩燈控制。系統(tǒng)的彩燈共有12組,在實(shí)驗(yàn)時(shí)用12個(gè)發(fā)光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個(gè)燈依次點(diǎn)亮;12個(gè)燈同時(shí)閃爍等八種。系統(tǒng)可以通過(guò)鍵盤(pán)和顯示屏的人機(jī)對(duì)話(huà),將8種模式進(jìn)行任意個(gè)數(shù)、任意次序的連接組合。系統(tǒng)不斷重復(fù)執(zhí)行輸入的模式組合,直至鍵盤(pán)有任意一個(gè)鍵按下,退出燈光控制系統(tǒng),返回DOS系統(tǒng)。2. 提高要求:音樂(lè)彩燈控制系統(tǒng),根據(jù)音樂(lè)的變化控制彩燈的變化,主要有以下幾種:第一種為音樂(lè)節(jié)奏控制彩燈,按音樂(lè)的節(jié)拍變換彩燈花樣。第二種音律的強(qiáng)弱(信號(hào)幅度大小)控制彩燈。強(qiáng)音時(shí),燈的亮度加大,且被點(diǎn)亮的數(shù)目增多。第三種按音調(diào)高低(信號(hào)頻率高低)控制彩燈。低音時(shí),某一部分燈點(diǎn)亮;高音時(shí),另一部分點(diǎn)亮。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線(xiàn)圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、設(shè)計(jì)原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設(shè)有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個(gè)點(diǎn)亮。其控制過(guò)程如下: 若以“ 1 ”代表霓虹燈點(diǎn)亮,以“ 0 ”代表霓虹燈熄滅,則開(kāi)始時(shí)刻, n 段霓虹燈的控制信號(hào)均為“ 0 ”,隨后,控制器將一幀 n 個(gè)數(shù)據(jù)送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對(duì)應(yīng)的控制數(shù)據(jù)為“ 1 ”,其余的數(shù)據(jù)均為零,即 1000 … 000 。當(dāng) n 個(gè)數(shù)據(jù)送完以后,控制器停止送數(shù),保留這種狀態(tài)(定時(shí)) 0.2 秒,此時(shí),第 1 段霓虹燈被點(diǎn)亮,其余霓虹燈熄滅。隨后,控制器又在極短的時(shí)間內(nèi)將數(shù)據(jù) 1100 … 000 送至霓虹燈的控制端,并定時(shí) 0.2 秒,這段時(shí)間,前兩段霓虹燈被點(diǎn)亮。由于送數(shù)據(jù)的過(guò)程很快,我們觀測(cè)到的效果是第一段霓虹燈被點(diǎn)亮 0.2 秒后,第 2 段霓虹燈接著被點(diǎn)亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數(shù)據(jù) 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點(diǎn)亮。 只要改變送至每段霓虹燈的數(shù)據(jù),即可改變霓虹燈的顯示方式,顯然,我們可以通過(guò)合理地組合數(shù)據(jù)(編程)來(lái)得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統(tǒng)設(shè)計(jì)思路如下:1) 采集8位開(kāi)關(guān)輸入信號(hào),若輸入數(shù)據(jù)為0時(shí),將其修改為1。確定輸入的硬件接口電路。采樣輸入開(kāi)關(guān)量,并存入NUM的軟件程序段。2) 以12個(gè)燈依次點(diǎn)亮為例(即燈光控制模式M1),考慮與其相應(yīng)的燈光顯示代碼數(shù)據(jù)。確定顯示代碼數(shù)據(jù)輸出的接口電路。輸出一個(gè)同期顯示代碼的軟件程序段(暫不考慮時(shí)隙的延時(shí)要求)。3) 應(yīng)用定時(shí)中斷服務(wù)和NUM數(shù)據(jù),實(shí)現(xiàn)t=N×50ms的方法。4) 實(shí)現(xiàn)某一種模式燈光顯示控制中12個(gè)時(shí)隙一個(gè)周期,共重復(fù)四次的控制方法。要求在初始化時(shí)采樣開(kāi)關(guān)輸入數(shù)據(jù)NUM,并以此控制每一時(shí)隙的延時(shí)時(shí)間;在每一時(shí)隙結(jié)束時(shí),檢查有無(wú)鍵按下,若是退出鍵按下,則結(jié)束燈光控制,返回DOS系統(tǒng),若是其他鍵就返回主菜單,重新輸入控制模式數(shù)據(jù)。5) 通過(guò)人機(jī)對(duì)話(huà),輸入8種燈光顯示控制模式的任意個(gè)數(shù)、任意次序連接組合的控制模式數(shù)據(jù)串(以ENTER鍵結(jié)尾)。對(duì)輸入的數(shù)據(jù)進(jìn)行檢查,若數(shù)據(jù)都在1 - 8之間,則存入INBUF;若有錯(cuò)誤,則通過(guò)屏幕顯示輸入錯(cuò)誤,準(zhǔn)備重新輸入燈光顯示控制模式數(shù)據(jù)。6) 依次讀取INBUF中的控制模式數(shù)據(jù)進(jìn)行不同模式的燈光顯示控制,在沒(méi)有任意鍵按下的情況下,系統(tǒng)從第一個(gè)控制模式數(shù)據(jù)開(kāi)始,順序工作到最后一個(gè)控制模式數(shù)據(jù)后,又返回到第一個(gè)控制模式數(shù)據(jù),不斷重復(fù)循環(huán)進(jìn)行燈光顯示控制。7) 本系統(tǒng)的軟件在總體上有兩部份,即主程序(MAIN)和實(shí)時(shí)中斷服務(wù)程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設(shè)計(jì)方法。即確定有關(guān)功能模塊,并畫(huà)出以功能模塊表示的主程序(MAIN)流程框圖和定時(shí)中斷服務(wù)程序的流程框圖。 六、硬件電路設(shè)計(jì) 以微機(jī)實(shí)驗(yàn)平臺(tái)和PC機(jī)資源為硬件設(shè)計(jì)的基礎(chǔ),不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負(fù)責(zé)數(shù)據(jù)的輸入與輸出,可以輸出數(shù)據(jù)控制發(fā)光二極管的亮滅和讀取乒乓開(kāi)關(guān)的數(shù)據(jù)。實(shí)驗(yàn)時(shí)可以將8255的A口、B口和一組發(fā)光二極管相連,C口和乒乓開(kāi)關(guān)相連。2.8253定時(shí)/計(jì)數(shù)器8253定時(shí)/計(jì)數(shù)器和8259中斷控制器一起實(shí)現(xiàn)時(shí)隙定時(shí)。本設(shè)計(jì)的定時(shí)就是采用的t=N×50ms的方法,50ms由8253定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器0控制定時(shí),N是在中斷服務(wù)程序中軟件計(jì)時(shí)。8253的OUT0接到IRQ2,產(chǎn)生中斷請(qǐng)求信號(hào)。8253定時(shí)/計(jì)數(shù)器定時(shí)結(jié)束會(huì)發(fā)出中斷信號(hào),進(jìn)入中斷服務(wù)程序。3.PC機(jī)資源本設(shè)計(jì)除了利用PC機(jī)作為控制器之外,還利用了PC機(jī)的鍵盤(pán)和顯示器。鍵盤(pán)主要是輸入控制模式數(shù)據(jù),顯示器就是顯示提示信息。 七、軟件設(shè)計(jì) 軟件主要分為主程序(MAIN)和中斷服務(wù)程序(INTT),主程序包含系統(tǒng)初始化、讀取乒乓開(kāi)關(guān)、讀取控制模式數(shù)據(jù)以及按鍵處理等模塊。中斷服務(wù)程序主要是定時(shí)時(shí)間到后根據(jù)控制模式數(shù)據(jù)點(diǎn)亮相應(yīng)的發(fā)光二極管。1.主程序主程序的程序流程圖如圖1所示。
上傳時(shí)間: 2014-04-05
上傳用戶(hù):q986086481
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ī)接收開(kāi)關(guān)量輸入的數(shù)據(jù)(二進(jìn)制或十六進(jìn)制),從鍵盤(pán)上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過(guò)8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說(shuō)明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過(guò)調(diào)整乒乓開(kāi)關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤(pán)上按“R”鍵,系統(tǒng)將此時(shí)乒乓開(kāi)關(guān)的狀態(tài)讀入計(jì)算機(jī)I中,并顯示出來(lái),同時(shí)顯示經(jīng)串行通訊后,計(jì)算機(jī)II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶(hù)需要,在鍵盤(pán)按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤(pán)按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進(jìn)行出錯(cuò)處理,例如采用奇偶校驗(yàn),出錯(cuò)重傳或者采用接收方回傳和發(fā)送方確認(rèn)來(lái)保證發(fā)送和接收正確。 三、設(shè)計(jì)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線(xiàn)圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱(chēng)為“通用異步收發(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ā)來(lái)的對(duì)CPU請(qǐng)求發(fā)送信號(hào)的響應(yīng)信號(hào)。然后就開(kāi)始發(fā)送過(guò)程。在發(fā)送時(shí),每當(dāng)CPU送往發(fā)送緩沖器一個(gè)字符,發(fā)送器自動(dòng)為這個(gè)字符加上1個(gè)起始位,并且按照編程要求加上奇/偶校驗(yàn)位以及1個(gè)、1.5個(gè)或者2個(gè)停止位。串行數(shù)據(jù)以起始位開(kāi)始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗(yàn)位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時(shí)鐘TXC的下降沿同步的,也就是說(shuō)這些數(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通過(guò)數(shù)據(jù)總線(xiàn)將數(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通過(guò)檢測(cè)RxD引腳上的低電平來(lái)準(zhǔn)備接收字符,在沒(méi)有字符傳送時(shí)RxD端為高電平。8251A不斷地檢測(cè)RxD引腳,從RxD端上檢測(cè)到低電平以后,便認(rèn)為是串行數(shù)據(jù)的起始位,并且啟動(dòng)接收控制電路中的一個(gè)計(jì)數(shù)器來(lái)進(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)入接收移位寄存器,通過(guò)校驗(yàn)并除去停止位,變成并行數(shù)據(jù)以后通過(guò)內(nèi)部數(shù)據(jù)總線(xiàn)送入接收緩沖器,此時(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位開(kāi)關(guān)量可使用實(shí)驗(yàn)臺(tái)上的8255A可編程并行接口芯片,因?yàn)橹灰@取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線(xiàn),所以將8255A工作在方式0,PA0-PA7接實(shí)驗(yàn)臺(tái)上的8位開(kāi)關(guān)量。2.當(dāng)使用串口進(jìn)行數(shù)據(jù)傳送時(shí),雖然同步通信速度遠(yuǎn)遠(yuǎn)高于異步通信,可達(dá)500kbit/s,但由于其需要有一個(gè)時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復(fù)雜,通常計(jì)算機(jī)之間的通信只采用異步通信。3.由于8251A本身沒(méi)有時(shí)鐘,需要外部提供,所以本設(shè)計(jì)中使用實(shí)驗(yàn)臺(tái)上的8253芯片的計(jì)數(shù)器2來(lái)實(shí)現(xiàn)。4:顯示和鍵盤(pán)輸入均使用DOS功能調(diào)用來(lái)實(shí)現(xiàn)。設(shè)計(jì)思路框圖,如下圖所示: 六、硬件設(shè)計(jì)硬件電路主要分為8位開(kāi)關(guān)量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個(gè)部分。1.8位開(kāi)關(guān)量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開(kāi)關(guān)的數(shù)據(jù)。此次設(shè)計(jì)在獲取8位開(kāi)關(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è)開(kāi)關(guān)。2.串行通信電路串行通信電路本設(shè)計(jì)中8253主要為8251充當(dāng)頻率發(fā)生器,接線(xiàn)如下圖所示。
上傳時(shí)間: 2013-12-19
上傳用戶(hù):小火車(chē)?yán)怖怖?/p>
交通燈控制器的設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解交通燈管理的基本工作原理。2. 熟悉8253計(jì)數(shù)器/定時(shí)器、8259A中斷控制器和8255A并行接口的工作方式及應(yīng)用編程。3. 掌握多位LED顯示的方法。 二、 實(shí)驗(yàn)內(nèi)容與要求設(shè)計(jì)一個(gè)用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續(xù)時(shí)間分別為25s,5s,20s。2) 當(dāng)有緊急情況(如消防車(chē))時(shí),兩個(gè)方向均為紅燈亮,計(jì)時(shí)停止,當(dāng)特殊情況結(jié)束后,控制器恢復(fù)原來(lái)狀態(tài),正常工作。3) 一組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的時(shí)間。2.提高部分:1) 實(shí)時(shí)修改交通燈的持續(xù)時(shí)間。2) 根據(jù)不同時(shí)段對(duì)主要交通方向的信號(hào)進(jìn)行調(diào)整。3) 可以使用LCD顯示提示信息。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線(xiàn)圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單 5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、總體設(shè)計(jì)交通燈的工作過(guò)程如下:設(shè)十字路口的1、3為南,北方向,2、4為東西方向,初始態(tài)為4個(gè)路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車(chē),2個(gè)路口的LED數(shù)碼管開(kāi)始倒計(jì)時(shí)25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開(kāi)始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時(shí)2、4路口的綠燈亮,2、4路口方向開(kāi)始通車(chē),2個(gè)路口的LED數(shù)碼管重新開(kāi)始倒計(jì)時(shí)25秒。延遲20秒時(shí)間后,2、4路口的綠燈熄滅,而黃燈開(kāi)始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過(guò)程。當(dāng)有緊急情況時(shí),2個(gè)方向都紅燈亮,倒計(jì)時(shí)停止,車(chē)輛禁止通行,當(dāng)緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。 在設(shè)計(jì)中采用6個(gè)發(fā)光二極管來(lái)模擬2個(gè)路口的黃紅綠燈,每個(gè)路口用2個(gè)數(shù)碼管來(lái)顯示通行或禁止剩余的時(shí)間。緊急情況用一個(gè)單脈沖發(fā)生單元申請(qǐng)中斷來(lái)模擬,緊急情況結(jié)束后,再發(fā)一個(gè)中斷來(lái)恢復(fù)以前的狀態(tài)。 根據(jù)前面的介紹,本設(shè)計(jì)硬件由定時(shí)模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時(shí)模塊采用硬件定時(shí)和軟件定時(shí)相結(jié)合的方法,用8253定時(shí)/計(jì)數(shù)器定時(shí)100ms,再用軟件計(jì)時(shí)實(shí)現(xiàn)所需的定時(shí)。發(fā)光二極管模塊由8255控制發(fā)光二極管來(lái)實(shí)現(xiàn)。數(shù)碼管顯示模塊由實(shí)驗(yàn)平臺(tái)上的LED顯示模塊實(shí)現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。 程序主要是由定時(shí)子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對(duì)8253、8255以及8259等可編程器件的編程。 五、硬件設(shè)計(jì) 本課題的設(shè)計(jì)可通過(guò)實(shí)驗(yàn)平臺(tái)上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶(hù)在使用時(shí)只要設(shè)計(jì)模塊間電路的連接,因此,硬件電路的設(shè)計(jì)及實(shí)現(xiàn)相對(duì)簡(jiǎn)單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由定時(shí)模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。 定時(shí)模塊是由8253的計(jì)數(shù)器0來(lái)實(shí)現(xiàn)定時(shí)100ms。Clk0接實(shí)驗(yàn)平臺(tái)分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來(lái)控制計(jì)數(shù)器的起停。OUT0接8259的IRQ2,定時(shí)完成申請(qǐng)中斷,進(jìn)入中斷服務(wù)程序。 發(fā)光二極管顯示模塊由8255輸出來(lái)控制發(fā)光二極管的亮滅。8255輸出為低電平時(shí),對(duì)應(yīng)的發(fā)光二極管就點(diǎn)亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對(duì)應(yīng)關(guān)系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈 實(shí)驗(yàn)平臺(tái)上提供一組六個(gè)LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號(hào)的輸出選通。本設(shè)計(jì)用4個(gè)數(shù)碼管來(lái)倒計(jì)時(shí)。 緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來(lái)請(qǐng)求中斷,然后做出緊急情況處理。
標(biāo)簽: 交通燈控制器
上傳時(shí)間: 2013-10-07
上傳用戶(hù):小小小熊
18-2. D/A轉(zhuǎn)換器基本知識(shí)18-3. 光導(dǎo)智能小車(chē)硬件實(shí)現(xiàn)18-4. ADC0832基本應(yīng)用方法18-5. 光導(dǎo)智能小車(chē)軟件實(shí)現(xiàn)A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)分辨率 使輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬電壓的變化量。常 用二進(jìn)制的位數(shù)表示。 例如:12位ADC的分辨率就是12位,一個(gè)10V滿(mǎn)刻度的12位ADC能分辨 輸入電壓變化最小是: 10V×1/212=2.4mV量化誤差 ADC把模擬量變?yōu)閿?shù)字量,用數(shù)字量近似表示模擬量,這個(gè)過(guò)程稱(chēng)為量化。量化誤差是ADC的有限位數(shù)對(duì)模擬量進(jìn)行量化而引起的誤差。A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)偏移誤差 指輸入信號(hào)為零時(shí),輸出信號(hào)不為零的值,所以有時(shí)又稱(chēng)為零值誤差。滿(mǎn)刻度誤差 滿(mǎn)刻度誤差又稱(chēng)為增益誤差。指滿(mǎn)刻度輸出數(shù)碼所對(duì)應(yīng)的實(shí)際輸入電壓與理想輸入電壓之差。線(xiàn)性度 線(xiàn)性度有時(shí)又稱(chēng)為非線(xiàn)性度,指轉(zhuǎn)換器實(shí)際的轉(zhuǎn)換特性與理想直線(xiàn)的最大偏差。A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)絕對(duì)精度 在一個(gè)轉(zhuǎn)換器中,任何數(shù)碼所對(duì)應(yīng)的實(shí)際模擬量輸入與理論模擬輸入之差的最大值,稱(chēng)為絕對(duì)精度。對(duì)于ADC而言,可以在每一個(gè)階梯的水平中點(diǎn)進(jìn)行測(cè)量,它包括了所有的誤差。轉(zhuǎn)換速率 指ADC能夠重復(fù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。而完成一次A/D轉(zhuǎn)換所需的時(shí)間(包括穩(wěn)定時(shí)間),則是轉(zhuǎn)換速率的倒數(shù)。
標(biāo)簽: 單片機(jī) 應(yīng)用接口
上傳時(shí)間: 2013-11-25
上傳用戶(hù):banlangen
14-2. 智能小車(chē)運(yùn)動(dòng)控制方式14-3. 聲控的實(shí)現(xiàn)方法利用聲音控制小車(chē)運(yùn)動(dòng)狀態(tài)要求:編程使小車(chē)原地旋轉(zhuǎn)(順時(shí)針轉(zhuǎn)5秒逆時(shí)針轉(zhuǎn)5秒,重復(fù)進(jìn)行),通過(guò)聲音檢測(cè)電路產(chǎn)生中斷使小車(chē)停止。范例分析:設(shè)計(jì)中首先要求控制小車(chē)按要求運(yùn)動(dòng),這包含以下內(nèi)容小車(chē)電機(jī)的驅(qū)動(dòng)方式——硬件電路1小車(chē)運(yùn)動(dòng)方式控制方法 其次要求采用聲音控制小車(chē)的運(yùn)動(dòng),這一過(guò)程包含以下內(nèi)容聲音檢測(cè)電路的工作原理——硬件電路2如何實(shí)現(xiàn)對(duì)小車(chē)的控制——程序設(shè)計(jì)思路
標(biāo)簽: 外部中斷 應(yīng)用程序 范例
上傳時(shí)間: 2014-04-16
上傳用戶(hù):xianglee
用C 語(yǔ)言來(lái)開(kāi)發(fā)單片機(jī)系統(tǒng)軟件最大的好處是編寫(xiě)代碼效率高、軟件調(diào)試直觀、維護(hù)升級(jí)方便、代碼的重復(fù)利用率高、便于跨平臺(tái)的代碼移植等等,因此C 語(yǔ)言編程在單片機(jī)系統(tǒng)設(shè)計(jì)中已得到越來(lái)越廣泛的運(yùn)用。針對(duì)PIC 單片機(jī)的軟件開(kāi)發(fā),同樣可以用C 語(yǔ)言實(shí)現(xiàn)。但在單片機(jī)上用C 語(yǔ)言寫(xiě)程序和在PC 機(jī)上寫(xiě)程序絕對(duì)不能簡(jiǎn)單等同。現(xiàn)在的PC 機(jī)資源十分豐富,運(yùn)算能力強(qiáng)大,因此程序員在寫(xiě)PC 機(jī)的應(yīng)用程序時(shí)幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運(yùn)行過(guò)程中需要占用多少系統(tǒng)資源,也基本不用擔(dān)心運(yùn)行效率有多高。寫(xiě)單片機(jī)的C 程序最關(guān)鍵的一點(diǎn)是單片機(jī)內(nèi)的資源非常有限,控制的實(shí)時(shí)性要求又很高,因此,如果沒(méi)有對(duì)單片機(jī)體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見(jiàn)認(rèn)為是無(wú)法寫(xiě)出高質(zhì)量實(shí)用的C 語(yǔ)言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實(shí)現(xiàn)的原因,希望籍此能使讀者對(duì)PIC 單片機(jī)的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來(lái)討論C 語(yǔ)言編程,就有水到渠成的感覺(jué)。本書(shū)圍繞中檔系列PIC 單片機(jī)來(lái)展開(kāi)討論,Microchip 公司自己沒(méi)有針對(duì)中低檔系列PIC單片機(jī)的C 語(yǔ)言編譯器,但很多專(zhuān)業(yè)的第三方公司有眾多支持PIC 單片機(jī)的C 語(yǔ)言編譯器提供,常見(jiàn)的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的工程師群體中得到廣泛認(rèn)可。其正式完全版軟件需要購(gòu)置,但在其網(wǎng)站上有限時(shí)的試用版供用戶(hù)評(píng)估。另外,Hitech 公司針對(duì)廣大PIC 的業(yè)余愛(ài)好者和初學(xué)者還提供了完全免費(fèi)的學(xué)習(xí)版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機(jī)型號(hào)限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機(jī)因其所具備的豐富的片上資源而最適用于單片機(jī)學(xué)習(xí)入門(mén),因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機(jī)的C 語(yǔ)言編程。
上傳時(shí)間: 2013-11-17
上傳用戶(hù):aa54
本文介紹使用AT89C2051 制作的一種發(fā)音電路, 各種聲音通過(guò)編程實(shí)現(xiàn), 靈活方便。原理圖如圖1 所示。圖1 發(fā)音電路原理該電路利用方波諧波成份豐富的特點(diǎn),編程采用計(jì)時(shí)器延遲法發(fā)音, 即每個(gè)音的半周期計(jì)時(shí)中斷一次, 而使輸出P110 (或其他IöO 口) 反相, 重復(fù)執(zhí)行產(chǎn)生某種頻率的信號(hào)。例如: 中音DO 的頻率為523Hz, 其周期為1912Ls, 半周期為956Ls, 若初始P110= 1, 經(jīng)956Ls 后應(yīng)使P110= 0, 再經(jīng)956Ls 恢復(fù)P110= 1, 這樣就可發(fā)出中音DO。
上傳時(shí)間: 2013-10-11
上傳用戶(hù):Altman
模塊化LED大屏幕顯示器的設(shè)計(jì):LED大屏幕顯示器由于其醒目! 內(nèi)容靈活多變等特點(diǎn)" 已經(jīng)越來(lái)越多地應(yīng)用于廣告! 信息發(fā)布! 交通指示等公共場(chǎng)所" 取得了良好效果LED顯示屏主要分為數(shù)碼顯示和點(diǎn)陣顯示兩大類(lèi)" 本文只討論點(diǎn)陣顯示$ 目前的627 顯示屏基本上都是先由用戶(hù)提出要求" 生產(chǎn)廠家根據(jù)需要訂做$ 每次都要重復(fù)設(shè)計(jì)電路和機(jī)械結(jié)構(gòu)" 造成資源浪費(fèi)" 而且若用戶(hù)的需求改變" 改動(dòng)將十分困難$實(shí)際上不論顯示屏的大小" 其原理都是相同的"因此完全可以設(shè)計(jì)出一種標(biāo)準(zhǔn)化% 模塊化的LED 顯示屏" 針對(duì)不同的需要" 只需要簡(jiǎn)單組合相應(yīng)的模塊即可$ 本文介紹的就是一種模塊化的LED 顯示屏" 可以根據(jù)需要靈活改變大小" 并可以脫離計(jì)算機(jī)獨(dú)立運(yùn)行" 還可以實(shí)現(xiàn)如閃爍! 滾動(dòng)顯示等特效$ 對(duì)整體式顯示屏刷新率不足發(fā)生閃爍的常見(jiàn)問(wèn)題" 在這個(gè)設(shè)計(jì)中由于被分割成小模塊" 不再成為問(wèn)題$
上傳時(shí)間: 2013-10-09
上傳用戶(hù):fxf126@126.com
紅外遙控接收;=================================================;; zsMCU51實(shí)驗(yàn)板配套學(xué)習(xí)例程;; 中山單片機(jī)學(xué)習(xí)網(wǎng) 智佳科技;; 作者:逸風(fēng) QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉(zhuǎn)入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進(jìn)入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調(diào)用882微秒延時(shí)子程序JB P2.2,EXIT ;延時(shí)882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZ R6, SB ;重復(fù)10次,目的是檢測(cè)在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對(duì)遙控信號(hào)的9000微秒的初始低電平信號(hào)的識(shí)別。JNB P2.2, $ ;等待高電平避開(kāi)9毫秒低電平引導(dǎo)脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時(shí)4.74毫秒避開(kāi)4.5毫秒的結(jié)果碼MOV R1,#1AH ;設(shè)定1AH為起始RAM區(qū)MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號(hào)LCALL DELAY882 ;高電平開(kāi)始后用882微秒的時(shí)間尺去判斷信號(hào)此時(shí)的高低電平狀態(tài)MOV C,P2.2 ;將P3.2引腳此時(shí)的電平狀態(tài)0或1存入C中 JNC UUU ;如果為0就跳轉(zhuǎn)到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數(shù)暫時(shí)存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對(duì)R1中的值加1,換下一個(gè)RAMDJNZ R2,PP ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù),存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過(guò)P1口的8個(gè)LED顯示出來(lái)!CLR P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鳴器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解碼子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400
上傳時(shí)間: 2013-11-01
上傳用戶(hù):2525775
作為嵌入式系統(tǒng)主控單元——單片機(jī),其軟件往往是一個(gè)微觀的實(shí)時(shí)操作系統(tǒng),且大部分是為某種應(yīng)用而專(zhuān)門(mén)設(shè)計(jì)的。系統(tǒng)程序有實(shí)時(shí)過(guò)程控制或?qū)崟r(shí)信息處理的能力,要求能夠及時(shí)響應(yīng)隨機(jī)發(fā)生的外部事件并對(duì)該事件做出快速處理。而分時(shí)操作系統(tǒng)卻是把CPU的時(shí)間劃分成長(zhǎng)短基本相同的時(shí)間區(qū)間,即“時(shí)間片”,通過(guò)操作系統(tǒng)的管理,把這些時(shí)間片依次輪流地分配給各個(gè)用戶(hù)使用。如果某個(gè)作業(yè)在時(shí)間片結(jié)束之前,整個(gè)任務(wù)還沒(méi)有完成,那么該作業(yè)就被暫停下來(lái),放棄CPU,等待下一輪循環(huán)再繼續(xù)做。此時(shí)CPU又分配給另一個(gè)作業(yè)去使用。由于計(jì)算機(jī)的處理速度很快,只要時(shí)間片的間隔取得適當(dāng),那么一個(gè)用戶(hù)作業(yè)從用完分配給它的一個(gè)時(shí)間片到獲得下一個(gè)CPU時(shí)間片,中間有所“停頓”;但用戶(hù)察覺(jué)不出來(lái),好像整個(gè)系統(tǒng)全由它“獨(dú)占”似的。分時(shí)操作系統(tǒng)主要具有以下3個(gè)特點(diǎn):① 多路性。用戶(hù)通過(guò)各自的終端,可以同時(shí)使用一個(gè)系統(tǒng)。② 及時(shí)性。用戶(hù)提出的各種要求,能在較短或可容忍的時(shí)間內(nèi)得到響應(yīng)和處理。③ 獨(dú)占性。在分時(shí)系統(tǒng)中,雖然允許多個(gè)用戶(hù)同時(shí)使用一個(gè)CPU,但用戶(hù)之間操作獨(dú)立,互不干涉。分時(shí)操作系統(tǒng)主要是針對(duì)小型機(jī)以上的計(jì)算機(jī)提出的。一般而言,微處理器(MPU)驅(qū)動(dòng)的通用計(jì)算機(jī),系統(tǒng)設(shè)計(jì)人員對(duì)每一臺(tái)的最終具體應(yīng)用都是不得而知的,因此,在價(jià)格允許的情況下,硬件設(shè)計(jì)務(wù)求CPU時(shí)鐘盡可能的快;計(jì)算及管理能力盡可能的強(qiáng);程序和數(shù)據(jù)存儲(chǔ)器的容量盡可能的大;各種計(jì)算機(jī)外設(shè)的配接盡可能的詳盡等等,特別是采用分時(shí)操作系統(tǒng)的機(jī)器,因?yàn)槭且粰C(jī)多用戶(hù)的管理系統(tǒng),它的要求就更高了。相對(duì)而言,微控制器(MCU)俗稱(chēng)單片機(jī),是一個(gè)單片集成系統(tǒng),它將這些或那些計(jì)算機(jī)所需的外設(shè),諸如程序和數(shù)據(jù)存儲(chǔ)器、端口以及有關(guān)的子系統(tǒng)集成到一片芯片上。從硬件上,單片機(jī)系統(tǒng)與采用分時(shí)操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)是無(wú)法比擬的。但是,在單片機(jī)系統(tǒng)的設(shè)計(jì)中,設(shè)計(jì)人員對(duì)其最終具體應(yīng)用是一清二楚的,它的使用環(huán)境相對(duì)是單一固定的。所控制的過(guò)程的可預(yù)見(jiàn)性為分時(shí)系統(tǒng)思想的實(shí)現(xiàn)提供了可能性。具體一點(diǎn)就是:雖然單片機(jī)的CPU速度較低,但其任務(wù)是可預(yù)見(jiàn)的,這樣作業(yè)調(diào)度將變得簡(jiǎn)單而無(wú)須占用很多的CPU時(shí)間,同時(shí)“時(shí)間片”的設(shè)計(jì)是具體而有針對(duì)性的,因此可變得很有效。一、單片機(jī)分時(shí)系統(tǒng)的設(shè)計(jì)單片機(jī)系統(tǒng)往往是一個(gè)嵌入式的控制系統(tǒng),因此目前絕大部分的單片機(jī)系統(tǒng)還是一實(shí)時(shí)系統(tǒng)。能夠真正體現(xiàn)分時(shí)系統(tǒng)的設(shè)計(jì)思想的往往是那些多路重復(fù)檢測(cè)控制系統(tǒng)。即便是在這些多路重復(fù)檢測(cè)控制系統(tǒng)中,它的實(shí)時(shí)性也是非常重要的。也就是說(shuō),在單片機(jī)系統(tǒng)中應(yīng)用了分時(shí)系統(tǒng)設(shè)計(jì)思想,但其及時(shí)性應(yīng)首先進(jìn)行考慮。
標(biāo)簽: 分時(shí)操作系統(tǒng) 中的實(shí)現(xiàn) 單片機(jī)編程
上傳時(shí)間: 2013-12-23
上傳用戶(hù):佳期如夢(mèng)
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1