修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf ·...

67
中華民國 100 1 修平技術學院 資訊網路技術系實務專題報告 8051 語音來電顯示模組 製作成員: 賴阡瑩 BN96004 趙崇文 BN96034 謝佳伶 BN96151 指導老師:姜文忠 老師

Upload: others

Post on 29-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

中華民國 100 年 1 月

修 平 技 術 學 院

資訊網路技術系實務專題報告

8051 語音來電顯示模組

製作成員: 賴阡瑩 BN96004

趙崇文 BN96034

謝佳伶 BN96151

指導老師:姜文忠 老師

Page 2: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

中華民國 100 年 1 月

修 平 技 術 學 院

資訊網路技術系實務專題報告

8051 語音來電顯示模組

指導老師: 老師

評審老師: _____________ 老師

_____________ 老師

_____________ 老師

製作成員: 賴阡瑩 BN96004

趙崇文 BN96034

謝佳伶 BN96151

Page 3: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

I

摘要

雖然來電顯示器在電話的功能裡已經很常見了,但本組專題中重點

是在於系統整合,將既有的功能更新,將英文來電顯示改以中文顯示,

電話簿功能也以中文呈現,並且加入中文語音IC發音,希望使用的年

齡層可以更廣,不再是特定年齡層。主要是以8051單晶片為主,以既

有功能的電路搭配新構想的巧思並加以整合,例如:既有的來電顯示器

加入中文顯示IC並以液晶顯示器呈現和發音時不在只是以錄音方式而

是以電話簿中的資料透過中文語音IC來發聲等等。

本組專題分為四大模組:

模組一、來電顯示器模組控制;

模組二、中文化液晶顯示面板;

模組三、中文語音發聲控制;

模組四、電話簿程式;

四個模組的電路和程式加以整合,讓電話的使用更容易更方便,進

而評估成本,如果可以將本專題實現在日常生活中,對於平常使用中文

為主地區的人更加便利。

Page 4: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

II

目錄 摘要 ----------------------------------------------------- I

目錄 ---------------------------------------------------- II

圖目錄 ------------------------------------------------- III

表目錄 ------------------------------------------------- IV

第一章 前言 ------------------------------------------ 2

1-1 動機與目的 ------------------------------------------- 3

1-2 簡介 -------------------------------------------------- 4

1-3 軟、硬體需求 ----------------------------------------- 5

第二章 文獻探討 ------------------------------------- 7

2-1 單晶片 89C51 ---------------------------------------- 7

2-2 來電顯示器控制 ------------------------------------- 12

2-3 中文化來電顯示 ------------------------------------- 14

2-4 中文語音發聲 --------------------------------------- 15

第三章 系統架構與功能說明 ------------------------- 20

3-1 工作進度 -------------------------------------------- 20

3-2 工作分配 -------------------------------------------- 21

3-3 系統功能圖 ----------------------------------------- 22

3-4 系統架構圖 ----------------------------------------- 24

3-5 系統流程圖 ----------------------------------------- 25

3-6 輸出/入規格 ---------------------------------------- 27

第四章 操作說明 ----------------------------------- 35

4-1 完整硬體電路實體 ----------------------------------- 35

4-2 操作成果展示 --------------------------------------- 36

第五章 問題討論 ----------------------------------- 41

第六章 結論 ---------------------------------------- 43

6-1 研究結論 -------------------------------------------- 43

6-2 未來研究方向 --------------------------------------- 44

參考文獻 ------------------------------------------- 45

附錄一 光碟內容 ----------------------------------- 46

附錄二 完整程式碼 --------------------------------- 47

Page 5: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

III

圖目錄 圖 2.1 8051 接腳圖 ------------------------------------------------------------- 8

圖 2.2 原始焊接或使用麵包版時期(尚未組裝) ------------------------- 12

圖 2.3 來電顯示器控制系統整合中 I -------------------------------------- 12

圖 2.4 來電顯示器控制系統整合中 II ------------------------------------- 12

圖 2.5 來電顯示器控制移到麵包板整合中 ------------------------------ 13

圖 2.6 中文化來電顯示套件的材料(尚未組裝前) ---------------------- 14

圖 2.7 中文語音發聲套件的材料(系統尚未整合前) ------------------- 15

圖 2.8 SD178A RC 振盪方式 -------------------------------------------- 16

圖 2.9 SD178A IC 架構圖 -------------------------------------------------- 16

圖 2.10 SD178A IC 接腳圖------------------------------------------------- 17

圖 2.11 SD178A 與 8051 微處理器連接介面 --------------------------- 18

圖 2.12 SD178A 轉換 Big5 碼及 ASCII 碼為語音輸出的線路圖 --- 18

圖 2.13 SD178A 重新啟動電路圖 ----------------------------------------- 18

圖 3.1 系統功能圖 ------------------------------------------------------------ 22

圖 3.2 系統架構圖 ------------------------------------------------------------ 24

圖 3.3 系統流程圖 ------------------------------------------------------------ 25

圖 3.4 中文語音來電顯示模組系統電路圖 ------------------------------ 27

圖 3.5 輸出/入規格(A 區塊) 8870 讀取來電訊號電路圖 -------------- 28

圖 3.6 輸出/入規格(B 區塊) 8051 主控制電路圖 ----------------------- 29

圖 3.7 輸出/入規格(C 區塊) LCD 顯示電路圖 -------------------------- 30

圖 3.8 輸出/入規格(D 區塊)中文語音電路圖 ---------------------------- 31

圖 3.9 輸出/入規格(E 區塊)功率放大電路圖 ---------------------------- 32

圖 3.10 輸出/入規格(F 區塊)電源電路圖 -------------------------------- 33

圖 4.1 完整硬體電路實體 --------------------------------------------------- 35

圖 4.2 完整硬體電路實體(未開啟電源) ---------------------------------- 36

圖 4.3 完整硬體電路實體(測試電源) ------------------------------------- 36

圖 4.4 手機撥打已儲存電話簿名單(測試) ------------------------------- 37

圖 4.5 手機撥打已儲存電話簿名單(通話成功) ------------------------- 37

圖 4.6 手機撥打未儲存電話簿名單(測試) ------------------------------- 38

圖 4.7 手機撥打未儲存電話簿名單(通話成功) ------------------------- 38

圖 4.8 室話撥打已儲存電話簿名單(通話成功) ------------------------- 39

