找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 12663|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)LCD1602計(jì)算器課程設(shè)計(jì)報(bào)告

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:363782 發(fā)表于 2018-7-3 10:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
嵌入式系統(tǒng)原理及應(yīng)用
課程設(shè)計(jì)報(bào)告

目錄

引言
第一章硬件介紹
1.1單片機(jī)介紹
1.2 設(shè)計(jì)所用開(kāi)發(fā)板的介紹
1.3 LCD1602的原理及其應(yīng)用
1.3.1開(kāi)發(fā)板硬件連接關(guān)系
1.3.2液晶屏LCD1602的功能及應(yīng)用
1.3.31602LCD的指令說(shuō)明及時(shí)序
1.3.4 1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表
1.4開(kāi)發(fā)板矩陣鍵盤(pán)原理及應(yīng)用
第二章設(shè)計(jì)思路、仿真及調(diào)試
2.1 設(shè)計(jì)方法
2.2 硬件簡(jiǎn)介
2.3 軟件設(shè)計(jì)
2.3.1 矩陣鍵盤(pán)
2.3.2 LCD1602
第三章設(shè)計(jì)結(jié)果
第四章設(shè)計(jì)總結(jié)
附錄

引言
目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:
(1)在智能儀器儀表上的應(yīng)用
(2)在工業(yè)控制中的應(yīng)用
(3)在家用電器中的應(yīng)用
(4)在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用
(5)單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用
(6)在各種大型電器中的模塊化應(yīng)用
(7)單片機(jī)在汽車(chē)設(shè)備領(lǐng)域中的應(yīng)用
此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。
隨著智能化的逐步提高,單片機(jī)在我們生活中得到了越來(lái)越廣泛的應(yīng)用,其是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。本設(shè)計(jì)要制作的就是單片機(jī)于生活中最為常見(jiàn)的異種應(yīng)用——簡(jiǎn)易計(jì)算器。本簡(jiǎn)易計(jì)算器是在普中HC6800 V3.0開(kāi)發(fā)板的基礎(chǔ)上,利用開(kāi)發(fā)板上已有的資源設(shè)計(jì)開(kāi)發(fā)的,本開(kāi)發(fā)板上有著相對(duì)豐富的硬件資源,可以較好的完成一些設(shè)計(jì)。
本設(shè)計(jì)所用的單片機(jī)為STC90C516RD+,具體的設(shè)計(jì)要求如下:通過(guò)矩陣鍵盤(pán)檢測(cè)按下的數(shù)字和運(yùn)算符號(hào),在LCD1602液晶顯示屏上面顯示運(yùn)算的結(jié)果,在第一行上顯示輸入的計(jì)算式,為左對(duì)齊;在第二行顯示等于號(hào)以及最后的運(yùn)算結(jié)果,為了較好的顯示效果和使用的效果,第二行的計(jì)算結(jié)果顯示設(shè)計(jì)為右對(duì)齊。這樣在LCD1602的顯示屏上可以有較好的顯示效果,計(jì)算效果比較分明。
總體上來(lái)說(shuō),作為本嵌入式原理課程的設(shè)計(jì)作業(yè),本設(shè)計(jì)的實(shí)現(xiàn)難度不大。

