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

正文內(nèi)容

基于單片機(jī)的數(shù)字式大氣壓計(jì)的-畢業(yè)論文(參考版)

2025-06-21 17:16本頁(yè)面
  

【正文】 //1S 標(biāo)志位置 1 } } 附錄 B 硬件實(shí)物圖圖 B1 硬件電路(正面)圖 B2 硬件電路(背面)。 //定時(shí)器 0 停止 timecount=0。 timecount++。} void t1(void) interrupt 3 using 1{ TH1=50000/256。 //再次啟動(dòng)下一次的計(jì)數(shù) } } } void t0(void) interrupt 1 using 0 { T0count++。 //T0 計(jì)數(shù)值清零 TL0=0。 //20 次計(jì)數(shù)值清零 T0count=0。)。 display_char(10,1,dispbuf[0]+39。.39。)。 display_char(8,1,dispbuf[1]+39。039。)。 display_char(6,1,dispbuf[3]+39。i++) //循環(huán)六次 { dispbuf[i]=temp[i]。 for(i=0。 i++。 while(Pa/10) //計(jì)算每一位數(shù)值緩沖區(qū) { temp[i]=Pa%10。i++) //循環(huán)八次 { temp[i]=0。 for(i=0。)。i++) //循環(huán)六次 display_char(i+5,0,dispbuf[5i]+39。 //將數(shù)值緩沖區(qū)中的數(shù)存入顯示緩沖區(qū) } for(i=0。i6。 } temp[i]=x。 x=x/10。 //將八個(gè)顯示換沖區(qū)清零 } i=0。i8。//計(jì)算氣壓值,并將氣壓值乘以 10。 //清 1S 標(biāo)志 x=T0count*65536+TH0*256+TL0。 //總中斷允WriteCommandLcd(0x01)。 //定時(shí)器 0 使能 ET1=1。 //啟動(dòng)定時(shí)器 1 TR0=1。 //初始化定時(shí)器 1 值 TL1=(6553550000)%256。 TL0=0。 TMOD=0x15。 //顯示第一行,從第 3 個(gè)位置開(kāi)始 display_string(0,1,LcdBuf2)。 lcd_init()。 LCD_RW=0。s++。}/*********************************************************************** 函數(shù)名稱: display_string** 入口參數(shù):x(unsigned char 型),y(unsigned char 型),s(指針型)** 出口參數(shù):無(wú)** 功能描述: 在具體位置顯示字符串,以 /0 結(jié)束,x 是列號(hào), y 是行號(hào)**********************************************************************/void display_string(unsigned char x,unsigned char y,unsigned char *s){ display_xy(x,y)。}/********************************************************************** 函數(shù)名稱: display_char** 入口參數(shù):x(unsigned char 型),y(unsigned char 型),dat(unsigned char 型)** 出口參數(shù):無(wú)** 功能描述: 在具體位置顯示單個(gè)字符, x 是列號(hào),y 是行號(hào)*********************************************************************/void display_char(unsigned char x,unsigned char y,unsigned char dat){display_xy(x,y)。x+=0x80。//顯示清屏 WriteCommandLcd(0x90)。//顯示開(kāi)及光標(biāo)設(shè)置WriteCommandLcd(0x06)。//顯示模式設(shè)置 WriteCommandLcd(0x08)。WriteCommandLcd(0x38)。 //短暫延時(shí),代替檢測(cè)忙狀態(tài)LCD_E=0。 //短暫延時(shí),代替檢測(cè)忙狀態(tài)LCD_E=1。LCD_DATA=wdata。 //短暫延時(shí),代替檢測(cè)忙狀態(tài)LCD_E=0。 //短暫延時(shí),代替檢測(cè)忙狀態(tài)LCD_E=1。LCD_DATA=wdata。}/**************************************************** 函數(shù)名稱: dellay** 入口參數(shù):h(unsigned int 型)** 出口參數(shù):無(wú)** 功能描述: 短暫延時(shí),使用 晶體,約 ****************************************************/void dellay(unsigned int h){ while(h)。y0。x0。void delay(uint z)//延時(shí) 1ms{ uint x,y。void display_string(unsigned char x,unsigned char y,unsigned char *s)。 unsigned char dispbuf[8]={0,0,0,0,0,0,10,10}。unsigned char code LcdBuf2[]= { Pressure test!}。sbit LCD_RW = P2^2。 sbit LCD_RS = P2^0。 bit flag。 //定義氣壓值 Paunsigned char T0count。同時(shí),我要感謝我們物電學(xué)院的領(lǐng)導(dǎo)和老師們,是他們?yōu)槲覀兲峁┝藢iT的實(shí)驗(yàn)設(shè)備及場(chǎng)所,讓我們擁有了良好的硬件設(shè)施和實(shí)驗(yàn)條件,這才使得我更好的進(jìn)行實(shí)驗(yàn)驗(yàn)證和實(shí)物調(diào)試,然后才完成了本次畢業(yè)設(shè)計(jì)。這次畢業(yè)設(shè)計(jì),不但讓我懂得了在以后的學(xué)習(xí)生活中要具備嚴(yán)謹(jǐn),大膽,勇于創(chuàng)新的精神,才能做的更好,而且還讓我從中獲益匪淺,學(xué)到了小心謹(jǐn)慎,實(shí)事求是的態(tài)度。在這近兩個(gè)月的畢業(yè)設(shè)計(jì)中,我們有艱辛的付出,當(dāng)然更多的是豐收的喜悅。 隨著畢業(yè)日子的臨近,畢業(yè)設(shè)計(jì)也接近了尾聲。6 設(shè)計(jì)總結(jié)及體會(huì)本文介紹了基于單片機(jī)的數(shù)字式大氣壓計(jì)系統(tǒng)的設(shè)計(jì),對(duì)整個(gè)硬件電路和軟件程序設(shè)計(jì)做了分析,介紹了數(shù)字大氣壓計(jì)的設(shè)計(jì)方案及原理,以此加深 51 單片機(jī)的結(jié)構(gòu)、特點(diǎn)等知識(shí)的了解,并給出主程序設(shè)計(jì)流程圖,更直觀的把軟件設(shè)計(jì)呈現(xiàn)出來(lái),最后基于仿真軟件 Proteus 及 Keil 進(jìn)行仿真,驗(yàn)證了設(shè)計(jì)的正確性。圖 程序仿真結(jié)果 總電路仿真圖 系統(tǒng)上電仿真圖 電路仿真電路仿真結(jié)果:電路上電,系統(tǒng)初始化,仿真開(kāi)始。,就要將編譯軟件生成的 HEX 文件燒寫到實(shí)物單片機(jī)內(nèi),再將單片機(jī)安裝到焊接好的實(shí)物上,通電運(yùn)行同時(shí)進(jìn)行按鍵操作,觀察系統(tǒng)運(yùn)行是否達(dá)到預(yù)期效果;若未達(dá)到預(yù)期效果,則要先找出原因,然后對(duì)程序做相應(yīng)的修改。再次,檢查單片機(jī)是否能正常工作,測(cè)試硬件部分是否能夠完成其相應(yīng)的功能。,首先,要對(duì)電路的各個(gè)線路進(jìn)行仔細(xì)檢查,看是否連接正確,同時(shí)也要查看制作過(guò)程中是否存在錯(cuò)焊、虛焊等情況,排除了焊接錯(cuò)誤。如果是硬件部分電路圖的錯(cuò)誤,則要對(duì)其修改,反復(fù)測(cè)試,直到硬件的連接完全無(wú)錯(cuò),并且設(shè)計(jì)合理。 Keil 調(diào)試仿真 調(diào)試的步驟及方法,首先要在仿真軟件中對(duì)整個(gè)系統(tǒng)做仿真。通過(guò)工具欄中的 p(從庫(kù)中選擇元件命令)命令,在pick devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對(duì)位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在 source 菜單的 Definecode generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名等項(xiàng)目;在 source 菜單的 Add/removesource files 命令下,加入單片機(jī)硬件電路的對(duì)應(yīng)程序;通過(guò) debug 菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。運(yùn)行 proteus 的 ISIS 程序后,進(jìn)入該仿真軟件的主界面。對(duì)于軟件的分步調(diào)試,應(yīng)先執(zhí)行 debug 菜單下的start/restart debugging 菜單項(xiàng)命令,此時(shí)可以選擇 stepover、step into 和 step out 命令執(zhí)行程序(可以用快捷鍵 F F11 和 ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進(jìn)入子程序執(zhí)行和跳出子程序執(zhí)行。 對(duì)于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行 debug 菜單下的 execute 菜單項(xiàng)或 F12 快捷鍵啟動(dòng)執(zhí)行,用 debug 菜單下的 pause animation 菜單項(xiàng)或 pause 鍵暫停系統(tǒng)的運(yùn)行;或用 debug 菜單下的 stop animation 菜單項(xiàng)或 shiftbreak 組合鍵停止系統(tǒng)的運(yùn)行。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 Protues 軟件介紹Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī) CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。uVision 4 本身自帶項(xiàng)目管理器,其開(kāi)發(fā)流程步驟如下:ABS 文件由 OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的 Hex文件,以供調(diào)試器 dScope51 或 tScope51 使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存儲(chǔ)器中。然后分別由 C51 及 A51 編譯器編譯生成目標(biāo)文件(.OBJ)。Keil 可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。與匯編相比,C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。主程序開(kāi)始設(shè)置定時(shí)器 1設(shè)置計(jì)數(shù)器 0開(kāi)中斷啟動(dòng)定時(shí)器While(1)調(diào)用顯示程序50MS 定時(shí)中斷 1服務(wù)子程序50MS 定時(shí)中斷0服務(wù)子程序設(shè)置定時(shí)器 1 初值為50ms, Timecount++中斷返回Timecount=20 ?即 1S 時(shí)間到TR0=0 定時(shí)器 0 停止Timecount=0;Flag=1計(jì)算頻率 fo計(jì)算大氣壓值 Pa圖 程序流程圖5 仿真與調(diào)試本設(shè)計(jì)的仿真主要由 Keil 軟件結(jié)合 Proteus 軟件來(lái)完成。T1 為計(jì)數(shù)器運(yùn)用內(nèi)部中斷 0 可保證 T0定時(shí)滿 1s 后就讀取此時(shí)計(jì)數(shù)器的值以計(jì)算氣壓值,使 T0、T1 均工作于方式 1 并在 P0 口及 P2 口輸出到液晶屏顯示 。在軟件中,根據(jù)式(43)編程計(jì)算得到氣壓值 P。Vin 和 FO 的這種對(duì)應(yīng)關(guān)系如上一節(jié)的式(31)所示。正由于 C 語(yǔ)言在系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì),這次設(shè)計(jì)的所有程序設(shè)計(jì)都將采用 C 語(yǔ)言編寫。并且 C 編譯器能自動(dòng)生成一些硬件的初始化代碼。(6)C 語(yǔ)言提供 auto、static、flash 等存儲(chǔ)類型,針對(duì)單片機(jī)的程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間及 EEPROM 空間自動(dòng)為變量合理地分配空間,而且 C 語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型,極大地增強(qiáng)了程序處理能力和靈活性。在使用 C 語(yǔ)言后,只要在代碼中申明一下變量的類型,編譯器就會(huì)自動(dòng)分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機(jī)資源的差錯(cuò)。源程序的可讀性和可維護(hù)性都很好。(2)無(wú)需精通單片機(jī)指令集和具體的硬件,也能夠編出符合硬件實(shí)際專業(yè)水平的程序。用 C語(yǔ)言來(lái)編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開(kāi)發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開(kāi)發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。]8[ 總體電路原理圖圖 系統(tǒng)總體電路原理圖4 軟件設(shè)計(jì)就該設(shè)計(jì)的單片機(jī)而言,它的輸入信號(hào)是具有一定頻率的脈沖序列,通過(guò)單片機(jī)內(nèi)部的計(jì)數(shù)器可以獲得此脈沖序列的頻率,此頻率對(duì)應(yīng)于某個(gè)氣壓值,如何將頻率換算成該氣壓值是軟件設(shè)計(jì)首先需要考慮的問(wèn)題。U1 為單片機(jī)芯片AT89C52, 工作于, 腳(定時(shí)/計(jì)數(shù)器0 外部脈沖輸入端)和A/D轉(zhuǎn)換模塊輸出脈沖 FO 相連, 對(duì)脈沖序列進(jìn)行計(jì)數(shù),以獲取頻率信息,從而轉(zhuǎn)換為氣壓值。其中,Cin 取 ,Rin 取 100k?,C 的取容值為 1 的漏極電流小的電容。綜合考慮之后,將 K 值設(shè)為 2022,這樣代入式(2)計(jì)算,可知 R3 的阻值應(yīng)調(diào)節(jié)到 。fo 通過(guò)單片機(jī)的定時(shí)/計(jì)數(shù)器 1 的計(jì)數(shù)測(cè)得,該計(jì)數(shù)器的計(jì)數(shù)范圍為 0~65536,1s
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1