第一篇:數字化聲音格式轉換與采編實驗報告
數字化聲音格式轉換與采編
(班級:09級3班姓名:王莉學號:2009100334)
一、實驗目的1、掌握數字化聲音的采集、錄制、與編輯
2、掌握數字化聲音的格式轉換
一、實驗環境
1、計算機、耳機、話筒、聲音素材若干
2、WindowsXP系統、千千靜聽軟件
二、實驗步驟
1、連接耳機和話筒到聲卡
2、啟動錄音機
(1)序。
(2)錄音操作
A、選擇所錄聲音信號來源
將鼠標放在Windows界面任務欄右下角“音量”圖標上,單擊鼠標右鍵,在彈出的快捷菜單中單擊“打開聲音控制”命令,即彈出“聲音控制窗口”
單選按鈕,并在“顯示下列音量控制”列表框中選中與已同計算機連接的音源
單擊 “確定“按鈕,在彈出的窗口中選擇所錄聲音信號點來源——話筒。
B、調整錄音量大小
單擊“錄音機”窗口的“開始錄制”按鈕,然后對話筒說話或者輸送其他聲音,這些聲音將被錄音機錄入,在該窗口中有實時的震動波形出現。
調整“錄音控制”窗口中的音量,是震動的波形最大振幅不超過窗口。
C、正式錄音
單擊“錄音”按鈕,對話筒說話,結束后單擊“停止”;每次錄音時間最長可達60s,但可多次單擊錄音鍵,每次得到60s的聲音,累計在一起,就可得到較長時間的聲音。
D、播放錄入的聲音
錄入聲音后,單擊“停止”按鈕,再單擊“播放”按鈕播放所錄聲音,檢查錄音
是否成功。
E、保存錄入的聲音
默認以WAV的形式保存文件,可通過改變聲音的屬性,以其他的文件格式保存。
在所彈出的對話框的下拉列表中選擇“MPEG Layer-3”選項,在 屬性中選擇適當的播放速率,單擊“確定”按鈕,這樣,文件就變成MP3格式了,變成文件的時候,使用MP3.文件后綴名。
3、數字化聲音的格式轉換
先將背景音樂從MP3轉換成WAV格式。(由于在“錄音機”軟件中只能導入WAV格式的聲音文件,所以其他格式的文 件只能轉換成WAV格式后才能編輯,同時由于WAV格式的文件量太大,在實際使用中多是編輯后再轉換成MP3格式)。
千千靜聽
將影音文件導入“千千靜聽“軟件,在播放列表中選中要轉換的文件,單擊鼠標右鍵,在彈出的快捷菜單中單擊“轉換格式”命令,在所彈出的對話框中的輸出格式下拉菜單中選擇索要轉換的格式,保存文件,在其目標文件夾處選擇存儲位置。
4、數字化聲音的編輯
聲音的編輯在錄音機的編輯菜單中
(1)剪切
將背景音樂的長度剪切到與錄音的長度相當
(2)連接與插入
連接是將兩個或多個數字聲音文件結合為一個聲音文件。首先打開第一個聲音文件,再在編輯菜單中插入要鏈接的第二、三……個文件。插入點為前一文件的結束點。
(3)錄音與背景音樂的合成啟動“錄音機”程序,單擊”文件“菜單中的 “打開“命令,在彈出窗口中,打開已剪切好的背景音樂,在”效果“菜單中選擇”降低音量“命令,使其音量比錄音音量小。
單擊“編輯”菜單中的“與文件混合”命令,在彈出的對話框中,選擇一個已錄好的聲音文件。錄音文件與背景音樂就混合好了。
(4)保存新生成的聲音文件
單擊“文件”菜單中的“另存為“命令,在彈出的對話框中,選擇保存路徑及輸入文件名后,單擊”保存“按鈕。
(5)再次轉換格式
由于WAV格式占內存量太大,在實際運用中多編輯后再用MP3格式轉換器轉換成MP3格式來使用。
三、注意事項
1、自行準備MP3背景音樂素材
2、軟件的具體使用方法可以參考有關書籍,也可以直接通過軟件的幫助功能,查閱相
應的操作方法。
第二篇:數字化聲音編輯教案
第3節《數字化聲音編輯》教案
濱城區梁才中學 蘇志君
一、課前準備
1、素材準備:把“李明”文件夾提前發送到學生機的桌面上;
2、學生準備:錄音機會用嗎?(1)如何打開“錄音機”?
(2)會用“錄音機”聽音樂嗎?
3、通過聽“李明”文件夾中的聲音文件,檢查耳機情況。
二、教學設計
1、教學目標
(1)掌握用“錄音機”合并聲音文件;(2)學會用“錄音機”混合聲音文件;
(3)能根據需要用“錄音機”調整聲音效果。
2、重難點分析
教學重點:用“錄音機”合并、混合聲音的方法
教學難點:綜合運用各種技術手段編輯出優美的配樂詩朗誦
投影儀、多媒體網絡教室;學生分組并安排機器座位;編輯聲音練習所需要的聲音文件。
三、教學過程 I、新課導入
同學們,剛才大家聽到的是朱自清的配樂散文《春》,今天我來的時候,我的學生讓把它帶給大家聽,并且好還有話對大家說,我們一起來聽一聽吧。
你愿意幫助李明完成這項操作嗎?怎樣操作呢?這正是今天我們要學習的《第3節 數字化聲音編輯》,不但能夠很好的幫助李明,還可以為后面的學習打下堅實的基礎。
目標是成功的前提條件。我們先看看本節的學習目標?出示教學目標(找一生讀嗎?強化)
通過本節課的學習,你將掌握以下技能:(1)掌握用“錄音機”合并聲音文件;(2)學會用“錄音機”混合聲音文件;
(3)能根據需要用“錄音機”調整聲音效果。
明確了教學目標后,我們幫李明完成第一項操作,進行“錄音剪接”。學而知困,請大家完成“自主學習1:請大家參照課本15頁上面的‘錄音剪接'的三個步驟,通過自主學習幫李明把‘春1'和‘春2'按順序合成一個聲音文件,并以‘春3'進行保存。” II、知識講解
(一)錄音剪接
(1)學生自學,教師巡回指導,強調一定要認真看操作步驟,留心查看學生操作中的問題,也可以進行討論。師巡視指導:在操作過程中要提醒學生,合并前要將滑塊移動到合適的位置,這需要先試聽再確定:如果兩段聲音文件剛好首尾相連即可,那直接把滑塊移動到文件一的結尾部分即可,反之,則需要通過試聽確定合并的確切位置,這就要考驗每位同學準確的判斷能力和嫻熟的操作技巧了。當你打開一個聲音文件,文件長度以秒數的形式顯示在界面的右側,而左側則是滑塊的當前位置,所以建議大家在試聽的同時隨時留意聲音文件長度的變化,并配合“停止”鍵和“播放”鍵,以便于準確定位。
屏幕顯示步驟如下:
第一步:用“錄音機”程序打開聲音文件“春1.wav”,并將滑塊移動到要插入聲音的地方。
第二步:執行“編輯/插入文件”菜單項,選擇聲音文件“春2.wav”,這樣就可以完成兩個文件的合并。
第三步:以“春3.wav”為名保存合成后的聲音。
(2)師選出一名操作熟練的學生,利用網絡教室演示并講解操作步驟(哪位同學愿意到教師機展示自己的操作過程,讓我們共同學習,好嗎?)老師針對學生的演示給出有針對性的總結和指導。
設疑1:保存合并后的聲音文件時就選擇哪個菜單項?若選擇“保存”會有什么后果?
小結:應使用“文件”菜單中的“另存為”選項進行保存。如果選擇“保存”菜單的話,將會將文件“春1”替換。我們編輯多媒體時,應當養成保留原素材的習慣,以備再用。另外,如果滑塊沒移到正確位置就插入了“春2”,未保存之前還有補救措施,就是……還記得學習“word”時,出現誤操作時可以用“撤消”按鈕嗎?錄音機也有類似的功能,那就是用“文件”菜單中的“恢復”選項。
請大家再看看課本上的三個步驟,加深印象。
錄音機不只可以合成兩個聲音文件,還可以合成兩個以上的聲音文件,簡單易學。
(3)好!下面用1分鐘的時間繼續完成剛才的任務,并且注意觀察“‘春3'的播放長度和‘春1'、‘春2'的播放長度的關系”。要讓所有的同學都能學會,才能更好地學習下面的內容。
設疑2:“春3”的播放長度和“春1”、“春2”的播放長度有什么關系? 小結:對!“春3”的播放長度是“春1”、“春2”的播放長度的總和,但這也不是固定不變的,我們有時候可以利用合并聲音文件時的精確定位來對其中某一聲音文件進行變相取舍,從而放棄掉一部分聲音素材,在這種情況下,合并后的聲音文件長度可能要短于各聲音文件長度之和。
建立好“春3”的同學請舉手!
我們知道,好的音樂可以渲染氣氛,烘托主題,同時也是一種美好的享受。接下來,我們幫李明合成配樂朗誦,即學習“混合聲音”,請完成“自主學習2:請大家參照課本15頁中間的‘混合聲音'的三個步驟,自主完成給‘春3'加上背景音樂‘春之聲'。”
(二)混合聲音
(1)參照課本操作步驟,學生自主操作練習,操作完成試聽混音效果,找出需要進一步完美的地方,鄰近的學生互相交流,取長補短;操作較快的學生可參照課本步驟自主練習聲音效果的設置,并播放設置效果后的聲音,注意聲音文件的變化,體會聲音效果的作用。
屏幕顯示步驟如下:
第一步:準備好朗讀和背景音樂兩個聲音文件。
第二步:打開其中一個文件;將滑塊拖到準備開始混音的位置。
第三步:執行“編輯/與文件混音”菜單項,從出現的“文件”對話框中選擇另一個文件。
(2)找一生到教師機上演示(哪位同學愿意到教師機展示自己的操作過程,讓我們共同學習,好嗎?也是鍛煉勇氣與表達能力的機會。)
強調:
正確定位滑塊的位置后,再進入聲音混合,朗誦與音樂混合協調; 背景音樂要與聲音文件內容相吻合。
設疑1:通常情況下,人們一般習慣在背景音樂響起后再開始朗誦,也就是有一個前奏,那么,在這種情況下,應該先打開哪一個聲音文件后再混入另一個文件更好一點兒呢?是朗誦還是背景音樂?
小結:背景音樂!的確,同學們在進行聲音處理時,必須考慮到一些細節處理,才能讓你們的作品煥發生機,包括在我們的學習、生活中,又何嘗不是如此?
設疑2:聲音文件的合并與混合有什么異同點?
師生總結:聲音的合并意味著二者“合二為一”,在合并點上兩個聲音文件只選其一;而聲音的混合則是“共生共榮”,是一種互相協作與美化的作用。
(3)好!下面再用1分鐘的時間完成剛才的任務。
我們已經幫李明加上背景音樂了,大家在欣賞的時候,有沒有發現需要改進的地方?(有!“春之聲”的音樂要比“春3”的錄音時間長一些。)
那么怎樣處理?
對!把多余的音樂部分去掉,讓背景音樂和朗讀聲音同時結束。怎樣去掉呢?下面,我們就來學習第三個內容“去掉不需要的聲音”。
(三)、去掉不需要的聲音
(1)參照課本操作步驟,學生自主操作練習,將聲音多余的部分刪除;部分完成操作的學生考慮如果背景音樂時間過短應該怎樣操作,并自己操作實踐,老師可給予相應指導。
屏幕顯示步驟如下:
第一步:用“錄音機”打開要剪輯的聲音文件,播放到要保存的位置,單擊“停止”按鈕。
第二步:執行“編輯/刪除當前位置以后的內容”菜單項。第三步:單擊“確定”按鈕,將多余的聲音刪除。(2)找一學生到教師機上演示 設疑:如果音樂比朗誦短怎么辦(前提是不得另外選擇其它音樂片斷)? 師生總結:利用合并,可將同一首音樂重復播放,再將多余的音樂刪除。強調:我們在刪除的時候,還是要正確定位滑塊的位置,實際上,兩個聲音文件長度不一定等長,例如涉及到有前奏時,背景音樂可適當長一點等等,總之,和諧是美,大家一定要根據實際情況作出取舍與選擇。另外錄音機無法直接刪除中間的部分,只有較專業的錄音軟件才能實現這項功能。但是,不能“直接刪除”,不代表不能“間接刪除”,實際上,我們可以巧妙利用“刪除當前位置以后(或以前)的內容”這一功能,多次操作,就可達到目的。
(3)好!下面再用1分鐘的時間完成剛才的任務,爭取所有同學都能完成任務。
(4)編輯好后不要忘記保存啊。
同學們,小小的錄音機還有一些優化效果呢?想知道嗎?那下面我們再幫李明的配樂朗誦加上適合的效果,感受聲音的變化。請完成“自主學習4:請大家參照課本16頁中下部的‘混合聲音'的三個步驟添加優化效果,可以先嘗試收聽不同的效果,然后再選擇最佳的播放效果,并進行保存。”
(四)、優化音效
學生自學的時候,自己巡回指導,強調一定要認真看操作步驟,留心查看學生操作中的問題,也可以進行討論。
屏幕展示調整音效步驟:
第一步:使用“錄音機”打開要處理的聲音文件。
第二步:打開菜單欄上的“效果”菜單,選擇其中的某一項,即可完成相應的處理。
到此為止,我們已經很圓滿的幫李平完成了任務,她知道了肯定會特別高興。
(五)提高
請本節任務沒有完成的同學繼續完成,完成任務的同學請打開“提高”文件夾,按要求完成任務。
III展示作品,共享成功
大家學得很好,哪些同學愿意把“春3”進行展示,請舉手!(在教師機上展示兩個同學的“春3”。)
然后,我們共同回顧這節課學會了什么?誰能說說? IV歸納總結,完成建構
今天我們接觸到聲音文件編輯的一些基礎操作,包括聲音文件的合并、混合、剪輯與效果調整,也許結果不完美,但畢竟我們在這一領域邁出了實實在在的一步。要成為專業的錄音師,需要專業的錄音軟件,更需要高超的操作技巧和良好的審美素養,在課本17頁為大家提供了這方面的參考,愛唱愛跳的同學們課后可以嘗試為自己錄制一首個人專輯,希望同學們能在探索的道路上越走越遠,創作出更多更好、個性十足的作品。
第三篇:聲音錄制與編輯實驗報告參考范文
實 實 驗 報 告 告
課程名稱:
計算機音頻視頻處理
實驗名稱:
聲音的錄制與編輯
所在學院:
姓名:
學號:
實驗時間:
一、實驗目的 的(1)掌握利用 Adobe Audition 進行錄音。
(2)掌握利用 Adobe Audition 對所錄制的音樂進行降噪等各種處理,使聲音聽起來很豐滿,同時加入背景音樂,進行混合處理,提高這段音頻的震攝力。
(3)熟悉一種音頻處理軟件的使用方法。
(4)通過聲音加深對聲音數字化的了解。
二、實驗環境 1.高檔微機:MPC(附帶耳機和麥克風)。
2.操作系統:Windows XP 中文版。
3.音頻處理軟件:Audition CS 3。
三、實驗內容 制作配樂詩,利用 Adobe Audition 錄音,在此過程中朗誦一首詩歌,對聲音進行各種編輯,包括對所錄制的音頻文件進行降噪處理。插入背景音樂,再進行進一步的完美編輯。完成實驗后導出在一個文件夾中。并把實驗過程撰寫成實驗報告文檔。
四、實驗步驟 把實驗所用的素材存放在一個文件夾中。
(1)素材準備:上百度 mp3 搜一首背景音樂,根據所選擇的音樂長度及風格準備一篇詩歌,使得朗誦文章所用的時間小于背景音樂的長
度。當然,也可以先準備詩歌,再根據詩歌內容情調選一首符合的背景音樂。把背景音樂和朗誦的詩分別儲存在一個文件夾中。文件名可分別為“朗誦詩、背景音樂”
(2)錄音前的準備。在錄音前先要對聲卡進行簡單的錄音設置。
○1 實驗中請戴好耳機,以免影響別人,同時也可以使自己聽得更清楚。
○2 雙擊 Windows 任務欄右側的音量圖標,打開“音量控制”對話框。如圖 1 所示。
“音量控制”對話框
○3 選擇“選項”/“屬性”菜單項,在打開的“屬性”對話框中,在“調節音量”框中選擇“錄音”單選按鈕,然后在“顯示下列音量控制”框中勾選“麥克風”復選框。如圖 2 所示。
圖 2“屬性”對話框
○4 單擊“確定”按鈕調整音量到合適的位置。
如果聽不到麥克風中的聲音,則執行“程序”->“附件”->“娛樂”->“音量控制”。將麥克風選項下的靜音取消,然后試一下有沒有聲音。注意,試好聲音以后,要將麥克風選項下的靜音重新設置好。
圖 3 “錄音”對話框
○5 如果想錄音質量更好可以單擊“高級”按鈕,打開“麥克風的高級控制”對話框,在此對話框的“其它控制”框中勾選“麥克風加強”復選框。
圖-4 “麥克風的高級控制”對話框
○6 關閉所有的對話框,完成對聲卡的設置。
(3)啟動 Adobe Audition 程序,單擊“編輯查看”按鈕,進入單軌波形編輯界面。
圖 6 錄音前準備
2)按下“傳送器”面板中的紅色錄音按鈕開始錄制聲音,結束后再等待幾秒鐘,錄進去一段環境噪音,為后期進行采樣降噪獲取樣本。單擊“停止”按鈕結束錄音。如圖 7 所示。
圖-7 錄音
3)單擊“播放”鍵進行試聽,檢查錄制的聲音有無嚴重的出錯,是否要重新錄制。
4)檢查確認無誤后,雙擊錄制的音頻文件,進入單軌波形編輯界面,將音頻以“朗誦詩.mp3”文件名保存在指定文件夾中。
紅色 錄音鍵 正錄制的音頻
(4)編輯音頻,刪除前后沒聲音即空白的地方。試聽多幾遍,如果中間某段朗誦間隔太短,可以復制空白處然后粘貼到指定位置。
(5)降噪。
1)在單軌波形編輯界面中,放大波形,選中一段剛錄的純噪音,時間長度不少于 0.5 秒。
2)選擇“效果”/“恢復”/“降噪(處理)”菜單項,打開“降噪”對話框,如圖 8 所示,在此對話框中單擊“采集預置文件”按鈕,進行噪音采樣。
圖-8 降噪采樣
3)單擊“選擇整個文件”按鈕,以對整個音頻文件進行降噪處理。
4)在如圖-9 所示的對話框中設置相應的參數值后,單擊“確定”按鈕,系統就開始自動清除噪聲。
圖 9 “降噪”對話框
(9)降噪處理結束,試聽確認無誤后,點擊保存。
(10)對自己制作的音頻文件處理效果滿意后,切換到多音軌編輯界面。
(11)在左側面板及朗誦詩文件下面雙點擊鼠標左鍵,然后選擇所存的背景音樂。
(11)打開多軌界面中,在軌道一處點擊鼠標右鍵“插入/背景音樂”,然后在軌道二處插入朗誦詩
如圖 10
圖 10
(12)在背景音樂中間處點擊右鍵“分離”,點擊右段然后按右鍵“刪除”,把背景音樂另一端刪除后,調整前段的長度。然后點擊主群組上面標題框第三個鍵后,把朗誦詩音頻拉向背景音樂軌道的右邊一點。如圖 11
圖 11
圖 12,淡入淡出處理圖
(13)進行淡入淡出處理拖動節點,形成“/-----”型曲線,拖動節點時要注意,淡入淡出至少需要 4 個節點,峰段需要平穩的保持上升的或在最后保持直線下降。根據所讀詩的內容聲調等調節何時淡入淡出。如圖 12
(14)為了增加音效,可對音頻進行回聲處理。先暫停播放音頻,然后在軌道處按下“fx”后按下“主控”然后出現下圖的版面,然后點循環播放,先點擊 lock left/right 復選框將左右聲道關聯。在此過程中不斷地跳動下圖所示的滑輪,直到聽到聲音聽起來很豐滿。當然,也可以根據情況選擇 Delay 的延時效果,模擬各種房間效果,模擬空中回聲、隧道、立體聲遠處演示效果等。
圖 13
(15)選擇“文件/導出/混音頻/ MP3 格式”保存文件,命名為“學號+姓名+配樂詩朗誦”實驗就完成了。
五、結果與分析
六、心得體會
第四篇:數碼轉換 實驗報告 微機原理
實驗九
數碼轉換
一、實驗目的
1、掌握計算機常用數據編碼之間的相互轉換方法。
2、進一步熟悉DEBUG軟件的使用方法。
二、實驗內容
1.ACSII碼轉換為非壓縮型BCD碼
編寫并調試正確的匯編語言源程序,使之實現:設從鍵盤輸入一串十進制數,存入DATA1單元中,按回車停止鍵盤輸入。將其轉換成非壓縮型(非組合型)BCD碼后,再存入DATA2開始的單元中。若輸入的不是十進制數,則相應單元中存放FFH。調試程序,用D命令檢查執行結果。
2.BCD碼轉換為二進制碼
編寫并調試正確的匯編語言源程序,使之將一個16位存儲單元中存放的4位BCD碼DATA1,轉換成二進制數存入DATA2字單元中。調試程序,用D命令檢查執行結果。3.十六進制數轉換為ASCII碼
編寫并調試正確的匯編語言源程序,使之將內存DATA1字單元中存放的4位十六進制數,轉換為ASCⅡ碼后分別存入DATA2為起始地址的4個單元中,低位數存在低地址的字節中,并在屏幕上顯示出來。
三、實驗預習
1.復習材料中有關計算機數據編碼部分的內容。2.按要求編寫程序。
四、實驗步驟
1.編輯源文件,經匯編連接產生EXE文件。2.用DEBUG調試、檢查、修改程序。
五、實驗內容
1.ACSII碼轉換為非壓縮型BCD碼 STACK SEGMENT PARA STACK 'STACK'
DB 256 DUP(?)
;為堆棧段留出256個字節單位
STACK ENDS DATA SEGMENT PARA 'DATA';定義數據段
DATA1 DB 32
;緩沖區最大長度
DB ? DB 32 DUP(?)DATA2 DB 32 DUP(?)DATA ENDS CODE SEGMENT
;定義代碼段 ASSUME SS:STACK ASSUME CS:CODE ASSUME DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,DATA1
;規定:DX存放輸入字符串的緩沖區首地址 MOV AH,0AH INT 21H
;字符串輸入 AL=鍵入的ASCII碼 LEA SI,DATA1 LEA DI,DATA2 INC SI MOV CL,[SI] INC SI LP1: MOV AL,[SI] SUB AL,30H CMP AL,0 JL LP2 CMP AL,9 JG LP2 MOV BL,AL MOV [DI],BL INC DI INC SI DEC CL JMP LP1 LP2: MOV AL,0FFH MOV BL,AL MOV [DI],BL INC DI INC SI DEC CL CL=CL-1 JNZ LP1 LP3: MOV AH,4CH INT 21H CODE ENDS END START
;DI存放DATA2首地址
;取輸入字符串長度
;指向第一個輸入字符
;輸入的字符存為ASCII碼,將其轉換成十進制數
;若AL<0(AL-0<0),跳轉到LP2
;若AL>9(AL-9>0),跳轉到LP2
;將AL->BL
;將結果存到DATA2開始的單元中
;若輸入的不是十進制數,在相應的單元存放FFH
;以字母開頭的十六進制數前面需加'0'
;將AL->BL
;CL=0,執行LP3中的語句
2.BCD碼轉換為二進制碼
DATA
SEGMENT
DATA1 DW 2497H
DATA2 DW ?
DATA
ENDS
CODE
SEGMENT
ASSUME SS:STACK,CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
XOR BX,BX
;累加單元清0(BX=0)
MOV SI,0AH
;設置乘數10
MOV CL,4
;指4位BCD碼
MOV CH,3
;循環次數=3 MOV AX,DATA1
;取十進制數
LP:
ROL AX,CL
;取數字
MOV DI,AX
;保存當前AX值
AND AX,0FH
;屏蔽高位
ADD AX,BX
;累加
MUL SI
MOV BX,AX
MOV AX,DI
DEC CH
;循環次數減1
JNZ LP
;以上完成循環三次
ROL AX,CL
;取個位數字
AND AX,0FH
;屏蔽高位
ADD AX,BX
;進行累加,直接將最后的累加結果放到AX中
MOV DATA2,AX
MOV AH,4CH
INT 21H
CODE
ENDS
END START
3.十六進制數轉換為ACSII碼 STACK
SEGMENT
DB 256 DUP(?)
STACK
ENDS
DATA
SEGMENT
DATA1 DB 24H,06DH
DATA2 DB 4 DUP(?)
;存放ASCII碼
JUMP DB 4 DUP(?)
;4位十六進制數分別存放在DATA3的4個字節中
DATA ENDS
CODE
SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,DATA1
LEA DI,JUMP
MOV CL,2
;循環2次,取兩次兩位十六進制數
LP0:
MOV AL,[SI]
;取2位十六進制數
AND AL,0F0H
;低四位為零
ROR AL,4
;右移4位
相當于除以16
MOV [DI],AL
;高位數存放在高地址字節中
INC DI
MOV AL,[SI]
;取2位十六進制數
AND AL,0FH
;高四位為零
MOV [DI],AL
;低位數存放在低地址字節中
INC SI
INC DI
DEC CL
JNZ LP0
LEA SI,JUMP
LEA DI,DATA2
MOV CL,4
LP1:
MOV AL,[SI]
CMP AL,9
JG LP3
ADD AL,30H
JMP LP3
LP2:
ADD AL,37H
LP3:
MOV [DI],AL
INC DI
INC SI
DEC CL
JNZ LP1
MOV AH,09H
INT 21H
MOV DX,OFFSET DATA2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE
ENDS
END START
;SI=JUMP的首地址偏移量
;DI=DATA2的首地址偏移量
;因為是四位十六進制數,所以設置為循環4次
;取JUMP中的十六進制數
;若AL>9(AL-9>0),跳轉到LP3
;0~9H+30H=ASCII
;A~FH+30H=ASCII
;將ASCII碼依次存入DATA2中
六、實驗習題與思考
1.編程實現:從鍵盤上輸入兩位十六進制數,轉換成十進制數后顯示在屏幕上。STACK SEGMENT
DB
256 DUP(?)
STACK ENDS
DATA SEGMENT
DATA1 DB
5,?,2 DUP(?)
DATA2 DB
DUP(?)
DATA3 DB
DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME
SS:STACK,DS:DATA,CS:CODE
START:MOV
AX,DATA
MOV
DS,AX
LEA
DX,DATA1
MOV
AH,0AH
INT
21H
;輸入字符串
LEA
SI,DATA1+2
LEA
DI,DATA2
MOV
CL,2
;將ASC碼轉換為十六進制數
LP1: MOV
AL,[SI]
SUB
AL,30H
CMP
AL,9
JA
LP2
MOV
[DI],AL
INC
DI
INC
SI
DEC
CL
JZ
LP3
JNZ
LP1
LP2: SUB
AL,7
MOV
[DI],AL
INC
DI
INC
SI
DEC
CL
JNZ
LP1
;將十六進制數轉換成十進制數,并保存
LP3: LEA
DI,DATA2
MOV
AL,[DI]
MOV
BL,[DI+1]
MOV
CL,4
SHL
AL,CL
ADD
AL,BL
MOV
[DI],AL
LEA
SI,DATA3
XOR
AH,AH
MOV
CL,100
DIV
CL
;AH=AX%100,AL=AX/100
MOV
[SI],AL
;保存百位數
MOV
AL,AH
XOR
AH,AH
MOV
CL,10
DIV
CL
MOV
[SI+1],AL
;保存十位數
MOV
[SI+2],AH
;保存個位數
;屏幕顯示十進制數
LP4: MOV
DL,[SI]
;取百位數送顯
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
DL,[SI+1]
;取十位數送顯
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
DL,[SI+2]
;取個位數送顯
OR
DL,30H
MOV
AH,02H
INT
21H
MOV
AH,4CH
INT
21H
CODE ENDS
END
START
2.十進制數轉換為七段碼。
為了在七段顯示器上顯示十進制數,需要把十進制數轉換為七段代碼。轉換可采用查表法。設需要轉換的十進制數已存放在起始地址為DATA1區域中,七段代碼轉換表存放在起始地址為TABLE表中,轉換結果存放到起始地址為DATA2區域。若待轉換的數不是十進制數,則相應結果單元內容為00H。
STACK SEGMENT
DB
256 DUP(?)
STACK ENDS
DATA SEGMENT
DATA1 DB
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,'A','B','C','$'
TABLE DB
00H,40H,01H,79H,02H,24H,03H,30H,04H,19H,05H,12H,06H,02H, 07H,78H,08H,00H,09H,18H,0AH,08H,0BH,03H,0CH,46H,0DH,21H,0EH,06H,0FH,0EH
;實際數據定義必須在同一行
DATA2 DB
DUP(0)
COUNT EQU
DATA ENDS CODE SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
START: MOV
AX,DATA
MOV
DS,AX
LEA
SI,DATA1
LEA
BX,DATA2
LEA
DI,TABLE
XOR
AH,AH
LP1: MOV
AL,[SI]
;外循環DATA1指向下一個
INC
SI
MOV
CX,16
;內循環TABLE 16次
LP2: CMP
[DI],AL
JE
LP3
ADD
DI,COUNT
;內循環TABLE指向下一組
DEC
CX
JNZ
LP2
MOV
BYTE PTR[BX],00H 若不是十進制數,則結果保存為00H
INC
BX
CMP
AL,'$'
;設置結束標志
JNZ
LP1
JZ
LP4
LP3: MOV
AL,[DI+1]
MOV
[BX],AL
;轉換結果保存在DATA2中
INC
BX
LEA
DI,TABLE
CMP
CL,0
JNZ
LP1
LP4: MOV
AH,4CH
INT
21H
CODE ENDS
END START
第五篇:二進制到BCD轉換實驗報告
二進制到BCD轉換實驗報告
班級
姓名
學號
日期
一、實驗目的:1.掌握簡單的數值轉換算法
2.基本了解數值的各種表達方法
二、實驗要求:
將給定的一個二進制數,轉換成十進制(BCD)碼。
三、實驗內容:
1、給累加器賦值,如#123
2、將累加器的內容拆分為三個BCD碼,并存入Result開始的三個單元。
四、程序及運行結果截圖
DATA
SEGMENT RESULT_1
DB
RESULT_2
DB
RESULT_3
DB
DATA
ENDS
STACK
SEGMENT
ATACK STA
DB
DUP(0)STACK_TOP DB
0 STACK
ENDS
CODE
SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:
MOV
AX,DATA MOV
DS,AX MOV
AX,STACK MOV
SS,AX LEA
SP,ATACK_TOP MOV
AX,123H MOV
CL,100 DIV
CL MOV
RESULT_1,AL
MOV
CL,8 SHR
AX,CL MOV
CL,10 DIV
CL MOV
RESULT_2,AL MOV
RESULT_3,AH
ADD
RESULT_1,30H ADD
RESULT_2,30H ADD
RESULT_3,30H
MOV
DL, RESULT_1 MOV
AH,02H INT
21H
MOV
AX,4C00H INT
21H CODE
ENDS
END
START
五、實驗過程中遇到的主要問題
;將 A 拆為三個 BCD 碼, 并存入 Result 開始的叁個單元
Result equ
20h
org
0
ljmp Start
BinToBCD:
mov
b, #100
div
ab
mov
Result, a
;除以 100, 得百位數
mov
a, b
mov
b, #10
div
ab
mov
Result+1, a
;余數除以 10, 得十位數
mov
Result+2, b
;余數為個位數
ret
Start:
mov
sp, #40h
mov
a, #123
call BinToBCD
ljmp $
end
六、實驗后的心得體會