版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、東 北 石 油 大 學(xué)課 程 設(shè) 計(jì)題 目 基于單片機(jī)工程運(yùn)算系統(tǒng)的設(shè)計(jì) 院 系 專業(yè)班級(jí) 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師 2012年 月 日東北石油大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目 基于單片機(jī)工程運(yùn)算系統(tǒng)的設(shè)計(jì)專業(yè) 學(xué)號(hào) 姓名 主要內(nèi)容、基本要求、主要參考資料等:主要內(nèi)容:簡單電子計(jì)算器是一種能夠進(jìn)行加(+)、減(-)乘(×)除(÷)、百分?jǐn)?shù)(%)、倒數(shù)(1/x)等簡單計(jì)算的電子器件,但組成卻是麻雀雖小,五臟俱全,由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤、顯示器、電源和一些外圍設(shè)備組成。本設(shè)計(jì)的主要內(nèi)容是用單片機(jī)實(shí)現(xiàn)計(jì)算要求,通過自己編寫的程序下載到單片機(jī)中,從而實(shí)現(xiàn)單片機(jī)可以進(jìn)行簡單
2、的算術(shù)運(yùn)算。基本要求:1. 能夠進(jìn)行加(+)、減(-)乘(×)除(÷)、百分?jǐn)?shù)(%)、倒數(shù)(1/x)等簡單計(jì)算;2. 具有獨(dú)立按鍵,復(fù)位鍵;3. 用lcd液晶顯示屏顯示計(jì)算結(jié)果。主要參考資料:1 單片微型計(jì)算機(jī)與接口技術(shù),李群芳、黃建編著,電子工業(yè)出版社;2 單片機(jī)原理及應(yīng)用,張毅剛編著,高等教育出版社;3 51系列單片機(jī)及c51程序設(shè)計(jì),王建校,楊建國等編著,科學(xué)出版社;4 單片機(jī)原理及接口技術(shù),李朝青編著,北京航空航天大學(xué)出版社;完成期限: 2012.6.17指導(dǎo)教師簽名: 專業(yè)負(fù)責(zé)人簽名: 2012 年 月 日 摘 要隨著社會(huì)的發(fā)展,科學(xué)的進(jìn)步,人們的生活水平在逐步的
3、提高,尤其是微電子技術(shù) 的發(fā)展,猶如雨后春筍般的變化。單片機(jī)的應(yīng)用已經(jīng)越來越貼近生活,用單片機(jī)來實(shí)現(xiàn)一些 電子設(shè)計(jì)也變得容易起來。計(jì)算器在人們的日常中是比較的常見的電子產(chǎn)品之一。可是它還 在發(fā)展之中,以后必將出現(xiàn)功能更加強(qiáng)大的計(jì)算器,基于這樣的理念,本次設(shè)計(jì)是用單片機(jī)來設(shè)計(jì)的計(jì)算器。該設(shè)計(jì)系統(tǒng)是以at89c51 為單片機(jī), p0 口作為輸入端,外接4x6 的鍵盤,通過鍵盤掃描來對(duì)輸入數(shù)的控制,在p1 口,p2 口接了驅(qū)動(dòng)電路。用來保證lcd液晶顯示屏的工作正常。計(jì)算器將完成的功能有加,減,乘,除,求倒數(shù),百分比,sin,cos等功能。 關(guān)鍵詞:計(jì)算器;電子設(shè)計(jì);液晶顯示器;單片機(jī);abstra
4、ctwith the development of society, the progress of science, the living standard of people in to improve, especially microelectronics technology development, the changes have mushroomed. single chip microcomputer application has been more and more close to the life, by single chip to achieve some ele
5、ctronic design also becomes easier. calculators in the people's daily are relatively common one of electronic products. but it also developing, later will appear function more powerful calculators, based on the concept, this design is to design by single chip the calculator. the design is based
6、on at89c51 single chip microcomputer system for, p0 mouth as input, external 4 x6 keyboard, through the keyboard scan to the number of input control, the p1 mouth, p2 mouth to pick up the drive circuit. used to guarantee the normal work lcd screen. calculator will complete function have add, subtrac
7、t, multiply, and in addition to, ask bottom, percentage, sin, cos etc. function.keywords: calculator; electronic design; liquid crystal display; single chip microcomputer;目錄目錄4第1章 概述6第2章 工程運(yùn)算系統(tǒng)總體設(shè)計(jì)思路72.1總體系統(tǒng)模塊圖:72.2系統(tǒng)總流程圖:7第3章 系統(tǒng)開發(fā)工具的介紹93.1 at89c51單片機(jī)的介紹93.1.1主要特性:93.1.2 at89c51單片機(jī)引腳介紹:103.2 lcd1286
8、4液晶顯示屏的介紹123.2.1 基本特性:123.2.2 管腳說明:133.3 proteus的介紹143.3.1 proteus的功能143.3.2 proteus的使用方法143.4 keil軟件介紹15第4章 總體硬件設(shè)計(jì):164.1 手動(dòng)上電復(fù)位電路:174.2 內(nèi)部時(shí)鐘模式電路:184.3 單片機(jī)與復(fù)位、時(shí)鐘電路連接電路圖:194.4 鍵盤接口電路:204.5 lcd液晶顯示器電路:214.6 蜂鳴器電路:224.7 運(yùn)算模塊(單片機(jī)控制):23第5章 系統(tǒng)調(diào)試235.1 軟件調(diào)試235.2 硬件調(diào)試24第6章 總結(jié)24第7章 致謝25第1章 概述最早的計(jì)算工具誕生在中國。 中國古
9、代最早采用的一種計(jì)算工具叫籌策,又被叫做算籌。這種算籌多用竹子制成,也有用木頭,獸骨充當(dāng)材料的約二百七十枚一束,放在布袋里可隨身攜帶。直到今天仍在使用的珠算盤,是中國古代計(jì)算工具領(lǐng)域中的另一項(xiàng)發(fā)明,明代時(shí)的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。 17世紀(jì)初,西方國家的計(jì)算工具有了較大的發(fā)展,英國數(shù)學(xué)家納皮爾發(fā)明的"納皮爾算籌",英國牧師奧卻德發(fā)明了圓柱型對(duì)數(shù)計(jì)算尺,這種計(jì)算尺不僅能做加減乘除、乘方、開方運(yùn)算,甚至可以計(jì)算三角函數(shù),指數(shù)函數(shù)和對(duì)數(shù)函數(shù),這些計(jì)算工具不僅帶動(dòng)了計(jì)算器的發(fā)展,也為現(xiàn)代計(jì)算器發(fā)展奠定了良好的基礎(chǔ),成為現(xiàn)代社會(huì)應(yīng)用廣泛的計(jì)算工具。1642年,年僅19歲的法
10、國偉大科學(xué)家帕斯卡引用算盤的原理,發(fā)明了第一部機(jī)械式計(jì)算器,在他的計(jì)算器中有一些互相聯(lián)鎖的齒輪,一個(gè)轉(zhuǎn)過十位的齒輪會(huì)使另一個(gè)齒輪轉(zhuǎn)過一位,人們可以像撥電話號(hào)碼盤那樣,把數(shù)字撥進(jìn)去,計(jì)算結(jié)果就會(huì)出現(xiàn)在另一個(gè)窗口中,但是只能做加減計(jì)算。1694年,萊布尼茲在德國將其改進(jìn)成可以進(jìn)行乘除的計(jì)算。此后,一直要到20世紀(jì)50年代末才有電子計(jì)算器的出現(xiàn)。 第2章 工程運(yùn)算系統(tǒng)總體設(shè)計(jì)思路本系統(tǒng)選用at89c51單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對(duì)工程運(yùn)算系統(tǒng)的設(shè)計(jì)。分別對(duì)鍵盤輸入模塊;lcd顯示模塊;算術(shù)運(yùn)算模塊;進(jìn)行設(shè)計(jì),并用visio畫系統(tǒng)方框圖,keil與protues仿真分析其設(shè)計(jì)結(jié)果
11、。 工程運(yùn)算系統(tǒng)是一種能夠進(jìn)行加(+)、減(-)乘(×)除(÷)、百分?jǐn)?shù)(%)、倒數(shù)(1/x)等簡單計(jì)算的電子器件,但組成卻是麻雀雖小,五臟俱全,由運(yùn)算器、控制器、存儲(chǔ)器、鍵盤、顯示器、電源和一些外圍設(shè)備組成。本設(shè)計(jì)的主要內(nèi)容是用單片機(jī)實(shí)現(xiàn)計(jì)算要求,通過自己編寫的程序下載到單片機(jī)中,從而實(shí)現(xiàn)單片機(jī)可以進(jìn)行簡單的算術(shù)運(yùn)算。2.1總體系統(tǒng)模塊圖:單片機(jī)運(yùn)算模塊顯示模塊輸入模塊2.2系統(tǒng)總流程圖:開始初始化led顯示按鍵掃描蜂鳴器發(fā)聲lcd刷新顯示計(jì)算、處理結(jié)束是否有按鍵按下第3章 系統(tǒng)開發(fā)工具的介紹3.1 at89c51單片機(jī)的介紹 at
12、89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機(jī)為很多嵌入式控制系
13、統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.1.1主要特性:·與mcs-51 兼容 ·4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0hz-24hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部ram·32可編程i/o線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路 3.1.2 at89c51單片機(jī)引腳介紹:vcc: 供電電壓。 gnd:接地。 p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8tt
14、l門電流。當(dāng)p0口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。 p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1
15、”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故
16、。 p3口也可作為at89c51的一些特殊功能口:p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(記時(shí)器0外部輸入) p3.5 t1(記時(shí)器1外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通) p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖
17、。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 /psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。 /ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0
18、000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。3.2 lcd12864液晶顯示屏的介紹12864lcd液晶顯示屏是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級(jí)、二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ascii字符集.利用該模塊
19、靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。可以顯示8×4行16×16點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。3.2.1 基本特性:(1)低電源電壓(vdd:+3.0-+5.5v)(2)顯示分辨率:128×64點(diǎn) (3)內(nèi)置漢字字庫,提供8192個(gè)16×16點(diǎn)陣漢字(簡繁體可選)(4)內(nèi)置 128個(gè)16×8點(diǎn)陣字符 (5)2mhz時(shí)鐘頻率 (6)顯示方式
20、:stn、半透、正顯 (7)驅(qū)動(dòng)方式:1/32duty,1/5bias (8)視角方向:6點(diǎn) (9)背光方式:側(cè)部高亮白色led,功耗僅為普通led的1/51/10 (10)通訊方式:串行、并口可選 (11)內(nèi)置dc-dc轉(zhuǎn)換電路,無需外加負(fù)壓 (12)無需片選信號(hào),簡化軟件設(shè)計(jì)(13)工作溫度: 0 - +55 ,存儲(chǔ)溫度: -20 - +603.2.2 管腳說明:管腳號(hào)管腳名稱電平管腳功能描述1vss0v電源地2vcc3.0+5v電源正3v0-對(duì)比度(亮度)調(diào)整4rs(cs)h/lrs=“h”,表示db7db0為顯示數(shù)據(jù)rs=“l(fā)”,表示db7db0為顯示指令數(shù)據(jù)5r/w(sid)h/lr
21、/w=“h”,e=“h”,數(shù)據(jù)被讀到db7db0r/w=“l(fā)”,e=“hl”, db7db0的數(shù)據(jù)被寫到ir或dr6e(sclk)h/l使能信號(hào)7db0h/l三態(tài)數(shù)據(jù)線8db1h/l三態(tài)數(shù)據(jù)線9db2h/l三態(tài)數(shù)據(jù)線10db3h/l三態(tài)數(shù)據(jù)線11db4h/l三態(tài)數(shù)據(jù)線12db5h/l三態(tài)數(shù)據(jù)線13db6h/l三態(tài)數(shù)據(jù)線14db7h/l三態(tài)數(shù)據(jù)線15psbh/lh:8位或4位并口方式,l:串口方式(見注釋1)16nc-空腳17/reseth/l復(fù)位端,低電平有效(見注釋2)18vout-lcd驅(qū)動(dòng)電壓輸出端3.3 proteus的介紹proteus isis是英國labcenter公司開發(fā)的電路
22、分析與實(shí)物仿真軟件。它運(yùn)行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,proteus軟件有近20年的歷史,在全球廣泛使用。3.3.1 proteus的功能除了其具有和其它eda工具一樣的原理布圖、pcb自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,proteus能夠很容易的為用戶建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。 proteus 產(chǎn)品系列為一款非常優(yōu)秀的單片
23、機(jī)仿真軟件。proteus組合了高級(jí)原理布圖、混合模式spice仿真,pcb設(shè)計(jì)以及自動(dòng)布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。其功能模塊:個(gè)易用而又功能強(qiáng)大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計(jì). prospice 仿真器的一個(gè)擴(kuò)展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤,開關(guān),按鈕,leds甚至lcd顯示cpu模型. 3.3.2 proteus的使用方法雙擊桌面上的isis 6 professional圖標(biāo)或者單擊屏幕左下方的“開始”“程序”“proteus 6 prof
24、essional” “isis 6 professional”,proteus isis的工作界面是一種標(biāo)準(zhǔn)的windows界面,如圖1-2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。在圖形編輯窗口內(nèi)完成電路原理圖的編輯和繪制。為了方便作圖坐標(biāo)系統(tǒng)(co-ordinate system)isis中坐標(biāo)系統(tǒng)的基本單位是10nm,主要是為了和proteus ares保持一致。但坐標(biāo)系統(tǒng)的識(shí)別(read-out)單位被限制在1th。坐標(biāo)原點(diǎn)默認(rèn)在圖形編輯區(qū)的中間,圖形的坐標(biāo)值能夠顯示在屏幕的
25、右下角的狀態(tài)欄中。點(diǎn)狀柵格(the dot grid)與捕捉到柵格(snapping to a grid)編輯窗口內(nèi)有點(diǎn)狀的柵格,可以通過view菜單的grid命令在打開和關(guān)閉間切換。點(diǎn)與點(diǎn)之間的間距由當(dāng)前捕捉的設(shè)置決定。捕捉的尺度可以由view菜單的snap命令設(shè)置,或者直接使用快捷鍵f4、f3、f2和ctrl+f1。你會(huì)注意到鼠標(biāo)在圖形編輯窗口內(nèi)移動(dòng)時(shí),坐標(biāo)值是以固定的步長100th變化,這稱為捕捉, 如果你想要確切地看到捕捉位置,可以使用view菜單的x-cursor命令,選中后將會(huì)在捕捉點(diǎn)顯示一個(gè)小的或大的交叉十字。實(shí)時(shí)捕捉(real time snap)當(dāng)鼠標(biāo)指針指向管腳末端或者導(dǎo)線
26、時(shí),鼠標(biāo)指針將會(huì)被捕捉到這些物體,這種功能被稱為實(shí)時(shí)捕捉,該功能可以使你方便的實(shí)現(xiàn)導(dǎo)線和管腳的連接??梢酝ㄟ^tools菜單的real time snap 命令或者是ctrl+s切換該功能??梢酝ㄟ^view菜單的redraw命令來刷新顯示內(nèi)容,同時(shí)預(yù)覽窗口中的內(nèi)容也將被刷新。當(dāng)執(zhí)行其它命令導(dǎo)致顯示錯(cuò)亂時(shí)可以使用該特性恢復(fù)顯示。預(yù)覽窗口(the overview window)該窗口通常顯示整個(gè)電路圖的縮略圖。在預(yù)覽窗口上點(diǎn)擊鼠標(biāo)左鍵,將會(huì)有一個(gè)矩形藍(lán)綠框標(biāo)示出在編輯窗口的中顯示的區(qū)域。 其他情況下,預(yù)覽窗口顯示將要放置的對(duì)象的預(yù)覽。對(duì)象選擇器窗口通過對(duì)象選擇按鈕,從元件庫中選擇對(duì)象,并置入對(duì)象選
27、擇器窗口,供今后繪圖時(shí)使用。顯示對(duì)象的類型包括:設(shè)備,終端,管腳,圖形符號(hào),標(biāo)注和圖形。圖形編輯的基本操作有對(duì)象放置(object placement)、選中對(duì)象(tagging an object)、刪除對(duì)象(deleting an object)、拖動(dòng)對(duì)象標(biāo)簽(dragging an object label)、調(diào)整對(duì)象大小(resizing an object)、調(diào)整對(duì)象的朝向(reorienting an object)、編輯對(duì)象(editing an object)、畫線(wire placement)、線路自動(dòng)路徑器(wire auto-router)、重復(fù)布線(wire repe
28、at)、拖線(dragging wires)、移動(dòng)線段或線段組(to move a wire segment or a group of segments)。對(duì)象的添加和放置方式:點(diǎn)擊工具箱的元器件按鈕,使其選中,再點(diǎn)擊isis對(duì)象選擇器左邊中間的置p按鈕,出現(xiàn)“pick devices” 對(duì)話框,在這個(gè)對(duì)話框里我們可以選擇元器件和一些虛擬儀器。以添加單片機(jī)pic16f877為例來說明怎么把元器件添加到編輯窗口的。在“gategory(器件種類)”下面,我們找到“micoprocessoric”選項(xiàng),鼠標(biāo)左鍵點(diǎn)擊一下,在對(duì)話框的右側(cè),我們會(huì)發(fā)現(xiàn)這里有大量常見的各種型號(hào)的單片機(jī)。找到單片機(jī)pic
29、16f877,雙擊“pic16f877”。樣在左邊的對(duì)象選擇器就有了pic16f877這個(gè)元件了。點(diǎn)擊一下這個(gè)元件,然后把鼠標(biāo)指針移到右邊的原理圖編輯區(qū)的適當(dāng)位置,點(diǎn)擊鼠標(biāo)的左鍵,就把pic16f877放到了原理圖區(qū)。3.4 keil軟件介紹keil可以通過串口將用戶的程序下載到單片機(jī)中,可以通過串口對(duì)單片機(jī)進(jìn)行編程。它之所以具有這種功能,實(shí)際上它有兩塊程序flash 區(qū),其中一塊 flash 中運(yùn)行的程序可以更改另外的一塊程序 flash 區(qū)中的程序。 編寫完程序后即可使用匯編軟件對(duì)程序進(jìn)行編譯了.本設(shè)計(jì)所使用的編譯軟件是keil 51,其步驟如下:(1)源文件的建立使用菜單“file-&g
30、t;new”或者點(diǎn)擊工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口中輸入要調(diào)試的匯編語言源程序,保存該文件,注意必須加上擴(kuò)展名.c。(2) 建立工程文件點(diǎn)擊“project->new project ”菜單,在出現(xiàn)的一個(gè)對(duì)話框中,輸入一個(gè)工程文件名,不需要擴(kuò)展名。點(diǎn)擊“保存”按鈕。(3).工程的詳細(xì)設(shè)置工程建立好以后,還要對(duì)工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。首先點(diǎn)擊左邊project 窗口的target 1,然后使用菜單“project->option for target target1”即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,對(duì)部分內(nèi)容進(jìn)行必要的設(shè)置改即可,不過
31、大部份設(shè)置項(xiàng)都是取默認(rèn)值。(4).編譯、連接在設(shè)置好工程后,即可進(jìn)行編譯、連接。選擇菜單project->build target,對(duì)當(dāng)前工程進(jìn)行連接。如果當(dāng)前文件已修改,軟件會(huì)先對(duì)該文件進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;如果選擇rebuild all target files 將會(huì)對(duì)當(dāng)前工程中的所有文件重新進(jìn)行編譯然后再連接,確保最終生產(chǎn)的目標(biāo)代碼是最新的,而translate .項(xiàng)則僅對(duì)該文件進(jìn)行編譯,不進(jìn)行連接。第4章 總體硬件設(shè)計(jì):基于51系列單片機(jī)來進(jìn)行的工程運(yùn)算系統(tǒng)設(shè)計(jì),可以完成計(jì)算器的鍵盤輸入,進(jìn)行加(+)、減(-)乘(×)除(÷)、百分?jǐn)?shù)(%)、倒數(shù)
32、(1/x)等運(yùn)算,并在液晶顯示屏上顯示相應(yīng)的結(jié)果;設(shè)計(jì)電路采用at89c51單片機(jī)為主要控制電路,顯示部分采用lcd12864靜態(tài)顯示;按鍵部分:采用4*6鍵盤;鍵盤掃描ic,讀取輸入的鍵值。通過軟件編程可實(shí)現(xiàn)簡單加減乘除,顯示采用字符lcd靜態(tài)顯示,軟件方面使用c語言編程,并用protues仿真。 電路的總體設(shè)計(jì)圖如下:14.1 手動(dòng)上電復(fù)位電路:復(fù)位是單片機(jī)的初始化操作,只需給at89c51的復(fù)位引腳rst加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就可得單片機(jī)復(fù)位.復(fù)位時(shí),pc初始化為0000h,使單片機(jī)從out單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,由于程序運(yùn)行出錯(cuò)或操
33、作錯(cuò)誤而使系統(tǒng)處于死鎖狀態(tài)。為擺脫死鎖狀態(tài),也需按復(fù)位鍵使得rst腳為高電平,使單片機(jī)重新啟動(dòng)。復(fù)位電路如圖所示在系統(tǒng)中,有時(shí)會(huì)出現(xiàn)顯示不正常。為了調(diào)試方便,需要設(shè)計(jì)一個(gè)復(fù)位電路。at89c51單片機(jī)復(fù)位電路共有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位。本系統(tǒng)的復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能。復(fù)位電路可由簡單的rc電路構(gòu)成,也可使用其它的相對(duì)復(fù)雜,但功能更完善的電路。本系統(tǒng)采用的電路工作原理是:上電瞬間,rc電路充電,reset引腳端出現(xiàn)正脈沖,只要reset保持10ms以上高電平,就能使單片機(jī)有效的復(fù)位。當(dāng)時(shí)鐘頻率選用12mhz時(shí),c取10uf,r取10k,上電自
34、動(dòng)復(fù)位電路由上電瞬間c與r構(gòu)成充電電路,reset端的電位與電源vcc相同,隨著充電電流的減少,reset的電位逐漸下降。rc時(shí)間常數(shù)越大,上電時(shí)reset端保持高電平的時(shí)間越長,這組參數(shù)足以保證復(fù)位操作。若復(fù)位電路失效,加電后cpu從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)行。按鍵s5的功能是按鍵復(fù)位,按下s5鍵時(shí)rst為高電平,只要保持10ms以上的高電平,就可以使單片機(jī)復(fù)位。按鍵復(fù)位用在系統(tǒng)運(yùn)行時(shí)的復(fù)位,使系統(tǒng)重新運(yùn)行。4.2 內(nèi)部時(shí)鐘模式電路:時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)有條不紊地一拍一拍地工作的。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直
35、接影響單片機(jī)系統(tǒng)得穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只要外界一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。本系統(tǒng)使用的是內(nèi)部時(shí)鐘方式。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。時(shí)鐘電路如圖所示當(dāng)單片機(jī)工作于內(nèi)部時(shí)鐘模式的時(shí)候,只需在xtal1和xtal2引腳連接一個(gè)晶體
36、振蕩器或者陶瓷振蕩器,并接兩個(gè)電容后接地即可,在使用時(shí)對(duì)于電容的選擇有一定的要求:當(dāng)外接晶體振蕩器的時(shí)候,電容值一般選擇c1=c2=30+10pf或30-10pf;當(dāng)外接陶瓷振蕩器的時(shí)候,電容值一般選擇c1=c2=40+10pf或40-10pf;4.3 單片機(jī)與復(fù)位、時(shí)鐘電路連接電路圖:4.4 鍵盤接口電路:計(jì)算器輸入數(shù)字和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的i/o 口資源,因此在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。矩陣鍵盤采用四條i/o 線作為行線,六條i/o 線作為列線組成鍵盤,在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按
37、鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為4×6個(gè)。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中i/o 口的利用率。矩陣鍵盤內(nèi)部電路圖如圖所示:4.5 lcd液晶顯示器電路:本設(shè)計(jì)采用lcd液晶顯示器來顯示輸出數(shù)據(jù)。通過d0-d7引腳向lcd寫指令字或?qū)憯?shù)據(jù)以使lcd實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。4.6 蜂鳴器電路:蜂鳴器電路是由一個(gè)有源蜂鳴器、一個(gè)單向?qū)ǘO管、兩個(gè)電阻和一個(gè)開關(guān)三極管組成。此電路的作用是按鍵按下時(shí),蜂鳴器發(fā)出報(bào)警聲。在本系統(tǒng)中,是利用單片機(jī)的p20口來控制,p20為低電平時(shí),三極管導(dǎo)通,二極管截止,蜂鳴器報(bào)警。 4.7 運(yùn)算模塊(單片機(jī)控制):at89c51 單片機(jī)是在一塊芯片
38、中集成了cpu、ram、rom、定時(shí)器/計(jì)數(shù)器和多功能i/o等一臺(tái)計(jì)算機(jī)所需要的基本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理器(cpu)、數(shù)據(jù)存儲(chǔ)器(ram)、程序存儲(chǔ)器(rom/eprom)、并行i/o 口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(sfr)。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,通過使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能部件,可以很快地實(shí)現(xiàn)運(yùn)算功能。第5章 系統(tǒng)調(diào)試5.1 軟件調(diào)試用到了keil c軟件,集成調(diào)試環(huán)境,集成了編輯器、譯碼器
39、、調(diào)試器,支持軟件模擬,支持項(xiàng)目管理功能強(qiáng)大的觀察窗口,支持所有的數(shù)據(jù)類型。樹狀結(jié)構(gòu)顯示,一目了然,支持asm(匯編)、c語言多模塊源程序混合調(diào)試,在直接修改、編譯、調(diào)試源程序,錯(cuò)誤指令定位。功能很強(qiáng)大,用于對(duì)程序的調(diào)試和編輯。本系統(tǒng)的程序的編寫就是在keil c軟件中完成的,在程序中用到了兩個(gè)定時(shí)器,為了使倒計(jì)時(shí)的時(shí)間準(zhǔn)確,必須計(jì)算對(duì)定時(shí)器的初值,當(dāng)程序完成之后,生成hex文件。再利用proteus軟件進(jìn)行仿真。經(jīng)過仿真,程序符合題目的要求。5.2 硬件調(diào)試在硬件調(diào)試時(shí),先有萬用表檢查印制電路的焊接情況,檢查是否有虛焊,是否有短路。在檢查無誤之后通電檢查lcd液晶顯示屏的顯示。開始時(shí),。總體
40、電路正常,達(dá)到題目的要求。 第6章 總結(jié)基于單片機(jī)的工程運(yùn)算系統(tǒng)設(shè)計(jì),該課題的設(shè)計(jì)目的是充分運(yùn)用大學(xué)期間所學(xué)的專業(yè)知識(shí),考察現(xiàn)在正在使用的單片機(jī)的基本功能,完成一個(gè)基本的實(shí)際系統(tǒng)的設(shè)計(jì)全過程。在設(shè)計(jì)工程運(yùn)算系統(tǒng)的過程中,我深切體會(huì)到,實(shí)踐是理論運(yùn)用的最好檢驗(yàn)。本次設(shè)計(jì)是對(duì)我四年所學(xué)知識(shí)的一次綜合性檢測(cè)和考驗(yàn),無論是動(dòng)手能力還是理論知識(shí)運(yùn)用能力都得到了提高,同時(shí)加深了我對(duì)網(wǎng)絡(luò)資源認(rèn)識(shí),大大提高了查閱資料的能力和效率,使我有充足的時(shí)間投入到電路制作當(dāng)中。本系統(tǒng)的制作主要應(yīng)用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機(jī)控制技術(shù)、電子工藝等多方面的知識(shí)。在硬件調(diào)試過程中,我也學(xué)會(huì)不少的東西,掌握一些調(diào)試方法
41、。在設(shè)計(jì)仿真圖和編些程序中,對(duì)proteus和keil等軟件掌握的更加牢固,而且所設(shè)計(jì)的基于單片機(jī)的工程運(yùn)算系統(tǒng),精確度高,達(dá)到了應(yīng)用要求。參考文獻(xiàn)1徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版)北京航天航空大學(xué)出版社,2004.9 2孫育才等.mcs-51系列單片微型計(jì)算機(jī)及其應(yīng)用(第4版)東南大學(xué)出版社,2004.33李萍等.智能儀器實(shí)驗(yàn)指導(dǎo)書大連交通大學(xué),2007.94單片機(jī)應(yīng)用技術(shù)(c語言).中國勞動(dòng)社會(huì)保障出版社,2006.65武慶生,仇梅等著.單片機(jī)原理與應(yīng)用.電子科技大學(xué)出版,1998.12 6朱定華著.單片機(jī)原理與接口技術(shù).電子工業(yè)出版社,2001.4 7王宜懷,劉曉升等著.嵌
42、入式應(yīng)用技術(shù)基礎(chǔ)教程.北京清華大學(xué)出版社,2005.7 7王威著.hcs12微控制器原理及應(yīng)用.北京航空航天大學(xué)出版社,2007.10 8龔運(yùn)新著.單片機(jī)c語言開發(fā)技術(shù).北京清華大學(xué)出版社,2006.10 9周立功.單片機(jī)實(shí)驗(yàn)與實(shí)踐.北京航空航天大學(xué)出版社,2004.3第7章 致謝本論文是宋鴻梅老師的指導(dǎo)下完成的,在此向他致以最衷心的感謝。在本科學(xué)習(xí)的四年中,我與同學(xué)建立深厚的友誼,他們?cè)谖矣龅嚼щy時(shí)無私伸出援助之手,對(duì)他們的幫助我特別感謝。從開始進(jìn)入課題到論文的順利完成,有可敬的師長、同學(xué)、朋友給了我無言的幫助。在這里請(qǐng)接受我誠摯的謝意。最后,感謝學(xué)院的領(lǐng)導(dǎo)給我們提供很好的條件,使得我的硬件
43、設(shè)計(jì)能夠順利完成。謝謝! 3.5、軟件編程:1、主函數(shù)設(shè)計(jì):/*函數(shù)聲明*/#include<reg51.h>#include<math.h>#define uchar unsigned char#define uint unsigned intchar translate(int keycode);void arithmetic();void init_lcm();void write_data(char ddata);void write_com(char command);void check_bf();void clearlcd();void display(l
44、ong a);void dealerror(); void dataoverflow();/*定義變量和數(shù)組*/long x=0,y=0,num=0;int operators,input,iny=0;char key;char error5="error"char overflow8="overflow"sbit en=p34;sbit r_w=p35;sbit rs=p36;/*主函數(shù)*/main()ea=1;ex0=1;it0=1;p2=0xff;display(0);init_lcm();write_data(0x30);while(1)2、分塊
45、程序設(shè)計(jì):(1)、鍵盤輸入程序設(shè)計(jì):有鍵按下時(shí),單片機(jī)響應(yīng)外部中斷0,轉(zhuǎn)入外部中斷0中斷處理函數(shù),在中斷處理函數(shù)中完成對(duì)按鍵的判斷,以進(jìn)行下一步的程序處理。/*鍵值轉(zhuǎn)化為鍵盤上按鍵值函數(shù)*/char translate(int keycode)switch(keycode)case 0:return '7'break;case 1:return '4'break;case 2:return '1'break;case 3:return 'c'break;case 4:return '8'break;case 5:r
46、eturn '5'break;case 6:return '2'break;case 7:return '0'break;case 8:return '9'break;case 9:return '6'break;case 10:return '3'break;case 11:return '='break;case 12:return '/'break;case 13:return '*'break;case 14:return '-'
47、;break;case 15:return '+'break; /*外部中斷0處理函數(shù)*/void int_0(void) interrupt 0 using 0key=translate(p2&0x0f);if(key<='9'&&key>='0') /判斷按下的鍵是否為數(shù)值num=num*10+(key-'0');if (operators>0)y=num;iny=1;elsex=num;if(num<134217728&&num>-134217728) /當(dāng)前數(shù)值是否超出限定范圍display(num);elsedataoverflow();elseswitch(key)case 'c':x=0;y=0;num=0;iny=0;operators=0;display(num);break;case '=':arithmetic();iny=0;operators=0;num=0;break;case '+
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3-2 《縣委書記的榜樣-焦裕祿》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修上冊(cè)
- 6 《傳統(tǒng)游戲我會(huì)玩》第二課時(shí) 說課稿-2023-2024學(xué)年道德與法治二年級(jí)下冊(cè)統(tǒng)編版
- 2024景區(qū)游客服務(wù)中心運(yùn)營合同
- 立秋營銷活動(dòng)總結(jié)
- 理解世界的地理密碼
- 2024年離婚房產(chǎn)分配及貸款承擔(dān)約定
- 個(gè)人家教輔導(dǎo)服務(wù)合同(2024版)2篇
- 房地產(chǎn)評(píng)估合同范文
- 專業(yè)魚類采購協(xié)議格式版B版
- 薦采購的合同
- 初中寒假安全教育主題班會(huì)
- 2025年觀看反腐倡廉警示教育片心得體會(huì)范文
- 2025年中國煙草總公司湖北省公司校園招聘227人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 居家辦公培訓(xùn)課件
- 部隊(duì)行車安全課件
- (規(guī)劃設(shè)計(jì))家具產(chǎn)業(yè)園項(xiàng)目可行性研究報(bào)告
- 2025康復(fù)科年度工作計(jì)劃
- 拼圖行業(yè)未來五年前景展望
- 廣西玉林市(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版質(zhì)量測(cè)試(上學(xué)期)試卷及答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級(jí)英語上學(xué)期重點(diǎn)詞匯短語句子歸納【考點(diǎn)清單】
評(píng)論
0/150
提交評(píng)論