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

正文內(nèi)容

數(shù)字時(shí)鐘參考資料 單片機(jī)畢業(yè)設(shè)計(jì)資料-文庫(kù)吧

2025-05-18 13:56 本頁(yè)面


【正文】 ,這樣在校時(shí)時(shí)不會(huì)出現(xiàn)改一個(gè)數(shù)字出現(xiàn)大的變化的情況。 程序設(shè)計(jì)框圖如下: 開(kāi) 始 F0 = 1 設(shè)置鬧鐘的時(shí)間 =當(dāng)前時(shí)間 F0 = 0 F0 = 1 鬧鐘報(bào)警 Y Y N N 鬧鐘流程圖 開(kāi) 始 掃 描 顯示時(shí)間 I + + 總延時(shí) 1s i=0 秒加一 分 =60 秒 =00 分加一 秒 =60 分 =00 時(shí)加一 時(shí) =24 時(shí) =00 Y Y Y Y N N N N 正常走時(shí)流程圖 開(kāi) 始 給時(shí)分秒 6位數(shù)分配6 字節(jié)靜態(tài)存儲(chǔ)空間 中斷優(yōu)先級(jí)設(shè)置 開(kāi)外中斷 設(shè)置鬧鐘? 防抖延時(shí) 設(shè)置鬧鐘? 開(kāi)定時(shí)器 0,定時(shí) 50ms 定時(shí)器中斷? 將當(dāng)前時(shí)分秒保 存到靜態(tài)空間 N 時(shí)分秒全置零 掃描 顯示 是否外中斷? N 設(shè)置鬧鐘? Y 保存鬧鐘設(shè)置時(shí)間 中斷服務(wù),對(duì)時(shí)及設(shè)置鬧鐘,相 應(yīng)的時(shí)分加一 Y 計(jì)數(shù)器 m++ Y 取出設(shè)鬧鐘之前保存時(shí)間 加上 m*50ms 的設(shè)置鬧鐘耗時(shí)時(shí)間,掃描顯示正常時(shí)間 Y Y 延時(shí) 正常走時(shí) N N N 鬧鐘設(shè)置流程圖 6. 2 源程序 源程序見(jiàn) 附件 Ⅰ 。 設(shè)計(jì)中的問(wèn)題分析與解決 由于這是我第一次系統(tǒng)地進(jìn)行設(shè)計(jì),難免會(huì)遇到很多的問(wèn)題。當(dāng)然,作為我們初學(xué)者來(lái)說(shuō),遇到問(wèn)題越多收獲也就也多,這就要看我們解決問(wèn)題能力 及方案了。下面是我在這次設(shè)計(jì)中所遇到的一些問(wèn)題總結(jié)。 ( 1)由于此次設(shè)計(jì)數(shù)字鐘,主要是由軟件來(lái)完成的,所以硬件中的問(wèn)題相對(duì)來(lái)說(shuō)較少。當(dāng)我們將 PCB 板設(shè)計(jì)完之后,焊接上元件之后,如果出現(xiàn)不正常工作的情況,我們可以確定是硬件問(wèn)題。 解決方案:①檢查單片機(jī)是否正常工作,我們可以使用示波器進(jìn)行觀察單片機(jī)ALE(第 30 引腳)的輸出波形,如果輸出波形的頻率是晶振頻率的 6 分頻,則證明單片機(jī)是正常工作的。 ②如果單片機(jī)第 31 引腳沒(méi)有輸出波形,首先應(yīng)檢查晶振的好壞,我們可以更換晶振看其是否能正常工作。 ③如果還不正常工作, 說(shuō)明是硬件電路的設(shè)計(jì)有問(wèn)題,首先我們應(yīng)該檢查的是所有芯片的電源是否正常。 ( 2)我們采用 C 語(yǔ)言,利用單片機(jī)中的優(yōu)點(diǎn)中斷和定時(shí)器,完成數(shù)字鐘其實(shí)很容易實(shí)現(xiàn),但要完成精度相當(dāng)高的數(shù)字鐘設(shè)計(jì),加上實(shí)現(xiàn)校時(shí)和鬧鐘功能之后,我們會(huì)遇到很多的問(wèn)題。首先是怎么避免由按鍵造成的延時(shí)誤差,我們總結(jié)的方案有 4 種,分別是: ①計(jì)算出按鍵延時(shí)的具體時(shí)間,按鍵一次則給定時(shí)器加上相應(yīng)的按鍵延時(shí)時(shí)間,這樣雖然可以大大的減小按鍵延時(shí)帶來(lái)的時(shí)間誤差,但還是有一定量的機(jī)器周期的延時(shí)。例如使用這種方法又需在定時(shí)器中添加一些判斷語(yǔ)句,當(dāng)符合條 件時(shí),將會(huì)增加一定的機(jī)器周期。 ②通過(guò)采用設(shè)置優(yōu)先級(jí)的方式可以清除按鍵防抖延時(shí),在主程序中我們需要將定時(shí)器的中斷優(yōu)先級(jí)設(shè)為最高,別的中斷優(yōu)先級(jí)設(shè)為低,這樣我們?cè)诎存I中斷時(shí),如果定時(shí)器還未中斷,則響應(yīng)外部中斷,這樣對(duì)定時(shí)器的定時(shí)沒(méi)有影響;如果在響應(yīng)外部中斷的時(shí)候,有定時(shí)中斷,則優(yōu)先響應(yīng)定時(shí)中斷,這樣又對(duì)定時(shí)器的定時(shí)沒(méi)有影響;如果在響應(yīng)定時(shí)中斷時(shí),則別的中斷不會(huì)影響到定時(shí)器的正常定時(shí)。 ( 3)在設(shè)定鬧鐘時(shí)間時(shí),我們要確保定時(shí)器的正常工作,如何既要讓數(shù)碼管顯示鬧鐘設(shè)置的相應(yīng)時(shí)間,并且定時(shí)器的正常計(jì)數(shù)不能受到影 響,我們應(yīng)該如何解決這個(gè)矛盾呢 ? 解決方案:為了使編程更加方便,我們專(zhuān)門(mén)設(shè)置了一個(gè)啟動(dòng)設(shè)置鬧鐘的開(kāi)關(guān),當(dāng)開(kāi)關(guān)設(shè)為高電平時(shí),則為鬧鐘設(shè)置,首先數(shù)碼管上全部顯示零,即清零。然后按相應(yīng)的校時(shí)按鈕,則數(shù)碼管顯示被設(shè)置的相應(yīng)時(shí)間,在設(shè)置鬧鐘的這期間,是如何確保相應(yīng)時(shí)間的準(zhǔn)確性呢?我是這樣解決的,當(dāng)啟動(dòng)設(shè)置鬧鐘開(kāi)關(guān)之后,在程序中同時(shí)啟動(dòng)另一個(gè)定時(shí)器開(kāi)始定時(shí)工作,當(dāng)定到 50ms 時(shí),發(fā)生中斷,相應(yīng)的變量加一,這樣我們就可以計(jì)算出在設(shè)置鬧鐘時(shí)所花費(fèi)的時(shí)間。當(dāng)設(shè)置鬧鐘開(kāi)關(guān)置到相應(yīng)的低電平時(shí),說(shuō)明設(shè)置鬧鐘結(jié)束,在這同時(shí),我 們將變量所記的數(shù)與50ms 相乘,計(jì)算出與之對(duì)應(yīng)的秒數(shù),加到鬧鐘設(shè)置之前保存到靜態(tài)變量中的數(shù)上。這種方法有一定的缺陷,會(huì)造成一定的延時(shí),經(jīng)過(guò)軟件處理,延時(shí)將在 0~之間隨機(jī)產(chǎn)生。 ( 4)在測(cè)量數(shù)字鐘精度時(shí),我們發(fā)現(xiàn)了一個(gè)問(wèn)題,在數(shù)字鐘正常工作時(shí),會(huì)出現(xiàn)秒與秒之間不相等的情況,比如在 10 分鐘之內(nèi)我們與標(biāo)準(zhǔn)時(shí)間進(jìn)行比較會(huì)發(fā)現(xiàn),有時(shí)發(fā)現(xiàn)時(shí)間走的快,有時(shí)時(shí)間走的慢。 解決方案:后面在程序中發(fā)現(xiàn),原因是由于程序中的 if 判斷語(yǔ)句,在判斷過(guò)程中當(dāng)滿(mǎn)足條件時(shí),會(huì)執(zhí)行更多的語(yǔ)句,這樣會(huì)有相應(yīng)的機(jī)器周期的延時(shí),所以會(huì)出現(xiàn)時(shí)間一會(huì)走的快一會(huì)走的慢的情況。這種情況只有通過(guò)減少 if 語(yǔ)句,怎么減少 if 語(yǔ)句呢?我們可以充分利用單片機(jī)的自身?xiàng)l件,充分利用單片機(jī)中的定時(shí)器,定時(shí)器不夠用時(shí)我們可以選用 89c52 系列。 設(shè)計(jì)總結(jié)與心得 單片機(jī)數(shù)字鐘可以說(shuō)是一個(gè)較小的系統(tǒng),開(kāi)始時(shí)我們覺(jué)得通過(guò) C 語(yǔ)言較容易實(shí)現(xiàn),確實(shí),只實(shí)現(xiàn)一個(gè)能夠正常走時(shí)并且能夠校時(shí)的數(shù)字鐘是比較容易的。但我們想錯(cuò)了,畢竟是第一次從總體角度來(lái)考慮地完成一個(gè)小系統(tǒng),好多的實(shí)際性的問(wèn)題我們沒(méi)有考慮,所以造成我們最終設(shè)計(jì)的數(shù)字鐘精度不高,并且存在好多問(wèn)題,當(dāng)然問(wèn)題多了對(duì)我們 來(lái)說(shuō)是好事,這樣我們?cè)诮鉀Q更多問(wèn)題時(shí)學(xué)會(huì)更多解決問(wèn)題的方法,對(duì)我們也算是長(zhǎng)長(zhǎng)經(jīng)驗(yàn)吧。 最開(kāi)始我們需要總體設(shè)計(jì),這就是常常說(shuō)的算法。平時(shí)的編程實(shí)現(xiàn)的都是小功能,我們按照自己的想法直接寫(xiě)下去就可以實(shí)現(xiàn),但這次不一樣,我們不但要實(shí)現(xiàn)數(shù)字鐘的正常工作,而且需要加上設(shè)置鬧鐘及鬧鐘到報(bào)警和是否已經(jīng)設(shè)置了鬧鐘的指示燈提示,這在我們?cè)O(shè)計(jì)時(shí)會(huì)遇到好多的矛盾,當(dāng)然矛盾我們可以一個(gè)個(gè)的解決,當(dāng)然更重要的是在解決矛盾時(shí)我們要確保時(shí)間的準(zhǔn)確性,這又需要我們計(jì)算機(jī)器周期和處理一些延時(shí)程序的延時(shí),這可能是我們本次設(shè)計(jì)中最困難的問(wèn)題,我們 在解決這個(gè)問(wèn)題中更深入的理解了單片機(jī)的內(nèi)部結(jié)構(gòu),也學(xué)會(huì)了合理利用單片機(jī)中的定時(shí)器和中斷處理。 除了在編寫(xiě)程序中遇到的問(wèn)題之外,我對(duì)程序又有了更深一層的認(rèn)識(shí),就像王老師經(jīng)常說(shuō)的那樣,人類(lèi)只是現(xiàn)在還沒(méi)有弄清楚人類(lèi)的思維方式,如果有一天生物科技真正研究通了人類(lèi)自己的思維方式,機(jī)器人將真的會(huì)有自己的思維方式,可能真的就會(huì)戰(zhàn)勝人類(lèi)了。在這次設(shè)計(jì)中,讓我真的明白了,只要我們想明白的事情,我們一定會(huì)用程序?qū)⑵涿枋龀鰜?lái),不管它有多么的復(fù)雜。 接下來(lái)就是 PCB 的制作,這次可算是經(jīng)歷了全部過(guò)程,從畫(huà)原理圖到 PCB的導(dǎo)出,最后到 生產(chǎn)加工出成品,尤其是 PCB 板的加工生產(chǎn)過(guò)程尤為重要,從生產(chǎn)加工中我們可以學(xué)到很多在畫(huà) PCB 時(shí)的注意事項(xiàng),也理解了我們?cè)谲浖械母鞣N設(shè)置的重要性及 的差距??粗庸C(jī)床的機(jī)械臂在那兒來(lái)回著工作,就像拉鞋墊一樣,一針一線地完成了整個(gè)版圖。非常震撼的是自動(dòng)化的強(qiáng)大。 這次數(shù)字鐘的設(shè)計(jì)主要是用單片機(jī)來(lái)完成的,雖然我們也花了很多時(shí)間來(lái)完成它的總體設(shè)計(jì),但就像老師說(shuō)的那樣,這只是個(gè)開(kāi)始。從這次設(shè)計(jì)中我也覺(jué)得自己還對(duì)單片機(jī)的功能了解只是個(gè)皮毛,單片機(jī)強(qiáng)大的功能還等著我 們 去開(kāi)發(fā)。 在這些天大家總結(jié)報(bào)告時(shí)我發(fā)現(xiàn),我 們大家的意識(shí)還太低,就像寫(xiě)個(gè)報(bào)告,大家總在意的是看誰(shuí)寫(xiě)了多少頁(yè)了,看誰(shuí)的程序多,所占用的頁(yè)數(shù)多,一切似乎和頁(yè)數(shù)聯(lián)系上了。我覺(jué)得我們更應(yīng)該去關(guān)注一下大家所寫(xiě)的程序,看誰(shuí)的程序在完成同樣功能的同時(shí),他采用方法新穎,程序占用的內(nèi)存少,并且精度高??磥?lái)我們大家總被一種錯(cuò)誤的觀念領(lǐng)導(dǎo)著,面對(duì)內(nèi)存有限的單片機(jī)而言,編寫(xiě)一個(gè)數(shù)字鐘,我們無(wú)論采用的哪種方法都不可能用完單片機(jī)內(nèi)部的程序存儲(chǔ)器,我覺(jué)得我們現(xiàn)在所做的事都是為我們后面做鋪墊的,所以我們現(xiàn)在就應(yīng)該去關(guān)心程序所占用的內(nèi)存和采用的優(yōu)于別人的算法。所以我們?cè)诔绦蛑袦p少冗余 量,在此我舉幾個(gè)例子,比如在程序中比較是否鬧鐘時(shí)間到時(shí),我們完全可以采用單片機(jī)沒(méi)有用的標(biāo)志位 F0,當(dāng)鬧鐘時(shí)間和當(dāng)前時(shí)間相同時(shí),將 F0 置 1,然后判斷 F0 是否為 1,如果是 1 則響?hù)[鐘,這樣我們可以減少變量的定義。利用 C 語(yǔ)言寫(xiě)時(shí),難免會(huì)定義一些靜態(tài)變量,這些靜態(tài)變量相當(dāng)于一些寄存器,我們可以重復(fù)利用這些靜態(tài)變量,這樣會(huì)減少更多靜態(tài)變量的定義,即可以節(jié)約內(nèi)存。 最后我覺(jué)得系統(tǒng)的設(shè)計(jì)需要我們?nèi)嬷タ紤]好多的問(wèn)題,這對(duì)我們的成長(zhǎng)會(huì)有更大的幫助。程序的實(shí)現(xiàn)不只是功能的實(shí)現(xiàn),還要有可靠的穩(wěn)定性,占用的內(nèi)存也要較小。 附錄 Ⅰ /******************
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1