基于AT89C52單片機(jī)設(shè)計(jì)3
《基于AT89C52單片機(jī)設(shè)計(jì)3》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于AT89C52單片機(jī)設(shè)計(jì)3(51頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Comment [U1]: ?!! 下面的行距都跟原來的封面不一 樣了,連論文題目也沒有。 。 。你 能不能用“論文”封面? BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 畢業(yè)設(shè)計(jì)(論文)任務(wù)書 (2016 屆) 所屬系(部): 機(jī)電工程學(xué)院 所學(xué)專業(yè): 通信技術(shù) 班 級(jí): 13通信技術(shù)班 姓 名: xxx 學(xué) 號(hào): xxx 指導(dǎo)教師: xxx 2015 年 7 月 7 日 Comment [U2]: 設(shè)計(jì)單片機(jī)?? BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 AT89C52單片機(jī)設(shè)計(jì) 通信技術(shù) Xxx Xxx 摘 要 計(jì)算器是微型電子計(jì)算機(jī)的一種特殊類型。它與一般通用計(jì)算機(jī)的主要區(qū)別在于程序輸入 方式的不同。計(jì)算器的程序一般都已經(jīng)固定,只需按鍵輸入數(shù)據(jù)和運(yùn)算符號(hào)就會(huì)得出結(jié)果,很 容易就能掌握。而一般計(jì)算機(jī)的程序可以根據(jù)需要隨時(shí)改動(dòng),或重新輸入新的程序。簡(jiǎn)易計(jì)算 器主要用于加減乘除;科學(xué)計(jì)算器,又增添了初等函數(shù)運(yùn)算。隨著微電子技術(shù)的不斷發(fā)展,微 處理芯片的集成程度越來越高,單片機(jī)已可以在一片芯片上同時(shí)集成cpu,存儲(chǔ)器,定時(shí)器, 計(jì)數(shù)器,并行和串行接口,看門狗,前置放大器,A|D 轉(zhuǎn)換器,D|A 轉(zhuǎn)換器等多種電路。完成 一定區(qū)間和條件的簡(jiǎn)單四則運(yùn)算過程。 關(guān)鍵詞:計(jì)算器,AT89C52,矩陣按鍵,LCD1602 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 目錄 第一章 緒論 ......................................................................1 1.1 課題的提出及意義 .............................................................1 1.2 設(shè)計(jì)的任務(wù)及要求 .............................................................1 第二章 總體方案設(shè)計(jì) ..............................................................3 2. 1 芯片比較 .....................................................................3 2.1.1 單片機(jī)選擇 .................................................................3 2.1.2 顯示器的選擇 ...............................................................3 2.1.3 按鍵部分的選擇 .............................................................4 2.2 總體設(shè)計(jì)及系統(tǒng)原理 ............................................................4 第三章 單片機(jī)硬件設(shè)計(jì) ............................................................6 3.1 單片機(jī)部分 ...................................................................6 3.1.1 單片機(jī)發(fā)展歷史 .............................................................6 3.1.2 單片機(jī)發(fā)展趨勢(shì) .............................................................6 3.1.3 計(jì)算器系統(tǒng)現(xiàn)狀 .............................................................7 3.1.4 AT89C52 系列單片機(jī)簡(jiǎn)介 ......................................................8 3. 2 矩陣按鍵部分 ................................................................16 3. 3 液晶顯示器部分 ..............................................................18 第四章 單片機(jī)軟件設(shè)計(jì) ...........................................................25 4.1 主程序設(shè)計(jì) ...................................................................25 4.2 鍵掃程序設(shè)計(jì) ................................................................25 4.3 算術(shù)運(yùn)算程序設(shè)計(jì) ............................................................26 4.4 顯示程序設(shè)計(jì) ................................................................27 第五章 單片機(jī)安裝、調(diào)試 .........................................................29 5.1 軟件仿真 ....................................................................29 5.2 安裝步驟 ....................................................................30 5.2.1 檢查元件的好壞 ............................................................30 5.2.2 放置、焊接各元件 ..........................................................30 5.3 調(diào)試 ........................................................................34 5.3.1 硬件調(diào)試 ..................................................................34 5.3.2 軟件調(diào)試 ..................................................................34 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 結(jié)束語 ..........................................................................35 致謝 ............................................................................36 參考文獻(xiàn) ........................................................................37 Comment [U3]: 你的本設(shè)計(jì)不就是 “畢業(yè)設(shè)計(jì)”嗎?怎么本設(shè)計(jì)去 提高解決畢業(yè)設(shè)計(jì)的能力?? Comment [U4]: Comment [U5]: 這些要不放在論文 最后總結(jié)那里。 這一節(jié)講的是“計(jì)算器”本身的 意義,不是做這個(gè)對(duì)你的意義。 Comment [U6]: 邏輯不對(duì)嗎?不是 先理論設(shè)計(jì)好了,再實(shí)踐的嗎? 上面那段都實(shí)踐完了,這里才理 論設(shè)計(jì)? BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 第一章 緒論 1.1 課題的提出及意義 隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步地提高,尤其是微電子技術(shù) 的發(fā)展猶如雨后春筍般的變化。計(jì)算器在人們的日常中是比較常見的電子產(chǎn)品之一,如 何使計(jì)算器技術(shù)更加的成熟,充分利用已有的軟件和硬件條件,設(shè)計(jì)出更出色的計(jì)算器, 使其更好地為各個(gè)行業(yè)服務(wù),成了如今電子領(lǐng)域重要的研究課題。現(xiàn)在人們的日常生活 中已經(jīng)離不開計(jì)算器了,社會(huì)的各個(gè)角落都有它。因此設(shè)計(jì)一款簡(jiǎn)單實(shí)用的計(jì)算器會(huì)有 很大的實(shí)際意義。 本設(shè)計(jì)在進(jìn)一步掌握單片機(jī)理論知識(shí),理解嵌入式單片機(jī)系統(tǒng)的硬軟件設(shè)計(jì),加強(qiáng) 對(duì)實(shí)際應(yīng)用系統(tǒng)設(shè)計(jì)的能力。通過本設(shè)計(jì)的學(xué)習(xí),使我掌握單片機(jī)程序設(shè)計(jì)和微機(jī)接口 應(yīng)用的基本方法,并能綜合運(yùn)用本科階段所學(xué)軟、硬件知識(shí)分析實(shí)際問題,提高解決畢 業(yè)設(shè)計(jì)實(shí)際問題的能力,為單片機(jī)應(yīng)用和開發(fā)打下良好的基礎(chǔ)。 對(duì)字符液晶顯示模塊的工作原理,如初始化、清屏、顯示、調(diào)用及外特性有較清楚 的認(rèn)識(shí),并會(huì)使用 LCD(液晶顯示模塊)實(shí)現(xiàn)計(jì)算結(jié)果的顯示;掌握液晶顯示模塊的驅(qū) 動(dòng)和編程,設(shè)計(jì) LCD和單片機(jī)的接口電路,以及利用單片機(jī)對(duì)液晶顯示模塊的驅(qū)動(dòng)和操 作; 在充分分析內(nèi)部邏輯的概念,進(jìn)行軟件和調(diào)試,學(xué)會(huì)使用,并能夠以其為平臺(tái)設(shè)計(jì) 出具有四則運(yùn)算能力簡(jiǎn)易計(jì)算器的硬件電路和軟件程序。 1.2 設(shè)計(jì)的任務(wù)及要求 目的:通過本次工程實(shí)踐,運(yùn)用《智能化測(cè)量控制儀表原理與設(shè)計(jì)》 、 《MCS-51○ 1 系列單片微型計(jì)算機(jī)及其應(yīng)用》所學(xué)知識(shí)及查閱相關(guān)資料,完成簡(jiǎn)易計(jì)算器的設(shè)計(jì),達(dá) 到理論知識(shí)與實(shí)踐更好結(jié)合、提高綜合運(yùn)用所學(xué)知識(shí)和設(shè)計(jì)能力的目的。 通過本次設(shè)計(jì)訓(xùn)練,可以使我們?cè)诨舅悸泛突痉椒ㄉ蠈?duì)基于 MCS-51單片機(jī)的嵌 入式系統(tǒng)設(shè)計(jì)有一個(gè)比較感性的認(rèn)識(shí),并具備一定程度的設(shè)計(jì)能力。 要求:○ 2 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 使用硬件:MCS-51 單片機(jī),中央處理器,數(shù)據(jù)存儲(chǔ)器(RAM),程序存儲(chǔ)器(ROM)等。 使用軟件:電子繪圖軟件 Protel。 (1)通過網(wǎng)絡(luò)及各種相關(guān)書籍查找相關(guān)信息,確定使用的元器件。 (2)以 MCS-51 單片機(jī)為核心,開發(fā)一個(gè)完整的系統(tǒng),包括硬件設(shè)計(jì)和軟件的編程。 (3)使用 Protel 軟件,繪制原理圖、PCB ,并進(jìn)行元器件安裝、焊接及調(diào)試檢測(cè)達(dá) 到預(yù)期的目的。矩陣按鍵輸入、LCD1602 液晶顯示,構(gòu)成一套可以運(yùn)算兩個(gè)數(shù)之間的加 減乘除的設(shè)計(jì)。最大運(yùn)算是:9999*9999,可以運(yùn)算負(fù)數(shù)。 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 第二章 總體方案設(shè)計(jì) 2. 1 芯片比較 2.1.1 單片機(jī)選擇 AT89C52 是美國 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS8 位單片機(jī),片內(nèi)含 8Kbytes 的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和 256bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器 (RAM) ,器件采用 ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn) MCS-51 指 令系統(tǒng)及 8052 產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器(CPU)和 FLASH 存儲(chǔ)單元, 功能強(qiáng)大 AT89C52 單片機(jī)適用于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。AT89C52 有 40 個(gè)引腳, 32 個(gè)外部雙向輸入/輸出(I/O) 端口,同時(shí)內(nèi)含 2 個(gè)外中斷口, 3 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,2 個(gè)讀寫口線,AT89C52 可以按照常規(guī)方法進(jìn)行編程,也可以在 線編程。其將通用的微處理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 Flash 存 儲(chǔ)器可有效地降低開發(fā)成本。 AT89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 2.1.2 顯示器的選擇 在單片機(jī)應(yīng)用系統(tǒng)中,使用的顯示器主要有 LED(發(fā)光二極管顯示器) 、LCD 液晶顯 示。 方案一:使用 8 位 LED 數(shù)碼管來顯示, LED 顯示器是由發(fā)光二極管顯示字段組成的 顯示器件,在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段 LED,這種顯示器有共陰極和共陽極 兩種,它具有成本低廉、配置靈活和單片機(jī)接口方便等特點(diǎn)。 方案二:使用液晶顯示器來顯示。液晶是介于固態(tài)和液態(tài)間的有機(jī)化合物,將其加 熱會(huì)變成透明液態(tài),冷卻后變成結(jié)晶的渾濁固態(tài)。在電機(jī)的作用下,產(chǎn)生冷熱變化,從 而影響它的透光性,來達(dá)到顯示的目的。LCD 還具有以下優(yōu)點(diǎn):(1)低壓、微功耗; (2)顯示信息量大;(3)長(zhǎng)壽命;(4)無輻射、無污染。選擇液晶顯示屏。 為了適應(yīng)本課題的需要,本設(shè)計(jì)采用液晶顯示屏 LCD1602 進(jìn)行顯示。 Comment [U7]: 這里是總體設(shè)計(jì)方 案,應(yīng)該放的是系統(tǒng)的原理框圖, 不是整體電路圖。 總的電路圖都全搞好了,后面的 章節(jié)你打算講什么? 另外,這個(gè)圖也太太模糊了吧? 根本看不清楚,打印出來就更不 知道是什么 BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 2.1.3 按鍵部分的選擇 根據(jù)操作需要和畢業(yè)設(shè)計(jì)需要,按鍵部分采用 4*4 行列式鍵盤,分別設(shè)定數(shù)字鍵和 功能鍵。 2.2總體設(shè)計(jì)及系統(tǒng)原理 大致原理圖如圖 2.2.1所示: 圖 2.2.1 原理圖 總的電路設(shè)計(jì)方案以單片機(jī) AT89S52 來作為核心元器件,外圍采用 4*4 行列式鍵 盤作為輸入,采用 lcd1602 液晶顯示來做輸出。這里重點(diǎn)介紹液晶輸出,它是一個(gè)雙行顯 Comment [U8]: Vss Comment [U9]: Vdd 后面的自己改。 Comment [U10]: Comment [U11]: Comment [U12]: Comment [U13]: BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 示的液晶顯示器,其采用標(biāo)準(zhǔn)的 16 腳接口。 1. vss 為地電源; 2. vdd 接 5v 正電源; 3. vo 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高, 對(duì)比度過高會(huì)產(chǎn)生影子,使用時(shí)可以通過一個(gè) 10k 的電位器調(diào)整對(duì)比度; 4. rs 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器; 5. rw 為讀寫信號(hào)線,高電平時(shí)選擇讀操作,低電平時(shí)選擇寫操作。當(dāng) rs和 rw 共同 為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) rs 為低電平 rw 為高電平時(shí)可以讀忙信號(hào), 當(dāng) rs 為高點(diǎn)平 rw 為低電平時(shí)可以寫入數(shù)據(jù)。 6. e 端為使能端,當(dāng) e 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令; 7. 7~14 d0~d7 為 8 位雙向數(shù)據(jù)線; 8. 15~16 分別為背光燈正負(fù)極,A 接正極,K 接負(fù)極。 Comment [U14]: 說真的~~ 你要設(shè) 計(jì)一塊新型“單片機(jī)”嗎? 如果你說的是設(shè)計(jì) 8952,小心別 人告你侵權(quán)呢 Comment [U15]: 后面兩節(jié)都刪了, 這部分也沒什么用了。都不要了。 BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 第三章 單片機(jī)硬件設(shè)計(jì) 3.1 單片機(jī)部分 目前,52 系列單片機(jī)在我國的各行各業(yè)得到了廣泛應(yīng)用,各大專業(yè)院校、職業(yè)培訓(xùn) 學(xué)校,均開設(shè)了單片機(jī)原理與應(yīng)用方面的課程,這是一門技術(shù)性和實(shí)踐性很強(qiáng)的學(xué)科, 必須通過一系列的軟硬件實(shí)驗(yàn)、理論聯(lián)系實(shí)際,才能學(xué)好、學(xué)懂,取得較好的學(xué)習(xí)效果。 3.1.1 單片機(jī)發(fā)展歷史 單片機(jī)(Microcontrollers)誕生于 1971年,經(jīng)歷了 SCM、MCU、SoC 三大階段,早 期的 SCM單片機(jī)都是 8位或 4位的。其中最成功的是 INTEL的 8051,此后在 8051上發(fā) 展出了 MCS51系列 MCU系統(tǒng)?;谶@一系統(tǒng)的 單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨 著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了 16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很 廣泛的應(yīng)用。90 年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著 INTEL i960系列特別是后來的 ARM系列的廣泛應(yīng)用,32 位單片機(jī)迅速取代 16位單片機(jī) 的高端地位,并且進(jìn)入主流市場(chǎng)。 而傳統(tǒng)的 8位單片機(jī)的性能也得到了飛速提高,處理能力比起 80年代提高了數(shù)百倍。 高端的 32位 Soc單片機(jī)主頻已經(jīng)超過 300MHz,性能直追 90年代中期的專用處理器,而 普通的型號(hào)出廠價(jià)格跌落至 1美元,最高端的型號(hào)也只有 10美元。 當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng) 被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至 可以直接使用專用的 Windows和 Linux操作系統(tǒng)。 3.1.2 單片機(jī)發(fā)展趨勢(shì) 單片機(jī)的發(fā)展趨勢(shì):低功耗 CMOS化;微型單片化;主流與多品種共存;單片機(jī)從 8位、16 位到 32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流 C51系列兼容的,也有不兼容的, 但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。 Comment [U16]: 這兩節(jié)都不要。 單片機(jī)怎么發(fā)展跟你這個(gè)系統(tǒng)基 本沒什么關(guān)系。你都選好了用哪 種單片機(jī)了,沒什么好說的。 Comment [U17]: 此標(biāo)題去掉,下 面兩段的內(nèi)容作為第三章的開頭。 加上“3.1 單片機(jī)最小系統(tǒng)”一 節(jié) BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 縱觀單片機(jī)的發(fā)展歷程,可以發(fā)現(xiàn)單片機(jī)的發(fā)展趨勢(shì)大致有: 1、低功耗 CMOS化 MCS-51系列的 8051推出時(shí)的功耗達(dá) 630mW,而現(xiàn)在的單片機(jī)普遍都在 100mW左 右,隨著對(duì)單片機(jī)功耗的要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了 CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像 80C51就采用了 HMOS(即高密度金屬氧化物半 導(dǎo)體工藝) 和 CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS 雖然功耗較低,但由于 其物理特征決定了其工作速度不夠高,而 CHMOS則具備了高速和低功耗的特點(diǎn),這些 特征,更適合于在要求低功耗象電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期 內(nèi)單片機(jī)發(fā)展的主要途徑。 2、微型單片化 現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程 序存儲(chǔ)器(ROM)、并行和串行通信接口、中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一 的芯片上,增強(qiáng)型的單片機(jī)集成了如 A/D轉(zhuǎn)換器、 PMW(脈寬調(diào)制電路)、WDT(看門狗), 有些單片機(jī)將 LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就 更多,功能就更強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自 己特色的單片機(jī)芯片。 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低 外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中 SMD(表面封裝) 越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。 3、主流與多品種共存 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍是以 80C51為核心的單片機(jī)占主流, 兼容其結(jié)構(gòu)和指令系統(tǒng)的有 PHILIPS公司的產(chǎn)品, ATMEL公司的產(chǎn)品和中國臺(tái)灣的 Winbond系列單片機(jī)。因此以 80C51為核心的單片機(jī)占據(jù)了半壁江山。而 Microchip公司 的 PIC精簡(jiǎn)指令集 (RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國臺(tái)灣的 HOLTEK公司近年的單片 機(jī)產(chǎn)量與日俱增,以其價(jià)低質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)份額。此外還有 MOTOROLA 公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種形勢(shì)將得以延續(xù),將 不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。 3.1.3 計(jì)算器系統(tǒng)現(xiàn)狀 Comment [U18]: 你這是單片機(jī)教 材嗎?你都用了 8頁紙來說單片 機(jī)了,加上前面那頁 9頁?。?! 這根本就是把單片機(jī)那本書的第 一章粘貼上去吧?!! 全部刪掉,51 單片機(jī)是誰都知道 是啥的東西,根本不需要你來給 大家介紹。你如要介紹單片機(jī), 就簡(jiǎn)單點(diǎn)說說單片機(jī)的結(jié)構(gòu),重 點(diǎn)放在單片機(jī)的最小系統(tǒng),幅面 一頁紙以內(nèi),加上圖,最多不能 超過 1頁半紙。把單片機(jī)的內(nèi)容 全放在 “3.1 單片機(jī)最小系統(tǒng)”一節(jié)中。 Comment [U19]: 小四號(hào) 不過反正可能要?jiǎng)h了,后面的單 片機(jī)部分有問題我就不標(biāo)注了 BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 計(jì)算器一般由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤、顯示器、電源和一些可選外圍設(shè)備 及電子配件通過人工或機(jī)器設(shè)備組成。低檔計(jì)算器的運(yùn)算器、控制器由數(shù)字邏輯電路實(shí) 現(xiàn)簡(jiǎn)單的串行運(yùn)算,其隨機(jī)存儲(chǔ)器只有一、二個(gè)單元,供累加存儲(chǔ)用。高檔計(jì)算器由微 處理器和只讀存儲(chǔ)器實(shí)現(xiàn)各種復(fù)雜的運(yùn)算程序,有較多的隨機(jī)存儲(chǔ)單元以存放輸入程序 和數(shù)據(jù)。鍵盤是計(jì)算器的輸入部件,一般采用接觸式或傳感式。為減小計(jì)算器的尺寸, 一鍵常常有多種功能。顯示器是計(jì)算器的輸出部件,有發(fā)光二極管顯示器和液晶顯示器 等。除顯示計(jì)算結(jié)果外,還常有溢出指示、錯(cuò)誤指示等。計(jì)算器電源采用交流轉(zhuǎn)換器或 電池,電池可用交流轉(zhuǎn)換器或太陽能轉(zhuǎn)換器再充電。為節(jié)省電能,計(jì)算器都采用 CMOS 工藝制作的大規(guī)模集成電路(見互補(bǔ)金屬-氧化物-半導(dǎo)體集成電路) ,并在內(nèi)部裝有定時(shí) 不操作自動(dòng)斷電電路。計(jì)算器可選用的外圍設(shè)備有微型打印機(jī)、盒式磁帶機(jī)和磁卡機(jī)等。 本計(jì)算器是以 MCS-51系列單片機(jī) AT89C52為核心構(gòu)成的簡(jiǎn)易計(jì)算器系統(tǒng)。該系統(tǒng) 通過單片機(jī)控制,實(shí)現(xiàn)對(duì) 4*4鍵盤掃描進(jìn)行實(shí)時(shí)的按鍵檢測(cè),并把檢測(cè)數(shù)據(jù)存儲(chǔ)下來。 整個(gè)計(jì)算器系統(tǒng)的工作過程為:首先存儲(chǔ)單元初始化,顯示初始值和鍵盤掃描,判斷按 鍵位置,查表得出按鍵值,單片機(jī)則對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存與相應(yīng)處理轉(zhuǎn)換,之后送入 LED顯 示器動(dòng)態(tài)顯示。整個(gè)系統(tǒng)可分為兩個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤掃描;功能 模塊二,數(shù)據(jù) 1602顯示。 3.1.4 AT89C52系列單片機(jī)簡(jiǎn)介 AT89C52單片機(jī)的硬件結(jié)構(gòu)○ 1 如圖 3-1所示,為 AT89C52的硬件結(jié)構(gòu)圖。AT89C52 單片機(jī)的內(nèi)部結(jié)構(gòu)與 MCS-51 系列單片機(jī)的構(gòu)成基本相同。CPU 是由運(yùn)算器和控制器所構(gòu)成的。運(yùn)算器主要用來對(duì)操 作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作的??刂破魇菃纹瑱C(jī)的指揮控制部件,主要任務(wù)的識(shí) 別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié) 調(diào)地工作。它的程序存儲(chǔ)器為 8K字節(jié)可重擦寫 Flash閃速存儲(chǔ)器,閃爍存儲(chǔ)器允許在線 +5V電擦除、電寫入或使用編程器對(duì)其重復(fù)編程。 數(shù)據(jù)存儲(chǔ)器比 51系列的單片機(jī)相比大 了許多為 256字節(jié) RAM。AT89C52單片機(jī)的指令系統(tǒng)和引腳功能與 MCS-51的完全兼容。 單片機(jī) AT89C52結(jié)構(gòu)框圖如圖 3.1.1所示。 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 圖 3.1.1 單片機(jī) AT89C52 結(jié)構(gòu)框圖 主要性能參數(shù)○ 2 ? 8K 字節(jié)可重擦寫 Flash 閃速存儲(chǔ)器 ? 1000 次可擦寫周期 ? 全靜態(tài)操作: 0Hz-24MHz ? 三級(jí)加密程序存儲(chǔ)器 ? 2568 字節(jié)內(nèi)部 RAM ? 32 個(gè)可編程 I/O 口線 ? 3 個(gè) 16 位定時(shí)/ 計(jì)數(shù)器 ? 8 個(gè)中斷源 ? 可編程串行 UART 通道 ? 低功耗空閑和掉電模式 AT89C52 外部引腳圖如圖圖 3.1.2 所示: CPU 串行 通訊口 RAM 輸入 輸出接口 計(jì)數(shù) 器 定時(shí) 器時(shí)鐘 FLAS H BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 圖 3.1.2 AT89C52 外部引腳圖 AT89C52 管腳說明○ 3 VCC:電源 GND:接地 P0 口:P0 口是一個(gè) 8 位漏級(jí)開路的雙向 I/O 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) TTL 邏輯電平。對(duì) P0 口端口寫 ”1”時(shí),引腳作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí), P0 口也被作為低 8 位地址 /數(shù)據(jù)復(fù)用。在這種模式下,P0 具有內(nèi)部上拉電阻。 在 flash 編程時(shí), P0 口也用來接受指令字節(jié):在程序效驗(yàn)時(shí),輸出指令字節(jié)。程序效 驗(yàn)時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位是雙向 I/O 口,P1 的輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流)4 個(gè) TTL 邏輯電平。對(duì) P1 口寫”1”時(shí),內(nèi)部上拉電阻的原因,將輸 出電流 ILL。 此外,與 AT89C51 不同之處是,P1.0 和 P1.1 還可分別作為定時(shí) /計(jì)數(shù)器 2 的外部計(jì) 數(shù)輸入(P1.0/T2 )和輸出(P1.1/T2EX) ,具體如表 3.1.1 所示。 表 3.1.1 P1.0 和 P1.1 的第二功能 引腳號(hào) 功能特性 P1.0 T2(定時(shí)/計(jì)數(shù)器 2 外部計(jì)數(shù)脈沖輸入) ,時(shí)鐘輸出 P1.1 T2EX 定時(shí)/計(jì)數(shù) 2 捕獲/重裝載觸發(fā)和方向控制 在 Flash 編程和校驗(yàn)時(shí),P1 口接收低 8 位地址字節(jié)。 P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖級(jí)可驅(qū)動(dòng)吸收 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 或輸出電流 4 個(gè) TTL 邏輯電平。對(duì) P2 口寫”1” 時(shí),通過內(nèi)部上拉電阻把端口拉高,此時(shí) 可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸 出電流 ILL。 在訪問外部好曾許存儲(chǔ)器或用 16 位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高 8 位地 址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址訪問外部數(shù)據(jù)存 儲(chǔ)器時(shí),P2 口輸出 P2 鎖存器的內(nèi)容。在 Flash 編程和校驗(yàn)時(shí),P2 口接收低 8 位地址字節(jié) 和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P3 輸出緩沖級(jí)可驅(qū)動(dòng)(吸 收或輸出電流)4 個(gè) TTL 邏輯電平。對(duì) P3 口寫”1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí) 可以作為輸入端口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將 輸出電流 ILL。P3 口除了作為一般、的 I/O 口線外,更重要的是它的第二功能,如表 3.1.2 所示: 表 3.1.2 P3 口引腳第二功能 引腳號(hào) 第二功能 P3.0 RXD(串行輸入) P3.1 TXD(串行輸出) P3.2 INT0(外部中斷 0) P3.3 INT1(外部中斷 1) P3.4 T0(定時(shí)器 0 外部輸入) P3.5 T1(定時(shí)器 1 外部輸入) P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) 在 Flash 編程和校驗(yàn)時(shí),P3 口也接收一些控制信號(hào)。 RST:復(fù)位輸入。晶振工作時(shí),RST 腳持續(xù) 2 個(gè)機(jī)器周期以高電平將使用單片機(jī)復(fù)位。 ALE/PROG:地址鎖存器控制信號(hào)(ALE )是訪問外部程序存儲(chǔ)器時(shí),鎖存低 8 位 地址的輸出脈沖。在 Flash 編程時(shí),此引腳( PROG)也使用作編程輸入脈沖。 在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器 或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE 脈沖將會(huì)跳過。 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 如果需要,通過將地址為 8EH 的 SFR 的第 0 位置 ”1”,ALE 操作無效。這一位置”1”, ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè) ALE 使能 標(biāo)志位的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。 PSEN :外部程序儲(chǔ)存器選通信號(hào)( PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89C52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí), 在每個(gè)機(jī)器周期被激活兩次,而在 訪問外部數(shù)據(jù)儲(chǔ)存器時(shí), PSE將不被激活。/AV :訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從 0000H—FFFFH 的外部程序存 儲(chǔ)器讀取指令, 端必須保持低電平(接地) 。為了執(zhí)行內(nèi)部程序指令, EA應(yīng)該接 VCC。 在 flash 編程期間, EA也接受 12 伏 VPP 電壓。 XTA L1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTA L2:振蕩器反相放大器的輸出端。 存儲(chǔ)器結(jié)構(gòu)○ 4 MCS-51 器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可 以 64K 尋址。 1. 程序存儲(chǔ)器 如果 EA 引腳接地,程序讀取只從外部存儲(chǔ)器開始。 對(duì)于 89C52,如果 EA 接 VCC,程序先從內(nèi)部存儲(chǔ)器(地址為 0000H~1FFFFH)開 始,接著從外部尋址,尋址范圍為:2000H~FFFFH。 2. 數(shù)據(jù)存儲(chǔ)器 AT89C52 有 256 字節(jié) RAM。高 128 字節(jié)與特殊功能寄存器重疊。也就是說高 128 字 節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于 7FH 的地 址時(shí),尋址方式?jīng)Q定 CPU 訪問高字節(jié) RAM 還是特殊功能寄存器空間。直接尋址方式訪 問特殊功能寄存器(SFR ) 。 定時(shí)器○ 5 1. 定時(shí)器 0 和定時(shí)器 1 在 AT89C52 中,定時(shí)器 0 和定時(shí)器 1 都是 16 位加法計(jì)數(shù)結(jié)構(gòu),分別由 TH0(地址 8CH)和 TL0(地址 8AH)及 TH1(地址 8DH)和 TL1(地址 8BH)兩個(gè) 8 位計(jì)數(shù)器組 成。這 4 個(gè)計(jì)數(shù)器均屬于專用寄存器之列。每個(gè)定時(shí)器/計(jì)數(shù)器都有定時(shí)和計(jì)數(shù)兩種功能。 2. 計(jì)數(shù)功能 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 所謂的計(jì)數(shù)功能是指對(duì)外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此 計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外脈沖進(jìn)行計(jì)數(shù)。MCS-51 系列的芯片有 T0(P3.4 )和 T1(P3.5 )兩個(gè)信號(hào)引腳,分別就是這兩個(gè)計(jì)數(shù)器的計(jì)數(shù)輸入端。外部輸入的脈沖在負(fù)跳 變時(shí)有效,進(jìn)行計(jì)數(shù)器加 1。 計(jì)數(shù)方式下,單片機(jī)在每個(gè)機(jī)器周期的 S5P2 拍節(jié)對(duì)外部計(jì)數(shù)脈沖進(jìn)行采樣。如果前 一個(gè)機(jī)器周期采樣為高電平,后一個(gè)機(jī)器周期采樣為低電平,即為一個(gè)有效計(jì)數(shù)脈沖。 在下一個(gè)機(jī)器周期的 S3P1 進(jìn)行計(jì)數(shù)??梢姴蓸佑?jì)數(shù)脈沖是在 2 個(gè)機(jī)器周期進(jìn)行的。鑒于 此,計(jì)數(shù)脈沖的頻率不能高于振蕩脈沖的頻率不能高于振蕩脈沖頻率的 1/24。 3. 定時(shí)功能 定時(shí)器也是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的,不過此時(shí)的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部, 即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖。也就是每個(gè)機(jī)器周期計(jì)數(shù)加 1。由于一個(gè)機(jī)器周期等 于 12 個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的 1/12。如果單片機(jī)采用 12MHz 晶體, 則計(jì)數(shù)頻率為 1MHz。即每微秒計(jì)數(shù)器加 1。這樣不但可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間, 也可以反過來按定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的預(yù)置值。 4. 定時(shí)器 2 定時(shí)器 2 是一個(gè) 16 位定時(shí)器/計(jì)數(shù)器,它既可以作定時(shí)器,又可以做事件計(jì)數(shù)器。其 工作方式由特殊寄存器 T2CON 中的 C/T2 位選擇(如表 2 所示) 。定時(shí)器 2 有三種工作模 式:捕捉方式、自動(dòng)重載(向上或向下計(jì)數(shù))和波特率發(fā)生器。如表 3.3 所示,工作模式 由 T2CON 中的相關(guān)為選擇。定時(shí)器 2 有 2 個(gè) 8 位寄存器: TH2 和 TL2。在定時(shí)工作方式 中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加 1。由于一個(gè)機(jī)器周期由 12 個(gè)晶振周期構(gòu)成,因 此,計(jì)數(shù)頻率就是晶振頻率的 1/12。定時(shí)器 2 工作模式如表 3.1.3 所示: 表 3.1.3 定時(shí)器 2 工作模式 RCLK+TCLK CP/RL2 TR2 MODE 0 0 1 16 位自動(dòng)重載 0 1 1 16 位捕捉 1 1 波特率發(fā)生器 0 不用 在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角 T2 發(fā)生 1 至 0 的下降沿時(shí)增加 1。在 這種方式下,每個(gè)機(jī)器周期的 S5P2 期間采樣外部輸入。一個(gè)周期采樣到高電平,而下一 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 個(gè)周期采樣到低電平,計(jì)數(shù)器加 1。在檢測(cè)到跳變的這個(gè)周期的 S3P1 期間,新的計(jì)數(shù)值 出現(xiàn)在寄存器中。因?yàn)樽R(shí)別 1—0 的跳變需要 2 個(gè)機(jī)器周期(24 個(gè)晶振周期) ,所以,最 大的計(jì)數(shù)頻率不高于晶振頻率的 1/24。為了確保給定的電平在采樣前采樣到一次,電平 應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。T2MOD-定時(shí)器 2 控制寄存器如表 3.1.4 所示: 表 3.4 T2MOD-定時(shí)器 2 控制寄存器 T2MOD 地址:0C9H 復(fù)位值:00B - - - - - - T2OE DCEN 7 6 5 4 3 2 1 0 符號(hào) 功能 — 無定義,預(yù)留擴(kuò)展 T2OE 定時(shí)器 2 輸出允許位 DCEN 置 1 后,定時(shí)器 2 可配置向上或向下計(jì)數(shù) 中斷○ 6 AT89C52 有 6 個(gè)中斷源:兩個(gè)外部中斷(INT0 和 INT1) ,三個(gè)定時(shí)中斷定時(shí)器 0、1、2 和一個(gè)串行中斷。每個(gè)中斷源都可以通過置位或清除特殊寄存器 IE 中的相關(guān)中 斷允許控制位分別使得中斷源有效或無效。IE 還包括一個(gè)中斷總控制位 EA,它能禁止所 有中斷。 如表 3.5 所示,IE.6 位是不可用的。對(duì)于 AT89S52,IE.5 位也是不能用的。用戶軟件 不應(yīng)給這些位寫 1。它們?yōu)?AT89 系列新產(chǎn)品預(yù)留。 定時(shí)器 2 可以被寄存器 T2CON 中的 TF2 和 EXF2 的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù) 后,這些標(biāo)志位都可以由硬件清 0。實(shí)際上,中斷服務(wù)程序必須判定是否是 TF2 或 EXF2 激活中斷。標(biāo)志位也必須由軟件清 0。 定時(shí)器 0 和定時(shí)器 1 標(biāo)志位 TF0 和 TF1 在計(jì)數(shù)溢出的那個(gè)周期的 S5P2 被置位。它們 的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器 2 的標(biāo)志位 TF2 在計(jì)數(shù)溢出的那 個(gè)周期被置位,在同一個(gè)周期被電路捕捉下來。中斷允許控制位如表 3.1.5 所示: BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 表 3.1.5 中斷允許控制位 符號(hào) 位地址 功能 EA IE.7 中斷允許控制位,EA=0,中斷總禁止;EA=1,各中 斷由各自的控制位設(shè)定 - IE.6 預(yù)留 ET2 IE.5 定時(shí)器 2 中斷允許控制位 ES IE.4 串行口中斷允許控制位 ET1 IE.3 定時(shí)器 1 中斷允許控制位 EX1 IE.2 外部中斷 1 允許控制位 ET0 IE.1 定時(shí)器 0 中斷允許控制位 EX0 IE.0 外部中斷 0 允許控制位 晶振特性○ 7 AT89C52 單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1 和 XTAL2 分別 是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從 外部時(shí)鐘遠(yuǎn)驅(qū)動(dòng)器件的話,XTAL2 可以不接,而從 XTAL1 接入。由于外部時(shí)鐘信號(hào)經(jīng) 過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有其它要求, 最長(zhǎng)低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。 石英晶振 C1,C2=30PF+-10PF 陶瓷諧振器 C1,C2=40PF+-10PF 空閑模式○ 8 在空閑工作模式下,CPU 處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種 狀態(tài)可以通過軟件產(chǎn)生。在這種狀態(tài)下,片上 RAM 和特殊功能寄存器的內(nèi)容保持不變。 空閑模式可以被任一個(gè)中斷或硬件復(fù)位中止。由硬件復(fù)位終止空閑模式只需兩個(gè)機(jī) 器周期有效復(fù)位信號(hào),在這種情況下,片上硬件禁止訪問內(nèi)部 RAM,而可以訪問端口引 腳??臻e模式被硬件復(fù)位終止后,為了防止預(yù)想不到的寫端口,激活空閑模式的那一條 指令的下一條指令不應(yīng)該是寫端口或外部存儲(chǔ)器。 掉電模式○ 9 在掉電模式下,晶振停止工作,激活掉電模式的指令是最后一條執(zhí)行指令。片上 RAM 和特殊功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過硬件復(fù)位和外 部中斷退出。復(fù)位重新定義例如 SFR 的值。在 VCC 未恢復(fù)到正常工作電壓時(shí),硬件復(fù)位 Comment [U20]: 以上 8頁均為單 片機(jī)內(nèi)容,全部刪了。 Comment [U21]: 句號(hào)。下同 BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 不能無效。并且應(yīng)保持足夠長(zhǎng)的時(shí)間以使晶振重新工作和初始化??臻e模式和掉電模式 下的外部引腳狀態(tài)如表 3.1.6所示: 表 3.1.6 空閑模式和掉電模式下的外部引腳狀態(tài) 模式 程序存儲(chǔ)器 ALE PESN PORT0 PORT1 PORT2 PORT3 空閑 內(nèi)部 1 1 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 空閑 外部 1 1 浮空 數(shù)據(jù) 地址 數(shù)據(jù) 掉電 內(nèi)部 0 0 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 掉電 外部 0 0 浮空 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 3. 2 矩陣按鍵部分 鍵盤是單片機(jī)系統(tǒng)中最常用的人機(jī)對(duì)話輸入設(shè)備,用戶通過鍵盤向單片機(jī)輸入數(shù)據(jù) 或指令。鍵盤控制程序需完成的任務(wù)有:監(jiān)測(cè)是否有鍵按下,有鍵按下時(shí),若無硬件去 抖動(dòng)電路時(shí),應(yīng)用軟件延時(shí)方法消除按鍵抖動(dòng)影響;當(dāng)有多個(gè)鍵同時(shí)按下時(shí),只處理一 個(gè)按鍵,不管一次按鍵持續(xù)多長(zhǎng)時(shí)間,僅執(zhí)行一次按鍵功能程序。 矩陣按鍵掃描程序是一種節(jié)省 I/O口的方法,按鍵數(shù)目越多節(jié)省 I/O口就越可觀,思路: 先判斷某一列(行)是否有按鍵按下,再判斷該行(列)是哪一只鍵按下。但是,在程 序的寫法上,采用了最簡(jiǎn)單的方法,使得程序效率最高。本程序中,如果檢測(cè)到某鍵按 下了,就不再檢測(cè)其它的按鍵,這完全能滿足絕大多數(shù)需要,又能節(jié)省大量的 CPU時(shí)間。 采用 4x4鍵盤與單片機(jī)的 P1口相連,連接電路如圖 4所示。*設(shè)為復(fù)位鍵,按下時(shí), 清零,液晶顯示為 0。 按鍵說明圖如圖 3.2.1所示: 按鍵電路流程圖如圖 3.1.2所示: Comment [U22]: 模糊。 圖和圖名要放在同一頁。位置不 夠另起頁。 BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 圖 3.2.1 按鍵說明圖 圖 3.1.2 按鍵電路流程圖 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 3. 3 液晶顯示器部分 1602 字符型 LCD 簡(jiǎn)介○ 1 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式 LCD,目前常 用 16*1,16*2,20*2 和 40*2 行等的模塊。下面以長(zhǎng)沙太陽人電子有限公司的 1602 字符 型液晶顯示器為例,介紹其用法。一般 1602 字符型液晶顯示器實(shí)物如圖 3.3.1 所示: 圖 3.3.1 1602 字符型液晶顯示器實(shí)物圖 1602LCD 的基本參數(shù)及引腳功能○ 2 1602LCD 分為帶背光和不帶背光兩種,基控制器大部分為 HD44780,帶背光的比不 帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如圖 3.3.2 所示: 圖 3.3.2 1602LCD 尺寸圖 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 1602 LCD 主要技術(shù)參數(shù):○ 3 顯示容量:162 個(gè)字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.954.35(WH)mm 引腳功能說明○ 4 1602LCD 采用標(biāo)準(zhǔn)的 14 腳(無背光)或 16 腳(帶背光)接口,各引腳接口說明如 表 3.3.1 所示: 表 3.3.1 引腳接口說明表 編號(hào) 符號(hào) 引腳說明 編號(hào) 符號(hào) 引腳說明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號(hào) 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第 1 腳:VSS 為地電源。 第 2 腳:VDD 接 5V 正電源。 第 3 腳:VL 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最 高,對(duì)比度過高時(shí)會(huì)產(chǎn)生”鬼影” ,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對(duì)比度。 第 4 腳:RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第 5 腳:R/W 為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng) RS 和 R/W 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時(shí)可 以讀忙信號(hào),當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫入數(shù)據(jù)。 第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第 7~14 腳:D0~D7 為 8 位雙向數(shù)據(jù)線。 Comment [U23]: ?? BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 第 15腳:背光源正極。 第 16腳:背光源負(fù)極。 1602LCD的指令說明及時(shí)序○5 1602液晶模塊內(nèi)部的控制器共有 11條控制指令,如表 3.3.2所示: 表 3.3.2 控制命令表 序號(hào) 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開/關(guān)控制 0 0 0 0 0 0 1 D C B 5 光標(biāo)或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 0 1 BF 計(jì)數(shù)器地址 10 寫數(shù)到 CGRAM或DDRAM) 1 0 要寫的數(shù)據(jù)內(nèi)容 11 從 CGRAM或 DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明: 1為高電平、0 為低電平) 指令 1:清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 指令 3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏 幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表 示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo) 是否閃爍,高電平閃爍,低電平不閃爍。 指令 5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 指令 6:功能設(shè)置命令 DL:高電平時(shí)為 4 位總線,低電平時(shí)為 8 位總線 N:低電平 時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示 5x10 的點(diǎn)陣字符。 指令 7:字符發(fā)生器 RAM 地址設(shè)置。 指令 8:DDRAM 地址設(shè)置。 指令 9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收 命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 與 HD44780 相兼容的芯片時(shí)序表如表 3.3.3 所示: 表 3.3.3 基本操作時(shí)序表 讀狀態(tài) 輸入 RS=L,R/W=H,E=H 輸出 D0—D7=狀態(tài)字 寫指令 輸入 RS=L,R/W=L,D0—D7= 指令碼,E= 高 脈沖 輸出 無 讀數(shù)據(jù) 輸入 RS=H,R/W=H,E=H 輸出 D0—D7=數(shù)據(jù) 寫數(shù)據(jù) 輸入 RS=H,R/W=L,D0—D7=數(shù)據(jù),E= 高 脈沖 輸出 無 讀寫操作時(shí)序如圖 3.3.3 和 3.3.4 所示: 圖 3.3.3 讀操作時(shí)序 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 圖 3.3.4 寫操作時(shí)序圖 1602LCD 的 RAM 地址映射及標(biāo)準(zhǔn)字庫表○ 6 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo) 志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就 是告訴模塊在哪里顯示字符,1602 的內(nèi)部顯示地址圖如圖 3.3.5 所示: 圖 3.3.5 1602LCD 內(nèi)部顯示地址 例如第二行第一個(gè)字符的地址是 40H,那么是否直接寫入 40H 就可以將光標(biāo)定位在 第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位 D7 恒定為高電 平 1 所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是 01000000B(40H )+10000000B(80H)=11000000B(C0H) 。 在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng) 右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。 1602 液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了 160 個(gè)不同的點(diǎn)陣字符 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 圖形,如圖 10-58 所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和 日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母”A”的代碼是 01000001B(41H),顯示時(shí)模塊把地址 41H 中的點(diǎn)陣字符圖形顯示出來,我們就能看到 字母”A”,字符代碼與圖形對(duì)應(yīng)圖如圖圖 3.3.6 所示: 圖 3.3.6 字符代碼與圖形對(duì)應(yīng)圖 1602LCD 的一般初始化(復(fù)位)過程○ 7 延時(shí) 15mS 寫指令 38H(不檢測(cè)忙信號(hào)) 延時(shí) 5mS 寫指令 38H(不檢測(cè)忙信號(hào)) 延時(shí) 5mS 寫指令 38H(不檢測(cè)忙信號(hào)) 以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào) 寫指令 38H:顯示模式設(shè)置 寫指令 08H:顯示關(guān)閉 寫指令 01H:顯示清屏 寫指令 06H:顯示光標(biāo)移動(dòng)設(shè)置 寫指令 0CH:顯示開及光標(biāo)設(shè)置 硬件使用原理圖○ 8 BatchDoc Word 文檔批量處理工具 BatchDoc Word 文檔批量處理工具 1602 液晶顯示模塊可以和單片機(jī) AT89C51 直接接口,電路如圖 3.3.7 所示: 圖 3.3.7 硬件使用原理圖 Comment [U24]: !! 系統(tǒng)軟件設(shè)計(jì) BatchDoc Word文檔批量處理工具 BatchDoc Word文檔批量處理工具 第四章 單片機(jī)軟件設(shè)計(jì) 本系統(tǒng)程序包括主程序、鍵盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接 收命令子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。鍵盤掃描子程序用于掃描鍵 盤狀態(tài),將被按鍵的位置號(hào)存入緩沖器中。發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或 斷開碼發(fā)送給單片機(jī)接口。發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給單片機(jī)接口。接收命令子程 序用于接收單片機(jī)接口發(fā)來的鍵盤命- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
28 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 AT89C52 單片機(jī) 設(shè)計(jì)
鏈接地址:http://m.appdesigncorp.com/p-12839357.html