圖 4.9 室話撥打未儲存電話簿名單(通話成功) ------------------------- 40

Page 6: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

IV

表目錄 表 1.1 中文語音來電顯示模組概述 ----------------------------------------- 4

表 1.2 本組專題特色 ----------------------------------------------------------- 4

表 2.1 SD178A IC 接腳說明 ----------------------------------------------- 17

表 3.1 工作進度 --------------------------------------------------------------- 20

表 3.2 工作分配 --------------------------------------------------------------- 21

Page 7: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

1

【 第一章 】

前 言

1-1 動機與目的

1-2 簡介

1-3 軟、硬體需求

Page 8: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

2

第一章 前言

我們這組製作的專題是關於中文語音來電顯示,構想是來自於開出

這份專題的老師,是實際發生的案例,某一次電話響了,家中剛好沒有

大人在,只有小孩在家,在正常情況下聽到電話響一定會馬上接,可是

小孩沒辦法分辨這支電話是誰打的,是否要接聽,居於安全顧慮下,所

想出來的,只要家裡大人先預設好基本的電話簿,較為熟悉的名單,小

孩不需看字,只需要經過聽語音發聲的人名來分辨即可知道,該電話是

否要接聽。

Page 9: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

3

1-1 動機與目的

雖然附有來電顯示的電話已經很普通了,但是都還是以英文為主,

在台灣因為語言的關係,一般既有的來電顯示要被所有的年齡層使用可

能有困難,我們希望做出一個可以讓語言以中文為主的人來使用,不論

年齡大小,讓接電話的人可以直接聽到中文發音,當透過聲音就可以直

接思考是否要接聽來電,也能直接以中文輸入電話簿的個人資料以及來

電時能直接以中文來顯示姓名,當所有功能夠達到我們所要求的時候,

接下來就是評估成本,看有沒有辦法開發出一個一般市售的以中文語音

來電顯示的電話。

Page 10: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

4

1-2 簡介

表1.1 中文語音來電顯示模組概述

四個模組之項目 主 要 內 容

來電顯示器模組控制 原有一般的來電顯示模組。

中文化液晶顯示面板 透過來電顯示器模組控制解碼,

由 LCD 面板顯示。

中文語音發聲模組控制 透過來電顯示器器模組控制解碼,

由中文語音 IC 來發聲。

電話簿程式 預設好的來電者的姓名與電話。

表1.2 本組專題特色

本 組 專 題 之 特 色

本組的書面章節內容包含:書面資料的摘要、專題的動機與目

的、簡介、軟硬體需求,探討運用到有單晶片 89C51…等技術

說明,系統架構與功能說明有專題進度表、系統架構圖、功能

說明,畫面流程圖、畫面說明書,以及製作過程中所遇到的問

題做討論,還有最後一章結論、附錄及參考文獻、光碟內容說

明等等大章節,希望藉著本報告書內容能讓使用者更加方便清

楚 8051 中文語音來電顯示模組的系統。

組員從書上或是網路查詢相關資訊並統整,呈現出最初的目

標。

Page 11: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

5

1-3 軟、硬體需求

● 硬體需求

桌上型電腦(等週邊設備)

掃瞄器

8051 燒錄器

來電顯示模組實驗板

中文語音 IC 模組的實驗板

中文液晶顯示實驗板

● 軟體需求

記事本

8051 編譯器

X8051.EXE

LINK.EXE

Microsoft Office Visio 2007

Microsoft Office Word 2007

Page 12: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

6

【 第二章 】

文 獻 探 討

2-1 單晶片 89C51

2-2 來電顯示器控制

2-3 中文化來電顯示

2-4 中文語音發聲

Page 13: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

7

第二章 文獻探討

2-1 單晶片 89C51

2-1-1 單晶片微處理器簡述

一般計算機系統一特性可非為可重新程式(reprogrammable)及嵌

入式(embedded)系統。可重新程式系統就像我們一般使用的個人電腦

(personal computer),含有可儲存大量記憶體的磁碟機,使用者可藉著

鍵盤及螢幕顯示器等輸出元件在磁碟機內存放許多不同的程式,並隨時

叫出來使用或加以更改;嵌入式系統就像我們即將談到的單晶片微處理

器(Single chip microprocessor),將少量的記憶體及輸出元件都嵌入在

一顆晶片內,一般都將使用的單晶片程式燒死在裡面,使其作出某一特

定的工作,例如工業上的微程式控制等,所以單晶片微處理器又叫做微

程式控制器(microcontroller)。由此可知如果我們要設計簡單的微電腦

系統,採用單晶片微處理器將是最佳的選擇,因為可以省去記憶體及輸

出入元件的介面,簡化了設計,自然也節省了成本。

Page 14: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

8

2-1-2 MCS-51 接腳及功能

圖 2.1 8051 接腳圖

接腳功能說明如下:

1~8 腳(P1.0~P1.7):這 8 支腳是 8051 的 I/O port,稱為 PI。

第一腳(P1.0)是 LSB,第 8 支腳(P1.7)是 MSB。如果是 8052(8032

或 8752)時,P1.0 又可當作 Timer2 的外部脈波輸入腳,P1.1 又當

作 T2EX,可當作另外一個外部中斷觸發輸入腳。P1 上的每支腳都可

推動 4 個 LS TTL。

Page 15: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

9

9 腳(RESET):8051 的重置(RESET)輸入腳,當這支腳由外部輸

入 High(+5V)的信號時,8051 就被重置,8051 被重置後就從位址

0000H 開始執行程式。且特殊功能暫存器(SFR)裡的所有暫存器都會

被設成已知狀態。

10~17 腳(P3.0~P3.7):這 8 支腳是 8051 的 I/O port,稱為

P3。第 10 支腳(P3.0)為 LSB,第 17 支腳(P3.7)為 MSB。P3 裡的

每支 I/O 腳除了可以當作單純的輸入/輸出使用外,也當作 8051 內部

的某些週邊與外界溝通個 I/O 腳。例如 P3.0 和 P3.1 接腳的另外一個

名稱為 RxD 和 TxD,當 8051 內部的 UART 被軟體啟動後,UART

會將串列資料從 TxD 腳輸出,而 UART 也接收由外部送進來的串列信

號。INT0 和 INT1 是 8051 的兩個外部中斷輸入部。T0 是 Timer0