第一章硬件介紹
如上所述,本課程的課程設(shè)計(jì)是在普中的單片機(jī)開(kāi)發(fā)板上面完成的,可以直接使用開(kāi)發(fā)板上面的硬件設(shè)計(jì),相對(duì)于普通的硬件設(shè)計(jì)而言,省去了很多硬件設(shè)計(jì)上面的過(guò)程和時(shí)間,提高了本設(shè)計(jì)的效率,加快了設(shè)計(jì)的流程。但在相應(yīng)的軟件設(shè)計(jì)之前,我們需要對(duì)開(kāi)發(fā)板的硬件設(shè)計(jì)有著清楚的了解,以免在設(shè)計(jì)過(guò)程中出現(xiàn)一些不必要的麻煩和錯(cuò)誤,影響設(shè)計(jì)進(jìn)度。下面開(kāi)始即對(duì)開(kāi)發(fā)板的硬件連接做一些詳細(xì)而必要的介紹。
1.1單片機(jī)介紹
單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫(xiě)MCU表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專(zhuān)用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專(zhuān)用處理器的發(fā)展便分道揚(yáng)鑣。
本設(shè)計(jì)所使用的單片機(jī)為STC的STC90C516RD。根據(jù)STC官方的介紹,本單片機(jī)有著以下特點(diǎn):
STC90C516RD+系列單片機(jī)是宏晶科技推出的新一代超高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,內(nèi)部集成MAX810專(zhuān)用復(fù)位電路,時(shí)鐘頻率在12MHz以下時(shí),復(fù)位腳可直接接地。
1.增強(qiáng)型6 時(shí)鐘/ 機(jī)器周期,12 時(shí)鐘/ 機(jī)器周期 8051 CPU
2.工作電壓:5.5V - 3.8V(5V 單片機(jī))/3.8V - 2.4V(3V 單片機(jī))
3.工作頻率范圍:0-40MHz,相當(dāng)于普通8051的 0~80MHz.
4.用戶(hù)應(yīng)用程序空間 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字節(jié)
5.片上集成 1280字節(jié)/512/256字節(jié) RAM
6.通用I/O口(35/39 個(gè)),復(fù)位后為: P1/P2/P3/P4 是準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口)P0口是開(kāi)漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O 口用時(shí),需加上拉電阻。
7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專(zhuān)用編程器 / 仿真器可通過(guò)串口(P3.0/P3.1)直接下載用戶(hù)程序,8K 程序3 - 5 秒即可完成一片
8.EEPROM 功能
9.看門(mén)狗
10.內(nèi)部集成MAX810專(zhuān)用復(fù)位電路,外部晶體12M以下時(shí),可省外部復(fù)位電路,復(fù)位腳可直接接地。
11.共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用
12.外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒
13.通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART
14.工作溫度范圍:0-75℃/-40-+85℃
15.封裝:LQFP-44,PDIP-40,PLCC-44
1.2 設(shè)計(jì)所用開(kāi)發(fā)板的介紹
本課程設(shè)計(jì)是在開(kāi)發(fā)板普中HC6800 V3.0基礎(chǔ)上完成的,開(kāi)發(fā)板的外觀圖如圖1.1所示。本開(kāi)發(fā)板在硬件上配置了以下硬件:
1.五線四相步進(jìn)電機(jī)
2.16*16點(diǎn)陣
3.LCD1602液晶顯示屏
4.1個(gè)靜態(tài)數(shù)碼管+8個(gè)動(dòng)態(tài)數(shù)碼管
5.四線雙極性步進(jìn)電機(jī)
6.4*4矩陣鍵盤(pán)+8個(gè)獨(dú)立按鍵
7.TFT彩屏/12864/19264
8.RS485通信
9.繼電器
10.蜂鳴器
11.AD/DA/光敏/熱敏
12.18B20溫度傳感器
13.紅外
14.三色交通燈
本實(shí)驗(yàn)將在開(kāi)發(fā)板現(xiàn)有的硬件基礎(chǔ)上設(shè)計(jì)一個(gè)簡(jiǎn)易的計(jì)算器,按照設(shè)計(jì)要求,我們將會(huì)用到開(kāi)發(fā)板上外接的LCD1602液晶顯示屏、矩陣鍵盤(pán)。因?yàn)樵O(shè)計(jì)周期的限制,將不加其他的功能,比如蜂鳴器等。
開(kāi)發(fā)板單片機(jī)部分的連接關(guān)系如下圖所所示:
圖1.1設(shè)計(jì)所用開(kāi)發(fā)板
圖1.2開(kāi)發(fā)板MCU的硬件連接

