概述 CH341是一個(gè)USB總線的轉(zhuǎn)接芯片,通過(guò)USB 總線提供異步串口、打印口、并口以及常用的 2線和4線等同步串行接口。 在異步串口方式下,CH341提供串口發(fā)送使能、串口接收就緒等交互式的速率控制信號(hào)以及常用的MODEM聯(lián)絡(luò)信號(hào),用于將普通的串口設(shè)備直接升級(jí)到 USB 總線。 在打印口方式下,CH341提供了兼容USB相關(guān)規(guī)范和 Windows操作系統(tǒng)的標(biāo)準(zhǔn) USB打印口,用于將普通的并口打印機(jī)直接升級(jí)到USB總線。 在并口方式下,CH341提供了EPP方式或MEM方式及 BUS擴(kuò)展方式的 8位并行接口,用于在不需要單片機(jī)/DSP/MCU 的環(huán)境下,直接輸入輸出數(shù)據(jù)。 除此之外,CH341A 芯片還支持一些常用的同步串行接口,例如 2 線接口(SCL 線、SDA 線)和 4線接口(CS線、CLK線、DIN線、DOUT線)等。
上傳時(shí)間: 2014-12-27
上傳用戶:yanyangtian
基于HT49的MCU控制HT93LC46的讀寫 HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電子可擦除只讀存儲(chǔ)器),一般它用于微控制器的固定數(shù)據(jù)的存儲(chǔ)。在本文中,我們將以Holtek 公司8 位微控制器HT49 系列為例,介紹該芯片常用的操作功能代碼。用戶只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO 連接即可。
上傳時(shí)間: 2013-11-02
上傳用戶:笨小孩
HT48 HT46 MCU與HT93LC46 EEPROM的通信文件編碼:HA0003s介紹:HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電可擦除只讀存儲(chǔ)器),一般它用于微控制器的固定數(shù)據(jù)的存儲(chǔ)。在本文中,我們將以Holtek 公司8 位微控制器為例,介紹該芯片常用的操作功能代碼。用戶只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO連接即可。
上傳時(shí)間: 2013-11-11
上傳用戶:風(fēng)行天下
The CAT25128 is a 128−Kb Serial CMOS EEPROM device internally organized as 16Kx8 bits. This features a 64−byte page write buffer and supports the Serial Peripheral Interface (SPI) protocol. The device is enabled through a Chip Select (CS) input. In addition, the required bus signals are clock input (SCK), data input (SI) and data output (SO) lines. The HOLD input may be used to pause any serial communication with the CAT25128 device. The device featuressoftware and hardware write protection, including partial as well as full array protection.
標(biāo)簽: 25128 EEPRO CMOS CAT
上傳時(shí)間: 2013-11-15
上傳用戶:fklinran
串口調(diào)試軟件SSCOM可供免費(fèi)使用,免費(fèi)下載,本軟件可以在Win95/98、Win2000、WinNT、WinXP下面運(yùn)行.軟件功能主要為: 1.接收從串口進(jìn)來(lái)的數(shù)據(jù)并在窗口顯示. 2.所接收到的數(shù)據(jù)數(shù)據(jù)顯示方式可以選擇為字符方式或者HEX方式 4.中文顯示無(wú)亂碼,且不影響速度 5.串口波特率可以選擇為110bps-256000bps.(波特率>115200時(shí)需要硬件支持) 6.可以即時(shí)顯示存在的串口號(hào).如果您增加了usb轉(zhuǎn)串口等設(shè)備,串口號(hào)也會(huì)在列表中出現(xiàn). 7.可以選擇“5、6、7、8”四種數(shù)據(jù)長(zhǎng)度. 8.可以選擇為“1、1.5、2”三種停止位.(1.5停止位需要硬件支持) 8.第9位數(shù)據(jù)可以選擇為“無(wú)、奇校驗(yàn)、偶校驗(yàn)、1、0”四種方式. 9.可以選擇“無(wú)流控、軟流控、硬流控、自定義”四種流控方式. 10.串口設(shè)置和字符串操作等設(shè)置在程序關(guān)閉時(shí)自動(dòng)保存,打開時(shí)自動(dòng)載入. 11.可以在接收窗口按鍵即發(fā)送該鍵值. 12.可以在字符串輸入框輸入您想發(fā)送的字符串,并發(fā)送. 13.可以在字符串輸入框輸入您想發(fā)送的HEX數(shù)據(jù)串,數(shù)據(jù)的值從00到FF,沒(méi)有任何限制. 14.可以定時(shí)重復(fù)發(fā)送數(shù)據(jù),并可以設(shè)置發(fā)送時(shí)間間隔. 15.可以在發(fā)送字符串時(shí)選擇發(fā)送新行,即自動(dòng)加上回車換行. 16.可以顯示當(dāng)前串口的CTS、DSR、RLSL(CD)信號(hào)線的狀態(tài). 17.可以自由控制當(dāng)前串口的DTR、RTS信號(hào)線的輸出狀態(tài). 18.可以打開一個(gè)文本文件或者一個(gè)二進(jìn)制文件預(yù)覽其內(nèi)容,查看方式可以是文本或者HEX方式. 19.可以打開一個(gè)文本文件或者一個(gè)二進(jìn)制文件并以當(dāng)前波特率發(fā)送到串口. 20.可以保存窗口內(nèi)容到一個(gè)文本文件,文件名取自當(dāng)前時(shí)間,保存在當(dāng)前目錄. 21.可以即時(shí)顯示發(fā)送的字節(jié)數(shù)和接收到的字節(jié)數(shù),按清除窗口將會(huì)清零. 22.帶有功能強(qiáng)大的擴(kuò)展功能:多條字符串發(fā)送定義和網(wǎng)上查找串口資料等. 23.可以定義最多32條預(yù)備發(fā)送的字符串,每條字符串可以定義為HEX數(shù)據(jù)串或者字符串方式.在每一條數(shù)據(jù)的左邊打勾就表示這是一條hex數(shù)據(jù)串. 24.點(diǎn)擊字符串右邊的標(biāo)號(hào)即可以發(fā)送這條定義好的字符串. 25.可以設(shè)置為循環(huán)發(fā)送你定義過(guò)的多條字符串,并且可以設(shè)置發(fā)送時(shí)間間隔. 26.在串口資料欄您可以從mcu51網(wǎng)站或者Google查找有關(guān)串口技術(shù)資料. 27.在串口資料欄您可以進(jìn)入技術(shù)討論bbs,在此發(fā)表您的高見或者提出您的問(wèn)題和需求. 28.在產(chǎn)品信息欄您可以獲得現(xiàn)時(shí)最新的產(chǎn)品信息. 29.這是個(gè)綠色軟件,單個(gè)文件即可執(zhí)行,不會(huì)給您的機(jī)器增加任何負(fù)擔(dān). 此版本使用C++Builder編寫,相對(duì)于上一版本SSCOM2.0,主要改進(jìn)在: 1.程序更穩(wěn)定可靠,修改了一些報(bào)錯(cuò)信息.使用更加人性化。 2.修改了避免顯示漢字亂碼的算法,快了許多. 3.hex數(shù)據(jù)輸入的錯(cuò)誤兼容性. 4.發(fā)送字符串可以加發(fā)回車換行. 5.可以保存窗口內(nèi)容到文件. 6.發(fā)送和接收的字符數(shù)統(tǒng)計(jì)更準(zhǔn)確. 7.不再接收到一定數(shù)量字符數(shù)就清屏,因?yàn)榘l(fā)現(xiàn)即使收到很多內(nèi)容也不會(huì)溢出,速度仍然很快. 8,可以打開二進(jìn)制文件并發(fā)送,從前只能發(fā)文本文件. 9.打開文件后可以用asc方式或者h(yuǎn)ex方式預(yù)覽文件中前4K內(nèi)容. 10.發(fā)送文件前告訴操作者需要發(fā)送多少時(shí)間.免得久等. 11.新增功能強(qiáng)大的擴(kuò)展功能,多達(dá)32條自定義字符串操作,程序關(guān)閉時(shí)這些字符串會(huì)自動(dòng)保存,下次開機(jī)時(shí)再載入,每條可以定義為HEX數(shù)據(jù)串或者ASC字符串,按后邊的數(shù)字按鈕可以發(fā)送.也可以自動(dòng)循環(huán)發(fā)送定義過(guò)的字符串. 12.新增串口設(shè)置自動(dòng)保存. 13.加入了網(wǎng)絡(luò)支持功能,用戶很方便討論問(wèn)題和找到技術(shù)支持.
標(biāo)簽: SSCOMV 3.0 串口調(diào)試 軟件
上傳時(shí)間: 2013-10-26
上傳用戶:448949
單片機(jī)接口技術(shù)(C51版)例程源代碼:文件名基本與教材中的例題序號(hào)一致,如"例3-2"的源程序?yàn)?Ch3-2"。有些程序在使用前請(qǐng)參閱程序開頭的注釋,這些注釋解釋了程序使用方法。歡迎到您提出寶貴意見,可到bbs.elecfans.com留言或就具體問(wèn)題進(jìn)行交流。
標(biāo)簽: C51 單片機(jī)接口技術(shù) 源代碼
上傳時(shí)間: 2013-10-18
上傳用戶:huang111
高性能可編程DMA控制接口82C37A-54.1 概述對(duì)象實(shí)體:直接存儲(chǔ)器訪問(wèn)(DMA)控制接口芯片82C37A-5芯片的特點(diǎn):1、管腳引線與NMOS 8237A-5兼容。2、允許/禁止單獨(dú)DMA請(qǐng)求控制。3、頻率從0~5MHz區(qū)間全靜態(tài)設(shè)計(jì)。4、低電平操作。 5、4個(gè)各自獨(dú)立的DMA通道并獨(dú)立的進(jìn)行初始化。6、存儲(chǔ)器到存儲(chǔ)器之間傳送。7、存儲(chǔ)器模塊初始化處理。8、地址的增量和減量。9、傳送速率可達(dá)1.6MB/s.10、可直接擴(kuò)展成任意數(shù)量的通道。11 、終止傳送的過(guò)程即輸入結(jié)束。12、軟件請(qǐng)求。13、獨(dú)立信號(hào)DREQ和信號(hào)DACK的極性控制。4.2 82C37A-5的體系結(jié)構(gòu)4.2.1 基本結(jié)構(gòu)描述1. 82C37A-5內(nèi)部配備了規(guī)模為344位的內(nèi)部存儲(chǔ)器,它是以寄存器的形式出現(xiàn)的。2. 配有3個(gè)基本的控制模塊: (1)定時(shí)及控制模塊; (2)優(yōu)先級(jí)編碼及循環(huán)優(yōu)先級(jí)控制模塊;(3)命令控制模塊; 3. 12個(gè)不同類型的寄存器 。圖 4-1 82C37A-5結(jié)構(gòu)圖EOP# A0~A3RESETCS#. IOW# DREQ0~DREQ3HLDAHRQ DB0~DB7DACK0~DACK3
上傳時(shí)間: 2013-10-21
上傳用戶:ming52900
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ù)通過(guò)8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說(shuō)明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過(guò)調(diào)整乒乓開關(guān)的狀態(tài),設(shè)置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時(shí)乒乓開關(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ù)用戶需要,在鍵盤按下“Y”鍵,則重復(fù)步驟(1),進(jìn)行另一數(shù)據(jù)的通訊;在鍵盤按除“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ì):原理圖(接線圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、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ā)來(lái)的對(duì)CPU請(qǐng)求發(fā)送信號(hào)的響應(yīng)信號(hào)。然后就開始發(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ù)以起始位開始,接著是最低有效數(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ù)總線將數(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ù)總線送入接收緩沖器,此時(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í)鐘來(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:顯示和鍵盤輸入均使用DOS功能調(diào)用來(lái)實(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>
基于AT89C2051的紅外遙控學(xué)習(xí)器源程序6 源程序 ORG 0000H AJMP MAIN ORG 0003H AJMP KEYPRESS ORG 000BH AJMP TIMEOUT ORG 001BH AJMP TIMEOUT SENDDUAN BIT P3.0 JIEDUAN BIT P3.1 INTRPO BIT P3.2 JIEXUAN BIT P3.3 SENDLIGHT BIT P3.4 JIELIGHT BIT P3.5 CS BIT P3.7 DATADUAN BIT P1.6 CLK BIT P1.7 JIANWEI EQU R5 JIANMA EQU R6 SHANGJIAN EQU 07H;R7 OPENKEY EQU 81H CLOSEKEY EQU 00H CHUT0 EQU 11H CHUT1 EQU 11H BUFBEGIN EQU 18H OPENT1 EQU 88H CLOSET1 EQU 00H OPENT0 EQU 82H CLOSET0 EQU 00H DATABEG1 EQU 0AAH DATABEG2 EQU 33H ORG 0030HMAIN: MOV IE,#80H MOV IP,#00H MOV P3,#0FFH CLR CS SETB P1.0 SETB P1.1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 CLR P1.7 MOV R3,#80H MOV R0,00HCYCLE1: MOV @R0,#00H INC R0 DJNZ R3,CYCLE1 MOV PSW,#00H MOV SP,#07H MOV TMOD,#11H MOV TCON,#00H START: MOV SP,#07H SETB SENDDUAN CLR F0 SETB EXOWAITKEY: MOV C,F0 JNC WAITKEY CJNC JIANMA,#1BH,SEND LCALL LEARNP LJMP STARTSEND: LCALL SENDP LJMP START SENDP: SETB SENDDUAN CLR F0 MOV TMOD,#CHUT1
上傳時(shí)間: 2013-10-15
上傳用戶:lyy1234
微型計(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è)簡(jiǎn)單的樂(lè)曲評(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ā)聲的原理,編寫演奏樂(lè)曲的程序。 在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頁(yè)圖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ù)的,也就是說(shuō),從計(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位的,所以要用兩條輸出指令來(lái)寫入初值.下面給出8253/54初始化程序段的一個(gè)例子,將計(jì)數(shù)器2設(shè)定為方式3,(關(guān)于計(jì)數(shù)器的工作方式參閱教材第325—330頁(yè))計(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頁(yè).教材第364頁(yè)的”PC/XT機(jī)中的揚(yáng)聲器接口電路”一節(jié)介紹了揚(yáng)聲器的驅(qū)動(dòng)原理,并給出了通用發(fā)聲程序.本設(shè)計(jì)正是基于這個(gè)原理,通過(guò)編程,控制加到揚(yáng)聲器上的信號(hào)的頻率,奏出樂(lè)曲的.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
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1