的外部脈波輸入腳。T1 是 Timer1 的外部脈波輸入腳。WR,RD,當

您再 8051 的外部擴充資料記憶體(RAM)時,這兩條線是控制寫與讀

的信號。P3 上的每一隻 I/O 腳都可以做兩種用途。那 8051 怎麼知道

P3 上的某支腳是當 I/O 或當另一種用途,例如您要使用 UART 時您將

第 10 腳看成 RxD,第 11 腳看成 TxD 加以使用就可以了。但是有一

點必須特別注意,那就是當作其他功能(不當 I/O 使用)使用的那支腳的

內部栓鎖器的內容必須設為 1,其他的功能(如 TxD,RxD,RD,ER,

⋯等)才會有作用。P3 上的每支 I/O 腳都可推動 4 個 LS TTL。

Page 16: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

10

18、19 腳(XTAL2,XTAL1):這兩支腳是 8051 內部時脈振盪

器的輸入端,您可以在這兩支腳上跨街一個 12MHz 的工作頻率,供內

部使用。8051 會根據這個速度工作。若未特別註明,這個振盪器的工

作頻率是在 1MHz~12MHz 之間的任何一個。如果線路板上已有振盪

器,那這個振盪器所產生的脈波(Clock)也可以直接輸入給 8051 使

用。這個外部送給8051使用的脈波是從第18腳(XTAL2)輸入,而19腳

(XTAL1)必須接地,以上的接法是CMOS的8051(如8051AH)。如果您

是使用 CMOS 的 8051(80C51,80C31 等),外部的脈波必須從 19

腳(XTAL1)輸入而 18 腳空接,這個差別必須特別注意。

20、40 腳(Vss,Vcc):這是 8051 的電源輸入端,40 腳接電源

的正端的 20 腳接地。電源規格是 5V +/- 10%。

21~28 腳(P2.0~P2.7):這 8 支腳是 8052 的 I/O port,稱為

P2,P2.0 為 LSB,P2.7 為 MSB。P2 除了當作 I/O 使用之外。如果

您在 8051 的外面擴充程式記憶體或資料記憶體時,P2 就變成 8051

的位址匯流排的高位元組(即 A8~A15),此時 P2 就不能當作 I/O 使

用。P2 上的每支 I/O 腳可推動 4 個 LS TTL。

Page 17: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

11

29 腳(PSEN):這支腳是 8051 用來讀取放在外部程式記憶體的

指令時所用的讀去信號,通常這支腳是接到 EPROM 的 OE 腳。8051

分別致能放在外部的 EPROM(程式記憶體)與 RAM 資料記憶體是兩塊

獨立的記憶體,且這兩塊記憶體都可以接到 64K,因此我們說 8051

的定址能力可達 128K。

30腳(ALE):這支腳的名稱為“位址拴住致能”(Address Latch Enable,

簡稱 ALE),8051 可以使用這支腳觸發外部的 8 位元栓鎖器,將 P0

上的位址匯流排信號(A0~A7)鎖入栓鎖器中。

31 腳(EA):這是一支輸入腳,當 EA=0 時,8051 一律執行外部

程式記憶體裡的程式,因此 8051 內部的 4K 程式記憶體就沒有用了。

因此如果您要使用內部的程式記憶體時,一定要將 EA 接+5V。因為

8031(或 8032)內部沒有程式記憶體,它的 EA 必須接地。

32~39 腳(P0.0~P0.7):這 8 支腳也是 8051 的 I/O port,稱

為 P0 其中 P0.0 為 LSB,P0.7 為 MSB。如果將 P0 當作 I/O 使用時

必須特別注意 P0 的輸出型態是 Open Drain,其他三個 I/O port(P1,

P2,P3)內部有 pull high 電路。P0 除了當作 I/O 使用外,如果您在

8051 的外面擴充程式記憶體或資料記憶體時,P0 就當作位址匯流排

(A0~A7)和資料匯流排(D0~D7)多工使用。您必須再外部加一個 8

位元栓鎖器將位址匯流排從 PC 上分離出來,這個 A0~A7 與 P2 所提

供的 A8~A15 合成一個 16 位元的位址匯流排,因此 8051 可以在外

部定址到 64K 的記憶體。

Page 18: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

12

2-2 來電顯示器控制

圖 2.2 原始焊接或使用麵包版時期(尚未組裝)

圖 2.3 來電顯示器控制系統整合中 I

圖 2.4 來電顯示器控制系統整合中 II

Page 19: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

13

圖 2.5 來電顯示器控制移到麵包板整合中

由於前面兩張圖的來電顯示控指只能顯示一般的英數字,

所以移到麵包板後就將顯示器拆掉改換中文 LCD 顯示模組了。

Page 20: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

14

2-3 中文化來電顯示

圖 2.6 中文化來電顯示套件的材料(尚未組裝前)

Page 21: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

15

2-4 中文語音發聲

圖 2.7 中文語音發聲套件的材料(系統尚未整合前)

中文文字轉語音 IC SD178A,可轉換 Big5 中文碼、ASCII 碼為語

音輸出。電壓適用2.6 V ~ 5.2 V。採用RC振盪方式 ( 單一系統時脈 )。內

建 12 位元高品質數位/類比轉換器。提供命令碼,可輕易控制輸出接腳

的狀態。撥放語音時,提供暫停、結束、撥放等控制命令碼。具有省電

模式、喚醒功能、減少電源耗損。沒有韻律處理功能,僅適合於短字詞

的發音,不適用於連續輸入文字串發音。

Page 22: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

16

圖 2.8 SD178A RC 振盪方式

SD178A 是一款能將輸入中文文字及英文字母轉換成語音輸出的

單一晶片處理器。內建 30 bytes 資料緩衝器,輸入的中文 Big5 碼、

ASCII 碼由 SD178A 的輸入接腳接收並暫存於該緩衝器。會自動將緩

衝器內的資料即時的轉換成高品質語音輸出,並清除已轉換完成的資

料,以便輸入文字能持續不斷的送入緩衝器內。另外提供 PWDN 接

腳,讓連接於 SD178A 的元件也可於 SD178A 進入待機狀態的同時關

閉其動作。

圖 2.9 SD178A IC 架構圖

Page 23: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

17

圖 2.10 SD178A IC 接腳圖

表2.1 SD178A IC接腳說明

Pin No. 名稱 I/O 敘述

