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

正文內(nèi)容

基于單片機(jī)的簡(jiǎn)易燈光時(shí)鐘畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-24 19:39 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 8B20溫度檢測(cè)子程序流程圖溫度傳感器 DS18B20溫度檢測(cè)子程序流程圖如圖 ,進(jìn)入溫度讀取子函數(shù)時(shí),首先初始化 DS18B20 溫度傳感器的參數(shù),單片機(jī)發(fā)送跳過(guò) ROM命令給 DS18B20,然后發(fā)送溫度轉(zhuǎn)換命令并且延時(shí)一定時(shí)間等待轉(zhuǎn)換完畢,等轉(zhuǎn)換完畢后單片機(jī)在再次初始化 DS18B20,發(fā)送跳過(guò) ROM 命令,溫度到緩沖區(qū),最終溫度處理子程序調(diào)用達(dá)到存儲(chǔ)實(shí)時(shí)溫度的目的。 程序設(shè)計(jì)原理軟件設(shè)計(jì)是基于硬件設(shè)計(jì)的基礎(chǔ)之上,首先要明確硬件設(shè)計(jì)的原理,區(qū)分哪些是需要硬件設(shè)計(jì)的,哪些是軟件設(shè)計(jì)的范疇,軟件設(shè)計(jì)要明確設(shè)計(jì)內(nèi)容的真正目的,設(shè)計(jì)程序最好要簡(jiǎn)單明了,盡量減少多余的冗余信息,減少 CPU的宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)19負(fù)擔(dān)。軟件分析方面的任務(wù)是軟件設(shè)計(jì)的一個(gè)總體規(guī)劃。從軟件的功能的角度可以分為兩大類(lèi):一類(lèi)是在軟件的設(shè)計(jì),可以完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,導(dǎo)出控制和通信,以及其他的監(jiān)控軟件,其目的是作為軟件調(diào)度軟件的組織來(lái)執(zhí)行模塊的作用和運(yùn)作之間的關(guān)系。這兩種類(lèi)型的軟件設(shè)計(jì)方法都有其自身的特點(diǎn),專(zhuān)注于算法的軟件設(shè)計(jì),不斷提高軟件完成功能效率,以及與之密切相關(guān)的硬件,都有不斷變化的可能性,關(guān)鍵就在于我們?cè)O(shè)計(jì)者是怎么進(jìn)行操作的。軟件需求分析的任務(wù),應(yīng)該將執(zhí)行模塊一一的列表,定義每個(gè)執(zhí)行模塊的輸入和輸出,并繪制了相應(yīng)的程序流程圖,并制定可執(zhí)行模塊的引腳和功能。宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)20 硬件調(diào)試在制作硬件電路之前,我們先根據(jù)實(shí)際需要的功能劃分硬件模塊,并且在 PROTEL 里面畫(huà)出其硬件原理圖和 PCB 圖,檢查無(wú)誤后開(kāi)始先在萬(wàn)用板上焊接,調(diào)試無(wú)誤后在腐蝕板上制作焊接。在本萬(wàn)年歷的硬件調(diào)試中遇到過(guò)許多常見(jiàn)的問(wèn)題,現(xiàn)在回想這類(lèi)問(wèn)題,只要在當(dāng)時(shí)認(rèn)真一些,多思考,多查下資料,這些問(wèn)題都是可以避免的,以下為主要的問(wèn)題:?jiǎn)栴} 1:剛開(kāi)始的時(shí)候以為單片機(jī) I/O 口可以直接驅(qū)動(dòng)蜂鳴器發(fā)出聲響,后來(lái)調(diào)試了很久都不能發(fā)出聲音。解決:經(jīng)過(guò)多方面的查找相關(guān)資料,如進(jìn)入圖書(shū)館查找歷年來(lái)的設(shè)計(jì)資料,或者進(jìn)入相關(guān)資源的數(shù)據(jù)庫(kù),或者在商家處尋求相關(guān)芯片的 PDF 資料文件,最終我知道了單片機(jī)的 I/O 口給蜂鳴器提供不了足夠的驅(qū)動(dòng)電流,所以我們采用三極管放大器來(lái)將電流放大,用以驅(qū)動(dòng)蜂鳴器工作,實(shí)驗(yàn)證明,把三極管放大器加在系統(tǒng)上后蜂鳴器就可以正常工作,發(fā)出聲音了。問(wèn)題 2:?jiǎn)纹瑱C(jī)一直讀取 DS18B20 的溫度總是錯(cuò)誤,顯示的時(shí)候不是亂碼就是總顯示 24 攝氏度或者 85。解決: 經(jīng)過(guò)查找芯片手冊(cè),知道 DS18B20 的輸出端是漏極開(kāi)路結(jié)構(gòu),需要加上拉電阻才能讀取數(shù)據(jù)正常.問(wèn)題 3:本設(shè)計(jì)要實(shí)現(xiàn)語(yǔ)言實(shí)時(shí)報(bào)時(shí),但是在用萬(wàn)用版做出來(lái)的時(shí)候,不管怎么做,都沒(méi)有語(yǔ)音發(fā)出聲音。 解決:剛開(kāi)始懷疑是對(duì)語(yǔ)音芯片設(shè)計(jì)有問(wèn)題,但是通過(guò)查找芯片手冊(cè),發(fā)現(xiàn)對(duì)于語(yǔ)言報(bào)時(shí)模塊中的核心芯片設(shè)計(jì)沒(méi)有任何問(wèn)題,接著懷疑是程序方面有問(wèn)題,因?yàn)橐獙?shí)現(xiàn)語(yǔ)音報(bào)時(shí),必須要進(jìn)行的步驟是要單片機(jī)對(duì)語(yǔ)音芯片的內(nèi)部ROM 進(jìn)行查表,但是通過(guò)分步驟的對(duì)程序進(jìn)行檢查發(fā)現(xiàn),程序也沒(méi)有問(wèn)題,最后仔細(xì)檢查了一下整個(gè)電路設(shè)計(jì),發(fā)現(xiàn)忘記在電路中設(shè)計(jì)喇叭了,誤以為電路中有蜂鳴器就可以發(fā)聲,由于模塊已經(jīng)設(shè)計(jì)完,只好用跳線外接了一個(gè)小喇叭,測(cè)試發(fā)現(xiàn),問(wèn)題得到解決,語(yǔ)音報(bào)時(shí)內(nèi)容為:“今天是 XX 年 X 月 X 日” “現(xiàn)在是 X 時(shí) X 分 X 秒,星期 X”。 軟件調(diào)試本系統(tǒng)是一個(gè)較為復(fù)雜的數(shù)字系統(tǒng),程序更為復(fù)雜,所以在編程和調(diào)試出現(xiàn)了相對(duì)更多的問(wèn)題。首先為了更好的測(cè)試效果,我最開(kāi)始是一個(gè)模塊一個(gè)模塊單獨(dú)做成電路板,然后直接用跳線連接組成的系統(tǒng),在確定無(wú)誤后,再把程序燒錄到實(shí)物中運(yùn)行。在系統(tǒng)中調(diào)試號(hào)確定無(wú)誤后,再將每個(gè)模塊全部集中在一個(gè)腐蝕板上,再進(jìn)過(guò)一番調(diào)試,問(wèn)題得到解決,功能得到實(shí)現(xiàn)。在該過(guò)程中主要遇到的問(wèn)題如下:?jiǎn)栴} 1:燒入程序,LCD 液晶出現(xiàn)顯示永遠(yuǎn)閃爍,和不均勻的亮度。解決:剛開(kāi)始的時(shí)候懷疑是程序的延時(shí)部分有問(wèn)題,所以在程序中修改對(duì)調(diào)用的子程序的延時(shí),結(jié)果我們發(fā)現(xiàn)屏幕顯示閃動(dòng)頻率明顯降低,找到問(wèn)題點(diǎn)宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)21后,繼續(xù)增大延時(shí),最終達(dá)到解決顯示閃動(dòng)問(wèn)題的目的。由于該系統(tǒng)采用數(shù)字動(dòng)態(tài)掃描顯示,動(dòng)態(tài)掃描快,人眼無(wú)法看到,但是當(dāng)調(diào)用顯示程序,如果沒(méi)有返回的最后一個(gè)值,就會(huì)顯得非常明亮或亮度不均勻的現(xiàn)象,所以在顯示指令的后面加一個(gè)屏蔽子令,最終的問(wèn)題得到解決。問(wèn)題 2:當(dāng)用戶按下按鈕,設(shè)定的數(shù)值與單片機(jī)讀取的值跟不對(duì)應(yīng),而且有時(shí)候按鍵失靈或者是出現(xiàn)某些關(guān)鍵功能有時(shí)候不對(duì)應(yīng)有時(shí)候?qū)?yīng)的情況。解決:重新檢查矩陣鍵盤(pán)電路的連接,發(fā)現(xiàn)焊接鍵盤(pán)電路時(shí)有虛焊,重新焊接好矩陣鍵盤(pán)按鍵沒(méi)有反應(yīng)的問(wèn)題得到解決。然后檢查鍵盤(pán)掃描程序,重新建立一個(gè)新的對(duì)應(yīng)關(guān)系。最終問(wèn)題得到解決。宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)22參考文獻(xiàn)[1] C 語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100 年[2] 吳運(yùn)昌.模擬電子線路基礎(chǔ).廣州:華南理工大學(xué)出版社,2022 年[3] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社,1997 年[4] 張曉麗等.?dāng)?shù)據(jù)結(jié)構(gòu)與算法.北京:機(jī)械工業(yè)出版社,2022 年[5] 馬忠梅等. ARM amp。 Linux 嵌入式系統(tǒng)教程.北京:北京航空航天大學(xué)出版社,2022 年[6] 李建忠.單片機(jī)原理及應(yīng)用.西安:西安電子科技大學(xué),2022 年[7] 韓志軍等 .單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2022[8] 周潤(rùn)景等 . Proteus在 MCS51amp。ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,2022[9] 馬忠梅等 .單片機(jī)的 C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2022[10]劉樹(shù)中,孫書(shū)膺,[J].微計(jì)算機(jī)信息,2022宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)23致謝通過(guò)此次簡(jiǎn)易燈光時(shí)鐘的畢業(yè)設(shè)計(jì),我學(xué)到了很多東西,并且,將許多以前在書(shū)本上學(xué)到的東西運(yùn)用到實(shí)際生活中,在以前的專(zhuān)業(yè)課書(shū)本中,很多概念的模糊的,例如:在以前的學(xué)習(xí)過(guò)程中,一直不明白溫度傳感器是怎么進(jìn)行工作的,與單片機(jī)是怎么進(jìn)行通信,單片機(jī)的 I/O 口采集溫度傳感器 DS18B20 的數(shù)據(jù)后是怎么轉(zhuǎn)換數(shù)據(jù)將之對(duì)應(yīng)為實(shí)時(shí)的溫度的。而且通過(guò)此次設(shè)計(jì),我學(xué)會(huì)了如何點(diǎn)亮液晶,怎么制作功能菜單,會(huì)設(shè)計(jì)單片機(jī)最小系統(tǒng),將許多模糊的概念徹底的搞清楚,同時(shí),在這段時(shí)間里,我明白了我們專(zhuān)業(yè)在以后的生活工作中的運(yùn)用方向,也為我在以后工作中需要學(xué)習(xí),掌握的工作技能奠定基礎(chǔ)。在這次設(shè)計(jì)當(dāng)中,我學(xué)會(huì)使用 STC52 系列單片機(jī),并會(huì)熟練使用protel, keilC51 等軟件,能夠獨(dú)立的搭建一些簡(jiǎn)單的硬件設(shè)計(jì),能夠檢查出一些簡(jiǎn)單、常見(jiàn)的問(wèn)題,動(dòng)手能力有所提高,對(duì)所學(xué)知識(shí)運(yùn)用加深。感謝在這次設(shè)計(jì)中對(duì)我提供幫助的老師,同學(xué),謝謝教我怎樣查找芯片關(guān)鍵資料,教會(huì)我使用 protel 的老師,謝謝你們。宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)24附錄系統(tǒng)整體原理圖 +YHZpFWDBlcdGQ?kuzer系統(tǒng) PCB 圖宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)25實(shí)物圖宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)26元件清單名稱(chēng) 數(shù)量STC89C52 130PF電容 210UF電容 11000UF電容 110K電阻 310K電位器 1DIP40插座 1LCD1602 1輕觸按鍵 512M晶振 1DS18B20 18550三極管 1DS1302 1蜂鳴器 1語(yǔ)音芯片NY3P035AP632401D 1揚(yáng)聲器 1DIP8插座 2板子 1銅柱 4螺帽 4USB座子 1宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)27系統(tǒng)源程序///說(shuō)明:第一個(gè)鍵:按一下,當(dāng)前時(shí)間設(shè)置;通過(guò)第二個(gè)鍵來(lái)選擇年月日時(shí)分秒//按第二下,鬧鐘 1 設(shè)置;通過(guò)第二個(gè)鍵選擇時(shí)分秒//添加頭文件include //單片機(jī)頭文件include //液晶include //時(shí)鐘include //按鍵include //溫度傳感器void DisplayInit(void) //初始化 LCD 和時(shí)鐘的顯示,初始化定時(shí)器{LCDInit()。 //初始化液晶 }void Display1(void)//顯示正常界面,時(shí)間的函數(shù){DS1302_read_time()。 //讀取 DS1302 時(shí)間LCDDispNum(1,1,(Nian4))。 //在液晶上顯示年的十位LCDDispNum(2,1,(Nianamp。0x0f))。//在液晶上顯示年的個(gè)位LCDDispChar(3,1,39。39。)。 //在液晶上顯示字符LCDDispNum(4,1,(Yue4))。 //在液晶上顯示月的十位LCDDispNum(5,1,(Yueamp。0x0f))。 //在液晶上顯示月的個(gè)位LCDDispChar(6,1,39。39。)。 //在液晶上顯示字符LCDDispNum(7,1,(Ri4))。 //在液晶上顯示日的十位LCDDispNum(8,1,(Riamp。0x0f))。 //在液晶上顯示日的個(gè)位LCDDispNum(1,2,(Shi4))。 //在液晶上顯示十的十位LCDDispNum(2,2,(Shiamp。0x0f))。 //在液晶上顯示十的個(gè)位LCDDispChar(3,2,39。:39。)。 //在液晶上顯示顯示字符:LCDDispNum(4,2,(Fen4))。 //在液晶上顯示分的十位LCDDispNum(5,2,(Fenamp。0x0f))。 //在液晶上顯示分的個(gè)位LCDDispChar(6,2,39。:39。)。 //在液晶上顯示顯示字符:LCDDispNum(7,2,(Miao4))。 //在液晶上顯示秒的十位LCDDispNum(8,2,(Miaoamp。0x0f))。//在液晶上顯示秒的個(gè)位XingQi = (XingQi amp。 0x0f)+((XingQi4) * 10)。 //星期if(XingQi == 1) //判斷并顯示星期的字符宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)28LCDDispString(12,1,Mon.)。 //如果星期等于 1 則顯示 Mon.else if(XingQi == 2)LCDDispString(12,1,Tues)。 //如果星期等于 2 則顯示 Tueselse if(XingQi == 3)LCDDispString(12,1,Wed.)。 //如果星期等于 3 則顯示 Wed.else if(XingQi == 4)LCDDispString(12,1,Thu.)。 //如果星期等于 4 則顯示 Thu.else if(XingQi == 5)LCDDispString(12,1,Fri.)。 //如果星期等于 5 則顯示 Fri.else if(XingQi == 6)LCDDispString(12,1,Sat.)。 //如果星期等于 6 則顯示 Sat.else if(XingQi == 7)LCDDispString(12,1,Sun.)。 //如果星期等于 7 則顯示 Sun.FenA = (Fen amp。 0x0f) + ((Fen4) * 10)。//把分的 BCD 碼轉(zhuǎn)成 10 進(jìn)制ShiA = (Shi amp。 0x0f) + ((Shi4) * 10)。//把時(shí)的 BCD 碼轉(zhuǎn)成 10 進(jìn)制//鬧鈴,判斷是否有鬧鈴。如果時(shí)間到,則蜂鳴器響,否則不響if(AlarmFlag[0] == 1 amp。amp。 DoneFlag[0] == 1 amp。amp。 ShiA == AlarmClock[0][0] amp。amp。 FenA == AlarmClock[0][1])BEEP = 0。else BEEP = 1。//轉(zhuǎn)點(diǎn)時(shí)的鬧鐘標(biāo)志位要清零if(Shi == 0 amp。amp。 Fen == 0 amp。amp。 Miao == 0){if(AlarmFlag[0] == 1)DoneFlag[0] = 1。}if(Fen == 0 amp。amp。 Miao == 0){Music(L_beijing)。if((Shi4)!=0){if((Shi4)==1)Music(L_shi)。else{Music((Shi4)+1)。Music(L_shi)。}}if((Shiamp。0x0f)==0){if((Shi4)==0)宜賓學(xué)院本科畢業(yè)設(shè)計(jì)(論文)29Music(L_0)。}elseMusic((Shiamp。0x0f)+1)。Music(L_dian)。Music(L_zheng)。}//讀取溫度的值ReadTemperature()。//顯示溫度的值LCDDispString(12,2,temperatureDate)。}void main(void){//初始化操作DisplayInit()。Music(L_1)。while(1)//死循環(huán){if(gFunctionCount == 0)//判斷是否為正常顯示界面{Display1()。//顯示子函數(shù) 1}KeyScan()。 //按鍵掃描子函數(shù)}}includeinclude/********************************************************* Functio
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1