rw1601可以用C语言写程序吗,用8051+1601LCD设计的整型计算器讲解.doc
浙江海洋學(xué)院
設(shè)計(jì)題目 用8051+1601LCD設(shè)計(jì)的整型計(jì)算器
摘 要
當(dāng)今時(shí)代,是一個(gè)新技術(shù)層出不窮的年代。單片機(jī)具有體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。單片機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片微型計(jì)算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器,常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。
它所給人帶來的方便不可否認(rèn),本設(shè)計(jì)是由單片機(jī)實(shí)現(xiàn)的模擬計(jì)算器它不僅能實(shí)現(xiàn)數(shù)據(jù)的加減乘除運(yùn)算而且還能使數(shù)據(jù)及其計(jì)算結(jié)果在LCD管上顯示出來能夠?qū)崿F(xiàn)0-256的數(shù)字四則運(yùn)算。本設(shè)計(jì)是用單片機(jī)AT89C52來控制采用共陽極數(shù)碼顯示軟件部分是由C語言來編寫的。為了滿足計(jì)算器的基本要求,可以基本的運(yùn)算(加減乘除),數(shù)據(jù)歸零和出錯(cuò)警告提示,我們采用基于單片機(jī)設(shè)計(jì)計(jì)算器,并用LCD 液晶顯示數(shù)據(jù),4*4 的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入,程序語言我們使用c語言。
設(shè)計(jì)任務(wù):利用鍵盤和數(shù)碼管設(shè)計(jì)一個(gè)簡單的數(shù)學(xué)計(jì)算器可以完成簡單的如加減乘除的四則運(yùn)算并將運(yùn)算結(jié)果在數(shù)碼管上顯示出來。
關(guān)鍵詞:加減乘除運(yùn)算;單片機(jī)AT89C52;LCD 液晶顯示;4*4 的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入
目 錄
1.引言5
2.方案論證與設(shè)計(jì)5
2.1 要求與內(nèi)容5
2.2 設(shè)計(jì)方案5
3.硬件設(shè)計(jì)6
3.1 單片機(jī)最小系統(tǒng)6
3.2 LCD顯示模塊7
3.3 輸入模塊8
4. 軟件設(shè)計(jì)9
4.1 輸入程序流程圖設(shè)計(jì)9
5. 實(shí)驗(yàn)結(jié)果與討論11
5.1 仿真實(shí)驗(yàn)11
5.2 結(jié)果討論14
6.心得體會(huì)14
7.附 錄A; 源程序14
8.參考文獻(xiàn)19
用8051+1601LCD設(shè)計(jì)的整型計(jì)算器
引 言
不同于通用計(jì)算機(jī)應(yīng)用程序設(shè)計(jì),單片機(jī)C語言程序設(shè)計(jì)必須針對具體的微控制器及外圍電路來進(jìn)行
方案設(shè)計(jì)
設(shè)計(jì)要求
用單片機(jī)AT89C51來控制采用共陽極數(shù)碼顯示軟件部分是由C語言來編寫的。為了滿足計(jì)算器的基本要求,可以基本的運(yùn)算(加減乘除),數(shù)據(jù)歸零和出錯(cuò)警告提示,我們采用基于單片機(jī)設(shè)計(jì)計(jì)算器,并用LCD 液晶顯示數(shù)據(jù),4*4 的矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入,程序語言我們使用c語言。
設(shè)計(jì)方案
2.1.1 單片機(jī)芯片的選擇
根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用MCS-51系列單片機(jī)AT89C51為主控機(jī)。通過擴(kuò)展必要的外圍接 口電路,實(shí)現(xiàn)對計(jì)算器的設(shè)計(jì)。計(jì)算器電路包括三個(gè)部分:顯示電路、4*4鍵掃描電路、單片機(jī)微控制電路。用七段數(shù)碼管作為顯示電路,矩陣鍵盤作為輸入電路。模塊圖如下1.1。
圖1.1
硬件設(shè)計(jì)
單片機(jī)最小系統(tǒng)
單片機(jī)最小系統(tǒng)選用AT89C52 提供以下標(biāo)準(zhǔn)功能:8字節(jié)FLASH閃速存儲(chǔ)器,256字竹內(nèi)部RAM , 32個(gè)I/O口線,3個(gè)16 位定時(shí)/計(jì)數(shù)器,一個(gè)6向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式。空閑方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位.如圖3.1
圖3.1
3.2.LCD顯示模塊
1601采用標(biāo)準(zhǔn)的14腳接口,其管腳功能介紹如下:
1:VSS為電源地
2:VDD接5V電源正極
3:VEE為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高。
4:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。
5:RW為讀寫信號線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。
6:E(或EN)端為使能(enable)端。
7~14:D0~D7為8位雙向數(shù)據(jù)。
具體看圖3.2
圖3.2
輸入模塊
計(jì)算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的I/O 口資源,因此在很多情況下都不采用這種方式。為此,引入了矩陣鍵盤的應(yīng)用,采用四條I/O 線作為行線,四條I/O 線作為列線組成鍵盤。在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為4×4個(gè)。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O 口的利用率
圖3.3
軟件設(shè)計(jì)
4.1輸入程序流程圖設(shè)計(jì)
該計(jì)算器系統(tǒng)的軟件設(shè)計(jì)分為以下幾個(gè)模塊:(1)主程序模塊,(2) 讀鍵輸入程序流程圖,(3)顯示程序 (4)計(jì)算程序。
(1)運(yùn)算主程序設(shè)計(jì)
首先初始化參數(shù),送LED低位顯示“0”,高位不顯示。然
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的rw1601可以用C语言写程序吗,用8051+1601LCD设计的整型计算器讲解.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poi excel导入 判断合并单元格_
- 下一篇: shell两个时间字符串插值_Shell