1~8 PA0~PA7 O Port A I/O 埠. 9 SDI I 串列時的資料輸入腳. 10 /FOCC O 完成一個編碼輸換時,會送出一LOW的脈波. 11 /RDY O LOW時表示SD178A準備好,可接收資料輸入. 12 PWDN O

進入省電模式時會改變為HIGH, 正常動作時則會維持在LOW.

13 NC O (翔音科技內部測試使用) . 14~19 PC0~PC5 O Port C I/O 埠. 20 GND - 數位電源的接地. 21 VSS - DAC 電源的接地. 22 VDD - 數位電源的正端輸入. 23 VCC - DAC 電源的正端輸入. 24 AUD O 類比聲音訊號的輸出. 25 /RES I 史密特觸發的重置電路輸入腳 ( LOW動作 ). 26 /SCLK

I 外部時脈輸入端,為一個負緣觸發; 用來控制 SDI 輸入資料的傳送速率.

27 OSC1 - 在OSC1和GND間串接一外部電阻即可. 28 OSC2 -

OSC2為1/4系統時脈輸出端,若需量測, 則必須接一個電阻到 VDD.

29~44 NC - 未使用的空接腳.

Page 24: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

18

2-4-1 系統功能介紹(微控制器介面)

圖 2.11 SD178A 與 8051 微處理器連接介面

圖 2.12 SD178A 轉換 Big5 碼及 ASCII 碼為語音輸出的線路圖

圖 2.13 SD178A 重新啟動電路圖

Page 25: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

19

【 第三章 】

系統架構與功能說明

3-1 工作進度

3-2 工作分配

3-3 系統功能圖

3-4 系統架構圖

3-5 系統流程圖

3-6 輸出/入規格

Page 26: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

20

第三章 系統架構與功能說明

3-1 工作進度

表3.1 工作進度

為預定日期

為實際日期

年份 2009 年 至 2011 年 月份

工作項目 12 1 2 3 4 5 6 7 8 9 10 11 12 1 至 3

成員組合

訂正題目

尋 找 指 導老師

實務製作

討論/構思 主題

工作分配 收集資料

程式測試 系統編輯

成果測試 修正/整合

撰寫/校對 書面報告

裝訂成冊

口頭報告

繳 交 定 稿報告

Page 27: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

21

3-2 工作分配

表3.2 工作分配

姓 名

學 號

負 責 項 目

賴阡瑩

BN96004

統整搜集資料

拍攝照片/影片旁白製作

套件系統測試(前置)

拍攝照片/影片

撰寫/修正書面報告

謝佳伶

BN96151

統整搜集資料

拍攝照片/影像剪輯美工處理

套件系統測試(前置)

撰寫編輯/修正/校對書面資料

投影片製作

趙崇文

BN96034

製作系統設計腳本

拍攝照片/統整搜集資料

套件系統測試後置整合/實體成果

撰寫書面資料

Page 28: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

22

3-3 系統功能圖

圖 3.1 系統功能圖

Page 29: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

23

Step1當來電時接收訊息。

Step2由來電顯示控制模組至電話簿查詢是否在電話簿名單內。

Step3如果名單內分辨是黑名單還是白名單。

Step4如果黑名單內顯示拒接來電。

Step5如果在白名單內透過中文語音模組利用中文Big5碼自動

轉成語音唸出【姓名、電話號碼】透過中文化顯示面板

模組由中顯示【姓名、電話號碼】。

Step6如果不在名單內(包括黑白名單)透過中文語音模組利用中

文Big5碼自動轉成語音唸出【未知來電、電話號碼】

透過中文化顯示面板模組由中顯示【未知來電、電話號碼】。

Step7電話簿程式模組選擇是否新加來電者資料至電話內

如果要增加(系統自動進入可操作狀態)功能(1)新增姓名、

電話如果輸入資料想改或有錯誤可按功能(2)修改,或者

(3)刪除。

Step8如果不選擇(1)新增(2)修改(3)刪除,則可按功能(4)

依電話號碼查詢,依電話號碼來查詢電話簿名單。

Step9如果不選擇(1)新增(2)修改(3)刪除(4)依電話號碼查

詢,則可按功能(5)依姓名查詢,依姓名來查詢電話簿名單。

Step10如果不選擇(1)新增(2)修改(3)刪除(4)依電話號碼

查詢(5)依姓名查詢,則可按功能(6)瀏覽,瀏覽電話簿名單。

Step11如果不選擇(1)新增(2)修改(3)刪除(4)依電話號碼

查詢(5)依姓名查詢(6)瀏覽,當上述功能都完成後可按功

能(7)退出,退出電話簿程式模組。

Page 30: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

24

3-4 系統架構圖

圖 3.2 系統架構圖

Step1當來電時接收訊息。

Step2會經由來電顯示控制模組至電話簿程式模組查詢是否在名單內。

Step3如果在電話簿名單內,中文語音模組控制會利用中文 Big5 碼字

自動轉成語音念出[姓名、電話],並且中文化顯示面板模組也會顯

示出[姓名、電話]。

Step4如果不在電話簿名單內,中文語音模組控制會利用中文 Big5 碼

字自動轉成語音念出[未知來電、電話],並且中文化顯示面板模組

也會顯示出[未知來電、電話]。

Step5當所有功能結束後,會跳回待機或結束。

Page 31: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

25

3-5 系統流程圖

圖 3.3 系統流程圖

Page 32: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

26

Step1 定義P0埠設為輸入端、規劃中斷INT0為來電通知、啟用計數

器T0為串列傳送資料到語音IC的同步訊號,分配計憶體的使

用及設定堆疊區域計憶體初始值設定。

Step2 定義顯示區的位址,預設顯示第一行為” LCD ”、第二行為” TEST OK ”。

Step3 清除電話暫存區內容。

Step4 檢查來電旗標是否有來電。

Step5 呼叫副程式比對來電資料是否電話簿內所記載的電話號碼。

Step6.1 如果電話簿內沒有記載,就在LCD第一行顯示”未知來電”。

Step6.2 LCD第二行顯示 ”來電號碼xxxxxxxxxx”。

(文字輸出 ”來電號碼 ”;數字輸出 ”電話號碼 ”)。

Step6.3 呼叫發聲副程式唸出”未知來電”;電話號碼(xxxxxxxxxx)。

呼叫發聲副程式唸出”來電號碼”;電話號碼(xxxxxxxxxx)。

