基于51單片機(jī)控制的點(diǎn)陣LED電子顯示屏設(shè)計(jì).doc_第1頁(yè)
基于51單片機(jī)控制的點(diǎn)陣LED電子顯示屏設(shè)計(jì).doc_第2頁(yè)
基于51單片機(jī)控制的點(diǎn)陣LED電子顯示屏設(shè)計(jì).doc_第3頁(yè)
基于51單片機(jī)控制的點(diǎn)陣LED電子顯示屏設(shè)計(jì).doc_第4頁(yè)
基于51單片機(jī)控制的點(diǎn)陣LED電子顯示屏設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘摘 要要 單片微型計(jì)算機(jī) 簡(jiǎn)稱(chēng)單片機(jī) 1971 年 Intel 公司的霍夫研制成功世界上第 一塊 4 位微處理芯片 Intel 4004 標(biāo)志著第一代微處理器問(wèn)世 微處理器和微機(jī)時(shí) 代從此開(kāi)始 單片機(jī)一種集成在電路芯片 是采用超大規(guī)模集成電路技術(shù)把具有 數(shù)據(jù)處理能力的中央處理器 CPU 隨機(jī)存儲(chǔ)器 RAM 只讀存儲(chǔ)器 ROM 多種 I O 口和中斷系統(tǒng) 定時(shí)器 計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善 的計(jì)算機(jī)系統(tǒng) LED 發(fā)光二極管 是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見(jiàn)光的固態(tài)的半導(dǎo)體器件 它改變了白熾燈鎢絲發(fā)光與節(jié)能燈三基色粉發(fā)光的原理 而采用電場(chǎng)發(fā)光 LED 點(diǎn)陣顯示屏是利用發(fā)光二極管點(diǎn)陣模塊或像素單元組成的平面式顯示屏 幕 它具有發(fā)光效率高 使用壽命長(zhǎng) 組態(tài)靈活 色彩豐富以及對(duì)室內(nèi)外環(huán)境適 應(yīng)能力強(qiáng)等優(yōu)點(diǎn) 利用不同的材料可以制造不同色彩的 LED 像素點(diǎn) 目前應(yīng)用 最廣的是紅色 綠色 黃色 LED 點(diǎn)陣顯示屏可以顯示漢字 數(shù)字或特殊符號(hào) 通常用來(lái)顯示時(shí)間 速度 系統(tǒng)狀態(tài)等 本設(shè)計(jì)給出了一基于 MCS 51 系列單片機(jī)的 16 16 點(diǎn)陣 LED 顯示屏的設(shè)計(jì) 方案 包括系統(tǒng)具體的硬件設(shè)計(jì)方案 軟件流程圖和部分 C 語(yǔ)言程序等方面 在 負(fù)載范圍內(nèi) 只需通過(guò)簡(jiǎn)單的級(jí)聯(lián)就可以對(duì)顯示屏進(jìn)行擴(kuò)展 是一種成本低廉的 圖文顯示方案 本設(shè)計(jì)主要以 AT89C51 單片機(jī)為核心 采用串行傳輸 動(dòng)態(tài)掃 描技術(shù) 來(lái)制作的一款擁有多功能的模塊化 16 16LED 點(diǎn)陣的多功能顯示屏 關(guān)鍵詞關(guān)鍵詞 C51 單片機(jī) LED 點(diǎn)陣 驅(qū)動(dòng)電路 Abstract The SCM is short for the single chip microcomputer which also called microcontroller 1971 Intel company successfully developed the world s first four bit micro processing chip the Intel 4004 which marking the first generation of microprocessor was born microprocessor and microcomputer era begins SCM in an integrated circuit chips is to use very large scale integrated circuit technology integrates the CPU that has ability of data processing RAM ROM and variety of I O port and interrupt system timer calculagraph function integrated a piece of silicon chips to constitutes such as a small and of perfect computer system LED light emitting diodes is a kind of converting electric power into the visible solid semiconductor devices it has changed the principle of incandescent light glow by tungsten filament and energy saving lamps uses triphoshor powders and adopt the principle of glowing electric glow LED screen is using light emitting diodes lattice modules or pixel unit composed of a flat display screen It has high luminous efficiency long service life configure flexibly rich color and for indoor and outdoor environment adaptiveness etc Use different materials can be made of different colors LED pixel At present the most widely is red green yellow LED screen can display characters Numbers or special symbols usually used to display the time speed the system state etc It gives a design based on MCS 51 series microcontroller controller the 16 16 lattice LED display design Including system design scheme of concrete hardware and software flow chart and part C language program etc In load range just through the simple cascade can expand on screen is a low cost graphic display solutions This design mainly by AT89C51 single chip computer as the core and adopting the serials transmission dynamic scanning technology to create one of the modular multi function 16 16 lattice LED screen Key Words MCS 51 SCM single chip microcomputer Lattice Of LED light emitting diodes drive circuit 目目 錄錄 第第 1 章章 緒論緒論 1 1 1 單片機(jī)的發(fā)展史 1 1 2 單片機(jī)的發(fā)展趨勢(shì) 1 第第 2 章章 8051 單片機(jī)的體系結(jié)構(gòu)單片機(jī)的體系結(jié)構(gòu) 4 2 1 單片機(jī)基本內(nèi)部資源 5 2 2 儲(chǔ)存組織 7 2 3 單片機(jī)系統(tǒng)外圍電路 8 第第 3 章章 LED 電路電路 10 3 1 LED 簡(jiǎn)介 10 3 2 16 16 點(diǎn)陣 LED 原理及應(yīng)用 11 3 3 LED 點(diǎn)陣的顯示文字圖形原理 12 3 4 驅(qū)動(dòng)方式 15 3 5 點(diǎn)陣的移動(dòng) 17 第第 4 章章 系統(tǒng)總體方案系統(tǒng)總體方案 21 第第 5 章章 仿真與調(diào)試仿真與調(diào)試 23 5 1 Proteus 的基本性能概述 23 5 2 Proteus 仿真要求 23 5 3 Proteus 仿真步驟 23 5 4 Proteus 仿真結(jié)果 26 5 5 仿真問(wèn)題與解決 27 第第 6 章章 總結(jié)與展望總結(jié)與展望 28 參考文獻(xiàn)參考文獻(xiàn) 29 致謝致謝 30 附錄附錄 31 第第 1 章章 緒論緒論 1 1 單片機(jī)的發(fā)展史單片機(jī)的發(fā)展史 單片機(jī)誕生于 20 世紀(jì) 70 年代末 經(jīng)歷了 SCM MCU SOC 三大階段 第一個(gè)階段是 SCM 即單片微型計(jì)算機(jī) Single Chip Microcomputer 階段 主 要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu) 創(chuàng)新模式獲得成功 奠定了 SCM 與通用計(jì)算機(jī)完全不同的發(fā)展道路 在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上 Intel 公司功不可沒(méi) 第二個(gè)階段是 MCU 即微控制器 Micro Controller Unit 階段 主要的技術(shù)發(fā) 展方向是 不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí) 對(duì)象系統(tǒng)要求的各種外圍電路與接口電路 突顯其對(duì)象的智能化控制能力 它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān) 因此 發(fā)展 MCU 的重任不可避免地落在電氣 電子技術(shù)廠家 從這一角度來(lái)看 Intel 逐漸淡出 MCU 的發(fā)展也有其客觀因素 在發(fā)展 MCU 方面 最著名的廠家當(dāng)數(shù) Philips 公司 Philips 公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì) 將 MCS 51從單片微型計(jì)算機(jī)迅速 發(fā)展到微控制器 因此 當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí) 不要忘記 Intel 和 Philips 的歷史功績(jī) 第三個(gè)階段是 SOC 即單片機(jī)嵌入式系統(tǒng) 單片機(jī)的嵌入式系統(tǒng)的獨(dú)立發(fā)展之 路 向 MCU 階段發(fā)展的重要因素 就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決 因 此 專(zhuān)用單片機(jī)的發(fā)展自然形成了 SOC 化趨勢(shì) 隨著微電子技術(shù) IC 設(shè)計(jì) EDA 工具的發(fā)展 基于 SOC 的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展 因此 對(duì)單片機(jī)的 理解可以從單片微型計(jì)算機(jī) 單片微控制器延伸到單片應(yīng)用系統(tǒng) 1 2 單片機(jī)的發(fā)展趨勢(shì)單片機(jī)的發(fā)展趨勢(shì) CMOS 化 近年由于 CHMOS 技術(shù)的進(jìn)步 大大地促進(jìn)了單片機(jī)的 CMOS 化 CMOS 芯片除了低功耗特性之外 還具有功耗的可控性 使單片機(jī)可以工作在功耗 精細(xì)管理狀態(tài) 這也是今后以80C51取代8051為標(biāo)準(zhǔn) MCU 芯片的原因 因?yàn)閱纹瑱C(jī) 芯片多數(shù)是采用 CMOS 金屬柵氧化物 半導(dǎo)體工藝生產(chǎn) CMOS 電路的特點(diǎn)是低 功耗 高密度 低速度 低價(jià)格 采用雙極型半導(dǎo)體工藝的 TTL 電路速度快 但功 耗和芯片面積較大 隨著技術(shù)和工藝水平的提高 又出現(xiàn)了 HMOS 高密度 高速 度 MOS 和 CHMOS 工藝 CHMOS 和 HMOS 工藝的結(jié)合 目前生產(chǎn)的 CHMOS 電路已達(dá)到 LSTTL 的速度 傳輸延遲時(shí)間小于2ns 它的綜合優(yōu)勢(shì)已在于 TTL 電路 因而 在單片機(jī)領(lǐng)域 CMOS 正在逐漸取代 TTL 電路 低功耗化單片機(jī)的功耗已從毫瓦級(jí) 甚至1uA 以下 使用電壓在3 6V 之間 完 全適應(yīng)電池工作 低功耗化的效應(yīng)不僅是功耗低 而且?guī)?lái)了產(chǎn)品的高可靠性 高 抗干擾能力以及產(chǎn)品的便攜化 低電壓化幾乎所有的單片機(jī)都有 WAIT STOP 等省電運(yùn)行方式 允許使用的電 壓范圍越來(lái)越寬 一般在3 6V 范圍內(nèi)工作 低電壓供電的單片機(jī)電源下限已可達(dá) 1 2V 目前0 8V 供電的單片機(jī)已經(jīng)問(wèn)世 低噪聲與高可靠性為提高單片機(jī)的抗電磁干擾能力 使產(chǎn)品能適應(yīng)惡劣的工作 環(huán)境 滿足電磁兼容性方面更高標(biāo)準(zhǔn)的要求 各單片廠家在單片機(jī)內(nèi)部電路中都采 用了新的技術(shù)措施 大容量化以往單片機(jī)內(nèi)的 ROM 為1KB 4KB RAM 為64 128B 但在需要復(fù)雜 控制的場(chǎng)合 該存儲(chǔ)容量是不夠的 必須進(jìn)行外接擴(kuò)充 為了適應(yīng)這種領(lǐng)域的要求 須運(yùn)用新的工藝 使片內(nèi)存儲(chǔ)器大容量化 目前 單片機(jī)內(nèi) ROM 最大可達(dá) 64KB RAM 最大為2KB 高性能化主要是指進(jìn)一步改進(jìn) CPU 的性能 加快指令運(yùn)算的速度和提高系統(tǒng)控 制的可靠性 采用精簡(jiǎn)指令集 RISC 結(jié)構(gòu)和流水線技術(shù) 可以大幅度提高運(yùn)行速 度 現(xiàn)指令速度最高者已達(dá)100MIPS Million Instruction Per Seconds 即兆指令每秒 并加強(qiáng)了位處理功能 中斷和定時(shí)控制功能 這類(lèi)單片機(jī)的運(yùn)算速度比標(biāo)準(zhǔn)的單 片機(jī)高出10倍以上 由于這類(lèi)單片機(jī)有極高的指令速度 就可以用軟件模擬其 I O 功能 由此引入了虛擬外設(shè)的新概念 小容量 低價(jià)格化與上述相反 以4位 8位機(jī)為中心的小容量 低價(jià)格化也是 發(fā)展動(dòng)向之一 這類(lèi)單片機(jī)的用途是把以往用數(shù)字邏輯集成電路組成的控制電路單 片化 可廣泛用于家電產(chǎn)品 1 外圍電路內(nèi)裝化這也是單片機(jī)發(fā)展的主要方向 隨著集成度的不斷提高 有可 能把眾多的各種處圍功能器件集成在片內(nèi) 除了一般必須具有的 CPU ROM RAM 定時(shí)器 計(jì)數(shù)器等以外 片內(nèi)集成的部件還有模 數(shù)轉(zhuǎn)換器 DMA 控制器 聲音發(fā)生器 監(jiān)視定時(shí)器 液晶顯示驅(qū)動(dòng)器 彩色電視機(jī)和錄像機(jī)用 的鎖相電路等 串行擴(kuò)展技術(shù)在很長(zhǎng)一段時(shí)間里 通用型單片機(jī)通過(guò)三總線結(jié)構(gòu)擴(kuò)展外圍器件 成為單片機(jī)應(yīng)用的主流結(jié)構(gòu) 隨著低價(jià)位 OTP One Time Programble 及各種類(lèi)型 片內(nèi)程序存儲(chǔ)器的發(fā)展 加之處圍接口不斷進(jìn)入片內(nèi) 推動(dòng)了單片機(jī) 單片 應(yīng)用 結(jié)構(gòu)的發(fā)展 特別是 I C SPI 等串行總線的引入 可以使單片機(jī)的引腳設(shè)計(jì)得更少 單片機(jī)系統(tǒng)結(jié)構(gòu)更加簡(jiǎn)化及規(guī)范化 單片機(jī)作為當(dāng)前應(yīng)用廣泛的嵌入式系統(tǒng)的核心部分之一 具有體積小 速度快 功耗低 價(jià)格低廉等特點(diǎn) 在儀器儀表 家用電器 醫(yī)用設(shè)備 航空航天 專(zhuān)用設(shè) 備的智能化管理及過(guò)程控等諸多領(lǐng)域得到廣泛的應(yīng)用 例如 在冰箱 微波爐 洗 衣機(jī)等家用電器中使用單片機(jī)控制系統(tǒng) 可以使它們更加智能地工作 電話 傳真 打印機(jī)中可以使用單片機(jī)系統(tǒng)控制撥號(hào)打印 單片機(jī)還可以在工業(yè)控制和機(jī)電一體 化系統(tǒng)中作為核心控制部件 1 為了順應(yīng)市場(chǎng)需求 世界上各大芯片制造公司都推出了自己的單片機(jī) 從 8 位 16 位到 32 位 低功耗 高性能 它們各具特色 為單片機(jī)的應(yīng)用提供了廣闊的天 地 在此文中所運(yùn)用的是 MCS 51 系列單片機(jī) MCS 51 單片機(jī)卓越的性能深受廣 大單片機(jī)愛(ài)好者的喜愛(ài) 本文運(yùn)用的即是 MCS 51 單片機(jī) 第第 2 章章 8051 單片機(jī)的單片機(jī)的體系結(jié)構(gòu)體系結(jié)構(gòu) 51 單片機(jī)系統(tǒng)內(nèi)部結(jié)構(gòu)由 8 位中央處理器 時(shí)鐘模塊 I O 端口 內(nèi)部程序存 儲(chǔ)器 內(nèi)部數(shù)據(jù)存儲(chǔ)器 2 個(gè) 16 為定時(shí)計(jì)數(shù)器 中斷系統(tǒng)和一個(gè)串行通信模塊組成 如圖 2 1 所示 圖圖 2 1 單片機(jī)系統(tǒng)內(nèi)部結(jié)構(gòu)圖單片機(jī)系統(tǒng)內(nèi)部結(jié)構(gòu)圖 51 系列單片機(jī)內(nèi)部模塊的功能將要說(shuō)明如下 1 中央處理器 單片機(jī)的核心部件 執(zhí)行預(yù)先設(shè)置好的程序代碼 負(fù)責(zé)數(shù)據(jù) 的計(jì)算和邏輯的控制 2 程序存儲(chǔ)器 存放程序代碼 3 數(shù)據(jù)存儲(chǔ)器 存放程序執(zhí)行過(guò)程中的數(shù)據(jù) 4 中斷系統(tǒng) 根據(jù)設(shè)置接收單片機(jī)的各中斷事件 提交到處理器 5 時(shí)鐘模塊 提供整個(gè)單片機(jī)所需要各個(gè)時(shí)鐘信號(hào) CPU 運(yùn)算部件 控制部件 RA M P0 口 P2 口 RO M EPROM 串 行 口 C T 中斷 系統(tǒng) SFR P1 口 P3 口 XTAL1 XTAL2 EA PSEN ALE RESET 外部總線 cc Vss 6 可編程串行口 根據(jù)設(shè)置進(jìn)行串行數(shù)據(jù)通信 7 16 位定時(shí)計(jì)數(shù)器 根據(jù)設(shè)置進(jìn)行定時(shí)或計(jì)數(shù)工作 8 I O 端口 與外部接口部件通信 進(jìn)行數(shù)據(jù)交換 2 1 單片機(jī)基本內(nèi)部資源單片機(jī)基本內(nèi)部資源 1 單片機(jī)內(nèi)部資源單片機(jī)內(nèi)部資源 基于 51 核的單片機(jī)的內(nèi)部資源如下 1 32 個(gè) I O 端口 4 組 8 位 可以位尋址 2 2 3 個(gè) 16 位定時(shí)計(jì)數(shù)器 3 兩個(gè)外部中斷 4 5 個(gè)中斷源 2 個(gè)中斷優(yōu)先級(jí) 5 一個(gè)全雙工的異步串行口 6 128Byte 以上的 RAM 7 獨(dú)立的 可擴(kuò)展至 64KB 的 ROM 2 8051 單片機(jī)引腳圖 如圖 2 2 所示 圖圖 2 2 單片機(jī)引腳圖單片機(jī)引腳圖 2 并行并行 I O 口引腳 復(fù)用 口引腳 復(fù)用 并行 I O 口引腳 復(fù)用 如下 1 P0 口 8 位雙向三態(tài) I O 口 使用外存時(shí) 分時(shí)復(fù)用地址線 低 8 位 數(shù)據(jù)總線 2 P1 口 8 位 帶上拉電阻 準(zhǔn)雙向 I O 口 3 P2 口 8 位準(zhǔn)雙向 I O 口 訪問(wèn)外存時(shí)只輸出地址高 8 位 4 P3 口 8 位準(zhǔn)雙向 I O 口 每個(gè)腳還具有第二功能 如表 2 1 所示 表表 2 1 單片機(jī)引腳控制功能表單片機(jī)引腳控制功能表 引腳轉(zhuǎn)義引腳功能說(shuō)明 P3 0RXD串行數(shù)據(jù)接收端 P3 1TXD串行數(shù)據(jù)發(fā)送端 P3 2INT0外部中斷 0 請(qǐng)求 P3 3INT1外部中斷 1 請(qǐng)求 P3 4T0計(jì)數(shù)器 0 外部輸入 P3 5T1計(jì)數(shù)器 1 外部輸入 P3 6WR外部數(shù)據(jù)存儲(chǔ)器寫(xiě) P3 7RD外部數(shù)據(jù)存儲(chǔ)器讀 3 控制引腳控制引腳 控制引腳如下 1 RST 復(fù)位信號(hào) 晶振工作后 2 個(gè)機(jī)器周期的高電平復(fù)位 CPU 2 ALE 地址鎖存信號(hào) 用于訪問(wèn)外存時(shí)鎖存低 8 位址 ALE 為晶振 6 分 頻 3 PSEN 外部程序存儲(chǔ)器 從程序存儲(chǔ)器中取指令或讀取數(shù)據(jù)時(shí) 該信號(hào) 有效 4 允許訪問(wèn)片內(nèi)外程序的存儲(chǔ)器控制端 當(dāng) 1 從內(nèi)部開(kāi)始執(zhí)行程EAEA 序 當(dāng) 0 只訪問(wèn)外程序存儲(chǔ)器 EA 4 電源及時(shí)鐘引腳電源及時(shí)鐘引腳 電源及時(shí)鐘引腳如下 1 X1 接外部晶體此引腳接地 又是內(nèi)部振蕩器的輸入端 2 X2 接外部晶體的另一端 又是內(nèi)部振蕩器輸出端 3 VCC VSS 電源和地 5V 電源供電 使用 TTL 電平 6 2 2 儲(chǔ)存組織儲(chǔ)存組織 1 算術(shù)邏輯單元算術(shù)邏輯單元 ALU 算術(shù)邏輯單元是 8 位 主要功能是完成算術(shù) 邏輯運(yùn)算 2 寄存器寄存器 1 通用寄存器 8 位 4 組 8 個(gè)寄存器 R0 R7 R0 和 R1 可用于間接尋 址 2 特殊功能寄存器 SFR 共有 21 個(gè) 累加器 A Acc 8051 是累加器結(jié)構(gòu) 所有的運(yùn)算都是以累加器為一個(gè)源 操作數(shù)和目的操作數(shù) 累加器 B 乘 除指令中的一個(gè)操作數(shù) 可以作為一般變量使用 程序狀態(tài)字 PSW 8 位寄存器 保存指令執(zhí)行狀態(tài) 其狀態(tài)表如表 2 2 所示 表表 2 2 8 位寄存器執(zhí)行狀態(tài)表位寄存器執(zhí)行狀態(tài)表 D7D6D5D4D3D2D1D0 CyACF0RS1RS0OV P Cy 進(jìn) 借 位標(biāo)志 保存算術(shù)運(yùn)算的進(jìn)或借位 位操作的累加器 AC 輔助進(jìn)位標(biāo)志 運(yùn)算結(jié)果從 D3 產(chǎn)生進(jìn)位或借位時(shí) AC 1 主要用于 BCD 碼調(diào)整 F0 用戶(hù)標(biāo)志 可以使用的位變量 可以隨 PSW 被保存 RS1 RS0 寄存器組選擇如表 2 3 所示 表表 2 3 寄存器組選擇表寄存器組選擇表 M1 M0方式地址 0 0 組0 00H 07H 0 1 組1 08H 0FH 1 0 組2 10H 17H 1 1 組3 18H 1FH OV 溢出標(biāo)志位 有符號(hào)數(shù)運(yùn)算結(jié)果超出允許范圍 OV 1 否則 OV 0 雙符 號(hào)位 00 無(wú)溢 01 溢 10 溢 11 無(wú)溢 P 奇偶標(biāo)志位 每個(gè)機(jī)器周期根據(jù)累加器 A 中的內(nèi)容的奇偶性由硬件置 1 復(fù) 位 A 中 1 的個(gè)數(shù)為奇 P 1 否則 P 0 堆棧及堆棧指針 SP 堆棧 存儲(chǔ)區(qū) 按先進(jìn)后出的原則讀寫(xiě)數(shù)據(jù) 堆棧空 間用內(nèi)部 RAM 256 用于保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng) 堆棧指針 SP 為 8 位寄存器 指 示棧頂位置 進(jìn)棧 SP 1 再壓棧 出棧 先出棧 再 SP 1 數(shù)據(jù)指針寄存器 DPTR 16 位寄存器 可以尋址 64K 地址空間 程序計(jì)數(shù)器 PC 16 位 不屬于 SFR 但有聯(lián)系 用于存放下一條的指令 地址 2 2 3 單片機(jī)系統(tǒng)外圍電路單片機(jī)系統(tǒng)外圍電路 單片機(jī)外圍電路一般有兩塊 時(shí)鐘電路 如圖 2 3 所示 和復(fù)位電路 如圖 2 4 所示 時(shí)鐘電路由一個(gè)晶振和兩個(gè)小電容組成 用來(lái)產(chǎn)生時(shí)鐘頻率 復(fù)位電路由一個(gè)電阻 按鍵和一個(gè)電容組成 用來(lái)產(chǎn)生復(fù)位信號(hào) 使單片機(jī)上 電的時(shí)候復(fù)位 圖圖 2 3 時(shí)鐘電路時(shí)鐘電路 AT89C51 單片機(jī)芯片內(nèi)部有一個(gè)反向放大器構(gòu)成的振蕩器 XTAL1 和 XTAL2 分別為振蕩器電路的輸入端和輸出端 時(shí)鐘可由內(nèi)部和外部生成 XTAL1 和 XTAL2 引腳上外接定時(shí)元件 內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩 系統(tǒng)采用的定時(shí)元 件為石英晶體和電容組成的并聯(lián)諧振回路 晶振頻率選擇 12MHz C1 C2 的電容 值取 22PF 電容的大小頻率起微調(diào)的作用 3 圖圖 2 4 復(fù)位電路復(fù)位電路 單片機(jī)有多種復(fù)位電路 單片機(jī)復(fù)位電路的基本功能是 系統(tǒng)上電時(shí)提供復(fù)位 信號(hào) 直至系統(tǒng)電源穩(wěn)定后 撤銷(xiāo)復(fù)位信號(hào) 為可靠起見(jiàn) 電源穩(wěn)定后還要經(jīng)一定 的延時(shí)才撤銷(xiāo)復(fù)位信號(hào) 以防電源開(kāi)關(guān)或電源插頭分 合過(guò)程中引起的抖動(dòng)而影響復(fù) 位 本系統(tǒng)采用電平式開(kāi)關(guān)復(fù)位與上電復(fù)位方式 當(dāng)上電時(shí) C1 相當(dāng)于短路 使單 片機(jī)復(fù)位 在正常工作時(shí) 按下復(fù)位時(shí)單片機(jī)復(fù)位 在有時(shí)碰到干擾時(shí)會(huì)造成錯(cuò)誤 復(fù)位 但是大多數(shù)條件下 不會(huì)出現(xiàn)單片機(jī)錯(cuò)誤復(fù)位 而可能會(huì)引起內(nèi)部某些寄存 器錯(cuò)誤復(fù)位 在復(fù)位端加一個(gè)去藕電容 則會(huì)得到很好的效果 4 第第 3 章章 LED 電路電路 3 1 LED 簡(jiǎn)介簡(jiǎn)介 組合型 LED 點(diǎn)陣顯示器以發(fā)光二極體為圖素 它用高亮度 LED 晶粒進(jìn)行陣列 組合后 再透過(guò)環(huán)氧樹(shù)脂和塑模封裝而成 具有高亮度 功耗低 引腳少 視角大 壽命長(zhǎng) 耐濕 耐冷熱 耐腐蝕等特點(diǎn) 點(diǎn)陣顯示器有單色和雙色兩類(lèi) 可顯示紅 黃 綠 橙等 LED 點(diǎn)陣有 4 4 4 8 5 7 5 8 8 8 16 16 24 24 40 40 等多種 根據(jù)圖素的數(shù)目分為 單色 雙原色 三原色等 根據(jù)圖素顏色的不同所顯示的文字 圖像等內(nèi)容的顏色 也不同 單原色點(diǎn)陣只能顯示固定色彩如紅 綠 黃等單色 雙原色和三原色點(diǎn)陣 顯示內(nèi)容的顏色由圖素內(nèi)不同顏色發(fā)光二極體點(diǎn)亮組合方式?jīng)Q定 如紅綠都亮?xí)r可 顯示黃色 如果按照脈沖方式控制二極體的點(diǎn)亮?xí)r間 則可實(shí)現(xiàn) 256 或更高級(jí)灰度 顯示 即可實(shí)現(xiàn)真彩色顯示 幾種 LED 點(diǎn)陣顯示器的內(nèi)部電路結(jié)構(gòu)和外型規(guī)格 其他型號(hào)點(diǎn)陣的結(jié)構(gòu)與引腳 可試驗(yàn)獲得 LED 點(diǎn)陣顯示器單塊使用時(shí) 既可代替數(shù)碼管顯示數(shù)位 也可顯示各 種中西文字及符號(hào) 如 5 7 點(diǎn)陣顯示器用于顯示西文字母 5 8 點(diǎn)陣顯示器用于顯 示中西文 8 8 點(diǎn)陣用于顯示中文文字 也可用于圖形顯示 用多塊點(diǎn)陣顯示器組 合則可構(gòu)成大熒幕顯示器 但這類(lèi)實(shí)用裝置常通過(guò)微機(jī)或單片機(jī)控制驅(qū)動(dòng) 由 LED 點(diǎn)陣顯示器的內(nèi)部結(jié)構(gòu)可知 器件宜采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式工作 由于 LED 管芯大多為高亮度型 因此某行或某列的單體 LED 驅(qū)動(dòng)電流可選用窄脈沖 但其平均電流應(yīng)限制在 20mA 內(nèi) 多數(shù)點(diǎn)陣顯示器的單體 LED 的正向壓降約在 2V 左右 但大亮點(diǎn) 10 的點(diǎn)陣顯示器單體 LED 的正向壓降約為 6V 大熒幕顯示系統(tǒng)一般是將由多個(gè) LED 點(diǎn)陣組成的小模組以搭積木的方式組合而 成的 每一個(gè)小模組都有自己的獨(dú)立的控制系統(tǒng) 組合在一起后只要引入一個(gè)總控 制器控制各模組的命令和資料即可 這種方法既簡(jiǎn)單而且具有易展 易維修的特點(diǎn) LED 點(diǎn)陣顯示系統(tǒng)中各模組的顯示方式有靜態(tài)和動(dòng)態(tài)顯示兩種 靜態(tài)顯示原理 簡(jiǎn)單 控制方便 但硬體接線復(fù)雜 在實(shí)際應(yīng)用中一般采用動(dòng)態(tài)顯示方式 動(dòng)態(tài)顯 示采用掃描的方式工作 由峰值較大的窄脈沖驅(qū)動(dòng) 從上到下逐次不斷地對(duì)顯示幕 的各行進(jìn)行選通 同時(shí)又向各列送出表示圖形或文字資訊的脈沖信號(hào) 反復(fù)以上操 作 就可顯示各種圖形或文字資訊 3 2 16 16 點(diǎn)陣點(diǎn)陣 LED 原理及應(yīng)用原理及應(yīng)用 圖圖 3 1 16 16 點(diǎn)陣點(diǎn)陣 LED 實(shí)物圖實(shí)物圖 16 16 點(diǎn)陣 LED 實(shí)物如圖 3 1 所示 設(shè)計(jì)時(shí)必須掌握點(diǎn)陣工作原理方能進(jìn)行更 深層設(shè)計(jì) 16 16LED 點(diǎn)陣其實(shí)就是 4 塊 8 8 點(diǎn)陣 LED 級(jí)聯(lián)而成的 因此特給出 圖圖 3 2 8 8 點(diǎn)陣點(diǎn)陣 LED 外觀及引腳圖外觀及引腳圖 8 8 點(diǎn)陣 LED 的工作原理 圖 3 2 為 8 8 點(diǎn)陣 LED 外觀及引腳圖 其等效電 路如圖 3 3 所示 只要其對(duì)應(yīng)的 X Y 軸順向偏壓 即可使 LED 發(fā)亮 例如如果想 使左上角 LED 點(diǎn)亮 則 Y0 1 X0 0 即可 應(yīng)用時(shí)限流電阻可以放在 X 軸或 Y 軸 而 16 16 就是在 8 8 原理的基礎(chǔ)上將四塊 8 8 級(jí)聯(lián)而成 5 如圖 3 4 所示 圖圖 3 3 8 8 點(diǎn)陣點(diǎn)陣 LED 等效電路等效電路 圖圖 3 4 四塊四塊 8 8 點(diǎn)陣點(diǎn)陣 LED 級(jí)聯(lián)成級(jí)聯(lián)成 16 16 點(diǎn)陣點(diǎn)陣 3 3 LED 點(diǎn)陣的顯示文字圖形原理點(diǎn)陣的顯示文字圖形原理 漢字顯示屏用于顯示漢字 字符及圖像信息 在公共汽車(chē) 銀行 醫(yī)院及戶(hù)外 廣告等地方都有廣泛的應(yīng)用 下面是簡(jiǎn)單的漢字顯示屏的制作 由單片機(jī)控制漢字 的顯示內(nèi)容 為了降低成本 使用了四塊 8 8 的 LED 點(diǎn)陣發(fā)光管的模塊 組成了一 個(gè) 16 16 的 LED 點(diǎn)陣顯示屏 如圖 3 5 所示 在實(shí)際的使用中可以根據(jù)這個(gè)原理自 行的擴(kuò)展顯示的漢字 下面是介紹漢字顯示的原理 LED 驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法 動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮 這樣掃描驅(qū) 動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器 以 16 16 點(diǎn)陣為例 把所有同 一行的發(fā)光管的陰極連在一起 把所有同一列的發(fā)光管的陽(yáng)極連在一起 共陰的接 法 先送出對(duì)應(yīng)第 1 列發(fā)光管亮滅的數(shù)據(jù)并鎖存 然后選通第 1 列使其燃亮一定的 時(shí)間 然后熄滅 再送出第 2 列的數(shù)據(jù)并鎖存 然后選通第 2 列使其燃亮相同的時(shí) 間 然后熄滅 第 16 列之后 又重新燃亮第 1 列 反復(fù)輪回 當(dāng)這樣輪回的速 度足夠快 每秒 24 次以上 由于人眼的視覺(jué)暫留現(xiàn)象 就能看到顯示屏上穩(wěn)定的 圖形 該方法能驅(qū)動(dòng)較多的 LED 控制方式較靈活 而且節(jié)省單片機(jī)的資源 顯示數(shù)據(jù)可通過(guò)單片機(jī)的 P0 P2 口接驅(qū)動(dòng)電路傳輸?shù)近c(diǎn)陣行引腳 6 LED 點(diǎn)陣顯示模塊進(jìn)行的方法有兩種 1 水平方向 X 方向 掃描 即逐列掃描的方式 簡(jiǎn)稱(chēng)列掃描方式 此時(shí) 用一個(gè) P 口輸出列碼決定哪一列能亮 相當(dāng)于位碼 用另一個(gè) P 口輸出行碼 列數(shù) 據(jù) 決定該列上哪個(gè) LED 亮 相當(dāng)于段碼 能亮的列從左到右掃描完 16 列 相 當(dāng)于位碼循環(huán)移動(dòng) 16 次 即顯示出一個(gè)完整的圖像 2 豎直方向 Y 方向 掃描 即逐行掃描方式 簡(jiǎn)稱(chēng)行掃描方式 此時(shí)用 一個(gè) P 口輸出決定哪一行能亮 相當(dāng)于位碼 另一個(gè) P 口輸出列碼 行數(shù)據(jù) 行數(shù) 據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn) 90 度的數(shù)據(jù) 決定該行上哪些 LED 燈亮 相當(dāng)于段碼 能亮的行從上向下掃描完 16 行 相當(dāng)于位碼循環(huán)移位 16 次 即顯示一幀完整的圖 像 本設(shè)計(jì)應(yīng)用的是第二種的掃描方法 即豎直方向 Y 方向 掃描 每一個(gè)字由 16 行 16 列的點(diǎn)陣形成顯示 即每個(gè)字均由 256 個(gè)點(diǎn)陣來(lái)表示 我 們可以把每一個(gè)點(diǎn)理解為一個(gè)像素 一般我們使用的 16 16 的點(diǎn)陣宋體字庫(kù) 即所 謂的 16 16 是每一個(gè)漢字在縱橫各 16 點(diǎn)的區(qū)域內(nèi)顯示的 漢字庫(kù)從該位置起的 32 字節(jié)信息記錄了該字的字模信息 事實(shí)上這個(gè)漢字屏不僅可以顯示漢字 也可以顯 示在 256 像素范圍內(nèi)的任何圖形 我們以 習(xí) 為例來(lái)說(shuō)明其掃描原理 每一個(gè)字由 16 行 16 列的點(diǎn)陣組成顯示 如圖下的 如果用 8 位的 AT89C51 的單片機(jī)來(lái)控制 由于單片機(jī)的總線為 8 位 一 個(gè)字需要拆分成兩個(gè)部分 一般我們把它分解成左部分和右部分 左部分由 16 8 列 行 的點(diǎn)陣組成 右部分也由 16 8 列 行 的點(diǎn)陣組成 在本例中單 片機(jī)首先顯示的是左上角的第一行的部分 因?yàn)榱薪雨帢O 0 是亮 1 是滅 習(xí) 字的上面兩行的二進(jìn)制碼是 11111111 11111111 11000000 00111111 轉(zhuǎn)換成對(duì)應(yīng)的 16 進(jìn)制代碼是 0 xFF 0 xFF 0 xC0 0 x03 依此類(lèi)推 就這樣一行一行的掃描 如圖 3 5 所示 圖圖 3 5 顯示原理圖顯示原理圖 由這個(gè)原理可以看到 無(wú)論顯示何種字體或圖像 都可以用這種方法來(lái)分析出 它的掃描代碼從而顯示在屏幕上 了解漢字的顯示原理之后 下面本論文將介紹如 何得到漢字的字模信息 現(xiàn)在有一些現(xiàn)成的漢字字模生成軟件 可從網(wǎng)上下載漢字 字庫(kù)提取程序直接提取字庫(kù) 如圖 3 6 所示的為一種字模生成軟件 軟件打開(kāi)后輸 入漢字 點(diǎn)擊 檢取 后 十六進(jìn)制數(shù)據(jù)漢字代碼即可以自動(dòng)生成 把我們需要的 豎排數(shù)據(jù)復(fù)制到我們的程序即可 圖圖 3 6 字模生成軟件截圖字模生成軟件截圖 3 4 驅(qū)動(dòng)方式驅(qū)動(dòng)方式 LED 點(diǎn)陣的驅(qū)動(dòng)方式可分為靜態(tài)驅(qū)動(dòng)和動(dòng)態(tài)驅(qū)動(dòng)兩種 靜態(tài)驅(qū)動(dòng)方式 在靜態(tài)驅(qū)動(dòng)的有機(jī)發(fā)光顯示器件上 一般各有機(jī)電致發(fā)光像素 的陰極是連在一起引出的 各像素的陽(yáng)極是分立引出的 這就是共陰的連接方式 若要一個(gè)像素發(fā)光只要讓恒流源的電壓與陰極的電壓之差大于像素發(fā)光值的前提下 像素將在恒流源的驅(qū)動(dòng)下發(fā)光 若要一個(gè)像素不發(fā)光就將它的陽(yáng)極接在一個(gè)負(fù)電壓 上 就可將它反向截止 但是在圖像變化比較多時(shí)可能出現(xiàn)交叉效應(yīng) 為了避免我 們必須采用交流的形式 靜態(tài)驅(qū)動(dòng)電路一般用于段式顯示屏的驅(qū)動(dòng)上 動(dòng)態(tài)驅(qū)動(dòng)方式 在動(dòng)態(tài)驅(qū)動(dòng)的有機(jī)發(fā)光顯示器件上人們把像素的兩個(gè)電極做成 了矩陣型結(jié)構(gòu) 即水平一組顯示像素的同一性質(zhì)的電極是共用的 縱向一組顯示像 素的相同性質(zhì)的另一電極是共用的 如果像素可分為 N 行和 M 列 就可有 N 個(gè)行 電極和 M 個(gè)列電極 行和列分別對(duì)應(yīng)發(fā)光像素的兩個(gè)電極 即陰極和陽(yáng)極 在實(shí)際 電路驅(qū)動(dòng)的過(guò)程中 要逐行點(diǎn)亮或者要逐列點(diǎn)亮像素 通常采用逐行掃描的方式 行掃描 列電極為數(shù)據(jù)電極 實(shí)現(xiàn)方式是 循環(huán)地給每行電極施加脈沖 同時(shí)所有 列電極給出該行像素的驅(qū)動(dòng)電流脈沖 從而實(shí)現(xiàn)一行所有像素的顯示 該行不再同 一行或同一列的像素就加上反向電壓使其不顯示 以避免 交叉效應(yīng) 這種掃描是 逐行順序進(jìn)行的 掃描所有行所需時(shí)間叫做幀周期 7 本設(shè)計(jì)的驅(qū)動(dòng)電路由行驅(qū)動(dòng)和列驅(qū)動(dòng)構(gòu)成 為了充分利用單片機(jī)的接口 行驅(qū) 動(dòng)電路中加入了一個(gè) 4 16 線譯碼器 74LS154 然后以 A B C D 四腳為輸入端 形成 16 種不同的輸入狀態(tài) 行驅(qū)動(dòng)電路如圖 3 7 所示 列驅(qū)動(dòng)由集成電路 74HC595 構(gòu)成 它具有一個(gè) 8 位串入并出的移位寄存器和一個(gè) 8 位輸出鎖存器的機(jī)構(gòu) 可以 實(shí)現(xiàn)在顯示本行列數(shù)據(jù)的同時(shí) 傳送下一行的列數(shù)據(jù) 即達(dá)到重疊處理的目的 列 驅(qū)動(dòng)電路如圖 3 8 所示 8 圖圖 3 7 點(diǎn)陣點(diǎn)陣 LEDLED 行驅(qū)動(dòng)電路行驅(qū)動(dòng)電路 圖圖 3 8 點(diǎn)陣點(diǎn)陣 LEDLED 列驅(qū)動(dòng)電路列驅(qū)動(dòng)電路 3 5 點(diǎn)陣的移動(dòng)點(diǎn)陣的移動(dòng) 以下以 16 16 點(diǎn)陣為例介紹點(diǎn)陣的移動(dòng) 要顯示一個(gè)字符 該字符的點(diǎn)陣數(shù)據(jù) 可以列向 縱向 16 點(diǎn)組字 又可以行向 橫向 16 點(diǎn)組字 無(wú)論哪一種組字方法 都既可以顯示字符的水平方向的移動(dòng) 又可以顯示豎直方向的移動(dòng) 本設(shè)計(jì)主要顯 示方式是所有字符一一靜態(tài)卷簾顯示 上下滾動(dòng) 左右滾動(dòng) 1 向上移動(dòng)原理 向上移動(dòng)原理 1 列掃描方式向上移動(dòng) 列向組字顯示字符豎直方向的移動(dòng) 若是列向組字 希望顯示向上移動(dòng)的一個(gè) 字符 第 1 次掃描從行碼的點(diǎn)陣數(shù)組中取第 1 16 個(gè)數(shù)據(jù) 送行碼輸出口 對(duì)應(yīng)于這 16 個(gè)數(shù)據(jù) 同時(shí)用列碼輸出口輸出列碼 分別控制掃描第 1 16 列 由于是列向組 字 上高下低 掃描完成這 16 個(gè)數(shù)據(jù)后 第 2 次掃描的 16 個(gè)數(shù)據(jù) 應(yīng)將原來(lái)的第 1 次掃描的 16 個(gè)行碼每一個(gè)都循環(huán)右移一位 使顯示的點(diǎn)都上移一行 如果是顯示 向下滾動(dòng)則應(yīng)循環(huán)左移 再進(jìn)行掃描 如此 沒(méi)進(jìn)行下一次的掃描 把上一次的 16 個(gè)行碼都循環(huán)右移一位 再進(jìn)行掃描就實(shí)現(xiàn)了數(shù)據(jù)的向上移動(dòng) 也可以用字型的方法容易理解 以下的 16 16 的 LED 顯示一個(gè)字是 8 個(gè)字型 首先掃描的而是第一個(gè)字型 同樣是 16 行 16 列掃描 16 次顯示 完成一個(gè)字型 后 再掃描第二個(gè)字型 完成第二個(gè)字型后 再掃描第三個(gè)字型 以此類(lèi)推 即 可產(chǎn)生該文字向上移動(dòng)的感覺(jué) 當(dāng)把第一個(gè)字型編碼中 每行顯示的數(shù)據(jù)都右移一 位 以產(chǎn)生第二個(gè)字型編碼 即可產(chǎn)生字符向上滾動(dòng)的感覺(jué) 當(dāng)?shù)谝粋€(gè)字符掃描完成后 就進(jìn)行這樣的調(diào)整動(dòng)作 以產(chǎn)生第二字型的編碼 同樣的 當(dāng)?shù)诙中屯瓿芍?就進(jìn)行這樣的調(diào)整動(dòng)作 以產(chǎn)生第三個(gè)字型的編碼 調(diào)整的動(dòng)作是先將 8 個(gè)編碼根據(jù)序填入存儲(chǔ)器 2 行掃描方式上下移動(dòng) 方法 1 延長(zhǎng)數(shù)組法 如果是行向組字 希望顯示向上移動(dòng)的一個(gè)字符 第 1 次掃描從列碼的點(diǎn)陣數(shù)組中取第 1 16 個(gè)數(shù)據(jù) 送列碼輸出口 對(duì)應(yīng)于這 8 個(gè)數(shù)據(jù) 同時(shí)用行碼輸出口輸出行碼 分別控制掃描第 1 16 行 第 2 次掃描從點(diǎn)陣數(shù)組中取 第 2 17 個(gè)數(shù)據(jù) 第 17 個(gè)數(shù)據(jù)與第 1 個(gè)數(shù)據(jù)相同 分別送列碼輸出口 對(duì)應(yīng)于這 16 個(gè)數(shù)據(jù) 同時(shí)用行碼輸出口輸出行碼 仍分別控制第 1 16 行 第 3 次掃描從點(diǎn) 陣數(shù)組中取第 3 18 個(gè)數(shù)據(jù) 第 18 個(gè)數(shù)據(jù)與第 2 個(gè)數(shù)據(jù)相同 掃描 如此就實(shí) 現(xiàn)了字符的向上移動(dòng) 方法 2 數(shù)組數(shù)據(jù) 循環(huán)左移法 實(shí)現(xiàn)數(shù)組數(shù)據(jù)循環(huán)左移的方法與上類(lèi)似 也 有用數(shù)組數(shù)據(jù)循環(huán)左移子程序 不用子程序 而是用變量判斷控制實(shí)現(xiàn)數(shù)組數(shù)據(jù)的 循環(huán)左移 2 向左移動(dòng)原理 向左移動(dòng)原理 1 列掃描方式左移動(dòng) 方法 1 延長(zhǎng)數(shù)組法 將原來(lái)字符點(diǎn)陣數(shù)組的 16 個(gè)數(shù)據(jù)重復(fù)一遍延長(zhǎng) 點(diǎn)陣數(shù) 組的數(shù)據(jù)個(gè)數(shù)為 32 個(gè) 每掃描一幀取 8 個(gè)數(shù)據(jù)顯示 下一幀取數(shù)要在數(shù)組中后移一 個(gè)數(shù)取數(shù) 循環(huán)一遍掃 16 幀 可以假想有兩塊 16 16 的點(diǎn)陣模塊 共 32 幀 水平 平行排列 用一個(gè)恰好能罩住 16 列點(diǎn)陣的中空方框去罩這個(gè)點(diǎn)陣 第 1 第 1 幀 罩住最左邊數(shù)起第一列開(kāi)始的 16 列 就掃描顯示這 16 列 第 2 次 第 2 幀 使方 框右移一列 罩住做左邊數(shù)起第 2 列開(kāi)始的 16 列 就掃描顯示這 16 列 這樣 每掃描完一幀使方框右移一列 最后第 16 次 第 16 幀 時(shí) 罩住左邊數(shù)起的第 16 列開(kāi)始的 16 列 就掃描顯示這 16 列 如此完成 16 幀畫(huà)面的掃描顯示 也就完成了 整個(gè)一次移動(dòng)循環(huán)掃描 之后反復(fù)循環(huán) 即可呈現(xiàn)顯示字符沿水平向左移動(dòng)的圖像 如圖 3 9 所示 圖圖 3 9 方框圖法左右移動(dòng)示意圖方框圖法左右移動(dòng)示意圖 因?yàn)槭橇邢蚪M字 列掃描方式 點(diǎn)陣數(shù)據(jù)為行碼 上邊為低位下面為高位 希 望顯示移動(dòng)的一個(gè)字符 第 1 次掃描從行碼的點(diǎn)陣數(shù)組中取第 1 16 個(gè)數(shù)據(jù) 送行碼 輸出口 對(duì)應(yīng)于這 8 個(gè)數(shù)據(jù) 同時(shí)用列碼輸出口輸出列碼 分別控制第 1 16 列 掃 描完前 16 個(gè)數(shù)據(jù)之后 第 2 次掃描從點(diǎn)陣數(shù)組中取第 3 18 個(gè)數(shù)據(jù) 第 18 個(gè)數(shù)據(jù)與 第 1 個(gè)數(shù)據(jù)同 送行碼輸出口 對(duì)應(yīng)于這 16 個(gè)數(shù)據(jù) 同時(shí)用列碼輸出口輸出列碼 仍分別控制掃第 1 16 列 第 3 次掃描從點(diǎn)陣數(shù)組中取第 5 20 個(gè)數(shù)據(jù) 第 20 個(gè)數(shù)據(jù) 碼與第 2 個(gè)數(shù)據(jù)碼相同 掃描 如此實(shí)現(xiàn)字符向左移動(dòng) 以上完成一個(gè)圖形移動(dòng)的方法 也可以看成是移動(dòng) 16 個(gè)不同的字形 如圖 2 13 所示 首先掃描第一個(gè)字型 同樣是 16 行 16 次掃描 16 次顯示 完成一個(gè)字型 的掃描以后 再掃描第二個(gè)字型 完成第二個(gè)字型的掃描之后 再掃描第三個(gè)字 型 依此類(lèi)推 即可產(chǎn)生該文字的左移的感覺(jué) 也就是把第一個(gè)字型的編碼中 第 1 列顯示數(shù)據(jù) 變?yōu)榈?2 列顯示數(shù)據(jù) 第 2 列顯示數(shù)據(jù) 變成第 3 列顯示數(shù)據(jù) 第 3 列顯示數(shù)據(jù) 變成第 4 列顯示數(shù)據(jù) 第 4 列顯示數(shù)據(jù) 變成第 5 列顯示數(shù)據(jù) 以此類(lèi)推 當(dāng)?shù)谝粋€(gè)字型掃描顯示完成之后 就進(jìn)行這樣的動(dòng)作調(diào)整 以產(chǎn)生第二個(gè)字型 的編碼 同樣的 當(dāng)?shù)诙€(gè)字型掃描完成之后 就進(jìn)行這樣的調(diào)整動(dòng)作 以產(chǎn)生第 三個(gè)字型的編碼 這個(gè)調(diào)整動(dòng)作時(shí)先將 16 個(gè)編碼根據(jù)序填入存儲(chǔ)器 例如第 1 行編 碼存入 20H 第二行編碼存入 21H 要進(jìn)行左移調(diào)整時(shí) 則先將 20H 地址的數(shù)據(jù) 轉(zhuǎn)移到 36H 地址 再將 21 H 地址的數(shù)據(jù)轉(zhuǎn)移到 20 H 地址 將 22 H 地址的數(shù)據(jù)轉(zhuǎn) 移到 21 H 地址 將 23 H 地址的數(shù)據(jù)轉(zhuǎn)移到 22 H 地址 將 24 H 地址的數(shù)據(jù)轉(zhuǎn)移到 23 H 地址 將 25 H 地址的數(shù)據(jù)轉(zhuǎn)移到 24 H 地址 將 26 H 地址的數(shù)據(jù)轉(zhuǎn)移到 25 H 地址 將 27 H 地址的數(shù)據(jù)轉(zhuǎn)移到 26 H 地址 將 28 H 地址的數(shù)據(jù)轉(zhuǎn)移到 27H 地 址 方法 2 數(shù)組數(shù)據(jù) 循環(huán)左移法 注意 不是把二進(jìn)制數(shù)據(jù)按位循環(huán)左移 而 是吧數(shù)組中的數(shù)據(jù)按其在數(shù)組中的位置循環(huán)左移 具體方法如下 原先字符點(diǎn)陣數(shù)組中的 16 個(gè)數(shù)據(jù)不延長(zhǎng) 但下一幀的 16 個(gè)數(shù)據(jù) 是把上一幀 的 16 個(gè)數(shù)據(jù)的位置 先后順序 循環(huán)左移 一次 即原來(lái)的第 2 個(gè)移到第 1 個(gè) 原來(lái)第 3 個(gè)移到第 2 個(gè) 原來(lái)的第 1 個(gè)移到第 16 個(gè) 實(shí)現(xiàn)數(shù)組數(shù)據(jù)循環(huán)左移的方 法有 第一遍 數(shù)組數(shù)據(jù)循環(huán)左移子程序 該子程序每執(zhí)行一次可把數(shù)組中的數(shù) 據(jù)循環(huán)左移一次 主程序中先調(diào)用一次該子程序 這時(shí)數(shù)組中的詩(shī)句循環(huán)左移一次 然后再?gòu)臄?shù)組中取數(shù)據(jù)顯示 當(dāng)數(shù)組中的數(shù)據(jù)個(gè)數(shù)較多時(shí) 片內(nèi)的 RAM 將不夠大 必須將數(shù)組定義在片外 RAM 中 第二 不用子程序 而是用變量判斷控制實(shí)現(xiàn)數(shù) 組數(shù)據(jù)的循環(huán)左移 2 行掃描方式左移 行向組字顯示字符水平方向的左移 如果是行向組字 行掃描方式 點(diǎn)陣數(shù)據(jù) 為列碼 左邊為敵位右邊為高位 希望顯示向左移動(dòng)的一個(gè)字符 第 1 次掃描從列 碼的點(diǎn)陣數(shù)組中取第 1 16 行 掃描完成這 16 個(gè)數(shù)據(jù)之后 第 2 次掃描的第 16 個(gè)數(shù) 據(jù) 應(yīng)將原來(lái)的第每一個(gè) 1 次掃描的 16 列碼每一個(gè)都循環(huán)右移一位 如果使顯示右 移則應(yīng)循環(huán)左移 再進(jìn)行掃描 如此 沒(méi)進(jìn)行下一次掃描 把上一次掃描的 16 個(gè) 列碼都循環(huán)右移一位 再進(jìn)行掃描 數(shù)據(jù)的右移與數(shù)據(jù)的左移相似 只是取碼的順序相反而已 在此就不再贅述 本設(shè)計(jì)應(yīng)用的是數(shù)組方法實(shí)現(xiàn)動(dòng)態(tài)移動(dòng) 7 第第 4 章系統(tǒng)總體方案章系統(tǒng)總體方案 圖 4 1 是整體電路的基本模型圖 由圖 4 1 可以看出整個(gè)設(shè)計(jì)分為四個(gè)模塊 單 片機(jī)的控制模塊 行驅(qū)動(dòng)模塊 列驅(qū)動(dòng)模塊 LED 點(diǎn)陣顯示模塊 復(fù)位電路 時(shí)鐘電路 AT89C 51 單片 機(jī) 行 驅(qū) 動(dòng) 8 8 LED1 8 8 LED4 列 驅(qū) 動(dòng) 模 塊 列 驅(qū) 動(dòng) 模 塊 圖圖 4 1 整體電路基本模型整體電路基本模型 圖圖 4 2 16 64LED 點(diǎn)陣電路圖點(diǎn)陣電路圖 如圖 4 2 所示 是在此設(shè)計(jì)上將 16 16 點(diǎn)陣擴(kuò)展成 16 64 點(diǎn)陣的詳細(xì)電路圖 主要電路不變 只是增加了 LED 點(diǎn)陣和相應(yīng)數(shù)目的列驅(qū)動(dòng) 74HC154 芯片 此設(shè)計(jì)的顯示驅(qū)動(dòng)流程如圖 4 3 所示 進(jìn)入中斷 定時(shí)器賦初值 讀取行號(hào)并增加 1 送行顯示數(shù)據(jù) 消隱 切換顯示數(shù)據(jù) 發(fā)送新行號(hào) 打開(kāi)顯 示 退出中斷系統(tǒng) 圖圖 4 3 LED 點(diǎn)陣驅(qū)動(dòng)程序流程圖點(diǎn)陣驅(qū)動(dòng)程序流程圖 第第 5 章章 仿真與調(diào)試仿真與調(diào)試 5 1 Proteus 的基本性能概述的基本性能概述 Proteus 是英國(guó) Labcenter 公司嵌入式系統(tǒng)仿真開(kāi)發(fā)平臺(tái) Proteus 由兩個(gè)主要程 序系統(tǒng)構(gòu)成 ISIS EXE 電路原理圖設(shè)計(jì)系統(tǒng) 和 ARES EXE 印刷電路版設(shè)計(jì)系統(tǒng) 本論文設(shè)計(jì)主要是運(yùn)用 ISIS EXE 電路原理圖設(shè)計(jì)系統(tǒng) 仿真單片機(jī)控制 16 16LED 點(diǎn)陣 下面將簡(jiǎn)單介紹 Proteus 的電路原理圖設(shè)計(jì)系統(tǒng) Proteus 的元件庫(kù) 有分離元件 集成器件 還有多種帶 CPU 的可編程序器件 既有理想元件模型 還有各種不同廠家及時(shí)更新的實(shí)際元件模型 Proteus 的電路原理圖設(shè)計(jì)系統(tǒng)的仿真實(shí)驗(yàn)功能 電路不僅能做電路基礎(chǔ)實(shí)驗(yàn) 模擬電路實(shí)驗(yàn)與數(shù)字電路實(shí)驗(yàn) 而且能做單片機(jī)與接口實(shí)驗(yàn) 為課程設(shè)計(jì)與畢業(yè)設(shè) 計(jì)提供綜合系統(tǒng)仿真 5 2 Proteus 仿真要求仿真要求 1 建立數(shù)字電路模型 檢測(cè)數(shù)字電路模型是否連通 有無(wú)連接錯(cuò)誤 2 Keil 軟件編譯 C 語(yǔ)言 要求最終編譯結(jié)果程序 0 錯(cuò)誤 將其導(dǎo)入到 Proteus 仿真軟件中 3 Proteus 仿真電路最終能成功顯示 C 語(yǔ)言程序編譯后的結(jié)果 5 3 Proteus 仿真步驟仿真步驟 Proteus 軟件仿真 51 單片機(jī)控制 16 16LED 點(diǎn)陣顯示屏的過(guò)程如下 1 點(diǎn)擊左邊工具欄中元件模式這一項(xiàng) 軟件進(jìn)入元件選擇和編輯狀態(tài) 2 在工具欄的右側(cè)找到如圖 5 1 所示的總電路縮略框 編輯完電路后可在此窗 口看到整體電路的縮略圖 方便移動(dòng)到所需修改的區(qū)域 縮略框圖下方有 P 和 L 兩 個(gè)按鍵 單擊 P 出現(xiàn)元件搜索框如圖 5 2 所示 關(guān)鍵字中輸入 AT89C52 右端出 現(xiàn)元件引腳和封裝的圖 如圖 5 3 所示 可在結(jié)果框圖內(nèi)上下點(diǎn)擊選擇你所需要的 元件的正確型號(hào)后 單擊確定 圖圖 5 1 總電路縮略框總電路縮略框 圖圖 5 2 元件搜索框元件搜索框 圖圖 5 3 元件引腳及封裝圖元件引腳及封裝圖 3 在主屏中單擊鼠標(biāo) 右鍵 放置 器件 AT89C52 即可將你選擇好的元件放 入電路編輯窗口中 放好后如圖 5 4 所示 圖圖 5 4 元件引腳圖元件引腳圖 4 通過(guò)上述方法放置其他元件 單擊所要連接的引腳 當(dāng)鼠標(biāo)變成鉛筆形狀后 再點(diǎn)任一點(diǎn)可使線折成 90 轉(zhuǎn)向 再點(diǎn)擊目標(biāo)引腳 連好各引腳 5 很多線路太過(guò)復(fù)雜 我們使用網(wǎng)絡(luò)標(biāo)號(hào)使電路簡(jiǎn)潔 單擊左邊工具欄中的網(wǎng) 絡(luò)標(biāo)號(hào)工具 軟件就進(jìn)入網(wǎng)絡(luò)標(biāo)號(hào)編輯狀態(tài) 單擊要做網(wǎng)絡(luò)標(biāo)號(hào)的連線 雙擊即可 顯示如圖5 5所示的網(wǎng)絡(luò)標(biāo)號(hào)設(shè)置窗口 在標(biāo)號(hào)后面的編輯框內(nèi)輸入對(duì)應(yīng)的網(wǎng)絡(luò)標(biāo)號(hào) 圖圖 5 5 網(wǎng)絡(luò)標(biāo)號(hào)設(shè)置圖網(wǎng)絡(luò)標(biāo)號(hào)設(shè)置圖 6 全部電路連好后 在 keil 軟件中編譯程序0錯(cuò)誤后 生成的 hex 文件 雙擊 單片機(jī)元件 彈出編輯元件框圖 如圖5 6所示 在 Program File 的編輯框右邊單擊 文件夾圖樣的按鍵 找到 hex 文件確定將其導(dǎo)入 再次確定后返回原界面 此時(shí)已 將單片機(jī)控制 LED 點(diǎn)陣的程序?qū)懭敕抡骐娐返膯纹瑱C(jī)中 圖圖 5 6 單片機(jī)編輯窗口單片機(jī)編輯窗口 5 4 Proteus 仿真結(jié)果仿真結(jié)果 在軟件界面的最左下角有四個(gè)實(shí)時(shí)仿真按鍵 單擊最左邊的播放按鍵 開(kāi)始仿 真 本畢業(yè)設(shè)計(jì)電路連接正確 程序0錯(cuò)誤 最終仿真成功 LED 顯示部分和 C 語(yǔ) 言程序編程結(jié)果一致 分別以靜態(tài) 上下移動(dòng) 左右移動(dòng) 顯示出笑臉的圖片和 學(xué)習(xí)單片機(jī) 的字樣 文字顯示有滾動(dòng)和卷簾等顯示方式 在目測(cè)條件下 LED 顯 示屏各亮點(diǎn)均勻 充足 穩(wěn)定 清晰無(wú)串?dāng)_ 仿真結(jié)果靜態(tài)截圖如圖5 7所示 9 圖圖 5 7 Proteus 仿真截圖仿真截圖 5 5 仿真問(wèn)題與解決仿真問(wèn)題與解決 5 1 節(jié)可以看到 在 Proteus 仿真軟件中 仿真電路中并沒(méi)有電源 時(shí)鐘和復(fù)位 電路這些電路 但一樣可以仿真通過(guò) 因?yàn)?Proteus 是一款很智能的專(zhuān)用仿真軟件 為了更快捷地得到仿真結(jié)果 部分外圍電路軟件自帶而無(wú)需我們繪制出來(lái) 但事實(shí) 是 即使添加此些電路 在實(shí)際電路中也無(wú)法正常顯示 這是因?yàn)閷?shí)際當(dāng)中 51 單片 機(jī)的各個(gè)引腳負(fù)載能力有限 必須還要通過(guò)外接驅(qū)動(dòng)電路才能很好的顯示 如外接 三極管放大 接鎖存器鎖存等等來(lái)增強(qiáng)驅(qū)動(dòng)能力 本設(shè)計(jì)采用了外接三極管放大的 方法成功調(diào)試出較好的顯示效果 10 第第 6 章章 總結(jié)與展望總結(jié)與展望 文主要講述的是如何用 51 系列單片機(jī)控制點(diǎn)陣 LED 顯示屏將文字 單色簡(jiǎn)單 圖片靜態(tài)或者動(dòng)態(tài)地顯示出來(lái) 本論文完成的主要工作有 1 對(duì)整個(gè)設(shè)計(jì)的工作原理做了大概的介紹 從 51 單片機(jī)內(nèi)部模塊 引腳功 能 外圍電路 點(diǎn)陣 LED 顯字原理及驅(qū)動(dòng)電路等方面 詳細(xì)了解整個(gè)設(shè)計(jì)的構(gòu)成 2 本次論文設(shè)計(jì)完成了用 4 個(gè) 8 8 點(diǎn)陣構(gòu)成的 16 16 的單色點(diǎn)陣 可以顯 示漢字和簡(jiǎn)單的圖像 3 后面的通過(guò) Keil 和 Proteus 軟件的調(diào)試和仿真驗(yàn)證了前面原理論證的實(shí)現(xiàn) 從而完成整個(gè)設(shè)計(jì) 本次論文設(shè)計(jì)也有局限性 每次只能

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論