1.3LCD1602的原理及其應(yīng)用
1.3.1開(kāi)發(fā)板硬件連接關(guān)系
開(kāi)發(fā)板上LCD1602這一部分的硬件連接原理圖如圖1.1所示。
圖1.3開(kāi)發(fā)板LCD1602的硬件連接關(guān)系
可見(jiàn),本開(kāi)發(fā)板上LCD1602的硬件連接設(shè)計(jì)相對(duì)于常見(jiàn)的電路設(shè)計(jì)而言,并沒(méi)有什么相對(duì)特殊的地方,可以碩士比較常見(jiàn)的設(shè)計(jì)。液晶屏的數(shù)據(jù)端口與單片機(jī)的P0口相連接,VCC和GND端口均有設(shè)計(jì)連接。此外通過(guò)調(diào)節(jié)變阻器RJ6可以調(diào)節(jié)液晶顯示屏的圖像對(duì)比度。
圖1.4調(diào)節(jié)圖像對(duì)比度
1.3.2液晶屏LCD1602的功能及應(yīng)用
LCD1602已很普遍了,具體介紹我就不多說(shuō)了,市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣。
LCD1602采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,本設(shè)計(jì)所用的LCD1602為帶有背光的16腳。其中各引腳接口說(shuō)明如表1-1所示:
表1-1 LCD1602各引腳功能
編號(hào)
符號(hào)
引腳說(shuō)明
編號(hào)
符號(hào)
引腳說(shuō)明
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
讀/寫(xiě)選擇
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ì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負(fù)極。
1.3.31602LCD的指令說(shuō)明及時(shí)序
1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表1-2所示:
表1-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
顯示開(kāi)/關(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
寫(xiě)數(shù)到CGRAM或DDRAM)
1
0
要寫(xiě)的數(shù)據(jù)內(nèi)容
11
從CGRAM或DDRAM讀數(shù)
1
1
讀出的數(shù)據(jù)內(nèi)容
1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明: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:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。
指令4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。
指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。
指令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:寫(xiě)數(shù)據(jù)。
指令11:讀數(shù)據(jù)。
讀寫(xiě)操作時(shí)序如圖1.5的a、b所示:
a.LCD1602讀寫(xiě)操作時(shí)序
b.LCD1602讀寫(xiě)操作時(shí)序
圖1.6 LCD1602讀寫(xiě)操作時(shí)序
1.3.4 1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表
液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖1.5是1602的內(nèi)部顯示地址。
圖1.6 1602LCD內(nèi)部顯示地址
例如第二行第一個(gè)字符的地址是40H,那么是否直接寫(xiě)入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。
1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖10-58所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”
圖1.7字符代碼與圖形對(duì)應(yīng)圖
1.4開(kāi)發(fā)板矩陣鍵盤(pán)原理及應(yīng)用
本設(shè)計(jì)需要使用開(kāi)發(fā)板上面的按鍵完成數(shù)據(jù)的輸入,需要用到開(kāi)發(fā)板上的4*4的矩陣鍵盤(pán),以完成作為計(jì)算器的數(shù)字1~9以及+、—、*、/的輸入。本開(kāi)發(fā)板的矩陣鍵盤(pán)的硬件連接關(guān)系如下圖所示。
圖1.8矩陣鍵盤(pán)的硬件連接關(guān)系
可見(jiàn)本開(kāi)發(fā)板的硬件上,矩陣鍵盤(pán)通過(guò)和單片機(jī)的P11口連接,檢測(cè)按鍵的按下。
按鍵需要完成的是全部10個(gè)數(shù)字的輸入和運(yùn)算符號(hào)的輸入,相應(yīng)的按鍵分配情況如下表所示。
表1-3按鍵位置設(shè)計(jì)
7
8
9
/
4
5
6
*
1
2
3
-
CE
0
=
+