Step7.1 如果電話簿內有記載,就從電話簿取出對應的名稱

在LCD第一行顯示。

Step7.2 LCD第二行顯示”來電號碼xxxxxxxxxx”。

(文字輸出”來電號碼”;數字輸出”電話號碼”)。

Step7.3 呼叫發聲副程式唸出對應的名稱”來電號碼”電話號碼(xxxxxxxxxx)。

* 當電話鈴響時,解碼IC送訊號給8051中斷INT0,就執行中斷程式。

* 外部中斷0副程式:依序讀取解碼IC送來的字元,轉換為ASCII碼並

存入電話號碼暫存區(70H~79H),如果有到10個號碼就設定來電旗標。

* 電話簿規劃:一筆電話簿資料包含電話號碼為10 bytes,電話名稱

為18 bytes,結尾2 bytes,總共30 bytes。

Page 33: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

27

3-6 輸出/入規格

圖 3.4 中文語音來電顯示模組系統電路圖

Page 34: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

28

在系統整合後我們把四個模組的電路圖加以規劃、修改和刪除一些

不必要的功能,並且合併六個電路組成一個新的電路圖。

本系統電路圖分為六部份:

圖 3.5 輸出/入規格(A 區塊) 8870 讀取來電訊號電路圖

A 區塊:解讀電話線送來的訊號,轉換為 4 位元數位訊號(Q1~Q4),並

送出訊號(STD)通知主控 IC 8051 中斷 INT0;此電路的功能是用 8870

IC 來進行解碼並且分析來電訊息。

Page 35: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

29

圖 3.6 輸出/入規格(B 區塊) 8051 主控制電路圖

B 區塊:主控 IC 8051 負責讀取來電號碼、查尋電話簿、發出訊號給

LCD 顯示、語音 IC 發聲。除了主要控制整個中文化來電語音系統的電

路以外,它也身兼電話簿擴充記憶體,並且可以外接成動態 Flash

memory 的角色。

Page 36: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

30

圖 3.7 輸出/入規格(C 區塊) LCD 顯示電路圖

C 區塊:中文 LCD 模組(9X2)顯示方式:雙行呈現,每行 9 個中文字或

是 18 個英文字;模組內含常用中文字型共 8000 字 (16*16 中文字),

編碼方式為 Big5 碼。經由 8870 讀取來電訊號電路來解碼之後將訊號

送達給 LCD 顯示電路,再藉由 Big5 碼來顯示中文來電姓名、電話。

Page 37: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

31

圖 3.8 輸出/入規格(D 區塊)中文語音電路圖

D 區塊:SD178A IC 是一款能將輸入 Big5 碼及 ASCII 碼轉為國語語音

的單一晶片,支援串列及並列輸入。經由 8870 讀取來電訊號電路來解

碼之後將訊號送達給中文語音電路,再藉由 Big5 碼來發聲唸出中文來

電姓名、電話。

Page 38: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

32

圖 3.9 輸出/入規格(E 區塊)功率放大電路圖

E 區塊:音源放大 IC 使用 HT82V733,因使用 BTL 輸出,輸入電壓雖

小,但輸出功率大。將中文語音電路的聲音放大,讓使用者可以聽的更

清楚。

Page 39: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

33

圖 3.10 輸出/入規格(F 區塊)電源電路圖

F 區塊:電源採用 5V/2A 交換式電源輸入。接入電源來驅動整個中文

語音來電顯示系統。

Page 40: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

34

【 第四章 】

操 作 說 明

4-1 完整硬體電路實體

4-2 操作成果展示

Page 41: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

35

第四章 操作說明

4-1 完整硬體電路實體

圖 4.1 完整硬體電路實體

Page 42: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

36

4-2 操作成果展示

1、尚未開啟電源開關

圖 4.2 完整硬體電路實體(未開啟電源)

2、開啟電源測試正常

圖 4.3 完整硬體電路實體(測試電源)

Page 43: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

37

3. (本實驗所使用的是一般家用電話線)

實驗一、此手機號碼已儲存電話簿名單內

(1) 撥打連接此試驗板之家用電話號碼。

圖 4.4 手機撥打已儲存電話簿名單(測試)

(2) 通話成功,

中文語音發聲 IC 將唸出儲存於預設電話簿之姓名、號碼;

中文顯示面板則同步顯示姓名及來電號碼。

圖 4.5 手機撥打已儲存電話簿名單(通話成功)

Page 44: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

38

實驗二、此手機號碼未儲存電話簿名單內

(1) 撥打連接此試驗板之家用電話號碼。

圖 4.6 手機撥打未儲存電話簿名單(測試)

(2) 通話成功,

中文語音發聲 IC 將唸出:「未知來電、號碼」;

中文顯示面板則同步顯示未知來電及來電號碼。

圖 4.7 手機撥打未儲存電話簿名單(通話成功)

Page 45: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

39

實驗三、此家用號碼已儲存電話簿名單內

(1) 撥打連接此試驗板之家用電話號碼。

(2) 通話成功,

中文語音發聲 IC 將唸出儲存於預設電話簿之姓名、號碼;

中文顯示面板則同步顯示姓名及來電號碼。

圖 4.8 室話撥打已儲存電話簿名單(通話成功)

Page 46: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

40

實驗四、此家用號碼未儲存電話簿名單內

(1) 撥打連接此試驗板之家用電話號碼。

(2) 通話成功,

中文語音發聲 IC 將唸出:「未知來電、號碼」;

中文顯示面板則同步顯示未知來電及來電號碼。

圖 4.9 室話撥打未儲存電話簿名單(通話成功)

Page 47: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

41

第五章 問題討論

問題一:呈現實體構想時,所遇到的困難?

解決方式:多虧了老師循循善誘給予的資訊以及方向,和豐富的網路資

訊,一直不不氣餒的尋找解決的方法。

問題二、取得硬體時,所遇到的困難?

解決方式:除了踏遍台中的電子街,並且查詢網路資源,貨比三家的詢

問比價,在組員們同心協下達成了本專題的基本經費。並利

用四個個體的套件,經由合併後達成本專題之精神。

問題三、為何將三個套件的單晶片 89C51 整合為同一顆?

解決方式:因為都是經由來電顯示控制,利用三組套件間中電路重複的

部分功能和未使用到的腳位規劃,達到本專題之目標。

問題四、為何在投影片中使用錄影的方式呈現實體成果?

