【畢業(yè)學(xué)位論文】(Word原稿)PC機(jī)控制LED漢字顯示器-計(jì)算機(jī)科學(xué)與技術(shù)_第1頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)PC機(jī)控制LED漢字顯示器-計(jì)算機(jī)科學(xué)與技術(shù)_第2頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)PC機(jī)控制LED漢字顯示器-計(jì)算機(jī)科學(xué)與技術(shù)_第3頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)PC機(jī)控制LED漢字顯示器-計(jì)算機(jī)科學(xué)與技術(shù)_第4頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)PC機(jī)控制LED漢字顯示器-計(jì)算機(jī)科學(xué)與技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

牡丹江師范學(xué)院學(xué)士學(xué)位論文 控制 字 顯示器 姓 名: 劉 冰 指導(dǎo)教師: 曹望成 系 別: 計(jì)算機(jī)科學(xué)與技術(shù)系 年 級(jí): 2006 級(jí) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 控制 字 顯示器 I 目 錄 摘 要 . 文摘要 . 前言 . 1 2 系統(tǒng)結(jié)構(gòu)與硬件設(shè)計(jì) . 1 體框圖 . 1 統(tǒng)結(jié)構(gòu) . 2 件設(shè)計(jì) . 2 片引腳功能 . 2 S232 工作原理 . 3 位電路 . 4 示器結(jié)構(gòu)與原理 . 4 件電路圖 . 4 B 界面圖 . 5 3 程序設(shè)計(jì) . 6 序流程圖 . 6 位機(jī)程序 . 8 位機(jī)的基本原理 . 8 序清單 . 8 位機(jī)的說(shuō)明 . 12 B 環(huán)境下通訊程序的設(shè)計(jì) . 12 字譯碼原理 . 16 件清單 . 20 4 總結(jié) . 21 致 謝 . 22 參考文獻(xiàn) . 23 附錄 . 24 控制 字 顯示器 要 : 本文給出 陣顯示屏硬件設(shè)計(jì)的基礎(chǔ)上,顯示的分析了陣顯示屏的軟件控制方法,給出了實(shí)現(xiàn)顯示控制的算法,說(shuō)明了在 用程序中,通過(guò)調(diào)用微機(jī)漢字庫(kù)模,實(shí)現(xiàn)微機(jī)對(duì)顯示屏內(nèi)容進(jìn)行控制的方法 。 實(shí)現(xiàn)漢字字模轉(zhuǎn)換,此字模轉(zhuǎn)換程序豐富了單片機(jī)系統(tǒng)開(kāi)發(fā)工具的功能,是包含液晶顯示功能的單片機(jī)系統(tǒng)在系統(tǒng)調(diào) 試和開(kāi)發(fā)過(guò)程中不可或缺的功能模塊。 關(guān)鍵詞 : 陣 ; 動(dòng)態(tài)顯示 ; 算法 ; 動(dòng)態(tài)鏈接庫(kù) 控制 字 顯示器 C On of ED ED at of in B it of of by of CD is in an C 機(jī)控制 字 顯示器 1 1 前言 1 單片機(jī)的概念 , 顧名思義, “ 單片機(jī) ” 就是將計(jì)算機(jī)的基本部件集成到一塊芯片上,包括 并行口 (串行口 (定時(shí)器 /計(jì)數(shù)器(中斷系統(tǒng) (系統(tǒng)時(shí)鐘及系統(tǒng)總線等 1。 2 陣電子顯示屏是微電子技術(shù),計(jì)算機(jī)技術(shù),信息處理技術(shù)于一體的顯示屏系統(tǒng),隨著社會(huì)的信息化, 示屏它以亮度高,壽命長(zhǎng),工作穩(wěn)定可靠等優(yōu)點(diǎn)而成為眾多顯示媒體以及戶外顯示的理想選擇,它作為一種搞笑直觀簡(jiǎn)介快捷的信息工具,正日益廣泛的應(yīng)用于汽車報(bào)告站器,廣告屏,銀行,醫(yī)院等。本設(shè)計(jì)介紹一種是用的 6 點(diǎn)陣漢字顯示屏的制作,同時(shí)降低設(shè)計(jì)難度,僅作了一個(gè)字的顯示,世紀(jì)是用時(shí)刻根據(jù)這個(gè)原理自行擴(kuò)充顯 示的字?jǐn)?shù)。本設(shè)計(jì)通過(guò)單片機(jī)控制漢字靜態(tài)顯示,顯示內(nèi)容由微機(jī)發(fā)送,利用 寫實(shí)現(xiàn)微機(jī)和單片機(jī)之間的通訊 2,實(shí)現(xiàn)微機(jī)對(duì)顯示內(nèi)容的控制。下面為大家做一個(gè)簡(jiǎn)單的介紹 。 2 系統(tǒng)結(jié)構(gòu)與硬件設(shè)計(jì) 體框圖 控制部分 8051 下位機(jī)顯示部分 如 圖 2 2051 下位機(jī)顯示部分 控制 051 下位機(jī) 示部分 陣 控制 字 顯示器 2 統(tǒng)結(jié)構(gòu) 本系統(tǒng)主要由 源電路,震蕩電路,和顯示電路組成 。 1) 本智能顯示器采用 8051 單片機(jī)控制器 , 1 單片機(jī)有四個(gè)并行 I/O 口,32 跟輸入 /輸出線,單片機(jī)利用 I/O 口作為地址和數(shù)據(jù)總線與外圍 設(shè)備進(jìn)行數(shù)據(jù)交換 , 8 為單片機(jī)數(shù)據(jù)總線為 8 根,訪問(wèn) 64K 的存儲(chǔ)空間,需要 16 根地址線。受到引腳的限制, 1 單片機(jī)地址線和數(shù)據(jù)線是通過(guò) I/O 引腳復(fù)用實(shí)現(xiàn)的,擴(kuò)展時(shí)將 作為低 8 位地址 /數(shù)據(jù)線, 作為高 8 位地址數(shù)據(jù)線。 2) 電源電路 8051 單片機(jī)采用電源電 壓 5V,它的最高上限電壓為 了避免 作不穩(wěn)定,經(jīng)常使用穩(wěn)壓器對(duì)給入 電源電壓進(jìn)行穩(wěn)壓以及達(dá)到使單片機(jī)正常工作的目的 。 3) 振蕩電路 指令執(zhí)行是靠機(jī)器周期進(jìn)行存取的,因此 正常工作離不開(kāi)穩(wěn)定的振蕩頻率,由于石英晶怎當(dāng)頻率穩(wěn)定,常采用 12石英晶振作為單片機(jī)的振蕩器使用 。 4) 顯示電路 大屏幕顯示器在生活中應(yīng)用的十分廣泛,不僅能顯示漢字,還可以顯示圖形圖像,而且能產(chǎn)生各種動(dòng)畫效果,是廣告宣傳,新聞傳播的有力工具,其應(yīng)用也越來(lái)越普遍。本系統(tǒng)采用 16*16示,利用 列 成 16 行 *16 列的矩陣,在通過(guò)單片機(jī) I/O 輸出控制 亮和滅,達(dá)到顯示漢字的效果。 件設(shè)計(jì) 片引腳功能 作為通用 I/O 和地址數(shù)據(jù)總線使用 。 是 8 位鎖存器組成的特殊功能寄存器 ,它是通用的輸入輸出接口,有三種工作方式:輸入輸出和端口 。 控制 字 顯示器 3 可作為通用 I/O 口也可作為單片機(jī) 擴(kuò)展時(shí)候的地址總線 。 除了可作為通用 I/O 口外,還具有第二功能如 行輸入通道)行輸出通道) 。 S232 工作原理 上位機(jī)、下位機(jī)的接口,中間的電平轉(zhuǎn) 換電路 6。該系統(tǒng)采用三線制,獨(dú)占口方式。 32 它廣泛地被借來(lái)用于計(jì)算機(jī)的數(shù)據(jù)發(fā)送和接受( 更準(zhǔn)確的說(shuō),是計(jì)算機(jī)接口與終端或外設(shè)之間的近端連接標(biāo)準(zhǔn) ) 。 由于在計(jì)算機(jī)系統(tǒng)中,往往是 I/O 設(shè)備之間傳送信息,雙方都能發(fā)送和接受。大多數(shù)的 為接口使用一個(gè) 9 針 插入式 D接器 3。這些串行口只包 9 個(gè)信號(hào)。這個(gè)較小的連接器可分為 在擴(kuò)展卡的后不面板上的其他連接器留出了更多的空間。這個(gè)連接器也被稱作 , E 表示這個(gè)外殼的大小。有些資料將它稱作 , 9 針連接器有不同的命名,尤其是 對(duì) 25 針連接器上的 19 針上的信號(hào)。容易混淆的是2 和 3 是顛倒的, 2 為 3 為 端口說(shuō)明( 部分) 上的串行口是 9 針公插座,引腳定義為: 1 載波檢測(cè) 接受數(shù)據(jù) 3 發(fā)送數(shù)據(jù) 4 數(shù)據(jù)終端就緒 5 信號(hào)池 6 數(shù)據(jù)裝置就續(xù) 7 請(qǐng)求發(fā)送 8 清除發(fā)送 9 振鈴指示 接方式最簡(jiǎn)單的是用 3 根導(dǎo)線連接。連接交換 ,因此每個(gè) 接到對(duì)應(yīng)的 果設(shè)備部使用硬件握手,這樣就可以 完成通信。 控制 字 顯示器 4 位電路 計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,復(fù)位使中央處理器 系統(tǒng)時(shí)其 他器件都處于一種初始狀態(tài),并從這個(gè)初始狀態(tài)開(kāi)始工作, 列單片機(jī)有一個(gè)復(fù)位引腳 。輸入一個(gè)高電平信號(hào),該高電平信號(hào)至少要維持兩個(gè)機(jī)器周期(或者 24 個(gè)時(shí)鐘周期)以上時(shí)間,單片機(jī)被復(fù)位,為了可靠復(fù)位,復(fù)位時(shí)間一般在 10 腳變?yōu)榈忘c(diǎn)評(píng)時(shí),單片機(jī)推出復(fù)位, 初始狀態(tài)開(kāi)始工作。這里的設(shè)計(jì)中我采用上電自動(dòng)復(fù)位電路,在 位引腳端接一個(gè)電容至 +5V 和一個(gè)電阻至地端,實(shí)現(xiàn)上電自動(dòng)復(fù) 位。在加電瞬間,電容通過(guò)電阻充電,就在 電平時(shí)間足夠長(zhǎng)久能使單片機(jī)有效地復(fù)位。 示器結(jié)構(gòu)與原理 幾十年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光纖的基本知識(shí),第一個(gè)商用二極管產(chǎn)生于 1960 年。 英文 光二極管)的縮寫,它的基本結(jié)構(gòu)式一塊電致發(fā)光的半導(dǎo)體材料,置于一個(gè)有引線的架子上,然后四周用環(huán)氧樹(shù)脂密封,起到保護(hù)內(nèi)部芯線的作用,所以 抗震性能好。 發(fā)光二極管的核心部分是由 p 型半導(dǎo)體和 n 型半導(dǎo)體組成的晶片,在 p 型半導(dǎo)體和 n 型半導(dǎo)體之間有一個(gè)過(guò)渡層,成為 。在某些半導(dǎo)體材料的 中,注入的少數(shù)載流子 與多數(shù)載流子復(fù)合式會(huì)把多余的能量以光的形式釋放出來(lái),從而把電能直接轉(zhuǎn)換為光能。 加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理自作的二極管叫發(fā)光二極管,通稱 當(dāng) 它 處于正向工作狀態(tài)時(shí)(即兩端加上正向電壓),電流從 極流向陰極時(shí),半導(dǎo)體晶體就發(fā)出從紫外線到紅外線不同顏色的光線,光的強(qiáng)弱與電流有關(guān)。將 塊按照實(shí)際需要大小拼裝排列成矩陣,配以專用顯示電路,直流穩(wěn)壓電源,軟件,框架及外裝飾等 ,即構(gòu)成一塊很快的刷新頻率,如刷新速度跟不上,會(huì)造成電平畫面晃動(dòng)和閃爍 。 件 電路圖 硬件圖的說(shuō)明: 如圖 2通過(guò) 8051 相連(本圖沒(méi)有畫出 接用 8051的 6*16控制 字 顯示器 5 點(diǎn)陣 5發(fā)送數(shù)據(jù), 作為 選信號(hào)通過(guò) 74左至右對(duì) 于掃描時(shí)間很短,我們就覺(jué)得好像是同時(shí)在亮從而達(dá)到顯示漢字的效果。(圖中 圖沒(méi)有畫出來(lái)) 2件電路圖 B 界面圖 界面說(shuō)明:如下圖 2機(jī)輸入,光標(biāo)移至白色的輸入框里,選擇適當(dāng)輸入法輸入漢字。如果漢字超過(guò)要求的字符,跳出簡(jiǎn)單的提示。沒(méi)有超過(guò)可繼續(xù)單機(jī)轉(zhuǎn)換,漢字通過(guò) 序調(diào)用漢字庫(kù)的 16 進(jìn)制代碼,統(tǒng)計(jì)數(shù)據(jù)字符個(gè)數(shù)顯示在數(shù)據(jù)所描述的白色框內(nèi),選擇端口號(hào)(只有 效。打開(kāi)串口,如果串口正常,串口變顯示綠色,可單擊發(fā)送數(shù)據(jù),數(shù)據(jù)傳播。如果不能傳播,出錯(cuò)變紅。如果正常,正常變綠。數(shù)據(jù)能夠傳輸,傳輸變綠。關(guān)閉串口停止傳播。 控制 字 顯示器 6 圖 2B 界面圖 3 程序設(shè)計(jì) 序流程圖 圖 2序流程圖 開(kāi)始 初始化定時(shí)器 始化串行口 啟動(dòng)定時(shí)器 放中斷 主程序踏步 控制 字 顯示器 7 圖 2序流程圖 終端服務(wù)程序 顯示程序 保護(hù)現(xiàn)場(chǎng) 接收地址 與本機(jī)地址相同否 回送本機(jī)地址 接收 發(fā)來(lái)的字符 顯示程序 恢復(fù)現(xiàn)場(chǎng) 中斷返回 顯示程序初始化法 軟件延時(shí) 100 毫秒 定每個(gè)字停留時(shí)間 每個(gè)字 16 碼 取碼輸出到 掃描 1 毫秒 清除屏幕 16 碼是否完成 停留時(shí)間是否到達(dá) 256 個(gè)碼是否完成 控制 字 顯示器 8 位機(jī)程序 位機(jī)的基本原理 單片機(jī)控制,由于單片機(jī)的總線為 8 位,一個(gè)字需要拆分為 2 個(gè)部分。一般我們把它拆分為上部和下部,上部由 8*16 點(diǎn)陣組成,下部也 由 8*16 點(diǎn)陣組成。 在單片機(jī)首先顯示的是左上角的第一列的上半部分,即 0 列 。方向?yàn)?上往下排列,即可得二進(jìn)制代碼,轉(zhuǎn)換為 16 進(jìn)制,就可得到它第一列上半部分的轉(zhuǎn)換后的數(shù)。 上半部第一列完成后,即從 向掃描,可以類似的得到轉(zhuǎn) 換后的數(shù),然后單片機(jī)轉(zhuǎn)向上半部第二列,得到 16 進(jìn)制數(shù)。這一列完成后繼續(xù)進(jìn)行下半部分的掃描,誰(shuí)亮誰(shuí)為 1。 依照這個(gè)方法,繼續(xù)進(jìn)行下面的掃描,一共掃描 32 個(gè) 8 位,可以得出漢字的掃描代碼。 由這個(gè)原理可以看出,無(wú)論顯示何種字體或圖像,都可以用這個(gè)方法來(lái) 分析出它的掃描代碼從而先死在屏幕上。 不過(guò)現(xiàn)在有很多現(xiàn)成的漢字字模生成軟件,我們就不必自己去畫表格算代碼了。軟件打開(kāi)后輸入漢字, 點(diǎn) “ 撿取 ” , 16 進(jìn)制數(shù)據(jù)的漢字代碼即可自動(dòng)生成,作為靜態(tài)的顯示屏我們可以利用字模生成軟件把我們所需要的豎排數(shù)據(jù)復(fù)制到我們的程序中即可。 控制我們就可以留下一個(gè)存儲(chǔ)空間專門來(lái)接受 發(fā)送過(guò)來(lái)的轉(zhuǎn)換數(shù)據(jù) 6,在通過(guò)顯示程序顯示出來(lái)。 我們把行列總線接在單片機(jī)的 ,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。在這個(gè)例子里,由于一共用到 16 行 16 列,如果將其全部 接入 51 單片機(jī),一共使用 32 條 ,這樣就造成了 源的耗盡,系統(tǒng)也再無(wú)擴(kuò)充的余地。世紀(jì)應(yīng)用中我們使用 416 線譯碼器 741完成列方向的顯示。而行方向 16 條線則接在 。 序清單 開(kāi)始 000H 控制 字 顯示器 9 023H 始化定時(shí)器 20H 初始化 00始化串行口 0 串行口為方式 3, 1 80H 1 1,#40H 接受數(shù)據(jù)區(qū)起始地址 2,#32 接受數(shù)據(jù)塊長(zhǎng)度送 動(dòng)定時(shí)器 開(kāi)啟 放中斷 A 開(kāi)啟中斷允許控制位 S 串行中斷允許控制 主程序踏步 踏步等待 中斷服務(wù)程序 A 保護(hù)現(xiàn)場(chǎng) 收地址 A, 接收地址 控制 字 顯示器 10 與本機(jī)地址是否相等 A,#01H 與本機(jī)地址進(jìn)行比較 與本機(jī)地址不符則返回 置單片機(jī)為接受數(shù)據(jù)狀態(tài) 送本機(jī)地址 ,#01H 發(fā)送本機(jī)地址給 等待發(fā)送完畢 受 發(fā)來(lái)的字符 1,$ 接收一個(gè)字符 1 接收一個(gè)字符后清 存入內(nèi)存 1 接收數(shù)據(jù)塊指針加 1 2, 若未接收完,則繼續(xù)接收 顯示程序 ,#0 清除畫面 0,A 清除 2,#00 清除 3,#200 賦值廢 延遲程序 100 毫秒 4,#250 3,$ 3,0H,#00H 取碼指針的初值 100 每個(gè)字停留的時(shí)間 16 每個(gè)字 16 個(gè)碼 00H 掃描指針清零 0H 取碼指針存入 C 機(jī)控制 字 顯示器 11 A, 掃描指針存入 A 掃描輸出 掃描指針加 1,掃描下一個(gè) A, 取碼指針存入 A 40H 取數(shù)據(jù)表的上半部分的代碼 A,A+ 輸出到 取碼指針加 1,去下一個(gè)碼 A,40H 取數(shù)據(jù)表下半部分的代碼 A,A+2,A 輸出到 02 掃描 1 毫秒 248 A,#00H 清除屏幕 00H 3 一個(gè) 16 個(gè)碼是否完成 16 每個(gè)字停留時(shí)間是否到了 0100 8 個(gè)字 256 個(gè)碼是否完成 恢復(fù)現(xiàn)場(chǎng) C 機(jī)控制 字 顯示器 12 位機(jī)的說(shuō)明 在采用以 為控制中心的控 制系統(tǒng)中,通常 需 要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給 , 單片機(jī)進(jìn)行控制,如果系統(tǒng)不很復(fù)雜,可通過(guò)控制鍵控制收發(fā)過(guò)程,在必要的地方自動(dòng)接收裝置,使定時(shí)控制和通訊過(guò)程完美的結(jié)合起來(lái)。這樣,可以免去 握手 協(xié)議的繁瑣過(guò)程,簡(jiǎn)化編程,提高速度。 有面向?qū)ο蟮脑O(shè)計(jì)方法,有好的用戶界面,簡(jiǎn)單方便的串行通訊和實(shí)用性強(qiáng)等優(yōu)點(diǎn),不用借用其他語(yǔ)言就可以開(kāi)發(fā)出優(yōu)秀的控制系統(tǒng) 通訊軟件。這里介紹在 B 來(lái)實(shí)現(xiàn) 與單片機(jī)之間的串行通訊。 B 環(huán)境下通訊程序的設(shè)計(jì) 供 了串行口控制 為應(yīng)用程序提供串行通訊。該控制件屏蔽了通信過(guò)程中的底層操作,程序員可以設(shè)置、監(jiān)視 件的屬性和事件,結(jié)合件即可完成對(duì)串行口的初始化和數(shù)據(jù)的輸入輸出工作。 件的主要屬性如下: ( 1) 置并返回通訊端口號(hào)。端口號(hào)可以設(shè)置為 116 的任何數(shù),如 表示設(shè)置當(dāng)前通訊端口為 ( 2) 置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。一個(gè)包含四部分的字符串:第一部分為波特率;第二部分為奇偶校驗(yàn), N 表示不校驗(yàn), M 表示符號(hào)檢驗(yàn), E 表示偶檢驗(yàn), O 表示奇校驗(yàn), S 表示空格校驗(yàn);第三部分為數(shù)據(jù)位數(shù),其可選值為 4, 5, 6, 7, 8;第四部分為停止位位數(shù),其可選值為 1, 2。 能夠的缺省值為 9600, N, 8,1。 ( 3) 置并返回通訊端口的狀態(tài),也可以打開(kāi)和關(guān)閉端口。 ( 4) 接受緩沖區(qū)返回和刪除字符。該屬性在運(yùn)行時(shí)為只讀。 ( 5) 置并返回每次 性慈寧宮接收區(qū)中 讀取的字符數(shù)。性的缺省值為 0。設(shè)置 0 時(shí), 讀取接受緩沖區(qū)的全部字符。 ( 6) 傳送緩沖區(qū)寫數(shù)據(jù)。要傳送的數(shù)據(jù)可視文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。 控制 字 顯示器 13 ( 7) 回最近的通訊時(shí)間或錯(cuò)誤。只要有通訊錯(cuò)誤或事件發(fā)生錯(cuò)誤時(shí)就會(huì)產(chǎn)生 件。 性中存有該錯(cuò)誤或事件的數(shù)值代碼。 件的主要屬性如下: 回或設(shè)置一個(gè)值,該值用來(lái)確定一個(gè)窗體或控件是否能夠?qū)τ脩糸L(zhǎng)生的時(shí)間做出反應(yīng)。通過(guò)把 置為 使 件成為無(wú)效,竟取消由控件的 性所建立的倒計(jì)時(shí)數(shù)。 回或設(shè)置對(duì) 件的計(jì)時(shí)時(shí)間調(diào)用間的毫秒數(shù)。 件的性決定該控件是否對(duì)時(shí)間的推移做出響應(yīng)。將 置為 關(guān)閉 件,設(shè)置為 打開(kāi) 件。當(dāng) 件置為有效時(shí),倒計(jì)時(shí)總是從其 性設(shè)置值開(kāi)始。創(chuàng)建 件程序??赏ㄟ^(guò) 每次時(shí)該做什么。 件和 性設(shè)置為 , 在 程。為實(shí)現(xiàn)通訊程序,須在 發(fā)環(huán)境下設(shè)置一個(gè)用做控制通訊的窗體。窗體導(dǎo)航主要有一個(gè)通訊控件 兩個(gè) 件。特點(diǎn)是事件驅(qū)動(dòng),定時(shí)器件會(huì)定時(shí)觸發(fā)響應(yīng)事件的驅(qū)動(dòng)程序。發(fā)送單片機(jī)命令為了使主機(jī)能夠?qū)φ麄€(gè)檢測(cè)過(guò)程進(jìn)行實(shí)時(shí)控制,需要在發(fā)送命令以后設(shè)定等待的時(shí)間,也可以通過(guò)條件判斷下一步是發(fā)送還是接收命令。對(duì)發(fā)送的命令們可能是文本方式或二進(jìn)制代碼。在發(fā)送二進(jìn)制代碼時(shí),應(yīng)特別注意發(fā)送的格式。發(fā)送命令過(guò)程是一個(gè)帶參過(guò)程 ,這樣可使發(fā)送 命令簡(jiǎn)便易行。具體程序如下: 送單片機(jī)命令過(guò)程( s 出命令( 1出命令( 1) = 出命令 收數(shù)據(jù) : 接收數(shù)據(jù)是一個(gè)被動(dòng)的過(guò)程,可以通過(guò)函數(shù)來(lái)實(shí)現(xiàn),由定時(shí)器開(kāi)啟。在接受過(guò)程中,多數(shù)用特征字符,如 #等。這些需要自通訊協(xié)議中約定。 收數(shù)據(jù)() C 機(jī)控制 字 顯示器 14 =從串行端口讀 響應(yīng) 2) 接收數(shù)據(jù) =件來(lái)控制通訊中的發(fā)送命令和接受數(shù)據(jù)過(guò)程,在通訊程序中設(shè)置兩個(gè)件分別控制發(fā)送單片機(jī)命令和接收單片機(jī)數(shù)據(jù)。為了實(shí)現(xiàn)一臺(tái) 和多單片機(jī)之間的通訊,可在一個(gè) 件的過(guò)程中,在發(fā)送命令之前設(shè)定命令參數(shù)和要接收數(shù)據(jù)的單片機(jī)號(hào),突然后發(fā)送單片機(jī)命令;在另一個(gè) 件的過(guò)程中,根據(jù)發(fā)送前設(shè)定的單片機(jī)號(hào),接收不同單片機(jī)的數(shù)據(jù)。 件控制程序如下: 發(fā)送命令主控程序 送單片機(jī)命令 (任務(wù) 1) 動(dòng)自動(dòng)接收 送 單片機(jī)命令 (任務(wù) 2) 關(guān)閉自動(dòng)接收 00 動(dòng)定時(shí)器接收機(jī)號(hào) =1 送單片機(jī)命令 (任務(wù) 3) 關(guān)閉自動(dòng)接收 00 動(dòng)定時(shí)器接收號(hào) =2 控制 字 顯示器 15 接收數(shù)據(jù)主控程序 號(hào) 接收數(shù)據(jù)(機(jī)號(hào)) 務(wù) 2 接收數(shù)據(jù)(機(jī)號(hào)) 務(wù) 3 n 接收數(shù)據(jù)(機(jī)號(hào)) 務(wù) n 動(dòng)接收、監(jiān)控總線狀態(tài)和通訊錯(cuò)誤的處理 。 自動(dòng)接收、監(jiān)視總線狀態(tài)和通訊錯(cuò)誤的處理可以通過(guò) 件實(shí)現(xiàn)。 程中只要設(shè)置 過(guò)程。由于外界干擾或電壓波動(dòng)等原因, 殼單片機(jī)之間的通訊可能會(huì)出現(xiàn)錯(cuò)誤,如接收緩沖區(qū)溢出、網(wǎng)絡(luò)端口超速等。這些可能發(fā)生的時(shí)間都能在代碼中引起運(yùn)行錯(cuò)誤。為了處理這些錯(cuò)誤,需要經(jīng)錯(cuò)誤處理代碼添加到程序中。通過(guò)控件總的 件可以捕捉和處理錯(cuò)誤。在通訊過(guò)程中所發(fā)生的通訊錯(cuò)誤是 性返回的。當(dāng) 性值發(fā)生改變時(shí),表明有通訊錯(cuò)誤,就會(huì)產(chǎn)生 件。同時(shí),可以利用自動(dòng)引發(fā) 件的特點(diǎn)在接受過(guò)程中加入狀態(tài)顯示碼。這 樣可以監(jiān)視通訊線控制 字 顯示器 16 路狀態(tài),得到單片機(jī)和主機(jī)及單片機(jī)和單片機(jī)之間的通訊進(jìn)程。通訊錯(cuò)誤的處理程序如下: 動(dòng)數(shù)據(jù)接收、監(jiān)視總線通信信息 正在執(zhí)行任務(wù) 1 訊錯(cuò) 誤處理 X=,16) 錯(cuò)誤處理 據(jù)丟失 X=數(shù)據(jù)丟失! , 16) 錯(cuò)誤處理 漢字譯碼原理 收錄了漢字、圖形符號(hào)等共 7445 個(gè),其中漢字 6763 個(gè),按照漢字使用的頻度分為兩級(jí),其中一級(jí)漢字 3755 個(gè),二級(jí)漢字 3008 個(gè)。漢字、圖形符號(hào)根據(jù)其位置將其分為 94 個(gè) 區(qū) ,每個(gè)區(qū)包含 94 個(gè)漢字字符,每個(gè)漢字字符又稱為 位 。其中 區(qū) 的序列 號(hào)由 01 區(qū)只區(qū), 位 的序列號(hào)也有 01 位至 94 位。若以橫向表示 位 號(hào),縱向表示 區(qū) 號(hào),則 區(qū) 和 位 構(gòu)成一個(gè)二維坐標(biāo)。給定一個(gè) 區(qū) 值和 位 。 值就可以確定一個(gè)唯一的漢字或圖形符號(hào)。即 4 位阿拉伯?dāng)?shù)字就可以唯一地確定一個(gè)漢字或符號(hào)。如 北 字的區(qū)位碼是 1717,而 京 字的區(qū)位碼是 3009。前兩位是 區(qū) 號(hào),后面兩位是 位 號(hào)。其中 1 至 15 區(qū)時(shí)各種圖形符號(hào)、制表符和一些控制 字 顯示器 17 主要國(guó)家的語(yǔ)言字母, 16 區(qū)至 87 區(qū)是漢字,其中 16 區(qū)至 55 區(qū)時(shí)一級(jí)漢字, 56 至87 區(qū)時(shí)二級(jí)漢字。 件中的文件 文件 別為 16*16 的國(guó)際漢字點(diǎn)陣文件和 8*16 的 碼點(diǎn)陣文件, 按漢字區(qū)位碼從小到大一次存放國(guó)標(biāo)區(qū)位碼表中的所有漢字,每個(gè)漢字占用 32 字節(jié),每個(gè)區(qū)為 94 個(gè)漢字。而 件中按 碼從小到大一次存有 8*16 的 碼點(diǎn)陣,每個(gè) 碼占用16 字節(jié)。 文本文件中,漢字是用機(jī)內(nèi)碼的形似存儲(chǔ)的,每個(gè)漢字占 2 字節(jié),其中第一個(gè)字節(jié)為機(jī)內(nèi)碼的去碼,漢字機(jī)內(nèi)碼的區(qū)碼范圍是從 0六進(jìn)制)開(kāi)始,對(duì)應(yīng)區(qū)位碼中區(qū)碼的第一區(qū);而機(jī)內(nèi)碼的第二個(gè)字節(jié)為機(jī)內(nèi)碼的位碼, 范圍也是從0六進(jìn)制)開(kāi)始,對(duì)應(yīng)謀取中的第一個(gè)位碼。就是說(shuō)將漢字機(jī)內(nèi)碼減去 0如漢字 北 的機(jī)內(nèi)碼是十六進(jìn)制的 其中前兩位示機(jī)內(nèi)碼的區(qū)碼,后兩位 示機(jī)內(nèi)碼的位碼。所以 北 的區(qū)位碼為0111H,將區(qū)位碼和位碼分別轉(zhuǎn)換為十進(jìn)制,得漢字 北 的區(qū)位碼為 1717。即 北 的點(diǎn)陣位于第 17 區(qū)的第 17 個(gè)字的位置,在文件 的位置為低 32(1794+(17=486402個(gè) 字節(jié)為 北 的顯示點(diǎn)陣。用 利用其邊際功能中的緩沖區(qū)邊際查找到864D 是十進(jìn)制,竟其轉(zhuǎn)變?yōu)槭M(jìn)制后得 始的 32 個(gè)字節(jié): 04 80 04 80 04 88 04 8 04 C 4 80 04 80 04 80 04 80 04 80 04 80 1C 82 2 44 7E 00 00(以上全為下十六進(jìn)制 ),將其寫在 1616 點(diǎn)陣方格紙上。由此可以理解 其相互邏輯關(guān)系。 我們以 問(wèn)宋體字庫(kù)為例,每一個(gè)字由 16 行 16 列的點(diǎn)陣組成顯示。即國(guó)標(biāo)漢字庫(kù)中的每一個(gè)字均由 256 點(diǎn)陣來(lái)表示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅畫像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在 256 像素范圍內(nèi)的任何圖形。中文 作系統(tǒng)的出現(xiàn)使得高級(jí)開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)全中文的提示和界面非常容易和方便。在一般的應(yīng)用程序中已經(jīng)很少需要去專門考慮漢字處理的問(wèn)題。 對(duì)漢字處理, 要是提供了一些輸入法設(shè)置的支持。它提供了一個(gè)性和 數(shù) 7來(lái)確定和設(shè)置輸入法的狀態(tài)。而且此屬性和方法控制 字 顯示器 18 只在 東亞區(qū)版本中有效。 數(shù)返回一個(gè)整數(shù),用來(lái)指定當(dāng)前 輸入法( 式 。 下面是中文地區(qū)的返回值: 不安裝 省 ) 打開(kāi) 性返回或者設(shè)置被選定的對(duì)象的 入方法編輯器 )狀態(tài)??梢岳?數(shù)來(lái)檢測(cè)當(dāng)前的輸入狀態(tài),并用 (預(yù)定值 )、 =1(切換為中文輸入 )、 =2(切換為英文輸入 )。 對(duì) 于簡(jiǎn)體漢字和繁體漢字 能使用設(shè)置 0 到 到 10 對(duì)于漢字系統(tǒng)是無(wú)效的。 能上對(duì)漢字出路的直接支持也僅限于此。對(duì)于漢字字符串的處理, 沒(méi)有提供專門的函數(shù)和方法。 各個(gè)版本的 漢字的長(zhǎng)度為 2 字節(jié)。 從 32 位版本以后,不管中英文字,均以 2存儲(chǔ),這與中文 漢字內(nèi)核有關(guān)。但是 偶, 為每個(gè)漢字的長(zhǎng)度為 于 字符串函數(shù)認(rèn)為一個(gè)漢字和一個(gè)西文字符的長(zhǎng)度都為 1,因此處理漢字字符串 8時(shí)郵一 定的難度。實(shí)現(xiàn)上必須能把漢字按照兩個(gè)字符(字節(jié))的形式讀出。因此在街區(qū)漢字字符串的子串時(shí)需特別注意。由于漢字處理和漢字字模存儲(chǔ)的特殊性,在許多情況下我們希望漢字字符的長(zhǎng)度為 2,英文字符為 1 由于 此處理漢字時(shí)首先必須能正確判斷漢字字符串的長(zhǎng)度 。 在 C+里,漢字的 碼均大于 0,而 漢字的 小于 0。因此通過(guò)判斷一個(gè)未知字符的 碼就可以判斷該字符是否是漢字。 漢字字模讀寫和存儲(chǔ)的機(jī)理 計(jì)算機(jī)是以編碼的方式來(lái)處理和使用字符的。西方字符采 用一字節(jié)表示,即碼 ,一般只用七位來(lái)表示 128 個(gè)字符,而把最高位用做奇偶校驗(yàn)(或者不用)。我國(guó)國(guó)際規(guī)定漢字用內(nèi)碼表示,內(nèi)碼為兩個(gè)字節(jié)。為了保證中西文兼容,也就是說(shuō)漢字系統(tǒng)的內(nèi)碼必須同時(shí)允許 碼和漢字的使用 ,兩者之間不應(yīng)發(fā)生沖突。 目前規(guī)定每個(gè)字節(jié)只用七位,若兩個(gè)字節(jié)的最高位均為 1,則給字符為漢字。 國(guó)際對(duì)漢字字庫(kù)的結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將字庫(kù)分成若干個(gè)區(qū),每個(gè)區(qū)有 94控制 字 顯示器 19 個(gè)漢字,每個(gè)漢字在字庫(kù)中有確定的區(qū)和位,因此每個(gè)漢字各有一個(gè)區(qū)為碼,知道了區(qū)位碼也就相當(dāng)于知道了漢字在字庫(kù)中的位置。由于漢字的內(nèi)碼與區(qū) 位碼有一定的關(guān)系,所以只要通過(guò)漢字的內(nèi)碼就可得到該漢字的區(qū)位碼,也就得到了該漢字的字模。查找一個(gè)漢字字模數(shù)據(jù)的算法為: 漢字內(nèi)碼 區(qū)位碼 記錄號(hào) 字模數(shù)據(jù) 一個(gè) 16 點(diǎn)陣漢字其字模數(shù)據(jù)供油 32 字節(jié),可以看做是一條記錄,在程序中可以用一個(gè)數(shù)組存放。在 圖形模式下, 漢字是通過(guò)描點(diǎn)的方法逐點(diǎn)畫上去的。讀取字模中每個(gè)字節(jié)的每一位,就能確定漢字中的每個(gè)點(diǎn)。故一個(gè) 1616 點(diǎn)陣的漢字必須要 32 個(gè)字節(jié)的字模數(shù)據(jù)才能確定 9。 以下是 圖形模式下顯示一個(gè) 1616 點(diǎn)陣漢字時(shí)的描點(diǎn)順序圖。每?jī)蓚€(gè)字節(jié)的字模數(shù) 據(jù)確定一行。 實(shí)現(xiàn)漢字字模轉(zhuǎn)換的技巧 在許多工程控制的應(yīng)用環(huán)境中,經(jīng)常需要對(duì)標(biāo)準(zhǔn)的漢字字模進(jìn)行調(diào)整和轉(zhuǎn)換。 要對(duì)漢字字模進(jìn)行轉(zhuǎn)換首先應(yīng)該正確地讀出 16 點(diǎn)陣漢字在字庫(kù)中的 32 字節(jié)的字模數(shù)據(jù) 10。設(shè)某一漢字的內(nèi)碼為 中 示內(nèi)碼, 示為內(nèi)碼,則 該漢字的區(qū)碼, 該漢字的位碼。則該漢字在字庫(kù)中的位置為: ( 94+(32 需要注意的是,以何種方式從字庫(kù)文件中讀取這 32 字節(jié)也是一個(gè)關(guān)鍵問(wèn)題。由于二 進(jìn)制 (式訪問(wèn)文件可以直接查看文件中指定的字節(jié),而且二進(jìn)制方式也是唯一支持用戶到文件的任何 位置 讀寫 任意長(zhǎng)度數(shù)據(jù)的方法。因而以二進(jìn)制方式打開(kāi)漢字字庫(kù)文件時(shí)最適合的。 然提供了較強(qiáng)的位運(yùn)算功能,但是對(duì)于在字模轉(zhuǎn)換中使用較到的移位操作,卻沒(méi)有提供對(duì)應(yīng)的移位運(yùn)算符、指令或函數(shù)。其實(shí)通過(guò) )、 )二個(gè)位運(yùn)算符即可編制一個(gè)自定義子函數(shù)來(lái)實(shí)現(xiàn)位移運(yùn)算。 圖形點(diǎn)陣顯示在現(xiàn)代單片機(jī)系統(tǒng)中式一種十分常用的顯示設(shè)備, 、手機(jī)上的顯示屏就是圖形點(diǎn)陣。它能顯示漢字和圖形,與行列式鍵盤組曾了單片 機(jī)系統(tǒng)中最常用的人機(jī)交互界面。但是直接從中文系統(tǒng)漢字字庫(kù)中提取的漢字字模

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論