矩陣鍵盤(pán)工作原理:由于按鍵沒(méi)有接地,4行4列正好占用8個(gè)I/O如果4行我們送 P3.0到P3.3送入0 1 1 1 然后去讀取 4列的值,如果P3.0的按鍵按下那么P3.4---P3.7的值等于 0 1 1 1,假如是第2個(gè)鍵按下的話(huà)那么讀回來(lái)的值是 1 0 1 1 ,如果第3個(gè)鍵按下去讀回來(lái)的值是 1 1 0 1 ,如果第4個(gè)鍵按下去讀回來(lái)的值是 1 1 1 0 ,如果沒(méi)有鍵按下去讀回來(lái)就是1 1 1 1。所以我們就根據(jù)讀回來(lái)的值來(lái)判斷按下去的是那個(gè)鍵。當(dāng)然這是對(duì)P3.0這一行,因?yàn)榫仃囨I盤(pán)是掃描的,所以下次把P3.0 給1  P3.1 給0對(duì)第2行,陸續(xù)的第3 行第4行, 0111 1011 1101 1110  而每次都去從新掃描一遍列值列有4個(gè)值,以確定是那個(gè)鍵按下。無(wú)論何時(shí)任何一個(gè)時(shí)間有一個(gè)按鍵被按下就跳出循環(huán)。當(dāng)然不可能有2個(gè)鍵剛好一起按下你的手沒(méi)有這么好的力度,就算有2個(gè)鍵一起按鍵,程序也有先后檢測(cè)的順序,只能檢測(cè)一個(gè)后面的檢測(cè)不到。
根據(jù)實(shí)驗(yàn)資料上的表述,開(kāi)發(fā)板在設(shè)計(jì)時(shí),在使用矩陣鍵盤(pán)時(shí)需要按照以下要求操作:(1)拔下1602下面的JP165以及通過(guò)排線將JP8和JP4連接起來(lái)。效果如下圖所示。
圖1.9開(kāi)發(fā)板準(zhǔn)備工作
主要時(shí)由于其他的硬件連接的原因,需要拔下JP165。在原理圖中,JP165的連接如下所示:為了正常的使用矩陣鍵盤(pán),我們按照開(kāi)飯的設(shè)計(jì)拔下JP165,連接好相應(yīng)的引腳。
圖1.10 JP165的硬件連接
第二章設(shè)計(jì)思路、仿真及調(diào)試
2.1 設(shè)計(jì)方法
本電路設(shè)計(jì)采用STC90C516RD單片機(jī)為核心,利用晶振產(chǎn)生的時(shí)鐘脈沖信號(hào),利用液晶屏LCD1602顯示計(jì)算及其時(shí)間信息,通過(guò)對(duì)STC90C516RD單片機(jī)的編程控制液晶屏LCD1602的顯示。顯示計(jì)算和簡(jiǎn)易計(jì)算的信息同在LCD1602,通過(guò)按鍵切換選擇。外部的矩陣鍵盤(pán)作為簡(jiǎn)易計(jì)算器的數(shù)值和計(jì)算方式的輸入。
2.2 硬件簡(jiǎn)介
本系統(tǒng)以STC90C516RD單片機(jī)為核心,本系統(tǒng)選用12MHZ的晶振,,使得單片機(jī)有合理的運(yùn)行速度。起振電容30pF對(duì)振蕩器的頻率高低、振蕩器的穩(wěn)定性和起振的快速性影響較合適,復(fù)位電路為按鍵高電平復(fù)位。
圖2.1單片機(jī)復(fù)位電路設(shè)計(jì)
當(dāng)復(fù)位按鍵按下之后,HRST接到高電平VCC。在按下復(fù)位健之前,三極管Q32TY時(shí)截止的。當(dāng)HRST輸入高電平之后,三極管導(dǎo)通,LRST的信號(hào)引腳輸入高電平。完成對(duì)單片機(jī)的復(fù)位。
第三章設(shè)計(jì)結(jié)果
通過(guò)在keil4中編譯通過(guò),如圖3.1所示,將生成的.hex文件下載到開(kāi)發(fā)板上的單片機(jī)內(nèi)運(yùn)行。
圖3.1程序編譯通過(guò)
在開(kāi)發(fā)板上完成相應(yīng)簡(jiǎn)單的加減乘除運(yùn)算效果如下所示:
a.加法運(yùn)算               b.減法運(yùn)算
c.乘法運(yùn)算d.除法運(yùn)算
圖3.2設(shè)計(jì)效果
由于變量的內(nèi)型決定了,當(dāng)數(shù)據(jù)的位數(shù)過(guò)多時(shí),程序的計(jì)算會(huì)出現(xiàn)一些錯(cuò)誤,比如,當(dāng)計(jì)算的位數(shù)過(guò)長(zhǎng)時(shí),會(huì)出現(xiàn)顯示結(jié)果亂碼,現(xiàn)象如圖3.3所示。
圖3.3液晶顯示屏顯示亂碼
從總體上來(lái)說(shuō),本設(shè)計(jì)基本實(shí)現(xiàn)了預(yù)期簡(jiǎn)易計(jì)算器的功能,能夠?qū)崿F(xiàn)一些簡(jiǎn)單的加減乘除的運(yùn)算。當(dāng)數(shù)據(jù)過(guò)大時(shí)顯示的亂碼可能時(shí)數(shù)據(jù)類(lèi)型的原因,也有可能是其他原因造成的,這里便不做具體深入的分析和探討。

