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

正文內(nèi)容

基于lcd1602的電子時(shí)鐘和溫度計(jì)的設(shè)計(jì)-閱讀頁

2025-07-04 12:34本頁面
  

【正文】 程圖中斷服務(wù)程序流程圖如圖下圖(45)所示。圖45 中斷流程圖加1子程序流程框圖如上圖(46)所示,把十位上的數(shù)放到累加器A的高半字節(jié),把個(gè)位上的數(shù)放到累加器A的低半字節(jié),然后進(jìn)行加1操作,通過十進(jìn)制調(diào)整,把調(diào)整后的值再放到累加器A中,再把累加器A的低半字節(jié)上的數(shù)送給個(gè)位,把累加器高半字節(jié)上的數(shù)送給十位。顯示子程序流程框圖圖48 顯示子程序流程框圖如上圖(48)所示,程序執(zhí)行后,先利用出棧對現(xiàn)場進(jìn)行保護(hù),改變所要存放的寄存器組,對程序進(jìn)行初始化,利用查表法查找比較,把相應(yīng)的數(shù)值送到液晶屏進(jìn)行顯示,檢測是否送完,如果沒有,則繼續(xù)查表;如果送完,則利用入?;謴?fù)現(xiàn)場,最后返回主程序。流程圖分析:開始進(jìn)入初始化DS18B20,就是通過主機(jī)拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,及發(fā)起ROM命令當(dāng)成功的執(zhí)行操作命令后,就使用內(nèi)存操作命令,即溫度轉(zhuǎn)換等,當(dāng)轉(zhuǎn)換完后,又初始化DS18B20是否有應(yīng)答脈沖,若有,就發(fā)起讀時(shí)隙命令,同時(shí)讀出第1,2個(gè)字節(jié),既為溫度的數(shù)據(jù)。這樣可以較準(zhǔn)確的測量出現(xiàn)實(shí)中的溫度,其程序流程圖如圖(410)所示。溫度轉(zhuǎn)換命令子程序流程圖溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約750ms,在本設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成,溫度轉(zhuǎn)換命令子程序流程圖如圖(412)所示:圖412 溫度轉(zhuǎn)換開始命令子程序流程圖計(jì)算溫度子程序流程圖圖413 計(jì)算溫度子程序流程圖程序開始時(shí),計(jì)算溫度子程序從RAM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,如果是,則在顯示的溫度前加“”,如果不是,則在顯示的溫度前加“+”,然后分別計(jì)算小數(shù)位和整數(shù)為溫度BCD值。 本章小結(jié)本章剛開始先介紹了CodeWizardAVR軟件的基本操作,通過CodeWizardAVR軟件把編寫的程序進(jìn)行編譯,編譯通過后,保存到E:\chengxu\中,為下一章仿真調(diào)試做準(zhǔn)備。通過軟件程序的設(shè)計(jì),使得硬件電路富有了生命,不再是一些孤立的元器件,程序的加載,賦予了硬件生命。通過各個(gè)模塊流程圖的設(shè)計(jì),是自己更加細(xì)致的了解了本設(shè)計(jì)的內(nèi)在知識重點(diǎn),明白了各個(gè)子程序的工作過程。第五章 仿真與調(diào)試 系統(tǒng)仿真 Proteus軟件簡介簡介Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision3等軟件??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。工作界面Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖52所示。圖55 編輯元件圖按下Proteus ISIS軟件左下角的開始按鈕,系統(tǒng)就會開始仿真,由于時(shí)鐘系統(tǒng)具有上電復(fù)位的效果,所以開始工作時(shí),液晶屏上一般都是從0時(shí)0分0秒開始計(jì)時(shí),按下K1鍵,可以停止時(shí)鐘走時(shí),進(jìn)入調(diào)節(jié)狀態(tài),如圖(56)所示;按下K2鍵可以調(diào)節(jié)小時(shí),每按一次,小時(shí)加1,如圖(57)所示;按下K3鍵可以調(diào)節(jié)分鐘,每按一次,分鐘加1,如圖(58)所示;按下K4鍵則跳出調(diào)節(jié)功能,系統(tǒng)開始正常計(jì)時(shí),如圖(59)所示。同時(shí)可以通過調(diào)節(jié)DS18B20上的“”、“+”來調(diào)節(jié)外部所測得的溫度。然后點(diǎn)擊界面下方的擦出按鈕出現(xiàn)如圖(514)所示界面,然后點(diǎn)擊FLASH存貯器選項(xiàng)中的文件夾圖標(biāo),從E:\chengxu\,分別加載到實(shí)物目標(biāo)板上的ATmega16芯片中,如圖(515)所示,在出現(xiàn)的裝入緩沖區(qū)地址對話框中直接點(diǎn)確定。圖513 SLISP操作界面圖514 擦除后的界面圖515 加載程序界面圖516 編程進(jìn)行中圖517 編程通過實(shí)物調(diào)試在做實(shí)物的時(shí)候,出現(xiàn)了很多馬虎的問題。經(jīng)過我反復(fù)和電路圖對照還是發(fā)現(xiàn)不了問題,最后在和指導(dǎo)老師討論的時(shí)候,才發(fā)現(xiàn)MAX232和ATtiny2313的VCC和GND沒有分別接到+5V和地上,所以才導(dǎo)致焊接完的實(shí)物不能具有下載線的功能。在進(jìn)行AVR單片機(jī)最小系統(tǒng)的設(shè)計(jì)的時(shí)候,在AVR Studio中進(jìn)行程序編譯秒閃程序時(shí),有一個(gè)錯(cuò)誤不管怎么修改都不能編譯通過,最后通過參照了許多相關(guān)指令說明和指導(dǎo)老師的指導(dǎo),把該錯(cuò)誤解決了。在進(jìn)行液晶屏顯示設(shè)計(jì)時(shí),剛開始,根據(jù)書本上焊接液晶屏?xí)r,液晶屏上顯示的總是黑框框,問題出現(xiàn)后,我根據(jù)書本檢查了好幾遍電路,結(jié)果發(fā)現(xiàn)連接的是對的,在和指導(dǎo)老師多方商討下,仍然解決不了問題。在進(jìn)行單片機(jī)時(shí)鐘顯示的設(shè)計(jì)時(shí),也出現(xiàn)了一些問題,根據(jù)搜到的基于DS1302的AVR系列單片機(jī)電路設(shè)計(jì)的時(shí)候,根據(jù)原來的電路圖,并不能實(shí)現(xiàn)顯示時(shí)鐘。在進(jìn)行單片機(jī)溫度顯示的設(shè)計(jì)時(shí),出現(xiàn)了更加復(fù)雜的問題,根據(jù)資料上的硬件電路圖連接后的實(shí)物,液晶屏上顯示的永遠(yuǎn)處于錯(cuò)誤狀態(tài),在網(wǎng)上的論壇上也發(fā)現(xiàn)了類似的問題,他們說可能是DS18B20的2號管腳的驅(qū)動(dòng)能力足夠,在經(jīng)試驗(yàn)時(shí),但是顯示的數(shù)據(jù)一直是些跳變的數(shù)據(jù),而且根本不是當(dāng)是的溫度,經(jīng)過調(diào)試還是沒有成功,最后通過指導(dǎo)老師購買的實(shí)驗(yàn)開發(fā)板上進(jìn)行測試,終于成功了,但是我根據(jù)開發(fā)板上的電路連接后仍然不能實(shí)現(xiàn)溫度檢測,直到目前為止,該問題還在探究中。剛開始模擬仿真的時(shí)候,由于對軟件的不熟悉,很多元器件都找不到,不知道怎樣連接器件,不知道怎樣加載文件。結(jié)論通過本次畢業(yè)設(shè)計(jì),我學(xué)到了很多關(guān)于AVR系列單片機(jī)的知識,豐富了自己的在校生活,以下是本人做該畢業(yè)設(shè)計(jì)設(shè)計(jì)的心得體會: 在剛開始知道自己的課題時(shí),心里很是激動(dòng),有種非??释ヌ骄康母杏X,但是在網(wǎng)上查找相關(guān)的資料的時(shí)候,發(fā)現(xiàn)網(wǎng)上大部分都是賣的下載線的實(shí)物,有用的參考文獻(xiàn)并不多,當(dāng)時(shí)的我很是茫然,不知道下一步該怎么辦。這些問題困擾了我一段時(shí)間,幸好有指導(dǎo)老師從旁幫助我,使我能夠把問題一一解決,終于在一個(gè)星期后,我完成了下載線的部分,心里得到了些許的寬慰。在接下來的一段時(shí)間中,我開始一邊寫論文一邊做目標(biāo)板部分,由于手頭上的資料并不是很豐富,所以在寫論文的時(shí)候我經(jīng)常碰壁,很多地方不知道該怎么表達(dá),怎么解釋說明。知道相關(guān)的實(shí)情后,我是既高興又苦惱,高興的是我終于有內(nèi)容可寫了,苦惱的是我不知道該如何添加內(nèi)容,添加什么內(nèi)容,添加后的論文難道夠不夠等等問題,最后還是指導(dǎo)老師給明了我方向,在他的指引下我向著目標(biāo)板功能的擴(kuò)展方向研究,最后確定了液晶屏顯示文字、時(shí)間、溫度等功能。通過自己親自動(dòng)手做實(shí)物,搞仿真,我又學(xué)到了好多書本上學(xué)不到的知識。參考文獻(xiàn)[1] (修訂版).北航出版社 2010年[2] .2009年 第40卷第454期[3] (上).北航出版社2008年[4] [5] [6] [7] [8] 南京沁恒電子有限公司 [9] .[10] [11] 余錫存,[M].西安電子科技大學(xué)出版社,2010年[12] 張志良, 主編 :《單片機(jī)原理及控制技術(shù)》(第2版).北京:機(jī)械工業(yè)出版社,2009[13] 余永權(quán), MCS51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版,2009[14] 余西存, [M].西安:西安電子科技大學(xué)出版,2009年[15] 求是科技,單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2008年5月[16] 張振榮, . 人民郵電出版社,2008年[17] 吉雷, 主編 :《Protel99從入門到精通》.西安:西安電子科技大學(xué)出版社,2009[18] 何立民.MCS51系列單片機(jī)應(yīng)用系列設(shè)計(jì)[M].[19] 馮育長,單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例分析,西安電子科技大學(xué)出版社,[20] 李及,趙利民,MCS51系列單片機(jī)原理與應(yīng)用,吉林科學(xué)技術(shù)社,.[21] 萬勝前,基于KeilC51軟件的電子鐘設(shè)計(jì)與制作,鄂州大學(xué)學(xué)報(bào),2010年第12期[22] 徐愛均,彭秀華. Keil Cx51 單片機(jī)高級語言編程與uVision2應(yīng)用實(shí)踐,北京,[23] 姜煜等,基于FPGA芯片設(shè)計(jì)多功能數(shù)字鐘的研究[J],應(yīng)用科技,2008年12月12期[24] 向繼文等,基于AT89C51電子鐘系統(tǒng)設(shè)計(jì)[J],機(jī)電產(chǎn)業(yè)開發(fā)與創(chuàng)新,2008年第二期[25] [26] [27] 林志峰,梁志坤,[28] 朱水金,[29] [30] [31] [32] Joseph Jay Kubler,Boulder,Robert James Grabon,Milwaukee.Radio frequency[34] arley Kent Heinrich,Brewster,Vijay Pillai,White Plains.RFID tag having bined[35] MCS51 Family of Single Chip Microputers User’s Manual. Inter Corp. 2009[36] Microcontroller handbook. Inter [37] . Xu,Electronic design,2008年附錄1 硬件電路圖及實(shí)物照片A、溫度傳感器電路控制圖B、時(shí)鐘電路控制圖C、串口下載線電路圖D、串行下載線實(shí)物照片E、LCD電子鐘實(shí)物照片以F、LCD數(shù)字溫度計(jì)實(shí)物照片附錄2 程序清單include include define uchar unsigned chardefine uint unsigned intinclude //包含LCD驅(qū)動(dòng)程序軟件包include //DS18B20驅(qū)動(dòng)程序軟件包define beep_0 (PORTD=PORTDamp。 //定義10ms計(jì)數(shù)器uchar K1_FLAG=0。 //判斷DS18B20是否正常標(biāo)志位,正常時(shí)為1,不正常時(shí)為0uchar temp_p。 //顯示緩沖uchar temp_data[2] = {0x00,0x00}。 //定義第1行顯示的字符uchar line2_data[] = TEMP: 。 //DS18B20出錯(cuò)時(shí)第2行顯示的信息/********以下是函數(shù)聲明,由于本例采用的函數(shù)較多,應(yīng)加入函數(shù)聲明部分********/void port_init(void)。 //溫度值顯示函數(shù)聲明void beep(void)。 //DS18B20出錯(cuò)菜單函數(shù)聲明void MenuOk(void)。 //讀取溫度值函數(shù)聲明void TempConv(void)。 //輸出高電平 DDRA = 0xFF。 //輸出高電平 DDRC = 0xFF。//PD2~PD5設(shè)為輸入,PD7設(shè)為輸出DDRB =(0PB3)。 //PD7輸出高電平,其它為帶上拉的輸入PORTB=0xff。 //蜂鳴器響 Delay_ms(100)。 //關(guān)閉蜂鳴器 Delay_ms(100)。 //從第1行第6列開始顯示溫度值 lcd_wdat(disp_buf[3])。 //十位數(shù)顯示 lcd_wdat(disp_buf[1])。.39。 //顯示小數(shù)點(diǎn) lcd_wdat(disp_buf[0])。 //0xdf是圓圈176。C39。 //顯示C}/********DS18B20正常時(shí)的菜單函數(shù)********/void MenuOk(){LCD_write_str(0,1,line2_data)。 //從第1行第11列開始顯示 lcd_wdat(0xdf)。的代碼,以便和下面的C配合成溫度符號℃lcd_wdat(39。)。 //LCD清屏 LCD_write_str(0,1,menu2_error)。 //禁止全局中斷。 //DS18B20初始化 if(yes0==0) // yes0為Init_DS18B20函數(shù)的返回值,若yes0為0,說明DS18B20正常 { WriteOneByte(0xCC)。 // 啟動(dòng)溫度轉(zhuǎn)換 Delay_ms(1000)。 WriteOneByte(0xCC)。 //讀取溫度寄存器 temp_data[0] = ReadOneByte()。 //溫度高8位 //temp_TH = ReadOneByte()。 //溫度報(bào)警TL temp_flag=1。 //否則,出錯(cuò)標(biāo)志置0 SREG=0x80。 //定義符號標(biāo)志位 uchar temp。 //取反加1,將補(bǔ)碼變成原碼 if((~temp_data[0])=0xff) //若大于或等于0xff temp_data[1]=(~temp_data[1])+1。 //否則只取反 sign=1。0x0f。 //將小數(shù)部分變換為ascii碼
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1