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

正文內(nèi)容

數(shù)字電子時鐘的設(shè)計與制作畢業(yè)設(shè)計(編輯修改稿)

2024-10-02 12:04 本頁面
 

【文章內(nèi)容簡介】 , K2 對十位進行減操作。 同理,按 K3 健兩下時對湖 北理工學院 畢業(yè)設(shè)計(論文) 15 分位調(diào)整,按三下時對個位進行調(diào)整,按四下即跳出時間的調(diào)節(jié)。 若跳出時間的調(diào)節(jié)后, K4 健被按下,則啟動秒表功能。如果沒有跳出對時間的調(diào)節(jié) ,則無論怎樣按 K4 健,秒表功能都無法啟動。在秒表功能下,按 K1按鍵,則秒表開始工作,再按 K1 則秒表停止計時;若按 K2 健,則秒表清零;如果再按 K4 健則跳出秒表,則轉(zhuǎn)換為時鐘工作狀態(tài)。 整個設(shè)計的硬件電路就由這幾部分組成:一個單片機的最小系統(tǒng),包括晶振電路和上電自動復位電路;一個數(shù)碼管顯示電路;一個蜂鳴器控制電路和一個按鍵控制電路,構(gòu)成了整體的設(shè)計電路。 整體設(shè)計的電路圖如圖 39 所示。 圖 39 數(shù)字時鐘的總體設(shè)計電路 湖 北理工學院 畢業(yè)設(shè)計(論文) 16 4 數(shù)字時鐘的軟件設(shè)計 本次設(shè)計所實現(xiàn)的要求有 : 用六位 LED 數(shù)碼管顯示時、分、 秒;以 24h(小時)計時方式;白天整點報時,晚上 22點后不報時;可實現(xiàn)時分調(diào)整、秒表功能轉(zhuǎn)換;可實現(xiàn)時分調(diào)整、時鐘功能轉(zhuǎn)換 。 根據(jù)設(shè)計要求,所編寫的程序除了主程序外還包括的子程序有數(shù)碼管顯示子程序;按鍵檢測子程序;蜂鳴器報時子程序還有中斷函數(shù)。 數(shù)碼管顯示子程序通過控制 P0 口以及兩個鎖存器向數(shù)碼管分別輸送斷碼和位碼,來實現(xiàn)時鐘和秒表的顯示;按鍵檢測子程序則是通過 — 四個口來控制四個獨立的按鍵,以實現(xiàn)時鐘的調(diào)整和時鐘 /秒表功能的轉(zhuǎn)換;蜂鳴器報時子程序是通過控制 口來實現(xiàn)整點報時。通過中斷函數(shù) 來精確定時。 此次設(shè)計采用 C語言 來編程。 C語言 作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都要 C語言編程,如各種單片機、 DSP、 ARM 等。 C語言程序本身不依賴于機器硬件系統(tǒng),不需要對 C語言程序做修改或者僅僅只是很簡單的修改就可以將 C 語言程序從一個系統(tǒng)一直到另外一個完全不同的系統(tǒng)中。 C語言不僅支持浮點運算還提供了很多數(shù)學函數(shù),其開發(fā)的高效性在很大程度上縮短了開發(fā)的時間,程序的可維護性和可讀性大大增加。對單片機使用 C51 編程跟匯編 ASM51 編程相比有很多優(yōu)點: 解,而 C 語言則不需要有任何的了解就可以直接進行編程 。 ,函數(shù)可以分成不同的類型,使程序的結(jié)構(gòu)簡單明了。 、寄存器分配及數(shù)據(jù)類型等。 語言庫中有許多標準的子程序,其數(shù)據(jù)處理能力很強大,使用起來很方便。 語言具有很好的移植性,可以直接由一個系統(tǒng)移入另一個系統(tǒng)。 C 語言常用語法不多,尤其是單片機 C 語言常用語法更少,初學者沒有必要再系統(tǒng)地將 C語言重學一遍,只需要在實踐中遇到難點時適當?shù)夭殚?C語言書籍里的相關(guān)內(nèi)容。 C 語言僅僅是一個開發(fā)工具,其本身并不難, 難的是如何在將來開發(fā)龐大系統(tǒng)中靈活應(yīng)用 C語言的正確邏輯編寫出結(jié)構(gòu)完善的程序。綜合以上 C語言的優(yōu)點, 故 本次程序編寫采用 C 語言編寫。 下面分別對主程序和相應(yīng)的子程序做簡要的湖 北理工學院 畢業(yè)設(shè)計(論文) 17 介紹。 主程序 設(shè)計 編寫程序必須要理清思路,邏輯正確,而繪制流程圖可以使程序的思路簡單清晰,有利于編寫程序。此 次的數(shù)字電子鐘設(shè)計 的主程序 流程圖如圖 41 所示。 圖 41 主程序流程圖 通電后, 啟動 定時器, 定時器的初值為 50ms,計數(shù) 20次為 1 秒 ,則數(shù)碼管上相應(yīng)的數(shù)值加一。 按鍵 檢測 是先檢測是否 有鍵 被按下。 若 K3健被 按下, 當 K3 按 一下時,從左數(shù)第一二位數(shù)碼管即顯示時位的兩位數(shù)碼管的小數(shù)點亮,即可以通過K1 和 K2 來對時位進行加減的調(diào)整, K1 對十位進行加操作, K2 對十位進行減操作。同理,按 K3 健兩下時對分位調(diào)整,按三下時對個位進行調(diào)整,按四下即跳出時間的調(diào)節(jié)。 若跳出時間的調(diào)節(jié)后, K4健被按下,則啟動秒表功能。如果沒有跳出對時間的調(diào)節(jié),則無論怎樣按 K4健,秒表功能都無法啟動。在秒表功能下,按 K1按鍵,則秒表開始工作,再按 K1則秒表停止計時;若按 K2 健,則秒表清零;如果再按 K4 健則跳出秒表,則轉(zhuǎn)換為時鐘工作狀態(tài)。 如果顯示時間在 六點整到二十二點整時,則蜂鳴器開始報時,即到了幾點就響幾下,在其他的時間不報時。 根據(jù)所要實現(xiàn)的功能,編寫相應(yīng)的子程序。 開始 啟動定時器 時間顯示 按鍵檢測 湖 北理工學院 畢業(yè)設(shè)計(論文) 18 數(shù)碼管顯示 子程序 設(shè)計 數(shù)碼管顯示函數(shù)利用的是數(shù)碼管的動態(tài)掃描,所謂動態(tài)掃描顯示,即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余暉和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示,而實際上多位數(shù)碼管是一位一位輪流顯示的,只是輪流的速度非???,人眼已經(jīng)無法分辨出來。 本次的數(shù)碼管顯示函數(shù)也是利用這種發(fā)光管的余暉和人眼視覺暫留作用, 利用單片機的 P0 口以及兩個鎖存器 來向數(shù)碼管的輸送段選和位選數(shù)據(jù),實現(xiàn)所要顯示的時,分,秒。數(shù)碼管顯示 子函數(shù) 的流程圖如圖 42所示: 圖 42 數(shù)碼管顯示流程圖 湖 北理工學院 畢業(yè)設(shè)計(論文) 19 按鍵檢測 子程序 設(shè)計 本次的設(shè)計遵循的按鍵檢測原則是按鍵執(zhí)行是先檢測調(diào)時間的健是否被按下。若 K3 健被按下, 當按 K3按鍵 按 一下時,從左數(shù)第一二位數(shù)碼管即顯示時位的兩位數(shù)碼管的小數(shù)點亮,即可以通過 K1 和 K2 來對時位進行加減的調(diào)整, K1 對十位進行加操作, K2 對十位進行減操作。 同理,按 K3 健兩下時對分位調(diào)整,按三下時對個位進行調(diào)整,按四下即跳出時間的調(diào)節(jié)。 若跳出時間的調(diào) 節(jié)后, K4 健被按下,則啟動秒表功能。如果沒有跳出對時間的調(diào)節(jié),則無論怎樣按 K4 健,秒表功能都無法啟動。在秒表功能下,按 K1 按鍵,則秒表開始工作,再按 K1則秒表停止計時;若按 K2 健,則秒表清零;如果再按 K4 健則跳出秒表,則轉(zhuǎn)換為時鐘工作狀態(tài)。 其程序流程圖如圖 43所示: 圖 43 按鍵檢測流程圖 湖 北理工學院 畢業(yè)設(shè)計(論文) 20 蜂鳴器報時子程序設(shè)計 本次設(shè)計的蜂鳴器報時函數(shù)雖然比較簡單,但是在編寫的過程中還是遇到了一些困難。就像程序中的注釋一樣,延時時間的長短決定了蜂鳴器的發(fā)聲頻率,也就是聲音的長短。通過不斷的嘗試,最終 找到了比較滿意的發(fā)聲頻率。蜂鳴器報時函數(shù)實現(xiàn)的是在早上六點到晚上二十二點之間整點報時,也就是幾點響幾下。蜂鳴器報時函數(shù)如下: void baoshi(int c) { int x。 uchar i。 for(x=c。x0。x) { for(i=0。i80。i++) //延時時間 , 控制蜂鳴器發(fā)聲頻率 { //報時時仍然顯示時鐘狀態(tài) xianshi(shi,0xfd,0xfe)。 xianshi(fen,0xef,0xf7)。 xianshi(miao,0x7f,0xbf)。 } bs=!bs。 //整點到則蜂鳴器響 } } 除以上三個實現(xiàn)所需功能的函數(shù)外,還需要中斷函數(shù) , 初始化函數(shù)等 。將所有滿足要求的函數(shù)整合到一起,通過在主函數(shù)中調(diào)用相應(yīng)的子函數(shù)來實現(xiàn)設(shè)計要求。雖然編寫的程序順利的實現(xiàn)了所要求的功能,但自己認為還有一定的缺陷,那就是在秒表功能的狀態(tài)下, 無論按哪一個按鍵, 在按住不放的情況下數(shù)碼管不顯示任何數(shù)據(jù)。通過多次的修改與調(diào)試也沒能找到解決的方法,希望在以后的學習中能夠找到解決方案。 湖 北理工學院 畢業(yè)設(shè)計(論文) 21 5 數(shù)字時鐘 的仿真 與制作 程序編寫完后 ,必須進行調(diào)試。因為編寫的過程中難免會出現(xiàn)一些小的錯誤,甚至是一些邏輯性的錯誤。只有在一步步的調(diào)試過程中逐步發(fā)現(xiàn)錯誤,并逐步改進,才能實現(xiàn)最終預(yù)定的功能。 本次設(shè)計,采用 Keil 進行編譯調(diào)試。 在使用 Keil 軟件之前,要保證在用戶的計算機上裝有一套穩(wěn)定可靠地軟件。本次畢業(yè)設(shè)計所使用的 Keil 版本為 。在學習中,我們應(yīng)該采用邊學邊用的學習方法, 而不是將某個軟件的所有功能都講解的非常仔細,很多不用的地方不用去研究,需要用到什么就學什么這樣才能有效地理解它,記憶它,最終達到學以致用的目的。 調(diào)試與 仿真 新建一個工程, 并設(shè)置相應(yīng)的參數(shù),選擇相關(guān)的單片機型號。設(shè)置好一切相關(guān)的數(shù)據(jù)后,便可以將工程保存,并命名為 qipeibiyesheji。 然后在新建的工程中添加文件,將編寫好的程序添加到新建的工程中。 如下圖51 所示。 圖 51 Keil中添加新文件 然后 對添加到工程中的文件進行編譯,若出現(xiàn)錯誤則需要慢慢的調(diào)試,根據(jù) 提示修改出現(xiàn)的錯誤,直到編 譯無誤為止。 編譯無誤后,需要生成 Hex 文件, 如下圖所示。 湖 北理工學院 畢業(yè)設(shè)計(論文) 22 圖 52 編譯生成 Hex文件 編譯生成 的 Hex 文件,最終需要導入到 Proteus 中進行仿真。 Proteus 軟件現(xiàn)在對于自己來說最大的好處就是能夠?qū)崿F(xiàn)仿真,能夠檢查自己的程序到底有沒有達到本次設(shè)計的要求。雖然 Proteus 也有很多不完善的地方,而且模擬和硬件實物是有差別的,但是只有經(jīng)過了仿真這一步,才能對自己編的程序心里有底,才敢開始動手開始實物制作。 在繪畫 Proteus 仿真圖的過程中也遇到過很多困難,首先遇到的困難就是相應(yīng)元器件的查找。自己 只知道最基本的單片機,鎖存器等元器件如何添加,而數(shù)碼管、晶振、對應(yīng)的電容、電阻等都還不熟悉。因此只有自己上網(wǎng)查找資料現(xiàn)將所有需要用到的元器件添加到新建的工程中,然后再來考慮連線所要注意的問題。 繪畫仿真圖的過程雖然比較艱辛,而且比較考驗人的耐性, 尤其是出現(xiàn)的一點點錯誤都有可能實現(xiàn)不了仿真,只有通過自己慢慢檢 查,翻書,查閱相關(guān)的資料以及與同學老師交流查找錯誤,并及時糾正。雖然這個過程是痛苦的,但是當自己看到 編寫的程序在自己辛苦幾天繪畫出的仿真圖中完整無誤的實現(xiàn)了設(shè)計的要求 時 ,那種興奮感和成就感是多么的讓人陶醉 。 湖 北理工學院 畢業(yè)設(shè)計(論文) 23 與此同時,在畫仿真圖的過程中自己 學到了很多知識,而且也把以前學的知識又鞏固了一遍 ,并收集了很多關(guān)于畫 Proteus 仿真圖的資料。雖然自己只是懂Proteus 的一點點,其功能的強大自己還沒有完全領(lǐng)略,但我想這次單獨完成仿真繪制的過程為自己以后研究 Proteus 打下了很好的基礎(chǔ),做了一個完美的開始。 下面是自己仿真的截圖,分別為 時鐘和秒表兩個狀態(tài)。 如圖 53 所示,是時鐘狀態(tài)下的仿真圖 : 圖 53 時鐘狀態(tài)下的仿真圖 由前面的按鍵電路的流程圖可知通過按 K K K3按鍵實現(xiàn)相應(yīng)的時間調(diào)整。并且在六 點和二十二點之間還會報時。通過按 K4健實現(xiàn)秒表功能的轉(zhuǎn)換。秒表狀態(tài)下的仿真圖如下圖 54所示: 湖 北理工學院 畢業(yè)設(shè)計(論文) 24 圖 54 秒表狀態(tài)下的仿真圖 仿真圖缺陷分析 雖然自己繪制的仿真圖能實現(xiàn)所有的設(shè)計功能,但仍然存在一些缺陷。綜合自己的分析,其缺陷有以下幾點: ( 1)在時鐘與秒表轉(zhuǎn)換的時候, 按下 K4健時,也就是處于秒表狀態(tài)但沒有啟動秒表時,單個的共陽極數(shù)碼管會有輕微的閃動,也就是不穩(wěn)定,找了很久都沒有發(fā)現(xiàn)原因。 ( 2) 在秒表狀態(tài)下,無論按哪一個按鍵,在按下不放時,數(shù)碼管就會出現(xiàn)不顯示的現(xiàn)象。雖然按鍵按下的過程很短暫 ,如果不刻意去注意的話根本不會。但這也是一個缺陷,我想要求完美的人都會發(fā)現(xiàn)這個缺陷。 上述兩個缺陷只是自己做仿真和編程的時候發(fā)現(xiàn)的,暫時還沒有找到其相應(yīng)的解決方法。但我想肯定也還存在其他的缺陷,只是自己暫時沒有發(fā)現(xiàn)。我相信在以后的設(shè)計與制作中自己要求的更嚴格,爭取做到?jīng)]有任何缺陷。 湖 北理工學院 畢業(yè)設(shè)計(論文) 25 完成了 程序的調(diào)試與仿真,剩下的就是制作實物這一步了。雖然以前沒有動手制作過任何實物,有很多東西自己也不懂,但這是一次很好的鍛煉自己的機會。不要因為沒有嘗試過就放棄,更不要因為不會害怕失敗而不敢去嘗試。 要相信只要自己肯學肯鉆研,就一定會有所收獲的,結(jié)果并不是最重要的,重要的是自己親自動手嘗試的過程。 數(shù)字時鐘 的 制作 經(jīng)過詢問同學老師以及上網(wǎng)搜索資料,最初決定用 Altium Designer 來繪制原理圖和 PCB 板。 Altium Designer 這款軟件自己以前從來沒學過,也沒聽說過。但是當自己去學習它去了解它的時候發(fā)現(xiàn)它功能的強大性真的讓自己難以置信。而想要學好單片機的話必須掌握畫 PCB 板的基本軟件。很多公司用的都是 Protel99 來學習單片機,但 Altium Designer 比 Protel99 的 功能更強大,是最新發(fā)明出來的軟件。因此自己決定用 Altium Designer 來繪畫 PCB 板。 學習和繪畫的過程是辛苦的,因為沒有人指導, 也沒有任何
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1