微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址. 對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止. 8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536. MOV AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數初值為0 OUT 42H,AL ;將計數初值的低字節送入計數器2 OUT 42H,AL ;將計數初值的高字節送入計數器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節,后寫高字節 ;方式3,二進制計數OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數高位MOV AX, 35DEH ;被除數低位 DIV ID ;求計數初值n,結果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內容MOV AH, AL ;保護B口的原狀態OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發聲
上傳時間: 2013-10-17
上傳用戶:sunjet
Σ-ΔA/D技術具有高分辨率、高線性度和低成本的特點。本文基于TI公司的MSP430F1121單片機,介紹了采用內置比較器和外圍電路構成類似于Σ-△的高精度A/D實現方案,適合用于對溫度、壓力和電壓等緩慢變化信號的采集應用。 在各種A/D轉換器中,最常用是逐次逼近法(SAR)A/D,該類器件具有轉換時間固定且快速的特點,但難以顯著提高分辨率;積分型A/D 有較強的抗干擾能力,但轉換時間較長;過采樣Σ-ΔA/D由于其高分辨率,高線性度及低成本的特點,正得到越來越多的應用。根據這些特點,本文以TI公司的MSP430F1121單片機實現了一種類似于Σ-ΔA/D技術的高精度轉換器方案。 MSP430F1121是16位RISC結構的FLASH型單片機,該芯片有14個雙向I/O口并兼有中斷功能,一個16位定時器兼有計數和定時功能。I/O口輸出高電平時電壓接近Vcc,低電平時接近Vss,因此,一個I/O口可以看作一位DAC,具有PWM功能。 該芯片具有一個內置模擬電壓比較器,只須外接一只電阻和電容即可構成一個類似于Σ-Δ技術的高精度單斜率A/D。一般而言,比較器在使用過程中會受到兩種因素的影響,一種是比較器輸入端的偏置電壓的積累;另一種是兩個輸入端電壓接近到一程度時,輸出端會產生振蕩。 MSP430F1121單片機在比較器兩輸入端對應的單片機端口與片外輸入信號的連接線路保持不變的情況下,可通過軟件將比較器兩輸入端與對應的單片機端口的連接線路交換,并同時將比較器的輸出極性變換,這樣抵消了比較器的輸入端累積的偏置電壓。通過在內部將輸出連接到低通濾波器后,即使在比較器輸入端兩比較電壓非常接近,經過濾波后也不會出現輸出端的振蕩現象,從而消除了輸出端震蕩的問題。利用內置比較器實現高精度A/D圖1是一個可直接使用的A/D轉換方案,該方案是一個高精度的積分型A/D轉換器。其基本原理是用單一的I/O端口,執行1位的數模轉換,以比較器的輸出作反饋,來維持Vout與Vin相等。圖1:利用MSP430F1121實現的實用A/D轉換器電路方案。
上傳時間: 2013-11-10
上傳用戶:lliuhhui
C51控制并口打印機實例:/* 沈陽新榮達電子 *//* 2004-12-7 */#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define data_8 P0sbit BUSY = P1^2; //打印機 BUSY 接P1.2sbit STB = P1^0; //打印機 STB 接P1.0void print(uchar j) //打印子程序{ uchar i;while(BUSY){}; //BUSY=1,打印機忙,等待BUSY 為0 再發數data_8=j;STB=0;i++;i--;STB=1; //給出數據鎖存時鐘BUSY=1;}void main(void){BUSY = 1; //忙信號置高STB = 1; //選通信號置高print(0x1b); //打印機初始化命令print(0x38);print(0x04);for(;;){print(0xd0); //發送漢字內碼“新榮達”print(0xc2);print(0xc8);print(0xd9);print(0xb4);print(0xef);print(0x0d); //換行}}
上傳時間: 2013-11-13
上傳用戶:lwq11
如何在STM32上得到高精度的ADC
上傳時間: 2013-11-09
上傳用戶:a67818601
Virtex™-5 器件包括基于第二代高級硅片組合模塊 (ASMBL™) 列架構的多平臺 FPGA 系列。集成了為獲得最佳性能、更高集成度和更低功耗設計的若干新型架構元件,Virtex-5 器件達到了比以往更高的系統性能水平。
上傳時間: 2013-10-29
上傳用戶:long14578
本白皮書分析了業界對更高速率接口(尤其是100 GbE)的迫切需求、向平臺添加 100 GbE 時系統架構師所面臨的重大風險和問題,并評介幾種實現方案,這些方案顯示出 FPGA 在解決這些難題方面具有何等獨特的地位。
上傳時間: 2013-10-25
上傳用戶:851197153
WP409利用Xilinx FPGA打造出高端比特精度和周期精度浮點DSP算法實現方案: High-Level Implementation of Bit- and Cycle-Accurate Floating-Point DSP Algorithms with Xilinx FPGAs
上傳時間: 2013-11-07
上傳用戶:defghi010
設計了一種由直接數字頻率合成(DDS)、倍頻鏈構成的三次變頻直接頻率合成方案,實現了低相噪捷變頻高分辨率毫米波雷達頻率合成器設計。利用直接頻率合成器的倍頻輸出取代傳統三次變頻毫米波頻率源的鎖相環(PLL),同時提供線性調頻(LFM)信號,優化DDS和變頻方案的頻率配置關系。利用FPGA電路進行高速控制,較好地解決了毫米波頻率合成器各技術指標之間的矛盾。實測結果表明,采用該方案的毫米波頻率合成器在本振跳頻帶寬為160 MHz時,線性調頻頻率分辨率可達0.931 Hz,最大頻率轉換時間小于2 ?滋s,最大雜散低于-60 dBc,相位噪聲優于-90 dBc/Hz。
上傳時間: 2014-01-06
上傳用戶:brain kung
納拓科技應用AR9331開發設計出一款高功率CPE,同時可以做高功率無線ap和網橋,在無線網絡通信中有廣泛應用
上傳時間: 2013-11-17
上傳用戶:qiulin1010
J-Link V8個人使用經驗寫成的用戶手冊
上傳時間: 2013-10-07
上傳用戶:hulee