




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
濟源職業(yè)技術(shù)學(xué)院濟源職業(yè)技術(shù)學(xué)院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 題目 基于單片機的電子廣告屏 系別 電氣工程系 專業(yè) 應(yīng)用電子技術(shù) 班級 電技 0801 姓名 周鵬 學(xué)號 08020140 指導(dǎo)教師 常小明 日期 2010 年 12 月 I 設(shè)計任務(wù)書設(shè)計任務(wù)書 設(shè)計題目 設(shè)計題目 基于單片機的電子廣告屏 設(shè)計要求 設(shè)計要求 1 利用 Atmel 89 C51 單片機 進行硬件和軟件設(shè)計 實現(xiàn) 16 16 點陣 LED 漢 字廣告屏的滾動顯示 2 要求在目測條件下 LED 顯示屏各點亮度均勻 充足 可顯示圖形和文字 顯 示圖形或文字應(yīng)穩(wěn)定 清晰無串?dāng)_ 3 在屏幕上顯示 祝大家元旦快樂周鵬制作 顯示的內(nèi)容滾動顯示 4 廣告屏顯示的內(nèi)容能方便修改 設(shè)計進度要求 設(shè)計進度要求 第一周 在老師的指引下自選設(shè)計題目 指導(dǎo)老師對設(shè)計題目進行大致講解 第二周 查資料 收集信息 寫出初步設(shè)計方案 第三周 硬件電路設(shè)計 第四周 流程圖的設(shè)計 程序設(shè)計 第五周 程序設(shè)計 并在 PROTEUS 中進行仿真調(diào)試 第六周 在 PROTEUS 中進行仿真調(diào)試 第七周 撰寫設(shè)計論文 第八周 指導(dǎo)老師對設(shè)計報告進行檢查 修改 設(shè)計論文定稿 準備答辯 指導(dǎo)教師 簽名 指導(dǎo)教師 簽名 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 II 摘 要 現(xiàn)代單片機的發(fā)展很快 很多研究領(lǐng)域非常已經(jīng)深刻 實際情況是 很多相關(guān) 的知識已經(jīng)遠遠超出我們在校學(xué)生的能力范圍 所以在此只是簡單的研究一下用單 片機驅(qū)動的 LED 顯示移動的漢字 本設(shè)計的主要內(nèi)容是漢字滾動 LED 點陣顯示的設(shè)計 以實現(xiàn)設(shè)定漢字的滾動顯 示 本設(shè)計有系統(tǒng)硬件設(shè)計和系統(tǒng)軟件設(shè)計 系統(tǒng)硬件設(shè)計包括 AT89C51 單片機 復(fù)位電路 時鐘電路 譯碼器等 文中給出了設(shè)計的總思路和電路圖 對硬件電路的每一部分進行了詳細介紹 軟件部分給出了詳細的思路與分析程序的流程 程序通過了 Proteus 仿真 文中還詳細介紹了字模軟件 PCtoLCD2002 的取模方法 使用該軟件可方便修改 待顯示文字或圖像的數(shù)據(jù)代碼 關(guān)鍵詞 點陣顯示 AT89C51 芯片 Proteus 軟件 字模庫 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 III 目 錄 1 總體設(shè)計 1 2 系統(tǒng)硬件設(shè)計 3 2 1 單片機的選擇 3 2 2 復(fù)位電路 4 2 3 時鐘電路 5 2 4 譯碼器 74LS154 芯片介紹 6 2 5 點陣模塊 8 2 6 LED 顯示方式 9 2 7 漢字字庫的提取 11 3 系統(tǒng)軟件設(shè)計 14 3 1 主程序流程 14 3 2 主程序流程框圖 14 4 系統(tǒng)調(diào)試與仿真 15 4 1 電子設(shè)計元件清單 15 4 2 系統(tǒng)調(diào)試 15 4 3 偉幅仿真 16 致 謝 19 參考文獻 20 附錄 1 主程序 21 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 1 總體設(shè)計 根據(jù)設(shè)計兩個漢字顯示的 LED 點陣顯示的設(shè)計要求 本設(shè)計的電路由單片機 列存儲器 行存儲器及 LED 顯示點陣等部分組成 單片機芯片采用的是 AT89C51 在點陣顯示屏體 以及它的行和列的各個驅(qū)動電路 由于兩部分的電路在制板 時可以放到一起 所以可以將其字庫放到控制電路部分使用串行通訊方式來與屏體 電路部分進行數(shù)據(jù)和命令的傳送 點陣模塊采用的是 16 x 16 點陣 此顯示電路采用掃描方式進行顯示時 每行有一個行驅(qū)動器 各行的同名列共 用一個列驅(qū)動器 由行譯碼器給出的行選通信號 從第一行開始 按順序依次對各 行進行掃描 把該行與電源的一端接通 另一方面 根據(jù)各列鎖存的數(shù)據(jù) 確定相 應(yīng)的列驅(qū)動器是否將該列與電源的另一端接通 接通的列 就在該行該列點燃相應(yīng) 的 LED 未接通的列所對應(yīng)的 LED 熄滅 設(shè)計圖如圖 1 1 所示 圖 1 1 設(shè)計原理圖 兩個 16 16LED 點陣可構(gòu)成一個 16 32 的 LED 點陣 實質(zhì)上是由 8 個 8 8 點陣構(gòu) 成 如圖 1 1 所示 8 個 8 8 點陣可由單片機 P0 和 P2 口輸出段碼值 片選位由兩 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 2 個 74LS154 控制 單片機 P1 口輸出 LED 的片選值 P3 0 和 P3 1 選擇相應(yīng)的 74LS154 需要的字符串的字??赏ㄟ^取模軟件實現(xiàn) 也可通過人工方式實現(xiàn) 其方 法參考 2 7 取模軟件 本電路中 單片機的主要功能是 存儲程序 對存儲程序進行相應(yīng)的處理并從 I O 口輸出 復(fù)位電路 在單片機上有一輸入復(fù)位引腳 RST 復(fù)位電路有兩種復(fù)位方式 上電 自動復(fù)位和按鍵手動復(fù)位 晶振電路 是時鐘電路的外接部分 為單片機提供時鐘信號 系統(tǒng)始終采用的 是 12MHZ 的晶振 驅(qū)動電路 由于顯示電路部分發(fā)光二極管比較多 而單片機所提供的 5V 電源 不足以帶動 所以要用三極管放大信號 顯示電路 用以實現(xiàn)漢字顯示的結(jié)果 電源部分 采用 5V 的電源供電 圖 1 2 總體硬件組成框圖 如圖 1 2 所示 系統(tǒng)主要由三大模塊組成即 74ls154 譯碼器 AT89C51 單片機 8 8 LED 點陣顯示模塊 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 3 2 系統(tǒng)硬件設(shè)計 2 1 單片機的選擇單片機的選擇 1 單片機 AT89C51 性能與特點 AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓 高性能 8 位 微處理器 該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造 與工業(yè)標準的 AT89C51 指令集和輸出管腳相兼容 由于將多功能 8 位 CPU 和閃爍存儲器組合在單 個芯片中 ATMEL 的 AT89C51 是一種高效微控制器 其為很多嵌入式控制系統(tǒng)提供 了一種靈活性高且價廉的設(shè)計方案選擇 AT89C51 是一種高效微控制器 主要特點有 1 與 MCS 51 微控制器產(chǎn)品系列兼容 2 片內(nèi)有 4KB 可在線重復(fù)編程的快閃擦寫存儲器 Flash Memory 3 存儲器可循環(huán)寫入 擦除 1000 次 4 存儲數(shù)據(jù)保存時間為 10 年 5 寬工作電壓范圍 Vcc 可為 2 7V 6V 6 全靜態(tài)工作 可從 0HZ 到 16MHZ 7 程序存儲器具有 3 級加密保護 8 128 8 位內(nèi)部 RAM 9 32 條可編程 I O 線 10 兩個 16 位定時器 計數(shù)器 11 中斷結(jié)構(gòu)具有 5 個中斷源和 2 個優(yōu)先級 12 可編程全雙工串行通道 13 空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容 2 單片機 AT89C51 管腳說明 VCC 供電電壓 GND 接地 P0 口 39 腳至 32 腳 是雙向 8 位三態(tài) I O 口 在外接存儲器時 與地址總 線的低 8 位及數(shù)據(jù)總線復(fù)用 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 4 P1 口 1 腳至 8 腳 是準雙向 8 位 I O 口 由于這種接口輸出沒有高阻狀態(tài) 輸入也不能鎖存 故不是真正的雙向 I O 口 P2 口 21 腳至 28 腳 是準雙向 8 位 I O 口 在訪問外部存儲器時 它可以 作為擴展電路高 8 位地址總線送出高 8 位地址 P3 口 10 腳至 17 腳 是準雙向 8 位 I O 口 在 MCS 51 中 這 8 個引腳還用于專門 功能 是復(fù)用雙功能口 P3 各口的第二功能定 義如圖 2 1 所示 P3 0 RXD 串行輸入口 P3 1 TXD 串行輸出口 P3 2 INT0 外部中斷 0 P3 3 INT1 外部中斷 1 P3 4 T0 定時器 0 外部輸入 P3 5 T1 定時器 1 外部輸入 P3 6 WR 外部數(shù)據(jù)存儲器寫脈沖 P3 7 RD 外部數(shù)據(jù)存儲器讀脈沖 圖 2 1 單片機的引腳示意圖 RST 復(fù)位輸入 當(dāng)振蕩器復(fù)位器件時 要保持 RST 腳兩個機器周期的高電平時 間 ALE PROG 當(dāng)訪問外部存儲器時 地址鎖存允許的輸出電平用于鎖存地址的地 位字節(jié) XTAL1 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入 XTAL2 來自反向振蕩器的輸出 XTAL1 和 XTAL2 分別為反向放大器的輸入和輸 出 2 2 復(fù)位電路復(fù)位電路 AT89C51 單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的 復(fù)位電路的基本功能是 系統(tǒng)上電時提供復(fù)位信號 直至系統(tǒng)電源穩(wěn)定后 撤 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 5 銷復(fù)位信號 為可靠起見 電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號 以防電 源開關(guān)或電源插頭分 合過程中引起的抖動而影響復(fù)位 單片機復(fù)位的條件是 必須使 RST 引腳 9 加上持續(xù)兩個機器周期 即 24 個振蕩 周期 的高電平 例如 若時鐘頻率為 12MHz 每機器周期為 1us 則只需 2us 以上 時間的高電平 在 RST 引腳出現(xiàn)高電平后的第二個機器周期執(zhí)行復(fù)位 單片機常用 的復(fù)位電路如圖 2 2 所示 圖 2 2 按鍵復(fù)位電路 圖 2 2 為按鍵電平復(fù)位電路 相當(dāng)于 RST 引腳通過高阻接高電平 2 3 時鐘電路時鐘電路 石英晶體振蕩器也稱石英晶體諧振器 它用來穩(wěn)定頻率和選擇頻率 是一種可 以取代 LC 諧振回路的晶體諧振元件 本設(shè)計所用的晶體振蕩電路 如圖 2 3 晶體振蕩電路 此晶振電路所選用的石英晶振頻率為 12MHZ 時鐘周期就是單片機外接晶振的 倒數(shù) 例如 12MHz 的晶振 它的時間周期就是 1 12 us 是計算機中最基本的 最小的時間單位 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 6 圖 2 3 時鐘電路 在一個時鐘周期內(nèi) CPU 僅完成一個最基本的動作 對于某種單片機 若采用 了 1MHZ 的時鐘頻率 則時鐘周期為 1us 若采用 4MHZ 的時鐘頻率 則時鐘周期為 250us 由于時鐘脈沖是計算機的基本工作脈沖 它控制著計算機的工作節(jié)奏 使計 算機的每一步都統(tǒng)一到它的步調(diào)上來 顯然 對同一種機型的計算機 時鐘頻率 越高 計算機的工作速度就越快 但是 由于不同的計算機硬件電路和器件的不完 全相同 所以其所需要的時鐘周頻率范圍也不一定相同 2 4 譯碼器譯碼器 74LS154 芯片介紹芯片介紹 74LS154 是一個 4 16 譯碼器 4 線至 16 線解碼器 解復(fù)用器 上述每 4 行至 16 線解碼器采用的 TTL 電路破解四個二進制編碼的輸入 其中有 16 互相排斥的輸 出時 雙方頻閃輸入 G1 和 G2 是低的 解復(fù)用功能 是由使用 4 輸入線路 以解 決輸出線 通過數(shù)據(jù)從一臺的頻閃輸入與其他頻閃輸入偏低 當(dāng)頻閃輸入高 所有 產(chǎn)出都很高 這些解多工器 都是一個完美適合實施高效能記憶體解碼器 所有投 入都緩沖和輸入鉗位二極管提供 以減少傳輸線的影響 從而簡化了系統(tǒng)設(shè)計 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 7 圖 2 4 74LS154 的真值表 4 16 線譯碼器 其管腳如 2 4 1 圖所示 A B C D 為譯碼的輸入端 值的區(qū)間從 0000 到 1111 Y1 Y15 是對應(yīng) A B C D 四個輸入引腳的輸出腳 其中選中的線用輸出低電 平 沒有選中的輸出高電平 1 G 2 G 是使能端 只有輸入相應(yīng) D 低電平才能使譯碼器正 常工作 74LS154 與 AT89C51 的連接 A 23 腳 B 22 腳 C 21 腳 D 20 腳 分別接到 AT89C51 的 P1 0 1 腳 P1 1 2 腳 P1 2 3 腳 和 P1 3 4 腳 上 其他腳 連接 G1 18 腳 G2 19 腳 接地 使芯片工作 Y1 1 腳 Y15 17 腳 連接到 16 16 點陣 LED 顯示屏上 其中 GND 12 腳 VCC 24 腳 圖 2 4 1 74LS154管腳圖 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 8 2 5 點陣模塊點陣模塊 LED 點陣顯示模塊是由一串發(fā)光或不發(fā)光的點狀顯示器按矩陣的方式排列組成 的 其發(fā)光體是 LED 發(fā)光二極管 8 8 單色點陣共需要 64 個發(fā)光二極管組成 且每個二極管是放置在行線與列線的叉點上 目前 LED 點陣顯示器應(yīng)用十分廣泛 如廣告活動字幕機 股票顯示屏 活動布告欄 銀行及醫(yī)院等 LED 點陣顯示器的分類有多種方法 按陣列點數(shù)可以分為 5 7 5 8 6 8 8 8 按發(fā)光顏色可以分為單色 雙色 三色 按極性排列方 式又可以分為共陰極和共陽極 如圖 2 4 所示 只要讓某些 LED 發(fā)光二極管點亮 就可以組成數(shù)字 字母 圖形 漢字等 但要顯示漢字則需要多個 LED 點陣顯示器 組合 最常見的組合方式有 15 14 16 15 16 16 等 在設(shè)計中選用的是極性排列為共陰極的 8 8 LED 點陣顯示器 采用 16 16 的組合 方式 圖 2 5 點陣顯示結(jié)構(gòu)圖 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 9 2 6 LED 顯示方式顯示方式 漢字顯示屏用于顯示漢字 字符及圖像信息 在公共汽車 銀行 醫(yī)院及戶外 廣告等地方都有廣泛的應(yīng)用 下面是簡單的漢字顯示屏的制作 由單片機控制漢字 的顯示內(nèi)容 為了降低成本 使用了四塊 8 8 的 LED 點陣發(fā)光管的模塊 組成了一 個 16 16 的 LED 點陣顯示屏 如圖 2 6 所示 分別有 A B C D 四個 8 8 點陣模塊組成 在這里僅做了兩個漢字的顯示 在實際的使用中可以根據(jù)這個 原理自行的擴展顯示的漢字 下面是介紹漢字顯示的原理 如圖 2 6 所示 圖 2 6 四塊 8 8 的 LED 點陣組成 16 16 的 LED 點陣 LED 顯示采用動態(tài)掃描方法 動態(tài)掃描方式是逐行輪流點亮 這樣掃描驅(qū)動電 路就可以實現(xiàn)多行的同名列共用一套列驅(qū)動器 以 16 16 點陣為例 把所有同一行 的發(fā)光管的陽極連在一起 把所有同一列的發(fā)光管的陰極連在一起 共陽的接法 先送出對應(yīng)第 1 行發(fā)光管亮滅的數(shù)據(jù)并鎖存 然后選通第 1 行使其燃亮一定的時間 然后熄滅 再送出第 2 行的數(shù)據(jù)并鎖存 然后選通第 2 行使其燃亮相同的時間 然 后熄滅 第 16 行之后 又重新燃亮第 1 行 反復(fù)輪回 當(dāng)這樣輪回的速度足夠 快 每秒 24 次以上 由于人眼的視覺暫留現(xiàn)象 就能看到顯示屏上穩(wěn)定的圖形 該方法能驅(qū)動較多的 LED 控制方式較靈活 而且節(jié)省單片機的資源 顯示數(shù)據(jù)傳輸采用串行傳輸?shù)姆椒?控制電路可以只用一根信號線 將列數(shù)據(jù) 一位一位傳往列驅(qū)動器 在硬件方面無疑是十分經(jīng)濟的 但串行傳輸過程較長 數(shù) 據(jù)按順序一位一位地輸出給列驅(qū)動器 只有當(dāng)一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?這一行的各列才能并行地進行顯示 對于串行傳輸方式來說 列數(shù)據(jù)準備時間可能 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 10 相當(dāng)長 在行掃描周期確定的情況下 留給行顯示的時間就太少了 以致影響到 LED 的亮度 串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間矛盾 可以采用重疊處理的方法 即在顯示本行各列數(shù)據(jù)的同時 傳送下一行的列數(shù)據(jù) 為了達到重疊處理的目的 列數(shù)據(jù)的顯示就需要有鎖存功能 對于列數(shù)據(jù)準備來說 它應(yīng)能實現(xiàn)串入并出的移 位功能 這樣 本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時 串行移位寄存器 就可以準備下一行的列數(shù)據(jù) 而不會影響本行的顯示 由于該電路比較麻煩 本設(shè) 計中沒有使用 LED 點陣顯示模塊進行的方法有兩種 1 水平方向 X 方向 掃描 即逐列掃描的方式 簡稱列掃描方式 此時 用一個 P 口輸出列碼決定哪一列能亮 相當(dāng)于位碼 用另一個 P 口輸出行碼 列數(shù) 據(jù) 決定該行上那哪個 LED 亮 相當(dāng)于段碼 能亮的列從左到右掃描完 16 列 相 當(dāng)于位碼循環(huán)移動 16 次 即顯示出一個完整的圖像 2 豎直方向 Y 方向 掃描 即逐行掃描方式 簡稱行掃描方式 此時用 一個 P 口輸出決定哪一行能亮 相當(dāng)于位碼 另一個 P 口輸出列碼 行數(shù)據(jù) 行數(shù) 據(jù)為將列數(shù)據(jù)的點陣旋轉(zhuǎn) 90 度的數(shù)據(jù) 決定該行上哪些 LED 燈亮 相當(dāng)于段碼 能亮的行從上向下掃描完 16 行 相當(dāng)于位碼循環(huán)移位 16 次 即顯示一幀完整的圖 像 本設(shè)計應(yīng)用的是第一種的掃描方法 即水平方向 X 方向 掃描 每一個字由 16 行 16 列的點陣形成顯示 即每個字均由 256 個點陣來表示 我 們可以把每一個點理解為一個像素 一般我們使用的 16 16 的點陣宋體字庫 即所 謂的 16 16 是每一個漢字在縱橫各 16 點的區(qū)域內(nèi)顯示的 漢字庫從該位置起的 32 字節(jié)信息記錄了該字的字模信息 事實上這個漢字屏不僅可以顯示漢字 也可以 顯示在 256 像素范圍內(nèi)的任何圖形 我們以水平方向 Y 方向 掃描顯示漢字的 鵬 為例來說明其掃描原理 每 一個字由 16 行 16 列的點陣組成顯示 如圖 1 1 所示 如果用 8 位的 AT89C51 的單 片機來控制 由于單片機的總線為 8 位 一個字需要拆分成兩個部分 一般我們把 它分解成上部分和下部分 上部分由 8 16 的點陣組成 即 A B 點陣模塊 下 部分也由 8 16 的點陣組成 即 C D 點陣模塊 在本例中單片機首先顯示的是 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 11 左上角的第一列的部分 即第 0 列的 P00 P07 口 方向為 P00 到 P07 顯示漢字 鵬 的時候 只有 P03 亮 即二進制 0001000 轉(zhuǎn)換為 16 進制為 08H 如圖 2 6 2 所示 上半部分第一列完成之后 繼續(xù)掃描下半部分的第一列 為了接線的方便 我 們?nèi)栽O(shè)計成由上往下的掃描方式 即從 P27 向 P20 方向掃描 從上圖可以看到 只 有 P24 亮 所以代碼為 00010000 16 進制為 10H 然后單片機轉(zhuǎn)向上半部的第二列 只有 P03 亮 其他的都不亮 即為 00001000 16 進制為 08H 這一列掃描完成之后 繼續(xù)進行下半部分的掃描 這一列 P23 和 P24 亮 為二進制 00011000 即 16 進制 18H 按照這個方法 繼續(xù)進行下面的掃描 一共掃描 32 個 8 位 可以得出漢字 鵬 的掃描代碼為 DB 00H 06H 7FH F8H 44H 44H 7FH FDH 00H 02H 7FH FCH 44H 41H 7FH FFH DB 00H 00H 3FH C8H 68H 48H A4H 48H 21H 4AH 3FH 41H 00H 7EH 00H 00H 鵬 點陣顯示原理如圖 2 6 2 圖所示 圖 2 6 2 點陣顯示原理圖 由這個原理可以看到 無論顯示何種字體或圖像 都可以用這種方法來分析出 它的掃描代碼從而顯示在屏幕上 了解漢字的顯示原理之后 那如何得到漢字的字 模信息呢 現(xiàn)在有一些現(xiàn)成的漢字字模生成軟件 可從網(wǎng)上下載漢字字庫提取程序 直接提取字庫 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 12 2 7 漢字字庫的提取漢字字庫的提取 字模提取工具是版本為 PCtoLCD2002 版的字模提取器 他可以按照我們想要的 取模方式對所輸入漢字進行字模提取 這樣獲取字模數(shù)據(jù)簡單 方便 取模設(shè)置如 圖 2 8 所示 圖 2 8 取模設(shè)置圖 在設(shè)計中的取模說明 1 由于設(shè)計中用的是共陰極的 LED 矩陣即輸入高電平有效 所以在設(shè)置中選 陰碼 2 所編程序中的取模是按列取的 則在取模方式欄選逐列式 3 原理圖中設(shè)計是從高到低控制 所以在取模走向中選順向 4 由于所編的程序是 C 語言 所以在自定義格式這一欄選 C51 格式 輸出數(shù) 制選十六進制數(shù) 如圖 2 9 所示的為一種字模生成軟件 軟件打開后輸入 元旦快樂 四個漢字 點擊 檢取 后 十六進制數(shù)據(jù)漢字代碼即可以自動生成 效果如圖 在設(shè)計時把 我們需要的字模放到我們的程序中即可 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 13 圖 2 9 漢字字模生成軟件 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 14 3 系統(tǒng)軟件設(shè)計 3 1 主程序流程主程序流程 軟件程序主要由開始 初始化 主程序 字庫組成 3 2 主程序主程序流程框圖流程框圖 開始 系統(tǒng)初始化 否 是 判斷是否處于通狀態(tài) 移位顯示 讀取顯示內(nèi)容 圖 3 1 主程序流程圖 讀取 AT89C51 的 ROM 中的標 志位 等待 判斷是否有中斷標志 是否 圖 3 1 主程序框圖 如圖 3 1 所示 程序清單 見附頁 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 15 4 系統(tǒng)調(diào)試與仿真 4 14 1 電子設(shè)計元件清單電子設(shè)計元件清單 8 8 點陣???SD41588 4 塊 AT89C51 1 片 74LS154 譯碼器1 片 2k 電阻8 個 開關(guān)1 個 22 微法電解電容1 個 30 皮法電容2 個 晶振 12MHZ 1 個 10 千歐電阻1 個 二極管 4007 1 個 元件試驗板2 片 單片機底座1 個 芯片底座3 條 電池座 放 3 節(jié) 1 5V5 號電池 1 個 圖 4 1 電子設(shè)計元件清單 4 2 系統(tǒng)調(diào)試系統(tǒng)調(diào)試 根據(jù)系統(tǒng)設(shè)計方案 本系統(tǒng)的調(diào)試共分為三大部分 硬件調(diào)試 軟件調(diào)試和軟硬件聯(lián)調(diào) 由于在系統(tǒng)設(shè)計中采用模塊設(shè)計法 所以方便對各電路模塊功能進行逐級測試 LED 顯示模塊 的調(diào)試等 最后將各模塊組合后進行整體測試 4 2 14 2 1 硬件調(diào)試硬件調(diào)試 對各個模塊的功能進行調(diào)試 主要調(diào)試各模塊能否實現(xiàn)指定的功能 4 2 24 2 2 軟件調(diào)試軟件調(diào)試 將編好的程序進行調(diào)試 主要是檢查語法錯誤 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 16 4 2 34 2 3 硬件軟件聯(lián)調(diào)硬件軟件聯(lián)調(diào) 將調(diào)試好的硬件和軟件進行聯(lián)調(diào) 主要調(diào)試系統(tǒng)的實現(xiàn)功能 4 3 偉幅偉幅仿真仿真 偉幅 WINDOWS 調(diào)試軟件提供了一個全集成環(huán)境 具有統(tǒng)一的界面 它的項目文 件有仿真器的設(shè)置 模塊和包含文件 其仿真器的設(shè)置有仿真器類型設(shè)置 仿真頭 設(shè)置 CPU 設(shè)置 顯示格式設(shè)置和產(chǎn)生的目標文件類型等設(shè)置 在設(shè)計中用到的是 軟件調(diào)試的一種 先將源程序輸入 編譯成功后將文件添加到 Proteus 軟件中已經(jīng) 設(shè)計好的項目中 仿真運行 調(diào)試無誤后 將調(diào)試好的程序存入磁盤中 將編好的程序通過偉福仿真軟件來驗證 先打開偉福仿真軟件的界面 選擇仿 真器 仿真頭和 CPU 的類型 其設(shè)置如圖 4 2 所示 圖 4 2 仿真器的選擇 然后點目標文件 在生成 BIN 和 HEX 文件 即二進制和十六進制文件 前選擇 對號 其設(shè)置如圖 4 3 所示 設(shè)置完成后點 好 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 17 圖 4 3 目標文件的設(shè)置 然后在偉福里面輸入編譯好的程序進行調(diào)試 經(jīng)改正錯誤后運行 如圖 4 4 所 示 圖 4 4 編譯通過后的界面 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 18 圖 4 5 仿真效果圖 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 19 致 謝 在這次課程設(shè)計的撰寫過程中 我得到了許多人的幫助 首先我要感謝常老師在課程設(shè)計上給予我的指導(dǎo) 提供給我的支持和幫助 這是我能順利完成這次報告的主要原因 更重要的常老師幫我解決了許多技術(shù)上的 難題 讓我能把系統(tǒng)做得更加完善 在此期間 我不僅學(xué)到了許多新的知識 而且 也開闊了視野 提高了自己的設(shè)計能力 其次 我要感謝幫助過我的同學(xué) 他們也為我解決了不少我不太明白的設(shè) 計商的難題 同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境 最后再一次感謝在設(shè)計中曾給我很大幫助的常老師和李夢培同學(xué) 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 20 參考文獻 1 侯玉寶 基于 Proteus 的 51 系列單片機設(shè)計與仿真 電子工業(yè)出版社 2008 2 王效華 單片機原理與應(yīng)用 北京 北京交通大學(xué)出版社 2008 3 潘永雄 電子線路 CAD 實用教程 西安 西安電子科技大學(xué)出版 2008 4 李傳軍 單片機原理及應(yīng)用 鄭州 河南科學(xué)技術(shù)出版社 2006 5 劉華東 單片機原理與應(yīng)用 北京 電子工業(yè)出版社 2006 6 吳金戌 8051 單片機實踐與應(yīng)用 北京 清華大學(xué)出版社 2005 7 朱運利 單片機技術(shù)應(yīng)用 北京 機械工業(yè)出版社 2005 8 耿長青 單片機應(yīng)用技術(shù) 北京 化學(xué)工業(yè)出版社 2004 9 李玉梅 基于 MCS 51 系列單片機原理的應(yīng)用設(shè)計 M 北京 國防工業(yè)出版社 2006 10 閻石 數(shù)字電子技術(shù)基礎(chǔ) M 北京 高等教育出版社 2000 11 潘永雄 新編單片機原理與應(yīng)用 M 西安 西安電子科技大學(xué)出版社 2007 12 戴勝華 蔣大明 楊世武 單片機原理與應(yīng)用 M 北京 清華大學(xué)出版社 2005 13 徐愛 8051 單片機實踐教程 M 北京 電子工業(yè)出版社 2004 14 馬忠梅 單片機 C 語言應(yīng)用程序設(shè)計 M 北京 北京航空航天大學(xué)出版社 1999 15 張迎新 單片機中級教程 第 2 版 M 北京 北京航空航天大學(xué)出版社 2002 16 黃遵熹 單片機原理及接口技術(shù) M 西安 西北工業(yè)大學(xué)出版社 1997 17 吳金戎 8051 單片機實踐與應(yīng)用 M 北京 清華大學(xué)出版社 2002 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 21 附錄 1 主程序 ORG 0000H LJMP MAIN ORG 000BH LJMP CTC0 ORG 0030H MAIN SETB EA SETB ET0 開定時器中斷 MOV TMOD 01H 設(shè)置定時器工作模式 MOV TH0 3CH 設(shè)置定時器初值 MOV TL0 0B0H MOV 30H 0 設(shè)置顯示初值 MOV R7 2 MOV R3 0 SETB TR0 LOOP LCALL DISPLAY 調(diào)用顯示子程序 MOV A 30H CJNE A 175 LOOP LJMP MAIN LJMP LOOP 定時器中斷子程序 CTC0 PUSH ACC 保護現(xiàn)場 PUSH PSW DJNZ R7 BACK MOV R7 2 INC R3 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 22 BACK MOV TH0 3CH 重裝初值 校正時間 MOV TL0 0B0H POP PSW 恢復(fù)現(xiàn)場 POP ACC RETI 顯示子程序 DISPLAY MOV R2 0 位碼取初值 MOV 30H R3 L1 MOV P3 R2 MOV DPTR TAB1 查表 MOV A 30H MOVC A A DPTR MOV P0 A 顯示輸出 MOV DPTR TAB2 MOV A 30H MOVC A A DPTR MOV P2 A CALL DELAY MOV P0 0 MOV P2 0 INC 30H INC R2 位碼左移 CJNE R2 10H L1 L2 RET 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 23 延時子程序 DELAY MOV R4 3 DEL2 MOV R5 200 DEL1 NOP DJNZ R5 DEL1 DJNZ R4 DEL2 RET 查表 TAB1 DB 048H 028H 099H 0CEH 0ACH 01AH 000H 0FEH 082H 082H 082H 082H 0FEH 000H 000 H 000H DB 020H 020H 020H 020H 020H 020H 0A0H 07FH 0A0H 020H 020H 020H 020H 020H 020 H 000H DB 000H 018H 004H 014H 094H 094H 0D5H 0B6H 014H 014H 094H 004H 014H 00CH 004 H 000H DB 000H 020H 020H 022H 022H 0E2H 022H 022H 022H 0E2H 022H 022H 022H 020H 020 H 000H DB 000H 000H 000H 0FEH 022H 022H 022H 022H 022H 022H 022H 0FEH 000H 000H 000 H 000H DB 070H 000H 0FFH 008H 0B0H 088H 088H 088H 0FFH 088H 088H 088H 0F8H 080H 080 H 000H DB 濟源職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 24 000H 000H 040H 0FCH 044H 044H 044H 046H 0FAH 042H 043H 043H 042H 040H 000 H 000H DB 000H 000H 000H 0FEH 002H 042H 04AH 04AH 07EH 04AH 04AH 042H 002H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省實驗中學(xué)廣州市天河區(qū)附屬實驗學(xué)校2021-2022學(xué)年八年級下學(xué)期期中物理試題(含答案)
- 基層中醫(yī)藥知識培訓(xùn)課件
- (一模)哈三中2025屆高三第一次模擬考試 英語試題(含答案)
- 物業(yè)管理服務(wù)委托及管理費支付協(xié)議
- 安東尼奇妙的冒險故事讀后感
- 項目執(zhí)行工作計劃書與時間表安排
- 山西省晉中市太谷區(qū)職業(yè)中學(xué)校2024-2025學(xué)年高一上學(xué)期期末考試生物試題
- 企業(yè)文件保密制度表格化處理記錄
- 三農(nóng)問題社會調(diào)查方法與技術(shù)指導(dǎo)書
- 離職員工知識產(chǎn)權(quán)保密協(xié)議
- 標識標牌制作及安裝項目技術(shù)方案
- 醫(yī)療器械物價收費申請流程
- DB3410T 34-2024特定地域單元生態(tài)產(chǎn)品價值核算規(guī)范
- 江蘇紅豆實業(yè)股份有限公司償債能力分析
- 青島中石化輸油管道爆炸事故調(diào)查報告
- 2024年蘇州職業(yè)大學(xué)高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 充電樁采購安裝投標方案(技術(shù)方案)
- 教科版小學(xué)科學(xué)六年級下冊單元練習(xí)試題及答案(全冊)
- 《Java程序設(shè)計》電子課件
- 乳腺癌患者的疼痛護理課件
- 研課標說教材修改版 八年級下冊
評論
0/150
提交評論