解決方式:利用影片的效果,呈現執行畫面內容(包含開機測試、功能

設定、中文 LCD 來電顯示面版),以避免造成評審們與觀眾

的疑惑,希望可以藉由這樣的方式表達本專題的實體成果操

作展示。

Page 48: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

42

【 第六章 】

結論

6-1 研究結論

6-2 未來研究方向

Page 49: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

43

第六章 結論

6-1 研究結論

本組的專題,雖然有點像分組報告的感覺,但因為這個專題製作需

要的時間較長,也常需要去取得相關程式的資料,不像報告一下子就可

以完成。而在分配工作時,也會為了那個組員要做什麼或做的少或多,

而有摩擦和爭執出現,也會因為一直重覆修改而感到厭煩,我們這組是

由同班同學所組成的,平時都膩在一起,但還是會為了專題產生了些許

的嫌隙。雖然在專題製作的過程中有過大大小小的爭執,而這爭執使我

們更了解每位同學的看法和想法,也學習到如何和同學與老師之間的溝

通,更藉由參與專題製作,讓我們學習到不少的軟體運用和知識,剛開

始收集資料的時候,首先找到的資料是網站上的基本模組,了解裡面大

概內容及特色,便規劃未來進行的實作環境,並且了解這些設備有哪些

特色。

實務專題的製作,是每個畢業生的重頭戲,每個人無不戰戰兢兢地

全力以赴,要求完美,使專題能達到更好的效果。而在這次的專題製作

中,因為本組專題題目是中文來語音來電顯示模組,這過程中常遇到了

許多問題,出現意見不合的情形,也由於這種情形的產生,讓我們學到

了一個團隊內溝通的重要性與責任感的問題。做一個專題的製作,除了

讓大家學到了軟體方面的知識,也學到了人與人之間的互動關係。

藉由本專題製作的經驗讓我們在家用電話的傳媒領域中有著更深

一層的了解。然而這次的作品並非盡善盡美,其中我們的資料不是很充

足,呈現的資料也不多,但希望在未來能藉由這次的經驗,在面對專題

或企劃時,能夠完整及具規劃性的實作,以更專業的知識及技術,來完

成這些缺憾。

Page 50: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

44

6-2 未來研究方向

語音來電顯示型態有許多種,規模大小差異不大,國內一般的型態

屬開發規模中小型居多,創造出非比尋常的生活的便利性並可結合特殊

需求,為了方便接聽者知道來電者的相關概況,於是接聽者便建立了幾

組電話簿,以提供接聽者迅速了解來電者的相關概況,並加以運用電話

簿資源。

以下為電話簿所設計之方式:

可輸入中文名稱:讓使用者能快速找到所需要之訊息。

Page 51: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

45

參考文獻

[1] 王國華、白能勝、曾鴻祥(2007):組合語言(第五版)

台北市:全華圖書股份有限公司。

[2] 林振漢(2009):8051 單晶片實作-使用 c 語言(初版)

台北縣汐止市:博碩文化股份有限公司。

[3] 楊豐瑞、陳福春(2006):數位邏輯設計(初版)

台北市:旗標出版股份有限公司。

[4] 王勛、劉耀中(2003):8051單晶片實作 - 按鍵式樂音編輯器

台中市:逢甲大學資訊工程學系專題研究報告。

[5] 簡光淯(2002):來電顯示器

台中市:逢甲大學資訊工程系專題報告。

[6] 王耀慶(2003):用戶供電事故自動回報系統之研製

高雄市:國立中山大學電機工程學系碩士論文。

[7] 詹凱鈞、黃馨儀(2008):電話防擾器

台中市:逢甲大學自動控制工程學系專題製作專題論文。

Page 52: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

46

附錄一 光碟內容

簡報檔 ( PowerPoint 檔)

報告書 ( Word 檔)

實驗影片( .wmv 檔)

實驗一、手機撥打已儲存電話簿名單;《請參閱報告書 P 37》

實驗二、手機撥打未儲存電話簿名單;《請參閱報告書 P 38》

實驗三、室話撥打已儲存電話簿名單;《請參閱報告書 P 39》

實驗四、室話撥打未儲存電話簿名單;《請參閱報告書 P 40》

原始程式 ( .txt 檔)

Page 53: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

47

附錄二 完整程式碼

;------------------------------------------------------------------------------------

;描述程式的起源與更改說明

; 2010/12/05 加入 LCD 顯示程式

; 2010/12/18 加入中斷至 8870 讀取來電並顯示

; 2010/12/20 加入電話簿判斷來電

; 2010/12/26 加入發聲副程式

; 2010/12/27 修正某些地區電話會多一個 0 的問題

;------------------------------------------------------------------------------------

;符號宣告區

;------------------------------------------------------------------------------------

.SYMBOLS ON

OSC EQU 11

T0_CONSTANT1 EQU 65535-(OSC/11)*250

START_BUFFER EQU 030H

STOP_BUFFER EQU 04FH

SCLK .REG P1.0

SDI .REG P1.1

RDY .REG P1.2

CE .REG P1.4

RS REG P3.3

EN REG P3.4

TELIN EQU 70H

DCOMP EQU 7BH

INT0_COUNT EQU 7CH

LOTTERY EQU 7DH

TEL_COUNT EQU 8

;------------------------------------------------------------------------------------

;資料宣告區

;------------------------------------------------------------------------------------

.DATA

ABSOLUTE

.ORG 10H

HIGH_BYTE DB

.ORG 20H

CONTROL_REG0 DB

BIG5_FLAG REG CONTROL_REG0.0

Page 54: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

48

SEND_FLAG REG CONTROL_REG0.4

CONTROL_REG1 DB

CONTROL_REG2 DB

TIMER0_FLAG REG CONTROL_REG2.1

DATA_FLAG REG CONTROL_REG2.2

OUT_FLAG REG CONTROL_REG2.3

PWDN_FLAG REG CONTROL_REG2.4

HIGH_FLAG REG CONTROL_REG1.6

TIMER_COUNTER DB

TIMER1_FLAG REG TIMER_COUNTER.0

OVER_FLAG REG TIMER_COUNTER.3

BUFFER0 DB

B0_MSB_FLAG REG BUFFER0.7

BUFFER1 DB

WAIT_COUNT DW

ORG 50H

SP_ADDRESS DB

;================================================

