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

正文內(nèi)容

基于單片機的多功能計算器設(shè)計畢業(yè)設(shè)計word格式(文件)

2024-12-23 11:03 上一頁面

下一頁面
 

【正文】 ****************** void vShowCustom(unsigned char ucOneCostom,unsigned ucOrder) { 35 LEDSELECT=0。 else { LEDSELECT=0。 //ucOrder:1~6 LEDSELECT=uca_LEDSelect[ucOrder1]。 return uca_LedNum。uc_NumberFront6。 uca_LedNum[1] = (ulNumber100000*(long)uca_LedNum[5]10000*(long)uca_LedNum[4] 1000*(long)uca_LedNum[3]100*(long)uca_LedNum[2])/10。 //最高位存在數(shù)組【 5】中。 { //并返回首地址。 //停止 StoP unsigned char uca_ReportChar8[]={0xC0,0x8C,0x8C,0xC0,0x92,0x86}。 31 //表明從計時器模式切換到計算器模式。 //被減數(shù)小于減數(shù)。 //在自定義模式下, LCD 實時顯示該字符。 //存放數(shù)字的各個位。 //0,1,2,3,4,5,6,7,8,9,空白。 } //************************************************************************************************* //************************************************************************************************* //**程序名 : LED動態(tài)掃描子函數(shù)。 } break。 case 0x07: ucRow=40。 case 0x0D: ucRow=20。 if(ucTemp!=0x0F) { //判斷該列是否有按鍵按下。 //輸出掃描電位。 //行號,列號。 //列線掃描電壓,分為第 1, 2,3, 4根列線 //為低電平,其他為高電平。 ** //************************************************************************************************* //************************************************************************************************* //************************************************************************************************* //* * //* ******************************頭文件及宏定義 ************************** * //* * //************************************************************************************************* include define SCANPORT P2 //4 4鍵盤掃描端口,低 4位是行線,高 4位是列線。 else vCalculator(ucKeyCodeTemp)。 //工作模式 (默認為計算器模式 )// bit b_WorkMode=0。 25 default: break。 case 44: vCalContinue(44)。 //* case 34: vCalContinue(34)。 //39。=39。 //如果有“ =”號輸入則計算結(jié)果。 case 42: vPushTwo(0)。 case 33: vPushTwo(3)。 case 32: vPushTwo(2)。 case 31: vPushTwo(1)。 case 23: vPushTwo(6)。 case 22: vPushTwo(5)。 case 21: vPushTwo(4)。 case 13: vPushTwo(9)。 case 12: vPushTwo(8)。 case 11: vPushTwo(7)。 ul_NumberOne=ul_Result。 //39。 //39。 case 24: uc_Operator=24。 case 14: uc_Operator=14。break。 //39。239。 case 32: vPushTwo(2)。uc_NumPointer=3。break。 //39。439。 case 21: vPushTwo(4)。uc_NumPointer=3。break。 //39。 } } //狀態(tài)二按鍵處理函數(shù) // void vCalReadyTwo(unsigned char ucKeyCode) { switch(ucKeyCode) //狀態(tài)二下如果有數(shù)字輸入則將數(shù)字壓入數(shù)字二,轉(zhuǎn)到狀 態(tài)三。 } break。break。 //39。break。 //39。 } } else switch(ucKeyCode) //如果有 0輸入,則說明是全新計算,正常進行。break。 //39。break。 //39。 //說明是繼續(xù)上一次運算,將上一次運算結(jié)束 switch(ucKeyCode) //賦給第一個數(shù),進行連續(xù)運算。 default: //此處的 b_Zero判斷主要是為了實現(xiàn)連續(xù)運算功能 // if(b_Zero==0amp。break。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 //39。 ul_Number=ul_NumberOne。 uc_NumPointer=1。 } ul_Number=ul_Result。 b_LCDClean=1。 //當被減數(shù)小于減數(shù)時顯示錯誤代碼 EOR2// b_LCDClean=1。 20 break。 //*************************乘法運算 *****************************// case 24: if((ul_NumberOne*ul_NumberTwo)999999) { ul_Result=0。 else { ul_Result=0。 extern unsigned char uc_ReportSymbol。 19 extern unsigned char uc_Operator。 //功能 :在計算器模式下,對按鍵進行響應(yīng),如清零,計算結(jié)果等 // //錯誤代碼 : EOR1:被除數(shù)等于 0; // // EOR2:被減數(shù)小于減數(shù); // // EOR9:超出可顯示的最大值。 //進入狀態(tài)三。 case 2: vCalReadyTwo(ucKeyCode)。 uc_ModeChange=0。 ul_NumberTwo=0。 ul_Number=0。 //如果 uc_ModeChange不是 2則加一。 //閃爍顯示: CHAG1。 { uc_ModeChange=0。 //計算狀態(tài) //*********************計算器處理主函數(shù) *********************// void vCalculator(unsigned char ucKeyCode) 17 { if(ucKeyCode==41) //判斷按鍵是不是 39。 //第一個數(shù) unsigned long ul_NumberTwo=0。 unsigned char uc_ModeChange=0。 //LCE顯示數(shù)據(jù) ,LCD實時顯示該數(shù)字。 作為一名電子信息類專業(yè)的學(xué)生,我們目前學(xué)習(xí) 最好的方法就是多實踐,多設(shè)計,為將來的工作作好準備。 雖然,在一開始接到這個設(shè)計任務(wù)時,我們感覺挺有壓力的 ,擔心做不好,但是團隊的力量是不可小覷的,我們小組三人互相鼓勵學(xué)習(xí),所以我們在討論中一步步進步,最終完成了任務(wù)。 不知不覺,兩個 星期的單片機實踐課程學(xué)習(xí)就結(jié)束了,在一開始看這本書時 , 只對這門課程 有了大致的了解, 但只是理論上的理解,對如何應(yīng)用卻很是模糊, 有些東西還是模棱兩可,不是很明白,所以一開始進入實驗室進行 設(shè)計操作時,我 是一頭霧水 ,不知道到底該怎么辦好,尤其是在程序編譯時, 程序經(jīng)常有錯誤, 讓我們很是頭疼郁悶 , 可沒辦法只好耐心 慢慢找 錯誤, 有時真得都快失去耐心了,可是還是不能放棄,于是 我們小組就在一起慢慢討論 , 邊看書邊做 ,或者請教老師和同學(xué),上課沒完成,課后我 們 還是會重新再做, 直到 得出正確結(jié)論,雖然 花了 不少時間,但至少讓我 們學(xué)會了很多。 由于該電路可以實現(xiàn)計算、計時以及倒計時三種功能,因此,會有 相應(yīng)的模式轉(zhuǎn)換提示代碼信息 ;此外,由于該設(shè)計電路存在設(shè)計功能有限,所以會有相應(yīng)的錯誤提示 信息,主要如下: 相關(guān)顯示代碼: 13 報告代號 顯示 含義 1: EOR1 被除數(shù)等于 0; 2: EOR2 被減數(shù)小于減數(shù); 3: CHAG1 表明從計算器模式切換到計時模式; 4: CHAG0 表明從計時器模式切換到計算器模式; 5: PAUSE 暫停; 7: StoP 停止; 8: OPPOSE 切換到倒計時模式 。按功能鍵 “ ON/C” 切換到 計時模式; 在計 時 模式下 按“ =” 功能鍵 又可切換到計算模式; 在計 時 模式下 按“ =” 功能鍵 后再按 功能鍵“ ON/C” 又可切換到倒計時模式。 部分 出于學(xué)習(xí)的目的, 計時和倒計時采用定時器來實現(xiàn)的。 (17腳 )RD:外部數(shù)據(jù)存儲器讀選通,低電平有效 該計算器的實際操作模塊如下圖所示: 9 本作品實現(xiàn)的功能全部是由 C 語言 程序編寫實現(xiàn)。 (13腳 )INT1:外部中斷 1請求端,低電平有效。 P3口 (10~ 17腳 ): P3雙功能靜態(tài)端口。 /EA(31腳 ): EA為訪問內(nèi)部或外部程序存儲器選擇信號, EA=0,單片機只訪問外部程 序存儲器,故對 8031此腳只能接地; EA= 1,單片機訪問內(nèi)部程序存儲器,固對 8051和 8751此腳應(yīng)接高電平,但若程序指針 PC值超過 4KB(OFFFH)范圍,單片機將自動訪問外部程序存儲器。 ⑶ .控制、選通或電源復(fù)用引腳 : RST/Vp0(9 腳 ):復(fù)位信號輸入; Vcc 掉電后,此腳可接上備用電源,在低功耗條件下保持內(nèi)部 RAM中的數(shù)據(jù)。 AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器 ( FPEROM— Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS 8 位微處理器,俗稱 單片機 。 由于 P2 口始終輸出地址的高 8 位,接口時 74LS245 的三態(tài)控制端 /1G 和 /2G 接地, P2口與驅(qū)動器輸入線對應(yīng)相連。 74LS245 是我們常用的芯片,用來驅(qū)動 LED 或者其他的設(shè)備,它是 8 路同相三態(tài)雙向總線收發(fā)器,可 雙向傳輸數(shù)據(jù)。 表 1 用 LED 顯示器顯示十六位進制數(shù)的字形代碼在下圖表示: 字型 共陽極 代 碼 共陰極代碼 字型 共陽極代碼 共陰極代碼 0 COH 3FH 9 90H 6FH 1 F9H 06H A 88H 77H 2 A4H 5B
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦

畢業(yè)設(shè)計(論文)-基于mc51單片機的簡易計算器設(shè)計-資料下載頁

【摘要】電》