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

正文內(nèi)容

基于單片機(jī)的多功能計(jì)算器設(shè)計(jì)畢業(yè)設(shè)計(jì)word格式-文庫(kù)吧

2025-10-26 11:03 本頁(yè)面


【正文】 A =“1”,信號(hào)由 A 向 B 傳輸;(發(fā)送)當(dāng) /CE 為高電平時(shí), A、 B 均為高阻態(tài)。 由于 P2 口始終輸出地址的高 8 位,接口時(shí) 74LS245 的三態(tài)控制端 /1G 和 /2G 接地, P2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。 P0 口與 74LS245 輸入端 相連 ,/CE 端接地,保證數(shù)據(jù)現(xiàn)暢通。8051 的 /RD 和 /PSEN 相與后接 DIR,使得 /RD 或 /PSEN 有效時(shí), 74LS245 輸入( ←Di ),其它時(shí)間處于輸出( →Di )。 7 模塊 該設(shè)計(jì)的核心控制電路是 AT89C51單片機(jī) 。 AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器 ( FPEROM— Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS 8 位微處理器,俗稱 單片機(jī) 。 其引腳圖以及工作原理如下: 現(xiàn)簡(jiǎn)要介紹各引腳的功能。 ⑴ .主電源引腳 : Vss(20腳 ):地線 Vcc(40腳 ): +5V電源 ⑵ .外接晶振或外部振蕩器引腳 : XTAL1(19腳 ):當(dāng)采用芯片內(nèi)部時(shí)鐘信號(hào)時(shí),接外部晶振的一個(gè)引腳;當(dāng)采用外部時(shí)鐘信號(hào)時(shí),此腳應(yīng)接 地。 XTAL1(18腳 ):當(dāng)采用芯片內(nèi)部時(shí)鐘信號(hào)時(shí),接外部晶振的一個(gè)引腳;當(dāng)采用外部時(shí)鐘信號(hào)時(shí),外部信號(hào)由此腳輸入。 ⑶ .控制、選通或電源復(fù)用引腳 : RST/Vp0(9 腳 ):復(fù)位信號(hào)輸入; Vcc 掉電后,此腳可接上備用電源,在低功耗條件下保持內(nèi)部 RAM中的數(shù)據(jù)。 ALE/PROG(30 腳 ): ALE 即允許地址鎖存信號(hào)輸出,當(dāng)單片機(jī)訪問外部存儲(chǔ)器時(shí)該腳的輸出信號(hào)用于鎖存 P0的低 8位地址,其輸出的頻率為時(shí)鐘振蕩頻率的 1/6。 PROG為編程脈沖輸入端, 當(dāng)選用 8751單片機(jī)時(shí),由此腳輸入編程脈 沖。 /PSEN(29腳 ):訪問外部程序存儲(chǔ)器選通信號(hào),低電平有效,用于實(shí)現(xiàn)外部程序存儲(chǔ)器的 讀操作。 /EA(31腳 ): EA為訪問內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào), EA=0,單片機(jī)只訪問外部程 序存儲(chǔ)器,故對(duì) 8031此腳只能接地; EA= 1,單片機(jī)訪問內(nèi)部程序存儲(chǔ)器,固對(duì) 8051和 8751此腳應(yīng)接高電平,但若程序指針 PC值超過 4KB(OFFFH)范圍,單片機(jī)將自動(dòng)訪問外部程序存儲(chǔ)器。 ⑷ .多功能 I/O引 : P0口 (32~ 39腳 ): P0數(shù)據(jù) /地址復(fù)用總線端口。 P1口 (1~ 8腳 ): P1靜態(tài)通用端口。 P2口 (21~ 28腳 ): P2動(dòng)態(tài)端口。 P3口 (10~ 17腳 ): P3雙功能靜態(tài)端口。除作 I/O端口外,它還提供特殊的第二功能,其具體 8 含義為: (10腳 )RXD:串行數(shù)據(jù)接收端。 (11腳 )TXD:串行數(shù)據(jù)發(fā)送端。 (12腳 )INT0:外部中斷 0請(qǐng)求端,低電平有效。 (13腳 )INT1:外部中斷 1請(qǐng)求端,低電平有效。 (14腳 )T0:定時(shí)器 /計(jì)數(shù)器 0計(jì)數(shù)輸入端。 (15腳 )T1:定時(shí)器 /計(jì)數(shù)器 1計(jì)數(shù) 輸入端。 (16腳 )WR:外部數(shù)據(jù)存儲(chǔ)器寫選通,低電平有效。 (17腳 )RD:外部數(shù)據(jù)存儲(chǔ)器讀選通,低電平有效 該計(jì)算器的實(shí)際操作模塊如下圖所示: 9 本作品實(shí)現(xiàn)的功能全部是由 C 語(yǔ)言 程序編寫實(shí)現(xiàn)。通過程序的編寫使簡(jiǎn)單的器件實(shí)現(xiàn)豐富的功能。 使用雙精度類型來存放計(jì)算器的兩個(gè)輸入數(shù)值和最后的計(jì)算結(jié)果,最大接 收 的輸入位數(shù)為 6位,超出 6位顯示報(bào)錯(cuò),并且需要清屏,然后重新輸入。該計(jì)算器只能實(shí)現(xiàn)正 整數(shù)范圍內(nèi)的四則運(yùn)算。 部分 出于學(xué)習(xí)的目的, 計(jì)時(shí)和倒計(jì)時(shí)采用定時(shí)器來實(shí)現(xiàn)的。 雖然有點(diǎn)誤差但 誤差不大 基本達(dá)到要求。此外,該計(jì)算器還設(shè)有四個(gè)功能按鍵, 可以輸入相應(yīng)的按鍵對(duì)應(yīng)的鍵值 ,進(jìn)行模式轉(zhuǎn)換或數(shù)據(jù)更改。 一開始默認(rèn)的模式是計(jì)算模式即 矩陣鍵盤執(zhí)行 計(jì)算 模式下的功能。按功能鍵 “ ON/C” 切換到 計(jì)時(shí)模式; 在計(jì) 時(shí) 模式下 按“ =” 功能鍵 又可切換到計(jì)算模式; 在計(jì) 時(shí) 模式下 按“ =” 功能鍵 后再按 功能鍵“ ON/C” 又可切換到倒計(jì)時(shí)模式。 10 開始 計(jì)算器初始化 是否為計(jì)算模式 是否為計(jì)時(shí)模式 是否為倒 計(jì)時(shí)模式 結(jié)束 Y NO Y NO Y NO 執(zhí)行該模式下的操作 執(zhí)行該模式下的操作 執(zhí)行該模式下的操作 11 4 硬件設(shè)計(jì) 74LS245 驅(qū)動(dòng)電路 AT89C51 主控制電路 矩陣鍵盤控制電路 LED 顯示電路 12 硬件電路圖 4. 3 引腳鎖定 P0口接驅(qū)動(dòng)器 74LS245。 P1口接顯示器 LED的段選 。 P2口 接 4*4矩陣鍵盤 ; P3口 接 外部中斷 0。 由于該電路可以實(shí)現(xiàn)計(jì)算、計(jì)時(shí)以及倒計(jì)時(shí)三種功能,因此,會(huì)有 相應(yīng)的模式轉(zhuǎn)換提示代碼信息 ;此外,由于該設(shè)計(jì)電路存在設(shè)計(jì)功能有限,所以會(huì)有相應(yīng)的錯(cuò)誤提示 信息,主要如下: 相關(guān)顯示代碼: 13 報(bào)告代號(hào) 顯示 含義 1: EOR1 被除數(shù)等于 0; 2: EOR2 被減數(shù)小于減數(shù); 3: CHAG1 表明從計(jì)算器模式切換到計(jì)時(shí)模式; 4: CHAG0 表明從計(jì)時(shí)器模式切換到計(jì)算器模式; 5: PAUSE 暫停; 7: StoP 停止; 8: OPPOSE 切換到倒計(jì)時(shí)模式 。 9: EOR9 超出可顯示的最大值。 14 15 出于我們水平有限,雖然我們?cè)O(shè)計(jì)的這個(gè)計(jì)算器具有計(jì)算和計(jì)時(shí)的多功能,但是還有很多不足,例如,該計(jì)算器只能實(shí)現(xiàn)正整數(shù)的加減乘除運(yùn)算,無法實(shí)現(xiàn)小數(shù)以及負(fù)數(shù)的運(yùn)算 。 所以可以將該設(shè)計(jì)電路進(jìn)行擴(kuò)展,真正設(shè)計(jì)為一個(gè)多功能的科學(xué)計(jì)算器。 不知不覺,兩個(gè) 星期的單片機(jī)實(shí)踐課程學(xué)習(xí)就結(jié)束了,在一開始看這本書時(shí) , 只對(duì)這門課程 有了大致的了解, 但只是理論上的理解,對(duì)如何應(yīng)用卻很是模糊, 有些東西還是模棱兩可,不是很明白,所以一開始進(jìn)入實(shí)驗(yàn)室進(jìn)行 設(shè)計(jì)操作時(shí),我 是一頭霧水 ,不知道到底該怎么辦好,尤其是在程序編譯時(shí), 程序經(jīng)常有錯(cuò)誤, 讓我們很是頭疼郁悶 , 可沒辦法只好耐心 慢慢找 錯(cuò)誤, 有時(shí)真得都快失去耐心了,可是還是不能放棄,于是 我們小組就在一起慢慢討論 , 邊看書邊做 ,或者請(qǐng)教老師和同學(xué),上課沒完成,課后我 們 還是會(huì)重新再做, 直到 得出正確結(jié)論,雖然 花了 不少時(shí)間,但至少讓我 們學(xué)會(huì)了很多。 這是在軟件中遇到的問題,此外在買器材時(shí)也遇到一些問題。如,本來是要去買我們?cè)仍O(shè)定的標(biāo)準(zhǔn)型號(hào)的器材,但是在買器材的過程中發(fā)現(xiàn),有些器材買不到,此時(shí)我們只好重新查閱資料,找具有相應(yīng) 功能的元器件代替,但必須要嚴(yán)格相近,否則,會(huì)影響電路的功能。 在焊接電路的時(shí)候,由于有些器件太小了如:貼片電容、貼片電阻等,所以難免會(huì)焊接錯(cuò)誤,此時(shí)我們必須不停的調(diào)試找出錯(cuò)誤,否則會(huì)導(dǎo)致整個(gè)電路的損壞。 雖然,在一開始接到這個(gè)設(shè)計(jì)任務(wù)時(shí),我們感覺挺有壓力的 ,擔(dān)心做不好,但是團(tuán)隊(duì)的力量是不可小覷的,我們小組三人互相鼓勵(lì)學(xué)習(xí),所以我們?cè)谟懻撝幸徊讲竭M(jìn)步,最終完成了任務(wù)。 當(dāng)然,我們學(xué)到的只是一些最為基礎(chǔ)的東西,還有很多東西還得深入學(xué)習(xí),進(jìn)一步加強(qiáng)。 總之 在 這次單片機(jī) 學(xué)習(xí)中 我 們 受益匪淺。這不僅增強(qiáng)了我 們 對(duì) 單片機(jī) 設(shè)計(jì) 的興趣, 更 增強(qiáng)了自己的動(dòng)手能力 ,這要感謝老師的指導(dǎo)和同學(xué)的幫助! 電子行業(yè)是一門發(fā)展相當(dāng)迅速的行業(yè),每天都會(huì)有新的產(chǎn)品和應(yīng)用需求,所以,在學(xué)好書本知識(shí)的同時(shí)還要時(shí)時(shí)關(guān)注相關(guān)領(lǐng)域的最新動(dòng)態(tài),學(xué)會(huì)自主分析解決目前技術(shù)中存在的問題。 作為一名電子信息類專業(yè)的學(xué)生,我們目前學(xué)習(xí) 最好的方法就是多實(shí)踐,多設(shè)計(jì),為將來的工作作好準(zhǔn)備。 16 ( 1) 《 跟我學(xué)用單片機(jī) 》 肖洪兵 第 2 版 北京:北京航空航天大學(xué)出版社 , ( 2) 《 單片機(jī)高級(jí)教程 》 何立民 第 1 版.北京:北京航空航天 大學(xué)出版社 , ( 3)《 單片機(jī)基礎(chǔ) 》 李廣第 第 1 版.北京:北京航空航天大學(xué)出版社, 附錄(程序 清單 ) //**程序名 :計(jì)算器處理主程序,根據(jù)計(jì)算器的輸入狀態(tài)分派不同的函數(shù)對(duì)按鍵進(jìn)行處理。 //**功能 :當(dāng) b_WorkMode=0是,若有鍵按下則調(diào)用此函數(shù)對(duì)鍵碼進(jìn)行處理。 頭文件及宏定義 include *全局變量 * extern unsigned long ul_Number。 //LCE顯示數(shù)據(jù) ,LCD實(shí)時(shí)顯示該數(shù)字。 //工作模式 (默認(rèn)為計(jì)算器模式 )// extern bit b_WorkMode。 //0計(jì)算器模式; //1計(jì)時(shí)模式。 //定義在 。 unsigned char uc_ModeChange=0。 extern bit b_LCDClean。 extern unsigned char uc_ReportSymbol。 unsigned long ul_NumberOne=0。 //第一個(gè)數(shù) unsigned long ul_NumberTwo=0。 //第二個(gè)數(shù) unsigned char uc_Operator=0。 //運(yùn)算符 unsigned long ul_Result=0。 //運(yùn)算結(jié)果 unsigned char uc_NumPointer=1。 //計(jì)算狀態(tài) //*********************計(jì)算器處理主函數(shù) *********************// void vCalculator(unsigned char ucKeyCode) 17 { if(ucKeyCode==41) //判斷按鍵是不是 39。NO/C39。 { if(uc_NumPointer==1) //如果是‘ NO/C’鍵則判斷手機(jī)否是狀態(tài)一。 { if(uc_ModeChange==2) //如果是狀態(tài)一則看 uc_ModeChange是不是 2。 { uc_ModeChange=0。 //如果是 2則計(jì)時(shí)器模式。 b_WorkMode=1。 uc_ReportSymbol=3。 //閃爍顯示: CHAG1。表明正在切換狀態(tài)。 b_LCDClean=1。 } else { uc_ModeChange++。 //如果 uc_ModeChange不是 2則加一。 ul_NumberOne=0。 //清除所有數(shù)據(jù),將所有數(shù)據(jù)恢復(fù)到狀態(tài)一。 ul_NumberTwo=0。 ul_Number=0。 uc_NumPointer=1。 } } else { ul_NumberOne=0。 //清除所有數(shù)據(jù),將所有數(shù)據(jù)恢復(fù)到狀態(tài)一。 ul_NumberTwo=0。 ul_Number=0。 uc_NumPointer=1。 } } else 18 { //如果不是“ NO/C”鍵,首先將 uc_ModeChange清零。 uc_ModeChange=0。 //根據(jù)不同狀態(tài)分派不同的鍵處理函數(shù) // switch(uc_NumPointer) { case 1: vCalReadyOne(ucKeyCode)。 //進(jìn)入狀態(tài)一。 break。 case 2: vCalReadyTwo(ucKeyCode)。 //進(jìn)入狀態(tài)二。 break。 case 3: vCalReadyThree(ucKeyCode)。 //進(jìn)入狀態(tài)三。 break。 default:break。 } } } 程序名 :計(jì)算器案件初始處理及運(yùn)算。 //功能 :在計(jì)算器模式下,對(duì)按鍵進(jìn)行響應(yīng),如清零,計(jì)算結(jié)果等 // //錯(cuò)誤代碼 : EOR1:被除數(shù)等于 0; // //
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1