資料介紹
本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。
關鍵字:微機 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,?AH
OUT????? 42H,AL?????;送出高8位
IN????? AL,?61H?????;讀入8255A端口B的內容
MOV????? AH,?AL????????????????? ;保護B口的原狀態
OR??AL,?03H?????;使B口后兩位置1,其余位保留
OUT?61H,AL?????;接通揚聲器,使它發聲
- 微型計算機系統的基礎知識詳細說明 0次下載
- 微型計算機的基礎知識詳細資料說明 0次下載
- 微機原理是什么?《微機原理與接口技術》電子教材免費下載 115次下載
- 微機原理--微型計算機系統及其操作系統簡介 0次下載
- 微型計算機技術課設(點陣顯示系統B) 0次下載
- 微型計算機原理與接口的微8086仿真小程序 0次下載
- 微型計算機原理與接口技術 0次下載
- 單片微型計算機概述
- 《單片機原理及應用課程設計》教學大綱
- 微型計算機系統 0次下載
- 微型計算機基礎知識
- 微型計算機原理 0次下載
- 32位微型計算機原理與接口技術 0次下載
- 微型計算機基礎與應用,下載 0次下載
- 微型計算機接口技術原理及應用 0次下載
- 計算機接口位于什么之間 491次閱讀
- 計算機視覺的工作原理和應用 2179次閱讀
- 計算機控制器的結構和功能 1801次閱讀
- 工業計算機與普通計算機的區別 1515次閱讀
- 微型計算機的組成及其應用形態 單片機的特點及應用領域 1560次閱讀
- 淺談計算機前世今生及計算機發展史的意義 3586次閱讀
- 火電站計算機監控系統在糖廠中的應用分析 1738次閱讀
- 詳談計算機病毒的定義與特征 1.9w次閱讀
- 計算機輔助技術有哪些_計算機輔助技術的應用 4w次閱讀
- 計算機系統的硬件組織詳細概述 4292次閱讀
- 計算機的機器語言和匯編語言與高級語言的詳細資料介紹 5892次閱讀
- 嵌入式微處理器的四大發展階段 4561次閱讀
- 導致計算機程序的復雜性和多樣性的算法 3568次閱讀
- 一文看懂計算機執行程序的過程 1.9w次閱讀
- 一文看懂8088和8086微型計算機的區別 3.8w次閱讀
下載排行
本周
- 1PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 2AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 3模擬電路仿真實現
- 2.94MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 5PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7電子線路板及仿真實現
- 1.54MB | 1次下載 | 免費
- 8AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體
- 591.02KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 133次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 7萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多