微處理機期末專題



Similar documents
DPJJX1.DOC

1 TPIS TPIS 2 2

R/W

zw.PDF

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

目 录

12232A LED LED LED EL EL CCFL EL CCF

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

(Microsoft Word - 2\246~\257\305.doc)

Microsoft Word - 專題封面.doc

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Microsoft Word - P3.doc

untitled

untitled

專題最終版.doc

論鄭玄對《禮記‧月令》的考辨

CA24064B LED LED LED EL EL CCFL EL CCF /

逢 甲 大 學

訪 談 後 的 檢 討 ~~~~~~~~~~~~~~~~p.18,19 2

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

学习MSP430单片机推荐参考书

D/A DAC ( 1us) (10~20 ) DAC0832 1

附录八:验收监测表格式

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

数 学 高 分 的 展 望 一 管 理 类 联 考 分 析 第 一 篇 大 纲 解 析 篇 编 写 : 孙 华 明 1 综 合 能 力 考 试 时 间 :014 年 1 月 4 日 上 午 8:30~11:30 分 值 分 配 : 数 学 :75 分 逻 辑 :60 分 作 文 :65 分 ; 总

決算説明資料

单片机学习教程



TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

PowerPoint 簡報

untitled

幻灯片 1

... 2 SK SK Command KA 9000 COM... 9 SK / SK / Autolock SK

<4D F736F F D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63>

2.181% 0.005%0.002%0.005% 2,160 74,180, ,000, ,500,000 1,000,000 1,000,000 1,000,000 2

民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 簡 章 目 錄 壹 考 選 依 據 1 貳 考 ( 甄 ) 選 對 象 1 參 資 格 規 定 1 肆 員 額 及 專 長 類 別 2 伍 報 名 及 選 填 志 願 日 期 方 式 3 陸 選 填 官 科 (

97 [ ] : [ ] ( ),,? ( [10],,??,? [ ],,, :,,,,,,,,,, [ ] [ ] [ ],,,, [ ] [ ] [ ] [ ],,, [ ],,, [ ],,,

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

...2 SK 100 G SK 100 G / /

untitled

untitled

SIK) 者, 需 實 施 1 年 以 上, 經 體 格 檢 查 無 後 遺 症 者 5. 身 體 任 何 部 分 有 刺 青 紋 身 穿 耳 洞 者, 不 得 報 考, 各 項 檢 查 結 果 須 符 合 體 位 區 分 標 準 常 備 役 體 位 二 在 校 軍 訓 成 績 總 平 均 70 分

...2 SK 500 G SK 500 G / /



Ps22Pdf

《佛子行三十七颂》讲记1

至 尊 法 王 蒋 阳 龙 朵 加 参 尊 者 上 师 瑜 伽 皈 依 境

(给多有拉姆)佛子行三十七颂1——7

untitled

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc


<313034A4BDB67DA4C0B56FBA5DB3E65FBD64A5BB2E786C7378>

Microsoft PowerPoint - chap5.ppt

SIGNUM 3SB3

W77E58中文手册

未完成的追踪(提纲)

untitled

重庆渝开发股份有限公司

untitled








1

! *!"#$%&'()*+,-./#01 6, 8 6, 8 6, 8 8!"# ( / )!"# ( / )!"# ( / )! ( ) 3SB3!" Ø22mm!"# ( / ) 6, 8 6, 8 6, 8 8!"# ( / )!"# ( / )!"# ( ) 7, 10 7, 9 7, 8

礼仪玉和葬玉

招股说明书.PDF

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

文档 1


$$% % $ (%) % %$ $ ( *+,)(-)-./0-1//0- %) %) % - $%2)33%0 $ % ((3./. 3/3 )3 / % (()33(1 % (()3(/ %89856%:;< % (()3 0()0 3 (. <<=330(<</ 3 3. ()

!!"#! " # $%%&#! ()*+ %& %,&,, &!!# # # #! "# ## # #! $# # #! %#! &# -,.$# /! 0(1 $%%& %&23%2!!!!!!!!!!!!!! %,% 4&%.&.22!!! &! 2%% 2,% %.32!,%%%,,! 56

第二章 糖尿病之醫療照顧準則


诺贝尔生理学医学奖获奖者

試料分解と目的元素精製法_2010日本分析化学会

YYW1.nps

表 决, 审 议 程 序 符 合 有 关 法 律 法 规 和 本 公 司 章 程 的 规 定 3 本 议 案 尚 需 提 交 股 东 大 会 审 议, 与 该 等 交 易 有 利 害 关 系 的 关 联 股 东 将 放 弃 在 股 东 大 会 上 对 相 关 议 案 的 投 票 权 ( 二 ) 公

<4D F736F F D20B9F0D5FEB0ECB7A2A3A A3A93532BAC52E646F63>

103_02.xls

<313032A655A874B2D5B3CCA743BFFDA8FABCD0B7C7AAED2E786C73>

柳州历史上的今天内文改版式.FIT)