第四章設(shè)計(jì)總結(jié)
在用單片機(jī)實(shí)現(xiàn)簡(jiǎn)易計(jì)算的設(shè)計(jì)中使用到了STC的單片機(jī)、LCD1602及其4*4鍵盤(pán)。STC的單片機(jī)是目前使用相對(duì)比較廣泛的51單片機(jī),作為單片機(jī)的入門(mén)是一個(gè)非常合適的選擇,對(duì)于研究生階段來(lái)說(shuō),是一個(gè)比較熟悉的硬件了。4*4的矩陣鍵盤(pán)也是有用比較廣泛的硬件了,是一種比較常見(jiàn)的輸入方式,1602液晶顯示屏對(duì)于51單片機(jī)來(lái)說(shuō)是比較合適的組合,雖然使用的功能比較有限,但是在51單片機(jī)的硬件條件下是比較好的選擇。
為了更好的使用體驗(yàn),之后可以加入蜂鳴器和其他模塊,當(dāng)矩陣鍵盤(pán)的按鍵按下時(shí),蜂鳴器發(fā)聲,提示按鍵按下,一定程度上可以降低計(jì)算器在使用過(guò)程中出現(xiàn)的誤操作。此外,也可以在現(xiàn)有的計(jì)算器的基礎(chǔ)上加上時(shí)鐘等其他功能,并通過(guò)按鍵進(jìn)行狀態(tài)和功能的切換,比加上18B20溫度傳感器,檢測(cè)當(dāng)時(shí)環(huán)境中的溫度,加入時(shí)鐘顯示當(dāng)時(shí)的日期和時(shí)間等。
在設(shè)計(jì)過(guò)程中我通過(guò)在網(wǎng)上和圖書(shū)館查閱資料,收集了關(guān)于單片機(jī)和液晶屏LCD1602顯示方面的資料,通過(guò)對(duì)這些資料的學(xué)習(xí),我了解了單片機(jī)的基本結(jié)構(gòu)和單片機(jī)在生活和生產(chǎn)中所發(fā)揮的作用;液晶屏LCD1602的原理和使用。本次設(shè)計(jì)完成的主要工作和任務(wù)如下:對(duì)設(shè)計(jì)方案的理論研究,單片機(jī)的合理選型,軟件的編寫(xiě)和調(diào)試以及設(shè)計(jì)報(bào)告的制作。通過(guò)設(shè)計(jì)簡(jiǎn)易計(jì)算器的過(guò)程中我掌握了單片機(jī)的基本原理及其各種應(yīng)用,對(duì)它的各種硬件接口與軟件設(shè)計(jì)方法有較深入的認(rèn)識(shí)。

完整的Word格式文檔51黑下載地址(含源碼):
STC-51單片機(jī)-開(kāi)發(fā)板-計(jì)算器-LCD1602顯示-浮點(diǎn)計(jì)算-設(shè)計(jì)-報(bào)告.docx (3.93 MB, 下載次數(shù): 110)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:318851 發(fā)表于 2019-6-6 20:08 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:414868 發(fā)表于 2019-9-16 17:03 | 只看該作者
步驟很清晰 感謝分享
回復(fù)

使用道具 舉報(bào)

地板
ID:414868 發(fā)表于 2019-9-16 17:03 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

5#
ID:338544 發(fā)表于 2019-9-25 21:10 來(lái)自觸屏版 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表