freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stc89c52rc單片機(jī)的簡(jiǎn)易計(jì)算器設(shè)計(jì)_電子設(shè)計(jì)大賽——畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-04-03 10:24 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 盤電路 13 通用計(jì)算機(jī)使用的鍵盤就是編碼鍵盤。在智 能儀器中,使用并行接口芯片 8279 或串行接口 HD7279 均可以組成編碼鍵盤,同時(shí)還可以兼顧數(shù)碼管的顯示驅(qū)動(dòng),其相關(guān)的接口電路和接口軟件均可在芯片資料中得到。當(dāng)系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時(shí),采用編碼鍵盤可以簡(jiǎn)化軟件設(shè)計(jì)。非編碼鍵盤成本低廉。從成本角度出發(fā),本設(shè)計(jì)選用的是非編碼鍵盤。如圖 31 所示。 顯示電路 的結(jié)構(gòu) 當(dāng)系統(tǒng)需要顯示少量數(shù)據(jù)時(shí),采用 LCD 液晶顯示屏進(jìn)行顯示是一種經(jīng)濟(jì)實(shí)用的方法。P0 口作為液晶顯示的數(shù)據(jù)端口, 口作為其控制端口,控制 LCD 液晶顯示屏顯示輸出數(shù)據(jù)。 最終 顯示電路如圖 32 所示。 圖 32 LCD 液晶顯示屏顯示 4. 計(jì)算器軟件設(shè)計(jì) 計(jì)算器的軟件規(guī)劃 簡(jiǎn)易計(jì)算器的程序主要包括以下功能模塊: 讀鍵程序、判鍵程序段、運(yùn)算操作子程序等部分; 基于 LCD 液晶顯示屏的顯示模塊; 主模塊,為系統(tǒng)的初始化 主模塊的程序設(shè)計(jì) 主程序主要用來(lái)對(duì) LCD 液晶顯示屏進(jìn)行初始化的。在考慮主程序編寫之前,先應(yīng)對(duì)計(jì)算器的運(yùn)作流程有一個(gè)大致的了解,之后依次為依據(jù)畫出大致的流程圖如圖 41 所示,以便于編寫其主模塊的程序,這樣看來(lái),會(huì)比較清晰 、 更加方便 。 14 圖 41 主程序框圖 本來(lái)在考慮主模塊流程時(shí),曾考慮到在初始化 LCD 顯示后應(yīng)該進(jìn)入中斷服務(wù)的,當(dāng)然也這么畫上去了;可經(jīng)過(guò)老師的提點(diǎn),之后又反復(fù)推敲了好幾遍,再將流程好好地走了幾遍,發(fā)現(xiàn)的確存在著問(wèn)題。 在主程序中的確不用中斷服務(wù),它其實(shí)也屬于一個(gè)子程序,是與鍵盤程序有關(guān),之后會(huì)加以說(shuō)明。 既然是計(jì)算器,只要反復(fù)地進(jìn)行四則運(yùn)算,其過(guò)程與結(jié)果并在液晶顯示屏上顯示出來(lái)。 通過(guò)這個(gè)詳細(xì)的主模塊程序框圖,即能夠很快地編寫出其程序: void main() { uchar i,j。 init()。 write_cmd(0x80)。 //將液晶指針定位在第一行第一個(gè)單元 key=15。 i=flag1=0。 while(1) { ………… write_cmd(0x80+0x40)。 //將液晶指針定位在第二行第一個(gè)單元 jscl()。 } flag1=0。 開始初始化參數(shù)初始化 LED 顯示數(shù)值運(yùn)算LED 顯示 15 } } 在以上的程序中 “write_cmd(0x80)?!保毁x值為 “0x80”,則是根據(jù)圖 226 DDRAM 單元地址與顯示屏字符位的對(duì)應(yīng)關(guān)系中便能找到,第一行第一個(gè)單元的值為 80H,則第二行第一個(gè)單元的 值就為 80H+40H,即得出 “write_cmd(0x80+0x40)?!薄? 顯示模塊的程序設(shè)計(jì) 開 始延 時(shí) 程 序L E D 是 否 忙 ?鍵 盤 掃 描加 減 乘 除 運(yùn) 算 程 序L E D 液 晶 顯 示結(jié) 束 圖 42 顯示程序框圖 顯示模塊程序首先要對(duì)顯示模塊進(jìn)行初始化;然后控制光標(biāo)的位置;定義液晶顯示的控制端口,用 SBIT 指令完成;然后設(shè)置清屏、關(guān)閉顯示、歸位、開顯示、顯示位置的首地址等等。 16 顯示模塊的流程圖如圖 42 所示。 根據(jù)以上的顯示程序的流程框圖,便能編寫出其顯示子程序: void jscl() //計(jì)算并顯示函數(shù) { uchar i,j,n。 ………… { for(j=0。jk1+1。j++) //存放第一操作數(shù) { for(i=0。ik1j。i++) ………… } for(j=k1+1。jk2+1。j++) //存放第二操作數(shù) { ………… if(js==10) //判斷是什么運(yùn)算,并執(zhí)行運(yùn)算 { s=s1+s2。 ………… if(js==13) { s=(s1*)/(s2*)。 ………… temp1=(long int)(s)。 //以下部分處理結(jié)果 temp2=stemp1。 ………… for(i=n。i0。i) //在液晶上顯示結(jié)果 { write_data(table[b[i1]])。 ………… } 通過(guò)其顯示子程序,發(fā)現(xiàn)要顯示其最終結(jié)果,就必須先存放第一操作數(shù)、第二操作數(shù),之后來(lái)判定使用四則運(yùn)算中的哪一種運(yùn)算,其后進(jìn)行運(yùn)算處理,最后便能在 LCD 液晶顯示屏上顯示其最終結(jié)果。 鍵盤模塊的程序設(shè)計(jì) 鍵盤掃描子程序,首先讀出 P3 口的低四位,然后讀出 P3 口的高四位。然 后鍵值并顯示緩存。而后,將鍵盤上的值轉(zhuǎn)換為 ASCII 碼,最后就可以用軟件來(lái)設(shè)置硬件按鍵各個(gè)鍵 17 所代表的內(nèi)容。 讀鍵程序使用的是反轉(zhuǎn)法讀鍵,不管鍵盤矩陣的規(guī)模大小,均進(jìn)行兩次讀鍵。第一次所有行線均輸出低電平,從所有讀入鍵盤信息(列信息);第二次所有列線均輸出低電平,從所有行線讀入鍵盤信息(行信息)。 系統(tǒng)中連接的是 4*4 行列式按鍵鍵盤,其中 “09”為數(shù)字鍵; “+、 、 *、 /、 =”為符號(hào)鍵;“ON/C”為功能鍵(清屏鍵),在程序中會(huì)加入一個(gè)記憶功能鍵,而與其搭配的硬件按鍵為符號(hào)鍵中的 “=”,以為求方便。 有 鍵 輸 入 ?YYYYNNNNNN數(shù) 字 鍵 ?號(hào) 碼 鍵 ?功 能 鍵 ?清 零 ?記 憶 ?輸 入 清 理 鍵 送清 零 緩 沖 區(qū)輸 入 記 憶 鍵 送記 憶 緩 沖 區(qū)數(shù) 值 輸 入 , 送數(shù) 值 緩 沖 器符 號(hào) 輸 入 , 送 符號(hào) 緩 沖 器綜 合 結(jié) 果 送 綜 合緩 沖 區(qū)返 回 圖 43 中斷服務(wù)程序框圖 數(shù)字鍵按下則將相應(yīng)的數(shù)字送入數(shù)字緩沖區(qū);符號(hào)鍵按下則將送入符號(hào)緩沖區(qū);功能鍵按下則執(zhí)行相應(yīng)的程序;最終進(jìn)行運(yùn)算后,綜合結(jié)果將送入結(jié)果緩沖區(qū),并在 LCD 液晶顯示屏上顯示出來(lái)。 鍵盤模塊程序也可相當(dāng)于一個(gè)中斷服務(wù)子程序,如圖 43 所示。 18 通過(guò)以上的中斷服務(wù)程序框圖,來(lái)編寫其子程序: void keyscan() //鍵盤掃描程序 { uchar temp,uu=0xf7。 uint i。 for(i=0。i4。i++) {uu=_crol_(uu,1)。 //_crol_為左移函數(shù) ………… { case 0xee: key=0。 break。 case 0xde: key=1。 break。 ……………… case 0x77: key=15。 break。 } 在以上的程序中,其中的 “key=0……key=15” 是按鍵 “0 +、 、 *、 /、 =、 ON/C”16個(gè)鍵。而 “case 0xee: key=0。 break。”中,被賦值為 “0xee”,則是因?yàn)樾行畔⑹?P3 口的低 四位,若是按鍵按下為 “0”,則 為 “0”, 為 “1”;同時(shí),列信息是 P3 口的高四位,若是按鍵按下為 “0”,則 為 “0”, 為 “1”;由此可得,其被賦值為 “0xee”。 以此類推,之后一直到 “case 0x77: key=15。 break?!睘橹?,都是采用相同的方法去賦值的 結(jié) 論 在硬件的制作過(guò)程中,我走了很多彎路。主要是在系統(tǒng)還沒(méi)有到設(shè)計(jì)完全的時(shí)候就開始很心急地 做仿真圖和實(shí)物 。后來(lái)發(fā)現(xiàn)與設(shè)計(jì)的要求還有偏差,而后反復(fù)地改了好幾次,浪費(fèi)了大量的時(shí)間和精力。 板子是 按照自己的思想和意愿來(lái)設(shè)計(jì)的 。一開始,本想用匯編語(yǔ)言來(lái)編程的,可是當(dāng)編了一部分之后才發(fā)現(xiàn),用匯編語(yǔ)言來(lái)編程的話,相當(dāng)繁復(fù)冗長(zhǎng);之后就想試著用 C 語(yǔ)言來(lái)編程。在圖書館查閱了一些相關(guān)資料后,就開始寫程序。在編寫程序的過(guò)程中,發(fā)現(xiàn)居然出現(xiàn)了不少問(wèn)題。所以,在編寫程序的過(guò)程中,也就完善了 軟件 的設(shè)計(jì)。 編程時(shí),已充分使用了結(jié)構(gòu)化的思想。這樣一來(lái),因?yàn)檎Z(yǔ)句較少,程序調(diào)試也比較方便,功能模塊可以逐一地調(diào)試,充分體現(xiàn)了結(jié)構(gòu)化編程的優(yōu)勢(shì)。當(dāng)每個(gè)模塊都完成時(shí),將其功能加到一起就完成了整體的設(shè)計(jì) ,通過(guò)這次畢業(yè)論文的設(shè)計(jì) ,使自己在單 片機(jī)方面得了很高的提升空間 ,為自己為將來(lái)打下了不小的基礎(chǔ) . 19 參考文獻(xiàn) [1] 李廣弟,朱月秀,冷祖祁 .單片機(jī)基礎(chǔ) [M].北京:北京航空航天大學(xué)出版社, 2021:1. [2] 徐惠民,田輝,孫全,等 .微機(jī)原理與接口技術(shù) [M].北京 :高等教育出版社, 2021:5 [3] 林志琦 .單片機(jī)原理接口及應(yīng)用 [M].北京:北京水利水電出版社, 2021. [4] 張友德、趙金英、涂時(shí)亮 .單片微型計(jì)算機(jī)原理、應(yīng)用與實(shí)驗(yàn) (第四版 )[M].上海:復(fù)旦大學(xué)出版社,2021. [5] 彭傳良 .電子計(jì)算器鍵盤與單片機(jī)的接口技術(shù)及 其應(yīng)用 [J]. 氣象水文海洋儀器 , 1999( 02): 4044 [6] 譚浩強(qiáng), C 程序設(shè)計(jì)(第三版) [M]:北京:清華大學(xué)出版社, 1999 [7] 萬(wàn)冬、王玥玥 . 電子設(shè)計(jì)實(shí)戰(zhàn)訓(xùn)練之六:簡(jiǎn)單計(jì)算器 [J]. 電子制作, 2021( 11): 2831 [8] 高偉 . AT89 單片機(jī)原理及應(yīng)用 [M]. 北京 :國(guó)防工業(yè)出版社 2021. [9] 張慶鋒 . 計(jì)算器 LCD 顯示屏與單片機(jī)的簡(jiǎn)單接口 [J] .電子技術(shù)應(yīng)用, 1996( 2) :2325 [10]江世明 . 基于 Proteus 的單片機(jī)應(yīng)用技術(shù) [M]. 北京 :電子 工業(yè)出版社 ,2021. [11]周潤(rùn)景 . 基于 Proteus 的電路與單片機(jī)系統(tǒng)設(shè)計(jì)與仿真 [M]. 北京 :北京航空航天大學(xué)出版社 ,2021. 20 附錄一 電路原理圖 A7A6A5A4A3A2A1A0A1A2A3A4A5A6B8B7B6B5B4B3B2B1B1B2B3B4B5B6B7B8C1C1D1D1E1E1F2F1A0A7F1F2X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 1 6 LR11 0 k+ 5 VR21 0 kC11 0 0 nC20 .1 u FC30 .1 u FX1CR Y S T A L 附錄二 軟件程序 include include define uchar unsigned char define uint unsigned int sbit lcden=P2^2。//這是 LCD 使能端 sbit lcdrw=P2^1。//這是 LCD 讀寫選擇端 sbit lcdrs=P2^0。//這是 LCD 數(shù)據(jù)命令選擇端 uchar code table[]={39。039。,39。139。,39。239。,39。339。,39。439。,39。539。,39。639。,39。739。,39。839。,39。939。, 39。+39。,39。39。,39。*39。,39。/39。,39。=39。,39。.39。}。 uchar key,flag1,js,k1,k2。 21 uchar a[20],b[20]。 float jieg
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1