生 產 準 備 您 接 近 生 產 之 注 意 事 項 : 備 妥 住 院 用 物, 勿 遠 行 ( 生 產 用 物 包 ) 最 好 有 人 在 家 陪 伴, 或 和 陪 產 者 保 持 連 繫, 有 任 何 狀 況 可 立 即 趕 到 可 做 家 事 散 步 蹲 下 等 運 動, 以 不 太 累

省十二届人大常委会

Q8. 公 營 事 業 機 構 之 公 務 員 兼 具 勞 工 身 分 者, 於 97 年 3 月 19 日 以 前, 原 選 擇 參 加 勞 保, 調 任 其 他 公 營 事 業 機 構 時, 應 改 參 加 公 保 所 謂 調 任 其 他 公 營 事 業 機 構 之 判 別 依 據 ( 或 標

untitled

学生工作部处2010年工作总结

決議、附帶決議及注意事項

天人炁功行入與感應經驗分享

穨邱秀玲綜合展望報告.PDF

chineseall

國立嘉義高中96學年度資優班語資班成班考國文科試題

2016 年 地 质 工 程 系 教 学 工 作 安 排 2016 学 年 我 系 将 在 总 结 过 去 工 作 的 基 础 上, 结 合 今 年 学 院 以 抓 质 量 强 内 涵 促 改 革 调 结 构 建 品 牌 细 管 理 重 过 程 为 宗 旨, 以 规 范 管 理 深 化 内 涵 为


Transcription:

微 處 理 機 期 末 專 題 自 動 鋼 琴 組 員 :b92611004 羅 鈞 瑋 b92611008 吳 妍 儂 b92611038 吳 韋 靜 b92611042 林 佳 穎

一 簡 介 本 組 的 主 題 是 自 動 鋼 琴 在 播 放 音 樂 的 同 時, 鋼 琴 會 自 動 按 下 琴 鍵, 被 按 下 的 琴 鍵 所 對 應 到 的 音 階, 就 是 正 在 撥 放 的 樂 曲 的 音 調 旋 律, 所 以 在 聆 聽 音 樂 的 時 候, 還 能 觀 賞 鋼 琴 的 自 動 演 奏 本 組 所 做 之 模 擬 自 動 鋼 琴 的 原 理, 是 利 用 一 顆 8052 來 控 制 系 統, 分 為 硬 體 和 軟 體 兩 個 部 分 軟 體 部 分 含 樂 曲 的 資 料 編 輯, 以 及 使 琴 鍵 自 動 按 下 的 一 些 指 令, 將 程 式 碼 燒 入 8052, 利 用 8052 來 控 制 電 路 板 的 運 作 硬 體 包 含 電 路 和 琴 鍵 機 構 兩 部 分 二 實 習 過 程 我 們 的 專 題 分 成 兩 部 分 進 行, 第 一 部 分 先 把 琴 鍵 以 外 的 電 路 焊 好, 並 寫 入 測 試 的 程 式 以 確 認 其 他 腳 位 的 控 制 狀 況 正 常, 第 二 部 分 再 將 繼 電 器 和 主 要 電 路 相 連 接, 並 將 最 後 的 選 擇 音 樂 撥 放 和 繼 電 器 吸 放 發 光 二 極 體 通 電 的 程 式 完 成 第 一 部 分 先 把 構 想 中 的 作 動 方 式 和 AT89S52 的 微 處 理 機 的 腳 位 互 相 連 結, 先 規 劃 出 每 個 腳 位 的 功 能 PORT 1.0: 用 來 作 為 喇 叭 的 訊 號 輸 出 PORT 1.1, 1.2, 1.3: 三 個 按 鍵 的 輸 入, 讓 使 用 者 可 以 選 擇 三 首 不 同 的 歌 曲 PORT 2: 連 接 了 七 個 發 光 二 極 體, 原 本 是 想 用 此 PORT 來 控 制 琴 鍵 的 繼 電 器, 只 是 在 前 端 先 接 上 發 光 二 極 體 以 確 認 每 個 腳 位 的 輸 出 正 常 不 過 後 來 因 為 怕 二 極 體 會 影 響 到 後 面 繼 電 器 的 操 作, 所 以 在 第 二 部 份 中 把 繼 電 器 改 接 在 空 的 PORT 0 第 一 部 分 測 試 PORT 2 的 程 式 是 讓 七 個 發 光 二 極 體 輪 流 熄 燈, 用 以 確 認 PORT 2 的 電 路 和 程 式 控 制 沒 有 問 題 而 第 二 部 分 中, 將 PORT 0 用 以 控 制 琴 鍵 的 繼 電 器 鍵 盤 機 構 本 來 是 想 自 己 繞 線 圈 來 控 制 吸 放 動 作 以 達 到 琴 鍵 的 上 下 動 作, 不 過 後 來 還 是 覺 得 利 用 繼 電 器 比 較 便 於 操 控 我 們 把 繼 電 器 的 外 殼 拆 掉, 把 白 色 塑 膠 板 固 定 在 繼 電 器 吸 放 的 簧 片 上 面, 如 此 便 可 以 達 到 琴 鍵 上 下 的 動 作 PORT1.0 連 接 喇 叭 產 生 音 高 的 原 理 和 上 課 實 習 時 相 同 : 在 一 定 的 時 間 間 隔 內 由 控 制 晶 片 反 覆 開 關 喇 叭 各 半 週 期, 即 能 產 生 某 一 頻 率 的 方 波 信 號 各 音 高 所 需 之 脈 波 數 由 下 面 的 公 式 計 算 : 1 N = 頻 率 1 2 1 1µ s

實 際 在 程 式 中 乃 將 此 脈 波 數 另 外 轉 換 為 對 應 的 常 數, 以 供 程 式 使 用 當 程 式 已 經 可 以 把 一 首 歌 的 音 調 用 喇 叭 發 出 並 同 時 吸 取 相 對 應 的 繼 電 器 和 亮 起 對 應 的 二 極 體 後, 我 們 再 把 用 按 鍵 選 擇 歌 曲 的 部 分 加 入 程 式 當 我 們 將 按 鍵 判 斷 的 程 式 加 入 之 後, 首 先 發 現 我 們 無 法 讀 到 按 鍵 : 查 資 料 得 知,PORT1 之 預 設 模 式 是 輸 出, 因 此 我 們 送 出 #0EH 到 PORT1 以 將 PORT 1.1, 1.2, 1.3 設 定 為 輸 入 埠 ( 寫 入 1 ) 便 排 除 了 這 個 問 題 接 著 發 現 繼 電 器 和 二 極 體 皆 正 常 作 動, 但 是 喇 叭 有 聲 音 卻 無 法 發 出 我 們 當 初 所 設 定 的 頻 率 原 來 是 在 修 改 設 定 按 鈕 程 式 的 時 候 動 到 了 讀 取 音 高 的 設 定, 而 無 法 正 確 讀 取 音 高 此 一 障 礙 也 順 利 排 除 最 後 再 將 我 們 所 選 取 的 三 首 歌 曲 的 音 調 和 音 長 寫 入 程 式, 並 加 上 每 個 音 演 奏 完 後 放 掉 琴 鍵 的 設 定, 控 制 軟 體 的 部 分 就 完 成 了 而 機 構 的 部 分 主 要 是 在 繼 電 器 的 簧 片 加 上 白 色 塑 膠 板 當 作 琴 鍵, 之 後 再 加 上 紅 色 的 琴 架 和 鍵 盤 的 黑 鍵 作 為 裝 飾, 讓 琴 鍵 的 部 分 更 為 完 整 的 呈 現 三 : 硬 體 部 分 : 3.1 材 料 1 核 心 微 處 理 機 :AT89S52 2 程 式 語 言 : 組 合 語 言 3 穩 壓 器 :UA7805 4 開 發 環 境 :KeilμVision2 5 琴 鍵 機 關 : 繼 電 器 *7 3.2 電 路 說 明 AT89S52: 這 次 專 題 所 用 的 微 處 理 機 是 ATMEL 公 司 所 出 的 AT89S52 此 種 IC 的 優 點 為 可 透 過 Cable 把 在 電 腦 上 寫 的 程 式 直 接 燒 進 IC 裡

UA7805: 將 輸 入 的 12V 直 流 電 壓 轉 換 成 5V, 以 便 提 供 給 其 他 電 路 使 用 喇 叭 : 喇 叭 其 中 一 端 接 上 5V 電 源, 另 一 端 接 上 開 關 電 晶 體, 當 P1.0 送 入 高 位 準 訊 號 時 電 路 就 被 接 通 喇 叭 就 會 響, 當 P1.0 送 入 低 位 準 訊 號 時 電 路 為 斷 路 喇 叭 就 不 會 響 按 鍵 : 我 們 使 用 PORT1.0 PORT1.1 和 PORT1.2 來 連 接 按 鍵, 在 5V 電 源 和 開 關 中 間 連 接 提 升 電 阻 連 接 線 : 本 次 專 題 使 用 10 線 接 頭 連 接 主 電 路 板 和 繼 電 器 電 路 板 兩 部 分, 第 一 線 接 地, 第 二 線 接 12V 的 電 源,1 2 接 腳 間 連 接 一 個 電 容 做 為 電 源 穩 定 用 3 到 9 腳 為 輸 出 訊 號 線, 連 接 P0.0 到 P0.6 來 控 制 繼 電 器 的 吸 放 又 因 PORT0 為 Open drain, 所 以 需 要 外 接 提 升 電 阻 才 有 辦 法 在 輸 出 埠 得 到 一 個 高 位 準 訊 號 繼 電 器 : 本 次 專 題 所 使 用 的 繼 電 器 為 12V 的 繼 電 器 繼 電 器 中 電 感 的 1 是 正 而 2 接 地, 所 以 我 們 在 2 上 連 接 開 關 電 晶 體, 當 訊 號 線 傳 來 高 位 準 的 訊 號 時 電 晶 體 就 會 導 通, 這 時 繼 電 器 上 的 簧 片 就 被 吸 住 ; 當 訊 號 線 傳 入 低 位 準 訊 號 時 電 晶 體 就 不 導 通 接 在 電 感 1 2 上 的 二 極 體 會 把 電 感 上 的 電 放 掉, 簧 片 才 被 放 開 電 源 : 12V 的 電 壓 經 phonejack 進 來 後, 經 過 二 極 體 和 穩 壓 器 UA7805 穩 壓 後, 輸

出 5V 的 電 壓 到 電 路 發 光 二 極 體 : 我 們 在 發 光 二 極 體 的 正 端 接 上 5V 電 壓, 另 一 端 接 上 電 晶 體, 當 PORT2 傳 來 了 高 位 準 訊 號 時 電 晶 體 就 會 形 成 通 路, 發 光 二 極 體 就 會 亮 ; 低 位 準 訊 號 時 電 晶 體 就 會 形 成 斷 路, 發 光 二 極 體 就 不 會 亮 石 英 振 盪 器 : 8052 需 要 外 接 石 英 振 盪 器, 我 們 在 18 19 腳 連 接 石 英 振 盪 器, 另 外 再 接 兩 個 振 盪 響 應 電 容 接 地 燒 錄 頭 : 在 電 腦 內 寫 的 程 式, 經 由 燒 錄 頭 可 以 轉 錄 到 8052 裡 面 3.3 組 裝 過 程 圖 片 : 買 來 的 材 料 先 放 好 預 定 組 裝 的 位 置

CPU 和 發 光 二 極 體 電 路 組 裝 完 成 琴 鍵 電 路 板 組 裝 完 成 琴 鍵 電 路 板 背 面 的 電 路 兩 個 電 路 板 合 而 為 一

四 軟 體 部 分 4.1 流 程 圖 開 始 讀 取 port1 的 1.2.3 腳 位, 以 確 認 是 否 有 按 鍵 被 按 下 否 有 按 鍵? 是 跳 至 各 按 鍵 對 應 的 撥 放 主 程 式 從 對 應 的 樂 譜 讀 取 下 一 個 音 是 是 否 已 經 讀 完 樂 譜 了 ( 是 #00H?) 否 依 次 取 出 該 音 對 應 的 鍵 盤 和 燈 光 組 態, 並 分 別 送 至 輸 出 埠 取 出 該 音 的 音 長 開 始 倒 數, 並 將 頻 率 常 數 送 到 計 時 器 計 數 及 推 動 喇 叭

4.2 軟 體 程 式 碼 及 說 明 : ;---------------------------------- 程 式 開 始 --------------------------------------- NAME DOREMI STACK SEGMENT IDATA RSEG STACK DS 10H ; 設 定 16 Bytes Stack CSEG AT 0 USING 0 AJMP START ; 設 定 起 始 組 態 ORG 0BH AJMP TIMER0 ; T0 中 斷 點 位 址 START: MOV SP,#60H MOV R4,#50 MOV R5,#100 ; 設 定 節 拍 常 數, 一 拍 =R4*R5*100μs MOV TMOD,#2 ; 計 數 器 在 mode2 MOV TH0,#156 ; 設 定 T0 的 high byte 及 low byte MOV TL0,#156 ; 每 100μs 產 生 一 個 計 時 中 斷 SETB EA ; 啟 動 中 斷 系 統 SETB ET0 ; 啟 動 計 時 中 斷 ; 1. 檢 查 是 否 有 按 鍵 被 按 下 SCANKEY: MOV P1,#0EH ; 將 P1.1 P1.2 P1.3 設 為 輸 入 模 式 MOV A,P1 JNB ACC.1,MUSIC1 JNB ACC.2,MUSIC2 JNB ACC.3,MUSIC3 ; 檢 查 各 按 鈕 是 否 有 被 按 下 SJMP SCANKEY ; 沒 有 則 重 複 檢 查

; 以 下 是 音 樂 產 生 主 程 式, 三 首 之 結 構 均 相 同 ; 第 一 曲 MUSIC1: MOV R0,#0 ; 現 在 是 該 首 的 第 幾 個 音, 存 在 R0 NEXT1: CLR F0 MOV A,R0 ; 讀 入 R0 MOV DPTR,#TONE1 ; 去 樂 譜 讀 取 對 應 的 音 高 XRL A,#0 JZ SONGEND DEC A ;A-1 ; 修 正 音 高 ; 讀 入 為 0 表 唱 完 了, 跳 出 MOV B,A ;STORE A ; 將 修 正 音 高 暫 時 保 存 起 來 ; 首 先 送 出 鍵 盤 組 態 到 鍵 盤 MOV DPTR,#KEYSET ; 取 得 該 音 的 鍵 盤 組 態 MOV P0,A ; 將 組 態 輸 出 到 Port 0 ; 送 出 燈 光 組 態 MOV A,B ; 讀 出 保 存 的 音 高 MOV DPTR,#LIGHT ; 取 得 該 音 的 燈 光 組 態 MOV P2,A ; 將 燈 光 組 態 送 到 Port 2 ; 產 生 聲 音 MOV A,R0 ; 重 設 A 為 第 幾 個 音 MOV DPTR,#BEAT1 ; 取 出 對 應 的 節 拍 長 度 MOV R2,A MOV A,B ; 重 設 A 為 哪 個 音 高 MOV DPTR,#TABLE ; 取 出 對 應 的 頻 率 常 數

MOV R3,A SETB TR0 ; 開 始 計 數 MS1: ACALL SS ; 發 音 開 始 JNB F0,MS1 CLR TR0 MOV P0,#11111111B ; 把 鍵 盤 放 掉 ACALL MUTE INC R0 ; 直 到 F0=1 時 表 此 音 結 束, 程 式 繼 續 ; 產 生 音 與 音 之 間 的 間 隔 ;R0+1, 表 下 一 個 音 SJMP NEXT1 ; 產 生 下 一 個 音 SONGEND: AJMP SCANKEY ; 整 首 演 唱 完 後, 回 到 檢 查 鍵 盤 輸 入 ; 第 二 首 MUSIC2: MOV R0,#0 ; 現 在 是 該 首 的 第 幾 個 音 存 在 R0 NEXT2: CLR F0 MOV A,R0 ; 讀 入 R0 MOV DPTR,#TONE2 ; 去 樂 譜 讀 取 對 應 的 音 高 XRL A,#0 JZ SONGEND ; 讀 入 為 0 表 唱 完 了, 跳 出 DEC A ;A-1 ; 修 正 音 高 數 字 MOV B,A ;STORE A ; 將 修 正 值 暫 時 保 存 起 來 ; 首 先 送 出 鍵 盤 組 態 到 鍵 盤 MOV DPTR,#KEYSET ; 取 得 該 音 的 鍵 盤 組 態 MOV P0,A ; 將 組 態 輸 出 到 Port 0 ; 送 出 燈 光 組 態 MOV A,B ; 讀 出 保 存 的 音 高

MOV DPTR,#LIGHT ; 取 得 該 音 的 燈 光 組 態 MOV P2,A ; 將 燈 光 組 態 送 到 Port 2 ; 產 生 聲 音 MOV A,R0 ; 重 設 A 為 第 幾 個 音 MOV DPTR,#BEAT2 ; 取 出 對 應 的 節 拍 長 度 MOV R2,A MOV A,B ; 重 設 A 為 哪 個 音 高 MOV DPTR,#TABLE MOV R3,A SETB TR0 ; 開 始 計 數 MS2: ACALL SS ; 發 音 開 始 JNB F0,MS2 ; 取 出 對 應 的 頻 率 常 數 CLR TR0 MOV P0,#11111111B ; 把 鍵 盤 放 掉 ACALL MUTE INC R0 ; 直 到 F0=1 時 表 此 音 結 束, 程 式 繼 續 ; 產 生 音 與 音 之 間 的 間 隔 ;R0+1, 表 下 一 個 音 SJMP NEXT2 ; 產 生 下 一 個 音 ; 第 三 首 MUSIC3: MOV R0,#0 ; 現 在 是 該 首 的 第 幾 個 音 存 在 R0 NEXT3: CLR F0 MOV A,R0 ; 讀 入 R0 MOV DPTR,#TONE3 ; 去 樂 譜 讀 取 對 應 的 音 高 XRL A,#0 JZ SONGEND DEC A ;A-1 ; 修 正 音 高 ; 讀 入 為 0 表 唱 完 了, 跳 出 MOV B,A ;STORE A ; 將 修 正 音 高 暫 時 保 存 起 來

; 首 先 送 出 鍵 盤 組 態 到 鍵 盤 MOV DPTR,#KEYSET ; 取 得 該 音 的 鍵 盤 組 態 MOV P0,A ; 將 組 態 輸 出 到 Port 0 ; 送 出 燈 光 組 態 MOV A,B ; 讀 出 保 存 的 音 高 MOV DPTR,#LIGHT ; 取 得 該 音 的 燈 光 組 態 MOV P2,A ; 將 燈 光 組 態 送 到 Port 2 ; 產 生 聲 音 MOV A,R0 ; 重 設 A 為 第 幾 個 音 MOV DPTR,#BEAT3 ; 取 出 對 應 的 節 拍 長 度 MOV R2,A MOV A,B ; 重 設 A 為 哪 個 音 高 MOV DPTR,#TABLE MOV R3,A SETB TR0 ; 開 始 計 數 MS3: ACALL SS ; 發 音 開 始 JNB F0,MS3 ; 取 出 對 應 的 頻 率 常 數 CLR TR0 MOV P0,#11111111B ; 把 鍵 盤 放 掉 ACALL MUTE INC R0 ; 直 到 F0=1 時 表 此 音 結 束, 程 式 繼 續 ; 產 生 音 與 音 之 間 的 間 隔 ;R0+1, 表 下 一 個 音 SJMP NEXT3 ; 產 生 下 一 個 音 ;--------------- 以 下 是 共 用 的 副 程 式 ---------------- ; 計 算 音 長 的 副 程 式 TIMER0: CLR TR0 ; 關 閉 計 時 器 0 DJNZ R5,EXIT ;delay, 一 拍 =R4*R5*100μs MOV R5,#35 DJNZ R4,EXIT

MOV R4,#50 DJNZ R2,EXIT ;R2= 節 拍 數 ( 音 長 ), 倒 數 至 0 結 束 發 音 SETB F0 ; 將 F0 設 為 1, 以 換 下 一 個 音 EXIT: SETB TR0 ; 啟 動 計 時 器 0 RETI ; 從 計 時 器 的 中 斷 程 式 返 回 主 程 式 SS: MOV A,R3 ; 產 生 頻 率 的 副 程 式 SETB P1.0 ; 送 出 1 到 喇 叭 ACALL DELAY ; 延 遲 MOV A,R3 CLR P1.0 ; 送 出 0 到 喇 叭 ACALL DELAY ; 延 遲 RET DELAY: MOV B,A ; 延 遲 副 程 式 DELAY1: NOP ; 延 遲 時 間 =R3*20μs MOV R7,#8 DJNZ R7,$ DJNZ B,DELAY1 RET MUTE: MOV R6,#100 ; 靜 音 副 程 式, 時 間 =50ms S2: MOV R7,#250 DJNZ R7,$ DJNZ R6,S2 RET TABLE: DB 48 DB 43 DB 38 DB 36 DB 32 DB 28 DB 25 DB 24 ;Do 的 頻 率 常 數 ;Re 的 頻 率 常 數 ;Mi 的 頻 率 常 數 ;Fa 的 頻 率 常 數 ;So 的 頻 率 常 數 ;Ra 的 頻 率 常 數 ;Si 的 頻 率 常 數 ; 高 音 Do 的 頻 率 常 數 KEYSET: ; 各 音 所 對 應 的 按 鍵 組 態

DB 11111110B ;DO DB 11111101B ;RE DB 11111011B ;ME DB 11110111B ;FA DB 11101111B ;SO DB 11011111B ;RA DB 10111111B ;SI DB 11111110B ;DO( 和 低 音 共 用 琴 鍵 ) LIGHT: ; 各 音 所 對 應 的 燈 光 組 態 DB 00000001B ;DO DB 00000010B ;RE DB 00000100B ;ME DB 00001000B ;FA DB 00010000B ;SO DB 00100000B ;RA DB 01000000B ;SI DB 00000001B ;DO( 和 低 音 共 用 燈 ) ;------------------- 第 一 首 的 樂 譜 ------------------- TONE1: DB 3,3,4,5,5,4,3,2 DB 1,1,2,3,3,2,2 DB 3,3,4,5,5,4,3,2 DB 1,1,2,3,2,1,1 DB 0 ; 記 錄 音 高 ;0 表 音 樂 結 束 BEAT1: DB 2,2,1,2,2,2,2,2 DB 2,2,2,2,3,1,4 DB 2,2,2,2,2,2,2,2 DB 2,2,2,2,3,1,4 DB 0 ; 紀 錄 音 長 ;------------------- 第 二 首 的 樂 譜 --------------------

TONE2: DB 1,4,6,6,2 DB 2,4,5,6,4,3 DB 1,4,6,8,6,4 DB 2,7,4,3,5,4,4 DB 0 BEAT2: DB 4,2,2,4,4 DB 4,1,1,1,4,4 DB 4,2,2,4,2,2 DB 2,2,2,2,3,1,4 DB 0 ;------------------- 第 三 首 的 樂 譜 -------------------- TONE3: DB 1,2,3,4,4,5,5,3 DB 5,5,4,3,4,2,3 DB 1,2,3,4,4,5,5,3 DB 5,5,4,3,4,2,1 DB 0 BEAT3: DB 1,1,3,1,3,1,4,2 DB 1,1,3,1,2,2,4 DB 1,1,3,1,3,1,4,2 DB 1,1,3,1,2,2,4 DB 0 END ; 程 式 結 束

五 結 論 這 次 的 期 末 專 題, 讓 我 們 除 了 在 課 堂 上 學 習 課 本 知 識 外, 還 能 實 際 的 應 用 到 日 常 生 活 中 雖 然 實 習 課 有 寫 過 程 式, 但 實 際 做 出 可 以 獨 立 操 作 的 系 統 之 成 就 感 是 截 然 不 同 的 ; 過 程 中 固 然 辛 苦, 但 也 非 常 有 趣 我 們 的 實 驗 算 是 蠻 成 功 的,8052 能 依 照 我 們 燒 錄 進 去 的 程 式, 播 放 選 定 的 音 樂, 並 且 順 利 的 控 制 琴 鍵 被 按 下 的 動 作 美 中 不 足 之 處 是 喇 叭 聲 音 相 當 小, 有 機 會 可 以 再 做 改 進 對 於 這 個 系 統, 我 們 思 考 了 未 來 可 以 進 一 步 學 習 和 設 計 的 展 望 : 使 用 矩 陣 鍵 盤 並 修 改 程 式 讀 取 樂 譜 的 方 法, 使 它 可 以 存 放 更 多 樂 曲 ; 增 加 琴 鍵 數 ; 甚 至 可 以 增 加 喇 叭 的 數 目 並 個 別 控 制, 嘗 試 使 系 統 發 出 和 聲, 以 求 更 擬 真 的 表 演 效 果 六 工 作 分 配 七 參 考 資 料 1. 楊 明 豐, 單 晶 片 設 計 實 務 二 版,2003[ 民 92] 2. 8051 3. Atmel AT98C52 datasheet 4. Triebel and Singh,The 8088 and 8086 Microprocessors 4 th E