一種高精度單斜率AD及其單片機(jī)設(shè)計(jì) 介紹了一種利用MSP430 F1121單片機(jī)的構(gòu)成的采用類似于 技術(shù)的高精度的單斜率AD.!
標(biāo)簽: 高精度 斜率 單片機(jī)設(shè)計(jì)
上傳時(shí)間: 2013-10-25
上傳用戶:
4.1 編程的步驟、方法和技巧4.1.2 編程的方法和技巧 4.1.3 匯編語言程序的基本結(jié)構(gòu) 4.2 匯編語言源程序的編輯和匯編 4.2.1 源程序編輯 4.2.2 源程序的匯編 4.2.3 偽指令 計(jì)算機(jī)在完成一項(xiàng)工作時(shí),必須按順序執(zhí)行各種操作。這些操作是程序設(shè)計(jì)人員用計(jì)算機(jī)所能接受的語言把解決問題的步驟事先描述好的,也就是事先編好計(jì)算機(jī)程序,再由計(jì)算機(jī)去執(zhí)行。匯編語言程序設(shè)計(jì),要求設(shè)計(jì)人員對(duì)單片機(jī)的硬件結(jié)構(gòu)有較詳細(xì)的了解。編程時(shí),對(duì)數(shù)據(jù)的存放、寄存器和工作單元的使用等要由設(shè)計(jì)者安排;而高語言程序設(shè)計(jì)時(shí),這些工作是由計(jì)算機(jī)軟件完成的,程序設(shè)計(jì)人員不必考慮。 4.1.1 編程步驟 一、分析問題 首先,要對(duì)需要解決的問題進(jìn)行分析,以求對(duì)問題有正確的理解。例如,解決問題的任務(wù)是什么?工作過程是什么?現(xiàn)有的條件,已知的數(shù)據(jù),對(duì)運(yùn)算的精確和速度方面的要求是什么?設(shè)計(jì)的硬件結(jié)構(gòu)是否方便編程等等。 二、確定算法 算法就是如何將實(shí)際問題轉(zhuǎn)化成程序模塊來處理。 解決一個(gè)問題,常常有幾種可選擇的方法。從數(shù)學(xué)角度來描述,可能有幾種不同的算法。在編制程序以前,先要對(duì)不同的算法進(jìn)行分析、比較,找出最適宜的算法。 ? 三、畫程序流程圖 程序流程圖是使用各種圖形、符號(hào)、有向線段等來說明程序設(shè)計(jì)過程的一種直觀的表示,常采用以下圖形及符號(hào):橢圓框( )或桶行框( )表示程序的開始或結(jié)束。 矩形框( )表示要進(jìn)行的工作。 菱形框( )表示要判斷的事情,菱形框內(nèi)的表達(dá)式表示要判斷的內(nèi)容。 圓圈( )表示連接點(diǎn)。 指向線(→)表示程序的流向。 流程圖步驟分得越細(xì)致,編寫程序時(shí)也就越方便。
標(biāo)簽: 匯編語言 程序設(shè)計(jì)
上傳時(shí)間: 2013-10-10
上傳用戶:18888888888
PHILIPS 的P89LPC900 系列FLASH 單片機(jī)部分型號(hào)提供了8 位精度的AD 轉(zhuǎn)換器,為許多控制系統(tǒng)帶來方便,諸如溫度控制、運(yùn)動(dòng)控制等,在MCU 發(fā)出控制指令后,常常需要將執(zhí)行機(jī)構(gòu)的情況反饋給MCU,從而構(gòu)成一個(gè)閉環(huán)系統(tǒng),達(dá)到精細(xì)控制的目的。這一檢測過程一般由各種傳感器完成,在某些對(duì)成本有高要求的場合,為了控制成本,也常使用一些簡單的分立元件替代數(shù)字傳感器,通常送到MCU 接口的都是一些經(jīng)過處理的電壓信號(hào),內(nèi)帶ADC 的芯片能夠簡化設(shè)計(jì),并使成本進(jìn)一步降低。一般來說,8 位的AD 精度已經(jīng)足以應(yīng)對(duì),但是在一些對(duì)精度要求比較高的場合,可能會(huì)需要10 位或者更高精度,細(xì)心的用戶通過仔細(xì)研究P89LPC900 單片機(jī)的特點(diǎn),發(fā)現(xiàn)P89LPC900 系列單片機(jī)ADC 的特點(diǎn)非常適合進(jìn)行ADC 過采樣,本文正是結(jié)合P89LPC900 的特點(diǎn),介紹該單片機(jī)在高精度模數(shù)轉(zhuǎn)換場合的應(yīng)用,以及使用過采樣技術(shù)需要滿足的條件和需注意事項(xiàng)。使這種低成本高精度的AD技術(shù)得以應(yīng)用。
上傳時(shí)間: 2013-10-11
上傳用戶:gokk
PCM-8416AS是一款功能強(qiáng)大的高分辨率多功能PC/104數(shù)據(jù)采集卡,提供有16路模擬信號(hào)輸入、2路模擬信號(hào)輸出、8路數(shù)字量輸入、8路數(shù)字量輸出、2個(gè)定時(shí)/計(jì)數(shù)器,單塊卡即可滿足工業(yè)應(yīng)用中常用的采集與控制功能擴(kuò)展。
上傳時(shí)間: 2013-10-28
上傳用戶:hn891122
地彈的形成:芯片內(nèi)部的地和芯片外的PCB地平面之間不可避免的會(huì)有一個(gè)小電感。這個(gè)小電感正是地彈產(chǎn)生的根源,同時(shí),地彈又是與芯片的負(fù)載情況密切相關(guān)的。下面結(jié)合圖介紹一下地彈現(xiàn)象的形成。 簡單的構(gòu)造如上圖的一個(gè)小“場景”,芯片A為輸出芯片,芯片B為接收芯片,輸出端和輸入端很近。輸出芯片內(nèi)部的CMOS等輸入單元簡單的等效為一個(gè)單刀雙擲開關(guān),RH和RL分別為高電平輸出阻抗和低電平輸出阻抗,均設(shè)為20歐。GNDA為芯片A內(nèi)部的地。GNDPCB為芯片外PCB地平面。由于芯片內(nèi)部的地要通過芯片內(nèi)的引線和管腳才能接到GNDPCB,所以就會(huì)引入一個(gè)小電感LG,假設(shè)這個(gè)值為1nH。CR為接收端管腳電容,這個(gè)值取6pF。這個(gè)信號(hào)的頻率取200MHz。雖然這個(gè)LG和CR都是很小的值,不過,通過后面的計(jì)算我們可以看到它們對(duì)信號(hào)的影響。先假設(shè)A芯片只有一個(gè)輸出腳,現(xiàn)在Q輸出高電平,接收端的CR上積累電荷。當(dāng)Q輸出變?yōu)榈碗娖降臅r(shí)候。CR、RL、LG形成一個(gè)放電回路。自諧振周期約為490ps,頻率為2GHz,Q值約為0.0065。使用EWB建一個(gè)仿真電路。(很老的一個(gè)軟件,很多人已經(jīng)不懈于使用了。不過我個(gè)人比較依賴它,關(guān)鍵是建模,模型參數(shù)建立正確的話仿真結(jié)果還是很可靠的,這個(gè)小軟件幫我發(fā)現(xiàn)和解決過很多實(shí)際模擬電路中遇到的問題。這個(gè)軟件比較小,有比較長的歷史,也比較成熟,很容易上手。建議電子初入門的同學(xué)還是熟悉一下。)因?yàn)橹魂P(guān)注下降沿,所以簡單的構(gòu)建下面一個(gè)電路。起初輸出高電平,10納秒后輸出低電平。為方便起見,高電平輸出設(shè)為3.3V,低電平是0V。(實(shí)際200M以上芯片IO電壓會(huì)比較低,多采用1.5-2.5V。)
標(biāo)簽: 分
上傳時(shí)間: 2013-10-17
上傳用戶:zhishenglu
多功能高集成外圍器件6. 1 多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯(lián)PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))IDE是 (Integrated Device Electronics)集成電路設(shè)備簡稱PIIX4PIIX4器件(芯片)的特點(diǎn)1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對(duì)ISA橋來說,是一種多功能PCI總線。3、對(duì)可移動(dòng)性和桌面深綠色環(huán)境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強(qiáng)了性能的DMA控制器。(7)基于兩個(gè)82C59的中斷控制器。(8)基于82C54芯片的定時(shí)器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統(tǒng)管理總線。(11)實(shí)時(shí)時(shí)鐘(12)順應(yīng)Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。 PIIX4芯片邏輯框圖6.1.1 概述PIIX4芯片是一個(gè)多功能的PCI器件,圖6-2 是82371在系統(tǒng)中扮演的角色。(續(xù)上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對(duì)程的,是各類不同標(biāo)準(zhǔn)總線與PCI總線連接,82371AB橋也可理解為一種總線轉(zhuǎn)換譯碼器和控制器,橋內(nèi)包含復(fù)雜的協(xié)議總線信號(hào)和緩沖器。(1).在PCI系統(tǒng)內(nèi),當(dāng)PIIX4操作時(shí),它總是作為系統(tǒng)內(nèi)各種模塊的主控設(shè)備,如USB和DMA控制器、IDE總線和分布式DMA的主控設(shè)備等,而且總是以ISA主控設(shè)備的名義出現(xiàn)。(2). 在向ISA總線或IDE總線進(jìn)行傳送操作的傳送周期期間作為從屬設(shè)備使用,并對(duì)內(nèi)部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個(gè)ISA總線,或ISA總線的子集,也可擴(kuò)展成EIO總線。在使用EIO總線時(shí),可以把未使用的信號(hào)配置成通用的輸入和輸出。(2).PIIX4可直接驅(qū)動(dòng)5個(gè)ISA插槽;(3).能提供字節(jié)-交換邏輯、I/O的恢復(fù)支持、等待狀態(tài)的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實(shí)時(shí)時(shí)鐘芯片、二級(jí)微程序器等的選擇。2. IDE接口(總線主控設(shè)備的權(quán)利和同步DMA方式)IDE接口為4個(gè)IDE的設(shè)備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機(jī)最多,因?yàn)楸阋恕CSI多用于服務(wù)器和集群機(jī)。IDE的PIO IDE速率:14MB/s;而總線主控設(shè)備IDE的速率:33MB/s在PIIX4芯片的IDE系統(tǒng)內(nèi),配有兩個(gè)各次獨(dú)立的IDE信號(hào)通道。3. 具有兼容性的模塊—DMA、定時(shí)器/計(jì)數(shù)器、中斷控制器等(1)在PIIX4內(nèi)的兩各82C37 DMA控制器經(jīng)邏輯的組合,產(chǎn)生7個(gè)獨(dú)立的可編程通道。通道[0:3]是通過與8個(gè)二進(jìn)位的硬件連線實(shí)現(xiàn)的。通過以字節(jié)為單位的計(jì)數(shù)進(jìn)行傳送。而通道[5:7]是通過16個(gè)二進(jìn)位的連線實(shí)現(xiàn)的,以字為單位的計(jì)數(shù)進(jìn)行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個(gè)不同的方法提供支持。(3)計(jì)數(shù)/定時(shí)器模塊在功能上與82C54等價(jià)。(4)中斷控制器與ISA兼容,其功能是兩個(gè)82C59的功能之和。
上傳時(shí)間: 2013-11-19
上傳用戶:3到15
用單片機(jī)制作多功能莫爾斯碼電路:用單片機(jī)制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因?yàn)榈确姶a通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進(jìn)行國際間的通信,收發(fā)射設(shè)備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設(shè)備。設(shè)計(jì)本電路的目的就是給愛好者提供一個(gè)實(shí)用和訓(xùn)練的工具。 一、功能簡介 本電路可以配合自動(dòng)鍵體和手動(dòng)鍵體,產(chǎn)生莫爾斯碼控制信號(hào),設(shè)有16種速度,從初學(xué)者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進(jìn)行選擇。可以按程序中設(shè)定好的呼號(hào)自動(dòng)呼叫,設(shè)有聽抄練習(xí)功能,聽抄練習(xí)有短碼和混合碼兩種模式,分別對(duì)10個(gè)數(shù)字和常用的38個(gè)混合碼模擬隨機(jī)取樣,產(chǎn)生分組報(bào)碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習(xí)是專為初學(xué)者所設(shè),內(nèi)容是時(shí)間間隔較長的單字符。設(shè)有PTT開關(guān)鍵,可以決定是否控制發(fā)射機(jī)工作,不需要反復(fù)通斷控制線。無論當(dāng)前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點(diǎn)接通則自動(dòng)轉(zhuǎn)到人工發(fā)報(bào)程序。4分鐘內(nèi)不使用電路將自動(dòng)關(guān)閉電源,只有按復(fù)位鍵才能重新開始工作。先按住聽抄練習(xí)鍵復(fù)位則進(jìn)入短碼練習(xí)狀態(tài),其它功能不變。從開機(jī)到自動(dòng)關(guān)機(jī)執(zhí)行每個(gè)功能都有不同的莫爾斯碼提示音。本電路具有較強(qiáng)的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應(yīng)不同的發(fā)射設(shè)備。 二、硬件電路原理硬件電路如圖1所示。設(shè)計(jì)電路的目的在于方便實(shí)用,以免在緊張的操作中失誤,所以除了聽抄練習(xí)鍵外其它鍵沒有定義復(fù)用功能。各鍵的作用在圖中已經(jīng)標(biāo)出。PTT控制在每次復(fù)位時(shí)處于關(guān)閉狀態(tài),每按動(dòng)一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時(shí)發(fā)光二極管隨控制信號(hào)閃亮。考慮到自制設(shè)備及淘汰軍用設(shè)備與高檔設(shè)備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時(shí)還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實(shí)驗(yàn)。應(yīng)該注意,如果被控制的負(fù)載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設(shè)備外成品機(jī)在這方面一般沒有什么問題。手動(dòng)鍵只有一個(gè)接點(diǎn),接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號(hào)。在本電路中手動(dòng)鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當(dāng)按鍵按下時(shí)P1.5電平為0,程序轉(zhuǎn)入手動(dòng)鍵子程序。 自動(dòng)鍵的接點(diǎn)分別接到P1.3和P1.4 ,同樣當(dāng)程序檢測到有接點(diǎn)閉合時(shí)便自動(dòng)產(chǎn)生“點(diǎn)”或“劃”。音頻信號(hào)從P輸出,經(jīng)VT1放大后推動(dòng)揚(yáng)聲器發(fā)音。單片機(jī)的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號(hào)干擾,所以在每個(gè)輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時(shí)電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚(yáng)聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設(shè)計(jì)方法 “點(diǎn)”時(shí)間長度是莫爾斯電碼中的基本時(shí)間單位。按規(guī)定“劃”的時(shí)間長度不小于三個(gè)“點(diǎn)”,同字符中“點(diǎn)”與“劃”的間隔不小于一個(gè)“點(diǎn)”,字符之間不小于一個(gè)“劃”,詞與詞之間不應(yīng)小于五個(gè)“點(diǎn)”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點(diǎn)”時(shí)間長度。通過速度功能鍵功可以設(shè)置16種延時(shí)參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號(hào),并將中斷設(shè)為優(yōu)先級(jí),保證在聽覺上純正悅耳。T1用于自動(dòng)關(guān)機(jī)計(jì)時(shí),如果不使用任何功能四分鐘后將向PCON 位寫1,單片機(jī)進(jìn)入休眠狀態(tài),此時(shí)耗電量僅有幾個(gè)微安。自動(dòng)鍵的“點(diǎn)”或“劃”以及手動(dòng)鍵的連續(xù)發(fā)音都是子程序的反復(fù)調(diào)用。P1.2對(duì)地短接時(shí)自動(dòng)呼叫可設(shè)定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對(duì)發(fā)音內(nèi)容進(jìn)行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計(jì)算機(jī)中二進(jìn)制恰好相同,我們可以用0表示“點(diǎn)”,用1表示“劃”。提示音、自動(dòng)呼叫、聽抄內(nèi)容等字符是預(yù)先按一定編碼方式存儲(chǔ)在程序中的常數(shù)。每個(gè)字符的莫爾斯碼一般是由1至6位“點(diǎn)”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個(gè)字符占用1個(gè)字節(jié),字符時(shí)間間隔不占用字節(jié),但更長的延時(shí)或發(fā)音結(jié)束信息占用一個(gè)字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對(duì)于5次及5次以下發(fā)音的字符我們用存儲(chǔ)器的高5位存儲(chǔ)發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲(chǔ)發(fā)音次數(shù),發(fā)音時(shí)將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對(duì)E0進(jìn)行位尋址,判斷是發(fā)“點(diǎn)”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對(duì)于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會(huì)出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因?yàn)檫@時(shí)第6次位尋址得到的是1。如果第6次發(fā)音是“點(diǎn)”,那么這個(gè)字符的低三位定義為000B。字符間隔時(shí)間由程序自動(dòng)產(chǎn)生,更長的時(shí)間隔或結(jié)束標(biāo)志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時(shí)間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細(xì)的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項(xiàng)手動(dòng)鍵的操作難度相對(duì)大一些,時(shí)間節(jié)拍全由人掌握,其特點(diǎn)是發(fā)出的電碼帶有“人情味”。自動(dòng)鍵的“點(diǎn)”、“劃”靠電路產(chǎn)生,發(fā)音標(biāo)準(zhǔn),容易操作,而且可以達(dá)到相當(dāng)快的速度,長時(shí)間工作也不易疲勞。在干擾較大、信號(hào)微弱的條件下自動(dòng)鍵碼的辨別程度好于手動(dòng)鍵碼。初學(xué)者初次使用手動(dòng)鍵練習(xí)發(fā)報(bào)要有老師指導(dǎo),且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺(tái)上時(shí)常聽到一些讓對(duì)方難以抄收的電碼,這可能會(huì)使對(duì)方反感而拒絕回答。使用自動(dòng)鍵也應(yīng)在一定的聽抄基礎(chǔ)上再去練習(xí)。在暫時(shí)找不老師的情況下可多練習(xí)聽力,這對(duì)于今后能夠發(fā)出標(biāo)準(zhǔn)正確的電碼非常有益。
上傳時(shí)間: 2013-10-31
上傳用戶:sdq_123
新穎實(shí)用的單片機(jī)雙積分A/D轉(zhuǎn)換電路和軟件:摘 要: 通過對(duì)雙積分A/ D 轉(zhuǎn)換過程及其原理的分析,結(jié)合8031 單片機(jī)定時(shí)計(jì)數(shù)器的特點(diǎn),設(shè)計(jì)出一種新的A/ D 轉(zhuǎn)換電路. 詳細(xì)介紹了這種轉(zhuǎn)換電路的硬件原理及工作過程,給出了實(shí)用的硬件電路與軟件設(shè)計(jì)框圖. 通過比較分析,可以看出這種A/ D 轉(zhuǎn)換電路性能價(jià)格比較高,軟件編程簡單,并且轉(zhuǎn)換速度和精度優(yōu)于一般的A/ D 轉(zhuǎn)換電路. 這種設(shè)計(jì)思路為數(shù)模轉(zhuǎn)換器(A/ D) 的升級(jí)提高指出一個(gè)明確的方向.關(guān)鍵詞:單片機(jī); 定時(shí)/ 計(jì)數(shù)器; A/ D 轉(zhuǎn)換; 雙積分 雙積分A/ D 及定時(shí)計(jì)數(shù)器原理:我們先分析雙積分A/ D 轉(zhuǎn)換的工作原理. 如圖1 所示,積分器先以固定時(shí)間T 對(duì)待測的輸入模擬電壓Vi 進(jìn)行正向積分,積分電容C 積累的電荷為
標(biāo)簽: 單片機(jī) 雙積分 轉(zhuǎn)換電路 軟件
上傳時(shí)間: 2014-01-18
上傳用戶:hewenzhi
微型計(jì)算機(jī)課程設(shè)計(jì)論文—通用微機(jī)發(fā)聲程序的匯編設(shè)計(jì) 本文講述了在微型計(jì)算機(jī)中利用可編程時(shí)間間隔定時(shí)器的通用發(fā)聲程序設(shè)計(jì),重點(diǎn)講述了程序的發(fā)聲原理,節(jié)拍的產(chǎn)生,按節(jié)拍改變的動(dòng)畫程序原理,并以設(shè)計(jì)一個(gè)簡單的樂曲評(píng)分程序?yàn)橐樱治龀绦蛟O(shè)計(jì)的細(xì)節(jié)。關(guān)鍵字:微機(jī) 8253 通用發(fā)聲程序 動(dòng)畫技術(shù) 直接寫屏 1. 可編程時(shí)間間隔定時(shí)器8253在通用個(gè)人計(jì)算機(jī)中,有一個(gè)可編程時(shí)間間隔定時(shí)器8253,它能夠根據(jù)程序提供的計(jì)數(shù)值和工作方式,產(chǎn)生各種形狀和各種頻率的計(jì)數(shù)/定時(shí)脈沖,提供給系統(tǒng)各個(gè)部件使用。本設(shè)計(jì)是利用計(jì)算機(jī)控制發(fā)聲的原理,編寫演奏樂曲的程序。 在8253/54定時(shí)器內(nèi)部有3個(gè)獨(dú)立工作的計(jì)數(shù)器:計(jì)數(shù)器0,計(jì)數(shù)器1和計(jì)數(shù)器2,每個(gè)計(jì)數(shù)器都分配有一個(gè)斷口地址,分別為40H,41H和42H.8253/54內(nèi)部還有一個(gè)公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對(duì)3個(gè)計(jì)數(shù)器和控制器尋址. 對(duì)8353/54編程時(shí),先要設(shè)定控制字,以選擇計(jì)數(shù)器,確定工作方式和計(jì)數(shù)值的格式.每計(jì)數(shù)器由三個(gè)引腳與外部聯(lián)系,見教材第320頁圖9-1.CLK為時(shí)鐘輸入端,GATE為門控信號(hào)輸入端,OUT為計(jì)數(shù)/定時(shí)信號(hào)輸入端.每個(gè)計(jì)數(shù)器中包含一個(gè)16位計(jì)數(shù)寄存器,這個(gè)計(jì)數(shù)器時(shí)以倒計(jì)數(shù)的方式計(jì)數(shù)的,也就是說,從計(jì)數(shù)初值逐次減1,直到減為0為止. 8253/54的三個(gè)計(jì)數(shù)器是分別編程的,在對(duì)任一個(gè)計(jì)數(shù)器編程時(shí),必須首先講控制字節(jié)寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個(gè)計(jì)數(shù)器工作,要求輸出什么樣的脈沖波形.另外,對(duì)8253/54的初始化工作還包括,向選定的計(jì)數(shù)器輸入一個(gè)計(jì)數(shù)初值,因?yàn)檫@個(gè)計(jì)數(shù)值可以是8為的,也可以是16為的,而8253/5的數(shù)據(jù)總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個(gè)例子,將計(jì)數(shù)器2設(shè)定為方式3,(關(guān)于計(jì)數(shù)器的工作方式參閱教材第325—330頁)計(jì)數(shù)初值為65536. MOV AL,10110110B ;選擇計(jì)數(shù)器2,按方式3工作,計(jì)數(shù)值是二進(jìn)制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計(jì)數(shù)初值為0 OUT 42H,AL ;將計(jì)數(shù)初值的低字節(jié)送入計(jì)數(shù)器2 OUT 42H,AL ;將計(jì)數(shù)初值的高字節(jié)送入計(jì)數(shù)器2 在IBM PC中8253/54的三個(gè)時(shí)鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機(jī)上的大多數(shù)I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關(guān)于8255A的結(jié)構(gòu)和工作原理及應(yīng)用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機(jī)中的揚(yáng)聲器接口電路”一節(jié)介紹了揚(yáng)聲器的驅(qū)動(dòng)原理,并給出了通用發(fā)聲程序.本設(shè)計(jì)正是基于這個(gè)原理,通過編程,控制加到揚(yáng)聲器上的信號(hào)的頻率,奏出樂曲的.2.發(fā)聲程序的設(shè)計(jì)下面是能產(chǎn)生頻率為f的通用發(fā)聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節(jié),后寫高字節(jié) ;方式3,二進(jìn)制計(jì)數(shù)OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數(shù)高位MOV AX, 35DEH ;被除數(shù)低位 DIV ID ;求計(jì)數(shù)初值n,結(jié)果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內(nèi)容MOV AH, AL ;保護(hù)B口的原狀態(tài)OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚(yáng)聲器,使它發(fā)聲
標(biāo)簽: 微型計(jì)算機(jī) 發(fā)聲程序 論文 微機(jī)
上傳時(shí)間: 2013-10-17
上傳用戶:sunjet
子程序庫的使用方法如下:1.將子程序庫全部內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。優(yōu)點(diǎn)是簡單方便,缺點(diǎn)是程序太長,大量無關(guān)子程序也包含在其中。 2.僅將子程序庫中的有關(guān)部分內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。有些子程序需要調(diào)用一些低級(jí)子程序,這些低級(jí)子程序也應(yīng)該包含在內(nèi)。優(yōu)點(diǎn)是程序緊湊,缺點(diǎn)是需要對(duì)子程序庫進(jìn)行仔細(xì)刪節(jié)。MCS-51 浮點(diǎn)運(yùn)算子程序庫及其使用說明本浮點(diǎn)子程序庫有三個(gè)不同層次的版本,以便適應(yīng)不同的應(yīng)用場合: 1.小型庫(FQ51A.ASM):只包含浮點(diǎn)加、減、乘、除子程序。 2.中型庫(FQ51B.ASM):在小型庫的基礎(chǔ)上再增加絕對(duì)值、倒數(shù)、比較、平方、開平方、 數(shù)制轉(zhuǎn)換等子程序。 3.大型庫(FQ51.ASM):包含本說明書中的全部子程序。 為便于讀者使用本程序庫,先將有關(guān)約定說明如下: 1.雙字節(jié)定點(diǎn)操作數(shù):用[R0]或[R1]來表示存放在由R0或R1指示的連續(xù)單元中的數(shù) 據(jù),地址小的單元存放高字節(jié)。如果[R0]=1234H,若(R0)=30H,則(30H)=12H,(31H)=34H。 2.二進(jìn)制浮點(diǎn)操作數(shù):用三個(gè)字節(jié)表示,第一個(gè)字節(jié)的最高位為數(shù)符,其余七位為 階碼(補(bǔ)碼形式),第二字節(jié)為尾數(shù)的高字節(jié),第三字節(jié)為尾數(shù)的低字節(jié),尾數(shù)用雙字節(jié) 純小數(shù)(原碼)來表示。
標(biāo)簽: 51單片機(jī) 浮點(diǎn) 程序庫
上傳時(shí)間: 2013-10-15
上傳用戶:wmwai1314
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1