


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)說明書課程設(shè)計(jì)名稱:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)課程設(shè)計(jì)題目:四位數(shù)加法計(jì)算器的設(shè)計(jì)學(xué)院 名 稱:電氣信息學(xué)院專業(yè)班級(jí):學(xué)生學(xué)號(hào):學(xué)生姓名:學(xué)生成績(jī):指導(dǎo)教師:課程設(shè)計(jì)時(shí)間:至格式說明(打印版格式,手寫版不做要求)( 1)任務(wù)書三項(xiàng)的內(nèi)容用小四號(hào)宋體,倍行距。( 2)目錄(黑體,四號(hào),居中,中間空四格),內(nèi)容自動(dòng)生成,宋體小四號(hào)。( 3)章的標(biāo)題用四號(hào)黑體加粗(居中排) 。( 4)章以下的標(biāo)題用小四號(hào)宋體加粗(頂格排)。( 5)正文用小四號(hào)宋體,倍行距;段落兩端對(duì)齊,每個(gè)段落首行縮進(jìn)兩個(gè)字。( 6)圖和表中文字用五號(hào)宋體,圖名和表名分別置于圖的下方和表的上方,用五號(hào)宋體(居中排)。( 7)頁眉中的文
2、字采用五號(hào)宋體,居中排。頁眉統(tǒng)一為:武漢工程大學(xué)本科課程設(shè)計(jì)。( 8)頁碼:封面、扉頁不占頁碼;目錄采用希臘字母、排列,正文采用阿拉伯?dāng)?shù)字1、2、 3排列;頁碼位于頁腳,居中位置。( 9)標(biāo)題編號(hào)應(yīng)統(tǒng)一,如:第一章, 1,;論文中的表、圖和公式按章編號(hào),如:表、表;圖、圖;公式() 、公式()。課程設(shè)計(jì)任務(wù)書一、課程設(shè)計(jì)的任務(wù)和基本要求( 一)設(shè)計(jì)任務(wù)(從“單片機(jī)課程設(shè)計(jì)題目” 匯總文檔中任選1 題,根據(jù)所選課題的具體設(shè)計(jì)要求來填寫此欄)1. 系統(tǒng)通過 4x4 的矩陣鍵盤輸入數(shù)字及運(yùn)算符。2.可以進(jìn)行 4 位十進(jìn)制數(shù)以內(nèi)的加法運(yùn)算,如果計(jì)算結(jié)果超過4 位十進(jìn)制數(shù),則屏幕顯示E。3. 可以進(jìn)行加
3、法以外的計(jì)算 ( 乘、除、減 ) 。4. 創(chuàng)新部分:使用 LCD1602液晶顯示屏進(jìn)行顯示,有開機(jī)歡迎界面,計(jì)算數(shù)據(jù)與結(jié)果分兩行顯示,支持小數(shù)運(yùn)算。( 二)基本要求1. 有硬件結(jié)構(gòu)圖、電路圖及文字說明;2. 有程序設(shè)計(jì)的分析、思路說明;3. 有程序流程框圖、程序代碼及注釋說明;4. 完成系統(tǒng)調(diào)試(硬件系統(tǒng)可以借助實(shí)驗(yàn)裝置實(shí)現(xiàn),也可在Proteus軟件中仿真模擬);5. 有程序運(yùn)行結(jié)果的截屏圖片。二、進(jìn)度安排第9周,1)題目分析,文獻(xiàn)查閱2)方案比較,確定設(shè)計(jì)方案3)硬件電路設(shè)計(jì)4)程序設(shè)計(jì),程序調(diào)試,系統(tǒng)聯(lián)調(diào),系統(tǒng)改進(jìn)5)課程設(shè)計(jì)說明書撰寫三、參考資料或參考文獻(xiàn)1. 林立,張俊亮 .單片機(jī)原理
4、及應(yīng)用基于Proteus 和 Keil C M.北京:電子工業(yè)出版社 ,20132. 張毅剛,彭喜元 . 單片機(jī)原理與應(yīng)用設(shè)計(jì) M. 北京:電子工業(yè)出版社,20083. 馬忠梅 .單片機(jī)的 C 語言應(yīng)用程序設(shè)計(jì) ( 第 5 版 ) M.北京:北京航空航天大學(xué)出版社 ,20134. 樓然苗、李光飛 . 51 系列單片機(jī)設(shè)計(jì)實(shí)例 M. 北京 : 北京航空航天大學(xué)出版社 ,2003本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表姓名專業(yè)班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目:課程設(shè)計(jì)答辯記錄:(手寫)成績(jī)?cè)u(píng)定依據(jù):項(xiàng)目得分比例考勤記錄設(shè)計(jì)結(jié)果報(bào)告撰寫答辯成績(jī)備注:成績(jī)?cè)u(píng)定依據(jù)的項(xiàng)目?jī)?nèi)容和項(xiàng)目分值比例可以由老師按指導(dǎo)的專業(yè)進(jìn)行調(diào)整,但成績(jī)?cè)u(píng)定
5、依據(jù)的項(xiàng)目數(shù)不得少于3 項(xiàng)。最終評(píng)定成績(jī):指導(dǎo)教師簽名:年月日目錄第一章設(shè)計(jì)論證.設(shè)計(jì)分析.設(shè)計(jì)方案.第二章硬件設(shè)計(jì).硬件結(jié)構(gòu)與工作原理.單元電路設(shè)計(jì).第三章軟件設(shè)計(jì).系統(tǒng)軟件結(jié)構(gòu).主要功能子程序設(shè)計(jì).第四章系統(tǒng)調(diào)試與分析.調(diào)試過程與結(jié)果.結(jié)果分析.第五章設(shè)計(jì)小結(jié).附錄 .錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。錯(cuò)誤 ! 未定義書簽。第一章設(shè)計(jì)論證設(shè)計(jì)
6、分析在方案設(shè)計(jì)過程中,我列出了兩種不同的設(shè)計(jì)方案,分別對(duì)應(yīng)于顯示模塊和單片機(jī)內(nèi)部運(yùn)算。顯示模塊在我的設(shè)計(jì)中有兩種不同的顯示方式,分別為數(shù)碼管顯示以及液晶屏顯示。對(duì)于數(shù)碼管顯示來說,優(yōu)點(diǎn)是使用簡(jiǎn)單,反應(yīng)速度更快,由于 LCD有眾多的接口,以及指令,因此在軟件上要比數(shù)碼管復(fù)雜。數(shù)碼管顯示的缺點(diǎn)也比較明顯,就是需要占用過多的單片機(jī)輸出接口,同時(shí), LCD的顯示功能更多,也更直觀,對(duì)于現(xiàn)實(shí)生活中的使用也更加舒適。在綜合了以上幾點(diǎn)的考慮后,我最終選擇了LCD1602液晶顯示芯片作為顯示模塊。在單片機(jī)內(nèi)部運(yùn)算方面, 我的設(shè)想也有兩種,即支持浮點(diǎn)數(shù)運(yùn)算或只支持整數(shù)運(yùn)算,若只支持整數(shù)運(yùn)算,程序設(shè)計(jì)勢(shì)必更加簡(jiǎn)單
7、易懂,但是出于實(shí)用性的考慮,我最終決定了使計(jì)算器支持浮點(diǎn)數(shù)運(yùn)算功能。同時(shí),這也能更好地鍛煉我的編程思維能力。設(shè)計(jì)方案按照系統(tǒng)設(shè)計(jì)的功能的要求,初步確定設(shè)計(jì)系統(tǒng)由主控模塊、顯示模塊、鍵盤掃描接口電路共四個(gè)模塊組成。主控芯片使用8051 系列的 AT89C52單片機(jī),其中帶有非易失性 Flash 程序存儲(chǔ)器,它是一種高性能、低功耗的8 位 CMOS微處理芯片,市場(chǎng)應(yīng)用最多。顯示模塊采用 LCD1602液晶顯示器為主體構(gòu)成。鍵盤電路采用 4x4 矩陣鍵盤電路。整個(gè)單片機(jī)的接口電路: P0 用于顯示輸出或 LCD1602信號(hào)輸入, P1 口用于鍵盤掃描輸入, P2 口用于 LCD1602的控制信號(hào)輸出
8、。為了驅(qū)動(dòng)系統(tǒng)的各個(gè)模塊正常協(xié)調(diào)工作,在軟件方面我設(shè)計(jì)了四大模塊,分別為顯示、鍵盤、運(yùn)算、綜合模塊,通過綜合模塊的協(xié)調(diào)來使其它三大模塊正常運(yùn)行,使計(jì)算器能正確運(yùn)算得出正確結(jié)果。第二章硬件設(shè)計(jì)硬件結(jié)構(gòu)與工作原理鍵盤掃描輸顯示模塊入模塊( 4*4AT89C52( LCD1602)圖 硬件結(jié)構(gòu)框圖系統(tǒng)的主體部分由輸入、運(yùn)算、輸出模塊所組成,對(duì)應(yīng)于圖中有,輸入模塊為鍵盤掃描輸入,輸出模塊為 LCD1602顯示,運(yùn)算模塊為單片機(jī)。在系統(tǒng)上電后,單片機(jī)初始化,開始運(yùn)行內(nèi)部程序,在程序運(yùn)行過程中,通過軟件功能來實(shí)現(xiàn)按下鍵盤上特定按鍵后,執(zhí)行不同的功能,例如加減乘除,并將數(shù)據(jù)輸出至顯示模塊( LCD1602)
9、顯示。在運(yùn)算過程中顯示運(yùn)算數(shù)據(jù)及符號(hào),運(yùn)算完成后顯示運(yùn)算結(jié)果。單元電路設(shè)計(jì)單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)就是支持主芯片正常工作的最小電路部分,包括主控芯片、復(fù)位電路和晶振電路。主控芯片選取 AT89C52芯片,因其具有良好的性能及穩(wěn)定性,價(jià)格便宜應(yīng)用方便。晶振選取,晶振旁電容選取20pF。采用按鍵復(fù)位電路,電阻分別選取100和 10K,電容選取 10F。以下為單片機(jī)最小系統(tǒng)硬件電路原理圖(圖),仿真接線圖(圖)。+5VC122pFC222pFC310uF圖 單片機(jī)最小系統(tǒng)硬件電路原理圖RP2RESPACK-8+5V12345678901234567D DD DD DDDU1X119XT AL1P
10、0.0/AD03938CRYSTALP0.1/AD137P0.2/AD21836XT AL2P0.3/AD335P0.4/AD434P0.5/AD533P0.6/AD6932RSTP0.7/AD7P2.0/A82122P2.1/A923P2.2/A102924PSENP2.3/A1 1D0D1D2D3D4D5D6D7R1100R230ALEP2.4/A1225312610kEAP2.5/A1327P2.6/A1428P2.7/A15P001P1.0/T2P3.0/RXD10P01211P1.1/T2EXP3.1/TXDP02312P1.2P3.2/INT0P03413P1.3P3.3/INT1
11、P04514P1.4P3.4/T0P05615P1.5P3.5/T1P06716P1.6P3.6/WRP07817P1.7P3.7/RDRSRWEAT89C52圖 單片機(jī)最小系統(tǒng)仿真接線圖鍵盤接口電路計(jì)算器所需按鍵有:數(shù)字鍵:1, 2, 3, 4, 5, 6, 7, 8, 9, 0 。功能鍵: +, - , * , / , = , C( 清零、小數(shù)點(diǎn) ) 共計(jì) 16 個(gè)按鍵,采用 4*4 矩陣鍵盤,鍵盤的行和列之間都有公共端相連, 四行和四列的 8 個(gè)公共端分別接 ,這樣掃描 P1 口就可以完成對(duì)矩陣鍵盤的掃描,通過對(duì) 16 個(gè)按鍵進(jìn)行編碼,從而得到鍵盤的口地址,對(duì)比 P1 口的掃描結(jié)果和各按
12、鍵的地址,我們就可以得到是哪個(gè)鍵按下,從而完成鍵盤的功能。在 Proteus 仿真中,我直接使用元件庫所有的 KEYPAD-SMALLCALC鍵盤,這種鍵盤直接實(shí)現(xiàn)了 4*4 鍵盤的功能,方便使用。如下圖所示。在按下其中一個(gè)鍵時(shí), 其對(duì)應(yīng)的行與列將都會(huì)變成低電平, 此時(shí),即可通過判斷 P1 口的值來確定輸入的是哪一個(gè)按鍵,然后將所取得的按鍵通過軟件來進(jìn)行接下來的處理、運(yùn)算等工作。P03P02P01P00A789B456C123ONDC0=+123445670000PPPP圖 4*4 矩陣鍵盤LCD1602 顯示電路LCD1602簡(jiǎn)介 :如圖所示, 1602 液晶也叫 1602 字符型液晶,它是
13、一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè) 5X7 或者 5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符, 每位之間有一個(gè)點(diǎn)距的間隔, 每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16 個(gè)字符液晶模塊(顯示字符和數(shù)字)。1602 采用標(biāo)準(zhǔn)的 16 腳接口,其中:第 1 引腳: GND為電源地第 2 引腳: VCC接 5V 電源正極第 3 引腳:V0 為液晶顯示器對(duì)比度調(diào)整端, 接正電源時(shí)對(duì)比度最弱, 接地電源時(shí)對(duì)比度最高(對(duì)比
14、度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對(duì)比度)。第 4 引腳:RS為寄存器選擇, 高電平 1 時(shí)選擇數(shù)據(jù)寄存器、 低電平 0 時(shí)選擇指令寄存器。第 5 引腳: RW為讀寫信號(hào)線,高電平 (1) 時(shí)進(jìn)行讀操作,低電平 (0) 時(shí)進(jìn)行寫操作。第 6 引腳: E( 或 EN)端為使能 (enable) 端, 高電平( 1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第 714 引腳: D0 D7為 8 位雙向數(shù)據(jù)端。第 1516 腳:空腳或背燈電源。第 15引腳背光正極,第16 引腳背光負(fù)極。特性或 5V 工作電壓,對(duì)比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令 , 如:清屏、字符閃爍、光標(biāo)閃
15、爍、顯示移位等多種功能有 80 字節(jié)顯示數(shù)據(jù)存儲(chǔ)器 DDRAM內(nèi)建有 192 個(gè) 5X7 點(diǎn)陣的字型的字符發(fā)生器CGROM8 個(gè)可由用戶自定義的5X7的字符發(fā)生器 CGRAM特征應(yīng)用微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。操作控制注:關(guān)于 E=H脈沖開始時(shí)初始化E 為 0,然后置 E 為 1。圖 LCD1602 硬件原理圖采用 LCD1602顯示器對(duì)計(jì)算過程、結(jié)果以及提示信息進(jìn)行顯示,在仿真電路中,由于 Proteus中并沒有LCD1602顯示芯片,故采用功能相似的LM016L 進(jìn)行替代,其中LM016L的 D0D7三個(gè)輸入輸出端口接至單片機(jī)的口,用來對(duì)顯示
16、屏輸出顯示、輸出控制指令以及獲取狀態(tài)信息。單片機(jī)的 分別與 LM016L的 RS、RW、E 端口相連,用來對(duì)顯示芯片進(jìn)行控制。以下為 LCD顯示電路的仿真接線圖(圖)。LCD1LM016LSDESWS D EV V VR R E123456SWR R E01234567DDDDDDDD789012341111101234567DDDDDDDD圖 LCD1602( LM016L)仿真接線圖第三章軟件設(shè)計(jì)系統(tǒng)軟件結(jié)構(gòu)如圖所示,系統(tǒng)啟動(dòng)后,執(zhí)行LCD初始化程序,然后調(diào)用LCD顯示程序,在屏幕上輸出歡迎信息。接下來調(diào)用鍵盤掃描處理程序,等待按鍵按下,按下任意鍵后執(zhí)行LCD清屏程序,并再次調(diào)用鍵盤掃描處
17、理程序, 等待用戶輸入數(shù)據(jù),若用戶按下數(shù)字鍵(09),則在顯示器上顯示并且將輸入數(shù)據(jù)保存至數(shù)據(jù)存儲(chǔ)區(qū)。開始Y初始化參數(shù)有鍵輸入讀取按鍵N是否數(shù)字處Y是否操作符顯是否為 =號(hào)/顯示操作符,標(biāo)記操作數(shù)1 結(jié)束是否第一次計(jì)算結(jié)果YN按下 ON/C鍵顯示小數(shù)點(diǎn)等待按鍵NYYNYN圖 程序流程圖本次設(shè)計(jì)采用模塊化設(shè)計(jì)思想,包括主程序和初始化子程序、延時(shí)子程序、輸出數(shù)據(jù)子程序、檢測(cè)是否有按鍵按下子程序、 確定按鍵子程序、 清第一行屏與顯示 “Welcome”子程序、換算第一個(gè)數(shù)子程序、運(yùn)算子程序、顯示結(jié)果子程序等子程序。運(yùn)行程序后,首先調(diào)用子程序清屏第一行并顯示 “ Welcome”,清屏第二行并顯示 “
18、 ZCYs Caculator!”,然后檢測(cè)是否有按鍵按下,如果沒有,繼續(xù)檢測(cè),如果按下,則判斷是否是加減乘除鍵被按下,如果是加減乘除被按下,則顯示相應(yīng)的字符并換算出字符前輸入的數(shù)據(jù)和字符后輸入的數(shù)字,然后檢測(cè)是否有等號(hào)按下, 如果有則完成相應(yīng)的運(yùn)算并顯示相應(yīng)的結(jié)果,然后檢測(cè)是否有清屏鍵按下,如果有則清屏,相應(yīng)的流程圖如圖所示。對(duì)于數(shù)字鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì),如果運(yùn)算鍵(、,* ,/ )相應(yīng)標(biāo)志不為一,則將輸入的數(shù)字送入第一個(gè)操作數(shù)緩存區(qū),并且清空所有響應(yīng)位。否則送入第二個(gè)操作數(shù)緩存區(qū)。其次對(duì)功能鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì)。如果功能鍵(、, * ,/ )第一次被按下,則置相應(yīng)的標(biāo)志位為一,并且
19、將運(yùn)算鍵響應(yīng)標(biāo)志位置一,清空第二個(gè)操作數(shù)的緩存區(qū),為輸入操作數(shù)做準(zhǔn)備,如果是第二次按下則先調(diào)用運(yùn)算操作子程序,執(zhí)行上次按下的運(yùn)算鍵的運(yùn)算,置相應(yīng)的標(biāo)志位為一,并且將運(yùn)算鍵響應(yīng)標(biāo)志位置一,清空第二個(gè)操作數(shù)的緩存區(qū),為輸入操作數(shù)做準(zhǔn)備。程序上的具體實(shí)現(xiàn):在 單 片 機(jī) 上 電 后 , 執(zhí) 行 兩 個(gè) 函 數(shù)LCD_dsp_string(4,0,Welcome!)以 及LCD_dsp_string(1,1,ZCYsCaculator)輸出歡迎信息初始化LCD。然后執(zhí)行 keyscan()函數(shù)判斷是否有按鍵輸入,若有則讀取按鍵,否則循環(huán)掃描,直到有按鍵按下。在獲取按鍵后,判斷按鍵是否為數(shù)字,若是,則執(zhí)
20、行cacul(a) 函數(shù),將獲取的數(shù)字保存為數(shù),然后執(zhí)行 LCD單個(gè)字符顯示函數(shù)LCD_dsp_char(x,y,dat)。若按鍵不是數(shù)字,則判斷是否為操作符, 若是,則執(zhí)行 LCD_dsp_char(x,y,dat)顯示操作符,然后將 flag 標(biāo)志位置1,代表第一個(gè)操作數(shù)輸入結(jié)束。若不是操作符,則判斷是否為=,若是,則執(zhí)行函數(shù) Caculator(x,y)函數(shù),計(jì)算結(jié)果,然后執(zhí)行LCD_dsp_string(x,y,string)函數(shù),將計(jì)算結(jié)果顯示在屏幕上,然后執(zhí)行 keyscan() 函數(shù),等待按下任意鍵,按下任意鍵后,再次執(zhí)行 LCD初始化程序。若不是 =,則判斷是否是第一次按下清零
21、鍵,若是,則顯示小數(shù)點(diǎn),并再次調(diào)用 keyscan() 函數(shù),獲取下一個(gè)按鍵,若不是第一次按下,則再次執(zhí)行 LCD初始化程序。主要功能子程序設(shè)計(jì)LCD 顯示子程序開始輸入待顯示LCD是否忙碌Y設(shè)置 LCD顯示位置是否為單個(gè)N字符輸出單個(gè)字輸出字符串符YN返回圖 LCD 顯示子程序流程圖如圖所示,當(dāng)主程序調(diào)用了 LCD顯示程序后,首先判斷 LCD是否處于忙碌狀態(tài),若是,則等待,若不是,則開始設(shè)置顯示位置,然后判斷顯示的是單個(gè)字符還是字符串,分別實(shí)現(xiàn)對(duì)單個(gè)字符的輸出以及對(duì)字符串的輸出。 之所以對(duì)單字符和字符串設(shè)置不同的顯示函數(shù),是為了實(shí)現(xiàn)程序?qū)纹瑱C(jī)資源的最優(yōu)利用,因?yàn)閱巫址徽紦?jù)一個(gè)字節(jié)的存儲(chǔ)區(qū)
22、,而字符串則至少占用兩個(gè)字節(jié)。在顯示完成后,返回主程序,繼續(xù)執(zhí)行下一步。LCD的顯示程序中主要的部份為 LCD顯示位置的設(shè)置以及 LCD顯示數(shù)據(jù)的輸出。為此,我編寫了 LCD顯示位置設(shè)置函數(shù),以及 LCD顯示函數(shù),如下。LCD顯示位置設(shè)置函數(shù):1. voidLCD_set_xy(unsigned NcharY x,unsignedchar接收操作數(shù)a,b,fhYa=a*bYN開始NYa=aN-bNa=a+bf h=* 輸出錯(cuò)誤提f h= - 輸出計(jì)算結(jié)f h=+ LCD1a=a/ba9999f h=/ LM016L掃描返回P1 口是否檢測(cè)到按S D ES W01234567鍵S D EV V
23、VR R EDDDDDDDD1234567890123411111S W01234567R REDDDDDDDD返回按鍵值y)LCD1LM016LS D ES W01234567S D EVVVRREDDDDDDDD1234567890123411111SW01234567RREDDDDDDDDLCD1LM016LS D ES D EV V V1 23SW0123456 7R REDDDDDDDD4567890123411111S W01234567R R EDDDDDDDDLCD1LM016LS D ESW01234567SDEVVVRREDDDDDDDD123456789012341111
24、1SW01234567RREDDDDDDDDLCD1LM016LS D ESW01234567S D EVVVRREDDDDDDDD1234567890123411111SW01234567RREDDDDDDDDP03A789P02B456P01C123P00DON0=+C123445670000PPPPRP2RESPACK-8+5V12345678901234567DDDDDDDD#include#include#includeunsigned char n;float idata a,b;xsd=1;#includesbit lcden=P27;/ 讀寫控制輸入端sbit rw=P26;/
25、 讀寫控制端sbit rs=P25;/ 指令、數(shù)據(jù)選擇端sbit busy=P07;/LCD 內(nèi)部忙標(biāo)志void delay(unsigned int m)/ 延時(shí)函數(shù)unsigned int n;for(n=0;n=m;n+);void check()/ 判斷 LCD是否忙碌doP0=0xff;rs=0;rw=1;lcden=0;delay(100);lcden=1;while(busy=1);/ 當(dāng)busy=1,即LCD忙時(shí),等待void write_com(unsigned char com)/寫顯示命令P0=com;rs=0;rw=0;lcden=0;check();lcden=1;v
26、oid write_data(unsigned char date) / 寫顯示數(shù)據(jù)P0=date;rs=1;rw=0;lcden=0;check();lcden=1;void init()/ 初始化LCDwrite_com(0x38);/16x2行顯示, 5x7 點(diǎn)陣, 8 位數(shù)據(jù)接口write_com(0x0c);/ 開顯示,光標(biāo)不顯示、不閃爍write_com(0x06);/ 光標(biāo)自增,畫面不動(dòng)write_com(0x80);/ 選擇第一行write_com(0x01);/ 清屏void LCD_set_xy( unsigned char x, unsigned char y )/設(shè)置L
27、CD顯示的位置unsigned char address;if (y = 0)/y=0為第一行address = 0x80 + x;/x=0為一行的第一個(gè)else/ 第二行address =0xc0+ x;write_com(address);/ 設(shè)置數(shù)據(jù)指針位置void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)/ 單個(gè)字符顯示函數(shù)LCD_set_xy( x, y );/ 設(shè)置顯示位置write_data(dat);/ 寫入待顯示數(shù)據(jù)void LCD_dsp_string(unsigned char X,unsigned char Y
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《地質(zhì)勘探》課件
- 《焊接結(jié)構(gòu)穩(wěn)定性分析》課件
- 家居業(yè)創(chuàng)新驅(qū)動(dòng)
- 土地?zé)o償占用合同范本
- 商務(wù)綜合服務(wù)合同范本
- 1995用工合同范本
- 固體廢料收購(gòu)合同范本
- 合伙建筑施工合同范例
- 配餐員精簡(jiǎn)版復(fù)習(xí)試題有答案
- 吉安農(nóng)村建房包工合同范本
- 小學(xué)生春耕教學(xué)課件
- 2024年南信語文數(shù)學(xué)試卷(含答案)
- 2025年個(gè)人投資合同電子版模板
- 車輛掛靠協(xié)議書
- 2025年湖南交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫1套
- 2017年公務(wù)員多省聯(lián)考《申論》真題(吉林甲級(jí)卷)及參考答案(含詳細(xì)解析)
- 一年級(jí)下冊(cè)健康成長(zhǎng)教案
- 電力系統(tǒng)老化問題及其隱患解決方案研究報(bào)告發(fā)布
- 2025年江西建設(shè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 鹽酸安非他酮合成工藝優(yōu)化-洞察分析
- 2021年考研英語一真題
評(píng)論
0/150
提交評(píng)論