;程式碼開始

;================================================

.CODE

RELATIVE

ORG 00H

JMP START

ORG 03H

JMP INT0

ORG 0BH

JMP TIMER0_INT

ORG 23H

RETI

;================================================

TIMER0_INT:

PUSH A

PUSH PSW

JB TIMER0_FLAG, OUT_LOW

SETB TIMER0_FLAG

OUT_HIGH:

SETB SCLK

Page 55: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

49

JNB OVER_FLAG, WRITE_DATA

CLR TR0

CLR TIMER0_FLAG

MOV TIMER_COUNTER,#00H

JMP RET_TIMER0_INT

;------------------------------------------------------------------------------------

WRITE_DATA:

SETB OUT_FLAG

JNB DATA_FLAG,DATA_IS_0

SETB SDI

JMP RET_TIMER0_INT

DATA_IS_0:

CLR SDI

JMP RET_TIMER0_INT

;------------------------------------------------------------------------------------

OUT_LOW:

CLR SCLK

CLR TIMER0_FLAG

INC TIMER_COUNTER

RET_TIMER0_INT:

POP PSW

POP A

RETI

;================================================

;程式開始執行

;================================================

START:

MOV R0,#7FH

RESET:

MOV @R0,#0H

DJNZ R0,RESET

; STEP.1 初值設定P0埠為輸入、致能計數、中斷、串列埠

INITIAL_SETUP:

MOV P0,#0FFH

MOV SP,#SP_ADDRESS

MOV IE,#10001010B

MOV IP,#00001010B

SETB IT0

Page 56: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

50

SETB EA

SETB EX0

MOV TMOD,#01100010B

MOV SCON,#01010000B

ANL PCON,#7FH

MOV TL0,#<T0_CONSTANT1

MOV TH0,#<T0_CONSTANT1

MOV DCOMP,#0

; STEP.2 LCD 初始化與顯示

CLR EN

CALL INIT_LCD8

MOV DPTR,#LMESS1

MOV A,#1

CALL LCD_PRINT

MOV DPTR,#LMESS2

MOV A,#2

CALL LCD_PRINT

; STEP.3 清除記憶體電話儲存區

RUN1:

MOV INT0_COUNT,#0

; STEP.4 檢查來電旗標是否有來電

RUN:

MOV A,INT0_COUNT

CJNE A,#10,RUN

; STEP.5 比對電話簿資料

CALL FIND_TEL

MOV A,LOTTERY

CJNE A,#0,MAIN_D1

;電話號碼比對沒有的

; STEP.6-1 LCD第一行顯示未知來電

MOV DPTR,#LMESS4

MOV A,#1

CALL LCD_PRINT

;STEP.6-2 LCD 第二行顯示來電號碼

CALL SHOW_TEL

;STEP.6-3 呼叫發聲副程式

MOV DPTR,#LMESS4

Page 57: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

51

CALL SD178A

MOV DPTR,#LMESS3

CALL SD178A

CALL SP_TEL

JMP RUN1 ;跳回 STEP.3

;電話號碼比對有的

;STEP.7-1 電話簿取出對應的名稱再 LCD第一行顯示

MAIN_D1:

MOV DPTR,#TELNAME

MOV R1,#TEL_COUNT

L_TXD1:

MOV A,R1

CJNE A,LOTTERY,D_TXD1

JMP D_TXD2

D_TXD1:

MOV R0,#20

L_TXD2:

INC DPTR

DJNZ R0,L_TXD2

DEC R1

JMP L_TXD1

D_TXD2:

PUSH DPL

PUSH DPH

MOV A,#1

CALL LCD_PRINT

;STEP.7-2 LCD 第二行顯示來電號碼

CALL SHOW_TEL

POP DPH

POP DPL

;STEP.7-3 呼叫發聲副程式

CALL SD178A

MOV DPTR,#LMESS3

CALL SD178A

CALL SP_TEL

MAIN_END:

JMP RUN1 ;跳回 STEP.3

Page 58: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

52

;================================================

;電話進來時中斷部分

;================================================

INT0:

PUSH PSW

PUSH A

PUSH DPL

PUSH DPH

MOV A,R1

PUSH A

RUN_INT0:

MOV A,#TELIN

ADD A,INT0_COUNT

MOV R1,A

MOV A,P0

ANL A,#0FH

ADD A,#30H

CJNE A,#3AH,HEX_FIX

ANL A,#30H

MOV R0,INT0_COUNT ; 2010/12/27

CJNE R0,#1,HEX_FIX ; 2010/12/27

CJNE A,#30H,HEX_FIX ; 2010/12/27

LJMP RUN_INT1 ; 2010/12/27

HEX_FIX:

MOV @R1,A

END_INT0:

INC INT0_COUNT

RUN_INT1:

POP A

MOV R1,A

POP DPH

POP DPL

POP A

POP PSW

RETI

Page 59: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

53

;================================================

;發聲副程式

;================================================

SD178A:

PUSH PSW

PUSH A

PUSH DPL

PUSH DPH

MOV A,R2

PUSH A

CALL READING_A_STRING1

POP A

MOV R2,A

POP DPH

POP DPL

POP A

POP PSW

RET

;------------------------------------------------------------------------------------

READING_A_STRING1:

SETB SEND_FLAG

READING_A_STRING:

CLR A

MOVC A,@A+DPTR

CJNE A,#0AH,DISPLAY_THE_CODE

CLR SEND_FLAG

CLR HIGH_FLAG

RET

DISPLAY_THE_CODE:

JNB SEND_FLAG,READ_NEXT_DATA

JB HIGH_FLAG,READ_NEXT_DATA0

SETB HIGH_FLAG

JMP READ_NEXT_DATA1

READ_NEXT_DATA0:

CLR HIGH_FLAG

READ_NEXT_DATA1:

MOV BUFFER0,A

MOV BUFFER1,A

Page 60: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

54

CALL OUT_ONE_BYTE

MOV A,BUFFER1

READ_NEXT_DATA:

INC DPTR

JMP READING_A_STRING

;------------------------------------------------------------------------------------

OUT_ONE_BYTE:

JB RDY,OUT_ONE_BYTE

OUT0:

SETB TR0

CLR OVER_FLAG

MOV R2,#08H

SETB OUT_FLAG

OUT1:

JNB RDY,OUT1_1

CLR TR0

JMP OUT1

OUT1_1:

