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

正文內(nèi)容

基于單片機(jī)的簡易計(jì)算器設(shè)計(jì)畢業(yè)設(shè)計(jì)(文件)

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

下一頁面
 

【正文】 or in people’ s daily lives is one of the moremon electronic on this concept,this design is AT89C51 microcontroller,LCD display,control buttons designed for the based function with a simple with using this microcontroller design and Clanguage programming microcontrollers,resources and all of its chip i/0 port functions and basic use of the the KEIL, PROTUES and the mon use of LCD displays and general use of the keyboard Keywords AT89C51 LCD control buttons 3 引言 當(dāng)今社會(huì),隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進(jìn)了家家戶戶,無論是生活或?qū)W習(xí),還是娛樂和消遣,幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計(jì)算能力是人腦所不能勝任的,而且比較容易出錯(cuò)。 4 1 緒論 隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步的提高,尤其是微電子技術(shù)的發(fā)展,猶如雨后春筍的變化。 設(shè)計(jì)內(nèi)容和章節(jié)分配 隨著嵌入式的快速發(fā)展,單片機(jī)本著它簡單,功能強(qiáng)大,抑郁設(shè)計(jì)等優(yōu)點(diǎn)被設(shè)計(jì)者使用。 第四章為設(shè)計(jì)的核心,即硬件電路設(shè)計(jì),此章將硬件電路分成為若干模塊,分別解釋好了模塊的硬件設(shè)計(jì)電路,第五章為軟件設(shè)計(jì),沖語言的懸著,控制字的確定,流程圖的介紹到最后的仿真與調(diào)試,通過這幾章的介紹,完 成簡易計(jì)算器的設(shè)計(jì)。 用計(jì)算器專用芯片進(jìn)行設(shè)計(jì)并編程實(shí)現(xiàn)。 FPGA 將所有器件集成到一塊芯片上,體積小,節(jié)省空間,提高了穩(wěn)定性,直接面向用戶,既有極大的靈活性和通用性,使用方便,硬件測試和實(shí)現(xiàn)快捷,開發(fā)效率高,工作可靠性好,可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,密度高,采用并行的輸入輸出方式,系統(tǒng)處理速度高,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。 綜上所述,并通過各個(gè)方面綜合比較為達(dá)到最佳效果,我們采用方案三利用單片機(jī)控制器來實(shí)現(xiàn) 。 個(gè)可由用戶自定義的 5*7 的字符發(fā)生器 CGRAM。 方案三: 4*4 矩陣鍵盤。設(shè)計(jì)出以單片機(jī)為核心 包括開關(guān)模塊,擴(kuò)展模塊,運(yùn)算模塊和顯示模塊。此編程工具相比匯編語言具有結(jié)構(gòu)化,適用范圍大,可移植性好,開發(fā)效率高等優(yōu)點(diǎn)。 運(yùn)算模塊 AT89C51 主控制器 顯示模塊 擴(kuò)展模塊 開關(guān)模塊 9 3 主要芯片的介紹 AT89C51 選擇及介紹 隨著集成電路工藝的發(fā)展,出現(xiàn)了單片機(jī), 等多種單片機(jī)。由于結(jié)構(gòu)和計(jì)算速度的原因,目前適合做事務(wù)處理或者中低端的應(yīng)用和中高級工程控制。 AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案 。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。是目前世界上唯一將電路仿真 軟件、PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持 805 HC1PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086 和 MSP430 等, 2020 年即將增加 Cortex和 DSP 系列處理器,并持續(xù)增加其他系列處理器模型。時(shí)鐘接口電路如圖 41 所示: 圖 41晶振電路圖 圖 42LCD顯示電路圖 12 本設(shè)計(jì)采用 LCD1602 液晶顯示器來顯示數(shù)據(jù),既可以兩行每行 16 個(gè)字符。 圖 43按鍵輸入電路圖 13 5 軟件設(shè)計(jì) 本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇合適的 編程語言是一個(gè)重要的換件。所以在本設(shè)計(jì)中采用 C 語言編寫軟件程序。清除液晶顯示器,既清屏操作數(shù)為 0X01 如表 53 所示 : 表 53模式指令寄存器 功能:設(shè)定每次定人 1 位數(shù)據(jù)后光標(biāo)的以為方向,并且設(shè)定每次寫入的一個(gè)字符是否移動(dòng)。原因就是如果你要想在 DDRAM的 00H 地址處顯示數(shù)據(jù),則必須將 00H 加上 80H,既 80H,若要在 DDRAM 的 01H 處顯示處顯示 數(shù)據(jù),則必須將 01H 加上 80H 即 80H+01H。如一下程序 switch(fuhao){ case 1: c=a+b。 case 2: //39。 break。 break。/39。 c=c/10。amp。 } if(i== 3){ 18 write_date(0x2e)。(a b)){ write_date(0x2d)。i=0。 數(shù)值的組成 在數(shù)值的組成中,每一次按下一個(gè)鍵就會(huì)有一個(gè)數(shù)字顯示,但是要讓電腦知道這幾個(gè)數(shù)字是連續(xù)的則需要單獨(dú)用一個(gè)變量來存儲這個(gè)數(shù);如下程序所示: void key789(void) { P3=0xfe。 switch(temp){ case 0xe0:num=0。 case 0xb0:num=2。 19 } while(P3!=0xfe)。 }else{ //如果按過符號鍵 b=b*10+table[num]。 write_date(0x30+i)。如果是除號 或者其他的運(yùn)算字符()等號 除外 ,則表示第一個(gè)數(shù)已經(jīng)完成,那么我們就需要在換一個(gè)數(shù) b 來存儲第 2 個(gè)數(shù)。 //8 位, 2 行 write_(0x0c)。 //檢測忙信號 write_(0x01)。 a=0。 //flag 表示是否有符號鍵按下, fuhao=0。 //指令 rw=1。 //允許讀寫 }while(busy==1)。 rw=0。 P0=date。 lcden=1。 第 5 腳: RW 為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。 Keil 調(diào)試 Keil C51是 美國 Keil Software 公司出品的 51系列兼容 單片機(jī) C語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。 Keil 是目前進(jìn)行 51 單片機(jī)開發(fā)最常用的編譯軟件。 但是在編譯的時(shí)候默認(rèn)是不生成 HEX 文件的,得在編譯器中做如下設(shè)置,在 project workspace 里 target 1 上右擊選擇 Options for target “ target 1” .出現(xiàn)如圖 53 所示對話框 。它是目前最好的仿 真單片機(jī) 及外圍器件的工具。在編譯方面,它也支持 IAR, keil 和 MATLAB 等多種編譯 。通過做本設(shè)計(jì),我能夠熟練使用 protues 軟件,對原理圖的繪畫有了進(jìn)一步的了解,更加深入的學(xué)習(xí) AT89C51 單片機(jī)的各項(xiàng)功能。因此作為電子專業(yè)的學(xué)生來說掌握單片機(jī)的發(fā)展技術(shù)是十分總要的。所以在以后的學(xué)習(xí)工作中,我會(huì)理論結(jié)合實(shí)際,學(xué)以致用,彌補(bǔ)自己的不足。 最后,再次感謝大學(xué)兩年來所有老師對我的培育之恩,感謝你們兩年來對我的關(guān)心和鼓勵(lì),謝謝你們!! 27 參考文獻(xiàn) [1]何立民 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京:北京航空航天大學(xué)出版社, 1996; [2]求是科技,單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航,北京:人民郵電出版社, 2020; [3]李秀忠,單片機(jī)應(yīng)用技術(shù)(匯編語言),中國勞動(dòng)社會(huì)出版社, ; [4]龔運(yùn)新著,單片機(jī) C 語言開發(fā)技術(shù),北京清華大學(xué)出版社, 2020, 10; [5]李萍等,智能儀器實(shí)驗(yàn)指導(dǎo)書,大連交通大學(xué) [6]單片機(jī)應(yīng)用技術(shù)( C 語言)。 sbit rw=P2^1。 long a,b,c。 uchar code table1[]={ 7,8,9,0x2f0x30, 4,5,6,0x2a0x30, 1,2,3,0x2d0x30, 0x010x30,0,0x3d0x30,0x2b0x30}。z) for(y=0。 rs=0。 //等待,液晶顯示器處理數(shù)據(jù) lcden=1。 //指令付給 P0 口 rs=0。 } void write_date(uchar date) // 寫數(shù)據(jù)函數(shù) { check()。 lcden=0。 //使能信號為高電平 write_(0x38)。 //檢測忙信號 write_(0x01)。 a=0。 //flag表示是否有符號鍵按下, fuhao=0。0xf0。 break。 break。 } if(flag==0){ //沒有按過符號鍵 a=a*10+table[num]。//4 表示除號已按 } i=table1[num]。 if(P3!=0xfd){ temp=P3amp。 case 0xd0:num=5。 case 0x70:num=7。439。639。 }else{ //如果按過符號鍵 b=b*10+table[num]。 fuhao=3。 //1,2,3 if(P3!=0xfb){ delay(5)。 break。 break。 if(num != 11) //如果按下的是 39?;?39。 } if(flag==0){ //沒有按過符號鍵 a=a*10+table[num]。 flag=1。 } } void key_fuhao() { P3=0xf7。 switch(temp){ case 0xe0:num=12。 case 0xb0:num=14。 } } while(P3!=0xf7)。flag=0。 write_date(0x30)。 } break。 //設(shè)置從后住前寫數(shù)據(jù),每寫完一個(gè)數(shù)據(jù),光標(biāo)后退一格 if(flag == 0){ c=a。 break。 else c=ba。*39。 //39。 }else{ while(c!=0){ write_date(0x30+c%10)。 //顯示小數(shù)點(diǎn) } } } //當(dāng) ab 時(shí)前面補(bǔ) 0 if((fuhao == 4)amp。i++){ write_date(0x30)。amp。b=0。 break。} break。 key_fuhao()。 } } 。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1