SETB TR0

JNB OUT_FLAG,OUT1

CLR OUT_FLAG

MOV A,BUFFER0

RLC A

MOV BUFFER0,A

JNC DATA_0

SETB DATA_FLAG

JMP OUT2

DATA_0:

CLR DATA_FLAG

OUT2:

DJNZ R2,OUT1

OUT3:

JB TR0,OUT3

RET

Page 61: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

55

;===============================================

;LCD 顯示控制程式

;===============================================

;------------------------------------------------------------------------------------

; LCD 初始化

;------------------------------------------------------------------------------------

INIT_LCD8:

MOV A,#30H

CALL WCOM

MOV A,#0EH

CALL WCOM

MOV A,#06H

CALL WCOM

MOV A,#01H

CALL WCOM

RET

;------------------------------------------------------------------------------------

;寫入指令至 LCD

;------------------------------------------------------------------------------------

WCOM:

PUSH A

MOV P2,A

CLR RS

CALL EN1

CALL DEL

POP A

RET

;-----------------------------------------------------------------------------------

寫入資料至 LCD

;------------------------------------------------------------------------------------

WDATA:

PUSH A

MOV P2, A

SETB RS

CALL EN1

CALL DEL

POP A

RET

Page 62: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

56

;------------------------------------------------------------------------------------

DEL:

MOV R7,#0

DJNZ R7,$

RET

;------------------------------------------------------------------------------------

EN1:

SETB EN

CALL DE

CLR EN

CALL DE

RET

;------------------------------------------------------------------------------------

DE:

MOV R7, #5

DJNZ R7,$

RET

;-----------------------------------------------------------------------------------

; A=LINE 1 OR 2

; DPTR = MESSAGE POINTER

;-----------------------------------------------------------------------------------

LCD_PRINT:

CJNE A,#1,LINE2

LINE1:

CALL CLR_LINE1

JMP FILL

LINE2:

CALL CLR_LINE2

FILL:

CLR A

MOVC A,@A+DPTR

CJNE A,#0,LC1

RET

LC1:

CALL WDATA

INC DPTR

JMP FILL

RET

Page 63: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

57

;------------------------------------------------------------------------------------

CLR_LINE1:

MOV A,#80H

CALL WCOM

MOV R0,#18

C1:

MOV A,#' '

CALL WDATA

DJNZ R0,C1

MOV A,#80H

CALL WCOM

RET

;------------------------------------------------------------------------------------

CLR_LINE2:

MOV A,#90H

CALL WCOM

MOV R0,#18

C2:

MOV A,#' '

CALL WDATA

DJNZ R0,C2

MOV A,#90H

CALL WCOM

RET

;----------------------------------------------------------------------------------

;比對電話簿

;----------------------------------------------------------------------------------

FIND_TEL:

PUSH A

MOV DPTR,#TELNO

MOV R1,#0

MOV R2,#TEL_COUNT

MOV LOTTERY,#0

LF1:

MOV R3,#0

MOV R4,#10

MOV R0,#TELIN

LF2:

Page 64: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

58

MOV A,R1

MOVC A,@A+DPTR

MOV DCOMP,A

MOV A,@R0

CJNE A,DCOMP,DF1

INC R3

DF1:

INC R0

INC R1

DJNZ R4,LF2

CJNE R3,#10,DF2

MOV LOTTERY,R2

JMP F_T_END

DF2:

DJNZ R2,LF1

F_T_END:

POP A

RET

;----------------------------------------------------------------------------------

;顯示來電號碼

;----------------------------------------------------------------------------------

SHOW_TEL:

MOV DPTR,#LMESS3

MOV A,#2

CALL LCD_PRINT

MOV A,#94H

CALL WCOM

MOV R2,#10

MOV R1,#TELIN

DSP:

MOV A,@R1

CALL WDATA

INC R1

DJNZ R2,DSP

RET

Page 65: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

59

;---------------------------------------------------------------------------------

;唸出電話號碼

;---------------------------------------------------------------------------------

SP_TEL

MOV R2,#10

MOV R1,#TELIN

FN_L1:

MOV A,@R1

CALL SP_A

INC R1

DJNZ R2,FN_L1

RET

;--------------------------------------------------------------------------------

;將 A 的低位元轉聲音念出

;--------------------------------------------------------------------------------

SP_A:

PUSH PSW

PUSH A

PUSH DPL

PUSH DPH

MOV DPTR,#NO_TABLE

ANL A,#00001111B

SP_A_L:

CJNE A,#0,SP_A_D

CALL SD178A

POP DPH

POP DPL

POP A

POP PSW

RET

SP_A_D:

INC DPTR

INC DPTR

DEC A

JMP SP_A_L

Page 66: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

60

;--------------------------------------------------------------------------------

; DELAY 0.1s

;---------------------------------------------------------------------------------

DELAY01:

MOV R6,#250

D1:

MOV R7,#200

DJNZ R7,$

DJNZ R6,D1

RET

;--------------------------------------------------------------------------------

LMESS1: DB "LCD",0

LMESS2: DB "TEST O.K.",0

LMESS3: DB "來電號碼",0,0AH

LMESS4: DB "未知來電",0,0AH

;--------------------------------------------------------------------------------

NO_TABLE:

DB "0",0AH

DB "1",0AH

DB "2",0AH

DB "3",0AH

DB "4",0AH

DB "5",0AH

DB "6",0AH

DB "7",0AH

DB "8",0AH

DB "9",0AH

DB "A",0AH

DB "B",0AH

DB "C",0AH

DB "D",0AH

DB "E",0AH

DB "F",0AH

Page 67: 修平技術學院 - ir.hust.edu.twir.hust.edu.tw/bitstream/310993100/2313/1/全文.pdf · 第三章 系統架構與功能 ... 圖3.7 輸出/入規格(c 區塊) lcd 顯示電路圖

61

;===============================================

; 電話簿資料

;===============================================

TELNO:

DB "0931561148"

DB "0915254452"

DB "0926670266"

DB "0928904739"

DB "0422066636"

;--------------------------------------------------------------------------------

TELNAME:

DB "趙崇文 ",0,0AH

DB "賴阡瑩 ",0,0AH

DB "謝佳伶 ",0,0AH

DB "姜文忠老師 ",0,0AH

DB "鼎益電腦 1 線 ",0,0AH

;--------------------------------------------------------------------------------

.END