




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子鐘項(xiàng)目電子鐘項(xiàng)目 總體設(shè)計(jì)說明書總體設(shè)計(jì)說明書 編制單位:侏羅紀(jì)工作室 作 者:王鵬 版 本:V0.1 發(fā)布日期:2011-1-23 審 核 人: 批 準(zhǔn) 人: 修訂歷史記錄修訂歷史記錄 發(fā)布日期發(fā)布日期版本版本說明說明作者作者 2011-1-23V0.1 硬件總體設(shè)計(jì)說明書初稿王鵬 2008-12-20V0.2 按照文檔格式要求修改格式王鵬 2011-01-23V0.2 按照需求要求修改文檔內(nèi)容 王鵬 目目 錄錄 1.1.引言引言 .1 1 1.1.編寫目的: .1 1.2.背景 .1 1.3.定義 .2 1.4.參考資料 .2 2.2.總體設(shè)計(jì)總體設(shè)計(jì) .3 3 2.1.開發(fā)與運(yùn)行環(huán)境
2、 .3 2.2.硬件功能描述 .3 2.3.硬件結(jié)構(gòu) .3 3.3.硬件模塊設(shè)計(jì)硬件模塊設(shè)計(jì) .4 4 3.1.描述 .4 3.2.功能 .6 4.4.嵌入式軟件設(shè)計(jì)嵌入式軟件設(shè)計(jì) .7 7 4.1.流程邏輯 .7 4.2.算法 .8 5.5.經(jīng)驗(yàn)總結(jié)經(jīng)驗(yàn)總結(jié) .7 7 5.1.硬件 .7 5.2.軟件 .8 6.6.附錄附錄 .7 7 1.1. 引言引言 1.1.1.1. 編寫目的編寫目的: 電子表在生活中的應(yīng)用,可以說無(wú)處不在,在日常生活中我們無(wú)時(shí)不在使用電子表,給我 們的生活和學(xué)習(xí)帶來了說不盡的方便,使我們的生活更加有節(jié)奏和規(guī)律。使用二十四時(shí)制。 并用實(shí)驗(yàn)室的 PCB 制作機(jī)器來完成電路
3、板的繪制,盡量使 PCB 小,而且功能齊全,全面練習(xí) 了我們的 C 語(yǔ)言工程應(yīng)用經(jīng)驗(yàn)和 PCB 板的制作過程和熟練程度。 在本次設(shè)計(jì)中需要下面的準(zhǔn)備工作 復(fù)習(xí)本學(xué)期學(xué)過的單片機(jī)和上學(xué)期學(xué)過的 C 語(yǔ)言。 本實(shí)驗(yàn)沒有用外接時(shí)鐘源,所以在編寫 C 語(yǔ)言時(shí)要盡可能的減小程序產(chǎn)生的誤差。 列出電子秒表單元電路的測(cè)試表格。 列出調(diào)試電子表的步驟。 計(jì)數(shù)器是一個(gè)用以實(shí)現(xiàn)計(jì)數(shù)功能的時(shí)序部件,它不僅可用來計(jì)脈沖數(shù),還常用作數(shù)字系統(tǒng) 的定時(shí),分頻和執(zhí)行數(shù)字運(yùn)算以及其它特定的邏輯功能. 計(jì)數(shù)器種類很多.按構(gòu)成計(jì)數(shù)器中的各 觸發(fā)器是否使用一個(gè)時(shí)鐘脈沖源來分,有同步計(jì)數(shù)器和異步計(jì)數(shù)器.根據(jù)計(jì)數(shù)制的不同,分為二 進(jìn)制計(jì)
4、數(shù)器,十進(jìn)制計(jì)數(shù)器和任意進(jìn)制計(jì)數(shù)器.根據(jù)計(jì)數(shù)的增減趨勢(shì),又分為加法,減法和可逆計(jì) 數(shù)器.還有可預(yù)置數(shù)和可編程序功能計(jì)數(shù)器等等. 譯碼器是一個(gè)多輸入,多輸出的組合邏輯電路.它的作用是把給定的代碼進(jìn)行翻譯,成相 應(yīng)的狀態(tài),使輸出通道中相應(yīng)的一路有信號(hào)輸出.譯碼器在數(shù)字系統(tǒng)中有廣泛的用途,不僅用于 代碼的轉(zhuǎn)換,終端的數(shù)字顯示,還用于數(shù)據(jù)分配,存貯器尋址和組合控制信號(hào)等.不同的功能可選 用不同種類的譯碼器. 譯碼器可分為通用譯碼器和顯示譯碼器兩大類.前者又分為變量譯碼器 和代碼變換譯碼器. 一個(gè)LED數(shù)碼管可用來顯示一位09十進(jìn)制數(shù)和一個(gè)小數(shù)點(diǎn).小型數(shù)碼管(0.5寸和0.36寸) 每段發(fā)光二極管的正向
5、壓降,隨顯示光(通常為紅,綠,黃,橙色)的顏色不同略有差別,通常約為 22.5V,每個(gè)發(fā)光二極管的點(diǎn)亮電流在510mA.LED數(shù)碼管要顯示BCD碼所表示的十進(jìn)制數(shù) 字就需要有一個(gè)專門的譯碼器,該譯碼器不但要完成譯碼功能,還要有相當(dāng)?shù)尿?qū)動(dòng)能力. 這些都是最簡(jiǎn)單的門電路,在設(shè)計(jì)和制作中可以準(zhǔn)確的應(yīng)用最簡(jiǎn)單的電路圖做出來,相 比較這些門電路功能簡(jiǎn)單搭建方便。價(jià)格相對(duì)其他的集成芯片較便宜,整個(gè)制作完成價(jià)格不 超過50元人民幣。而且易于制作和方便檢查錯(cuò)誤,精度較高。 1.2.1.2. 背景背景 a、本次實(shí)驗(yàn)主要設(shè)計(jì)一個(gè)帶有鬧鐘和定時(shí)功能的電子表。 b、本次實(shí)驗(yàn)是在大三第一學(xué)期學(xué)完單片機(jī)的基礎(chǔ)上通過 C
6、語(yǔ)言使用 51 單片機(jī)來實(shí)現(xiàn)電 子鐘,在寒假期間用十天左右來完成制作,在實(shí)驗(yàn)室王老師的大力鼓勵(lì)和支持下我們實(shí)驗(yàn)室 大三十七個(gè)人一起共同努力每人完成一個(gè),要求是現(xiàn)在單片機(jī)開發(fā)板上用 C 語(yǔ)言來實(shí)現(xiàn)功能, 并自己繪制 PCB 板,由大四的師哥師姐們幫我們完成板子的刻制,并且自己焊元件,調(diào)試板 子,來實(shí)現(xiàn)自己所要的功能。 項(xiàng)目任務(wù)提出者: 項(xiàng)目開發(fā)者: 王鵬 軟件開發(fā)者:王鵬 系統(tǒng)調(diào)試: 王鵬 項(xiàng)目用戶: 單片機(jī)愛好者 系統(tǒng)運(yùn)行環(huán)境:HOT51 單片機(jī)開發(fā)板、單片機(jī)仿真軟件 Wave6000、單片機(jī)最小系統(tǒng)電路 板。 1.3.1.3. 定義定義 1.3.1 專門術(shù)語(yǔ)的定義 四位八段數(shù)碼管:就是四個(gè)單
7、個(gè)數(shù)碼管連在一起的二極管顯示器,可以顯示從 0 到 9 數(shù) 字的顯示。 晶振:用來產(chǎn)生單片機(jī)工作所需的工作脈沖。 1.2.2 外文首字母組詞的原詞組 PCB:常稱為印刷電路板是用來固定元件并可以導(dǎo)電的電路板。 1.01.7PP::在本文中代表 89C51 單片機(jī)的接口,即 I/O 口 P1 口。 1.4.1.4. 參考資料參考資料 1、李朝青.單片機(jī)原理及接口技術(shù)(第三版)M.北京:北京航空航天大學(xué)出版社,2005.9 2、譚浩強(qiáng).c 語(yǔ)言程序設(shè)計(jì)(第二版). 3、HOT51 增強(qiáng)版單片機(jī)開發(fā)板資料. 2.2. 總體設(shè)計(jì)總體設(shè)計(jì) 2.1.2.1. 開發(fā)與運(yùn)行環(huán)境開發(fā)與運(yùn)行環(huán)境 2.1.1 系統(tǒng)
8、硬件運(yùn)行環(huán)境 在常溫下由電池供電,在基于 89C51 單片機(jī)的系統(tǒng)版上運(yùn)行,最后在自制的 PCB 最小系 統(tǒng)版上運(yùn)行。 2.1.2 系統(tǒng)軟件運(yùn)行環(huán)境 程序使用軟件主要是 keil uvision3 中調(diào)試、編譯、連接,然后由 stc-isp 軟件下載到 單片機(jī)中,在單片機(jī)開發(fā)板上運(yùn)行。 軟件運(yùn)行環(huán)境為 Windows XP。 2.2.2.2. 硬件功能描述硬件功能描述 本系統(tǒng)硬件包括 PCB 集成電路板一個(gè)(芯片元件集成) 、三個(gè)單穩(wěn)態(tài)開關(guān)(用于數(shù)字 鐘對(duì)時(shí)) ,一個(gè)自鎖開關(guān)(電源開關(guān)) 、12MHz 晶振一個(gè),89C51 單片機(jī)一個(gè)(程序執(zhí)行) 、蜂 鳴器一個(gè)(鬧鐘報(bào)警) 、電源接口一個(gè)(電
9、路供電) 、四位一體八段數(shù)碼管兩個(gè)(顯示時(shí)間) 、 1K 排阻一個(gè)、發(fā)光二極管一個(gè)(電源指示燈) 、74HC38 譯碼器芯片一個(gè)、若干導(dǎo)線。 2.3.2.3. 硬件結(jié)構(gòu)硬件結(jié)構(gòu) 硬件端口定義: 數(shù)碼管片選接至單片機(jī) P0 口,接至數(shù)碼管引腳圖如下: 8657 1234 從單片機(jī)的 P0 口分別接至數(shù)碼管的段選口,共八個(gè)接口,從單片機(jī)的 P2.1、P2.2、P2.3 接位選驅(qū)動(dòng)芯片 74138,驅(qū)動(dòng)芯片輸出引腳接數(shù)管的位選端。 單穩(wěn)態(tài)開關(guān)接口 單穩(wěn)態(tài)開關(guān)接口為四個(gè)引腳,其引腳功能如下圖所示: 在開關(guān)按下去時(shí) 1 和 3 接通,2 和 4 接通,在程序里高電平為有效電平,所以在電路圖中用 1 和
10、3 接口。電源開關(guān)為單刀雙置開關(guān),當(dāng)開關(guān)按下去時(shí) 1 和 2 接通,所以在電路圖中所用 1 和 2 引腳。 電路中用到的唯一一個(gè)三極管是 9012,是 NPN 的管子,所以其接法和 PNP 剛好相反, E 引腳接電源的正,c 引腳接電源的地,此電路為鬧鐘部分驅(qū)動(dòng)蜂鳴器,也可以換成 9013 或 是 PNP 的管子,只要能提供比較大的電流就可以。 3.3. 硬件模塊設(shè)計(jì)硬件模塊設(shè)計(jì) 3.1.3.1. 描述描述 3.1.1 89C51 單片機(jī) 1、89C51RC:此型號(hào)單片機(jī)是目前最流行的一款常用單片機(jī),單片機(jī)是本系統(tǒng)的心臟, 主要是用來執(zhí)行二進(jìn)制代碼,實(shí)現(xiàn)所需功能的。此單片機(jī)的主要參數(shù)如下: R
11、OM 為 64KB, RAM 為 3.1.2 PCB 板 1、PCB 板概述: 標(biāo)準(zhǔn)的 PCB 板上頭沒有零件,常被稱為“應(yīng)刷電路板“。板子本身的基板是由絕緣隔 熱、并不易彎曲的材質(zhì)制作而成。在表面可以看到細(xì)小線路是銅箔, ,原本銅箔是覆蓋在整個(gè) 板子上的,而在制造過程中部分被蝕刻處理掉,留下來的部分就變成了網(wǎng)狀的細(xì)小線路。這 些線路被稱為導(dǎo)線或稱布線,并用來提供 PCB 上零件的電路連接。為了將零件固定在 PCB 板 上,我們將原件的接腳直接焊在布線上,在最基本的 PCB 上,零件都集中在其中的一面。這 么一來我們就需要在板子上打洞,這樣我們才能將引腳穿過板子到另一面,所以零件的焊接 在另一
12、面上的。應(yīng)為如此,PCB 的正反面被稱為零件面與焊接面。如果 PCB 上頭有些零件需 要在制作完成后可以拿掉或裝回去,那么零件安裝時(shí)會(huì)用到底座。由于底座是直接焊接在板 子上的,零件可以任意的拆裝。 PCB 上綠色或是紅的的是阻焊漆的顏色,這層是絕緣的防護(hù)層,可以保護(hù)銅線,也可以 防止零件被焊接到不正確的地方。在阻焊層上另外會(huì)應(yīng)刷上一層網(wǎng)應(yīng)刷面。通常在這層上面 會(huì)印刷上文字與符號(hào),以標(biāo)示出各零件在板子上的位置。網(wǎng)絲應(yīng)刷面也被稱為圖標(biāo)面。印刷 電路板將零件與零件之間復(fù)雜的電路銅線經(jīng)過細(xì)致整齊的規(guī)劃后蝕刻在一塊板子上,提供電 子零件組件在安裝與互聯(lián)時(shí)的主要支撐體,是所有電子產(chǎn)品不可或缺的基礎(chǔ)零件。印
13、刷電路 板以不導(dǎo)電的材料所制成的平板,在此平板上通常都設(shè)計(jì)安裝孔以安裝元件。組件的孔有助 于讓預(yù)先定義在板子上印制的金屬路徑以電子方式連接起來,將電子組件的接腳穿過 PCB 后, 再以導(dǎo)電性的金屬焊條粘附在 PCB 上而形成電路。PCB 可以分為單面板,雙面板,多層板。 2、在本次實(shí)驗(yàn)中要求我們自己繪制 PCB 板,并且用實(shí)驗(yàn)室所提供的 PCB 刻板機(jī)刻制自己 的板子,由于本次實(shí)驗(yàn)所用的電路簡(jiǎn)單,所以用單面板,PCB 設(shè)計(jì)所用的軟件為 DXP PROTELL,因?yàn)闆]有用到高頻電路,所以板子的繪制相對(duì)簡(jiǎn)單,但在繪制過程中出現(xiàn)了不少的 問題,詳細(xì)分析見后,繪制的 PCB 板如下圖所示: 3.2.3
14、.2. 功能功能 本系統(tǒng)為二十四小時(shí)制帶有鬧鐘功能的電子表,可以校對(duì)時(shí)間和鬧鐘,可以開啟和關(guān)閉 鬧鐘。 本系統(tǒng)共分為四部分,第一部分為顯示區(qū),第二部分為按鍵區(qū),第三部分為鬧鐘功能區(qū), 第四部分為電源區(qū)。 顯示區(qū)主要是數(shù)碼管的顯示,主要是用來顯示結(jié)果,走時(shí)。本部分還需要驅(qū)動(dòng)芯片和數(shù) 碼管的動(dòng)態(tài)掃描。 按鍵區(qū)有兩部分,一是電源的開關(guān)按鍵,用來接通電源和斷開電源。二是電子表校時(shí)按 鍵,共有三個(gè)按鍵,S1 是功能選擇,從電子鐘的小時(shí)校對(duì)、分鐘校對(duì)、鬧鐘的小時(shí)校對(duì)、分 鐘校對(duì)。S2 是加校對(duì)按鍵,在相應(yīng)的功能選擇下加。S3 是減校對(duì)按鍵,在相應(yīng)的功能選擇下 減。 鬧鐘功能區(qū)是鬧鐘的功能電路,主要是在鬧鐘
15、時(shí)間到時(shí)開始響鬧鐘。 電源區(qū)是電源接通顯示,用一個(gè)發(fā)光二極管,當(dāng)發(fā)光二極管亮表示電源接通,反之則表 示電源未接通。 4.4. 嵌入式軟件設(shè)計(jì)嵌入式軟件設(shè)計(jì) 4.1.4.1. 流程邏輯流程邏輯 程序用 tab數(shù)組來定義共陰數(shù)碼管的顯示狀態(tài); 用定時(shí)器 0 來實(shí)現(xiàn)電子鐘的走時(shí); 用定時(shí)器 1 來實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)掃描; 用外部鍵盤掃描來實(shí)現(xiàn)電子鐘的校準(zhǔn),查詢方式如下: 定義電子鐘的初始值為 23:59:00。 程序流程圖如下: 開始 初始化 T0,T1 設(shè)置為 16 位 計(jì)數(shù)器模式 允許 T0,T1 中斷 顯示程序 外部按鍵中斷 功能程序 查詢方式流程圖查詢方式流程圖 本次試驗(yàn),用到單片機(jī)外部中斷,
16、也就是按鍵,使用按鍵最主要的就是防抖動(dòng),防抖動(dòng) 的方法很多我使用的方法為延時(shí),就是重新定義一個(gè)函數(shù),功能是延時(shí)一定的時(shí)間,在按鍵 程序中調(diào)用此函數(shù)。 void delay(unsigned int cnt) /延時(shí)函數(shù) while(-cnt); 4.2.4.2. 算法算法 定時(shí)器工作模式控制字 TMOD 本次實(shí)驗(yàn)用到了單片機(jī)的所有的定時(shí)器中斷,T0 用來實(shí)現(xiàn)電子鐘的計(jì)時(shí),T1 用來實(shí)現(xiàn)數(shù) 碼管的動(dòng)態(tài)掃描。當(dāng)用計(jì)時(shí)器 0 時(shí)給 TMOD 賦值為 0X01,用定時(shí)器 1 時(shí)給 TMOD 賦值為 0X10, 也可以一次性賦值為 0X11。 定時(shí)器是一種中斷響應(yīng)的工作方式,所以在使用定時(shí)器時(shí)必須給定時(shí)
17、器賦初值,當(dāng)定時(shí) 器達(dá)到初值時(shí)向 CPU 申請(qǐng)中斷,來處理中斷。在電子鐘計(jì)時(shí)要求是要很準(zhǔn)確的,在定時(shí)器工 作在方式一最大的計(jì)時(shí)為 2 216 16,當(dāng)使定時(shí)器定時(shí)為 20mm 時(shí)根據(jù)如下?lián)愎剑?定時(shí)器的定時(shí)時(shí)間計(jì)算公式為 t=(2t=(216 16 T0T0 初值初值)振蕩周期振蕩周期1212 在用定時(shí)器 0 計(jì)時(shí),系統(tǒng)晶振為 12MHz,算出初值為 3CB0H,也就是把定時(shí)器中斷循環(huán) 50 次剛好是一秒。 同樣用定時(shí)器 1 動(dòng)態(tài)掃描數(shù)碼管時(shí)根據(jù)公式 2.063ms 掃描一次,初值定義為 F8F0H,再 循環(huán) 20 次調(diào)用一次顯示程序,這樣就實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)掃描。 5 5經(jīng)驗(yàn)總結(jié)經(jīng)驗(yàn)總結(jié) 本
18、次實(shí)驗(yàn)主要是正對(duì)單片機(jī)的應(yīng)用和在 C 語(yǔ)言的基礎(chǔ)上設(shè)計(jì)完成,在制作和設(shè)計(jì)過 程中遇到了很多問題,也暴露出了自己的很多不足。本次實(shí)驗(yàn)主要一部分還是 PCB 板的 制作,由于是初次制作 PCB 板,所以大四的師哥師姐門給了我們很多的幫助。下面就針 對(duì)每一部分出現(xiàn)的問題做進(jìn)一步的探討。 1、軟件設(shè)計(jì)軟件設(shè)計(jì) 軟件部分在設(shè)計(jì)中用的是 C 語(yǔ)言,具體的思路和設(shè)計(jì)方法在前面已經(jīng)提到,現(xiàn)在 主要來說一下在設(shè)計(jì)過程中遇到的問題。在軟件設(shè)計(jì)過程中遇到的首要問題是數(shù)碼管的 動(dòng)態(tài)掃描,因?yàn)槲覀冇玫臄?shù)碼管位選芯片是 74HC138,此芯片四 COMS 芯片,信號(hào)比較 穩(wěn)定,屬于高電平有點(diǎn),我用 51 單片機(jī)的 P2.
19、0、P2.1、P2.2 通過 3-8 譯碼器位選擇數(shù)碼 管。單片機(jī)用的是 12MHz 的晶振,在數(shù)碼管掃描的時(shí)候頻率大概是 1/40 的晶振頻率, 用單片機(jī) T1 中斷,但在起初設(shè)計(jì)時(shí)我把數(shù)碼管的掃描程序加載數(shù)碼管的段選程序中, 結(jié)果出現(xiàn)了問題,數(shù)碼管的掃描很不穩(wěn)定,只有電子鐘的秒不斷地加,而電子鐘的其他 全都顯示的是初始時(shí)間,不變。在參考了單片機(jī)開發(fā)板的程序后發(fā)現(xiàn)要把數(shù)碼管的掃描 程序單獨(dú)寫成函數(shù),然后調(diào)用函數(shù),這要數(shù)碼管的段選和位選分開,互不干擾。結(jié)果問 題消失,這就像王老師說的,在 C 程序中要盡可能的使程序模塊化,這樣在以后的修改 和添加新的功能是就方便很多,也便于程序的優(yōu)化。 在程序
20、設(shè)計(jì)中遇到的最棘手的問題就是電子鐘的時(shí)間誤差,由于是用 C 語(yǔ)言編寫, 所以很難準(zhǔn)確的算出每一個(gè)代碼所執(zhí)行的時(shí)間,所以要消除電子鐘的誤差,需要在硬件 電路設(shè)計(jì)出來后通過更改軟件了消除。電子鐘引起誤差的因素很多,但有些是可以避免 的,有些事無(wú)法消除的,所以我在設(shè)計(jì)過程中主要是通過軟件來使電子鐘走時(shí)準(zhǔn)確。在 剛開的表誤差是 12 個(gè)小時(shí)差 2 分鐘,這對(duì)于我們?nèi)粘K玫谋韥碚f誤差太大。設(shè)計(jì)要求 是 12 個(gè)小時(shí)誤差要控制在 30 秒之內(nèi),我起初使用改變計(jì)時(shí)中斷循環(huán)次數(shù)來消除誤差, 但其精度遠(yuǎn)遠(yuǎn)不夠,最后實(shí)驗(yàn)室所有隊(duì)員共同商量,分析解決問題的方法,其方法見后 面的附錄部分。 2、硬件設(shè)計(jì)硬件設(shè)計(jì) (
21、1)問題一 首先,我們本次實(shí)驗(yàn)是設(shè)計(jì)一個(gè)電子鐘,主要涉及的是數(shù)碼管的驅(qū)動(dòng)和數(shù)碼管的動(dòng) 態(tài)掃描,起初我們根據(jù)單片機(jī)開發(fā)板我們用的是 74LS258,但是在設(shè)計(jì)過程中我們要求; 繪制的 PCB 板要盡可能的小,所以我把數(shù)碼管驅(qū)動(dòng)芯片換成了 2003,由于自己的粗心 和設(shè)計(jì)缺乏經(jīng)驗(yàn),沒有考慮到驅(qū)動(dòng)芯片的工作電壓,由于單片機(jī)用的是 5V 的電壓,所 以在電源供電使用電池,但 2003 芯片的工作電壓時(shí) 15V,所以在調(diào)試電路的時(shí)候數(shù)碼管 沒有讓任何顯示,在經(jīng)過查找資料,終于找出了問題的原因,由于制作的電路板已經(jīng)成 型,所以改變電路時(shí)很困難的,所以直接把 2003 芯片短路,數(shù)碼管顯示問題解決。但是 數(shù)
22、碼管由于沒有驅(qū)動(dòng)芯片,所以顯示很暗,限于電路結(jié)構(gòu)沒法調(diào)整,只能修改至此。如 果需要徹底解決問題,就需要另找驅(qū)動(dòng)芯片,然后重新封裝,再制作一個(gè)符合要求的 PCB,再次調(diào)試。 (2)問題二 在使用 PROTEL 軟件制作 PCB 板的時(shí)候由于第一次畫 PCB,所以很多主意事項(xiàng)沒 有重視,以至于在后期使用實(shí)驗(yàn)室的 PCB 制作機(jī)器時(shí)線路走線很不科學(xué),饒了很多彎路, 在有些地方可以直線連接,但在自動(dòng)布線時(shí)軟件饒了很長(zhǎng)的線路,自己也沒有一根一根 檢查,所以浪費(fèi)了電線,并且使電路工作穩(wěn)定性不是很高。在制作 PCB 時(shí)很多電子元件 封裝沒有或是和實(shí)物對(duì)不上,所以要自己畫封裝,在制作封裝時(shí)先使用游標(biāo)卡尺測(cè)量實(shí)
23、 物的引腳間距,實(shí)物的邊緣尺寸。還有焊盤直徑和過孔直徑,線路的寬度。由于實(shí)驗(yàn)室 的 PCB 制作機(jī)器刻刀只有 0.2mm,0.3mm,0.6mm,0.7mm,0.8mm,0.9mm,1.0mm,所以為了在 刻線時(shí)刻刀走寬度的整數(shù)倍,所以在畫 PCB 板時(shí)線路只能選擇 0.6mm1.0mm,起初我 認(rèn)為 0.6mm 的線因該能夠滿足我電路的需要,忽視了在后期調(diào)試電路板時(shí)需要手工改變 一些走線,以至于在后期調(diào)試電路板時(shí)很難再加一些線路。對(duì)我后期完成實(shí)驗(yàn)出現(xiàn)了很 多困難。在電子鐘調(diào)試好后八段數(shù)碼管只沒有用小數(shù)點(diǎn),就在我調(diào)試程序準(zhǔn)確性的時(shí)候 王老師要求我們的電子表要對(duì)鬧鐘有控制即有鬧鐘開關(guān)功能和鬧鐘開
24、關(guān)的標(biāo)志,所以我 想用一個(gè)數(shù)碼管的小數(shù)點(diǎn)來顯示鬧鐘的開啟和關(guān)閉狀態(tài)。在 PCB 板上只能飛線。用單片 機(jī)的 P0.7 來接數(shù)碼管的小數(shù)點(diǎn),連接三根飛線。在做完 PCB 后拿到板子才知道自己做 的很多封裝都和實(shí)際不相符合。尤其是電路板的走線、焊盤大小、線寬度。一般情況下 導(dǎo)線的寬度是 0.8mm,焊盤大小是 1.4mm,過孔直徑是 0.8mm。但在本次實(shí)驗(yàn)的時(shí)候由 于缺乏經(jīng)驗(yàn),焊盤太小,導(dǎo)致在焊接元件的時(shí)候很困難,有些地方焊盤太小在電烙鐵一 接觸焊盤就掉落。在封裝過孔直徑的時(shí)候沒有測(cè)量實(shí)際的引腳寬度,導(dǎo)致元件無(wú)法插上。 在走線的時(shí)候線寬度設(shè)置成 0.6mm,在板子實(shí)際刻出來后導(dǎo)線太細(xì),導(dǎo)致電阻太
25、大,致 使信號(hào)的穩(wěn)定度太低或是電阻太大致使信號(hào)太弱。 6 6附錄附錄 附錄一附錄一 用軟件校正由中斷沖突引起的延時(shí)誤差用軟件校正由中斷沖突引起的延時(shí)誤差 根據(jù)中斷處理過程,和在中斷嵌套的原則,具體思路是在按鍵的時(shí)候不影響電子鐘的計(jì) 時(shí),應(yīng)為電子鐘計(jì)時(shí)是由定時(shí)器 0 的中斷實(shí)現(xiàn)的,在默認(rèn)狀態(tài)下外部中斷優(yōu)先級(jí)比定時(shí) 器優(yōu)先級(jí)高,所以在軟件中設(shè)置定時(shí)器優(yōu)先級(jí)最高,這樣在兩個(gè)同時(shí)申請(qǐng)中斷或在響應(yīng) 外部中斷的時(shí)候定時(shí)器申請(qǐng)中斷,馬上響應(yīng)定時(shí)器中斷,這樣電子鐘走時(shí)就會(huì)更加準(zhǔn)確。 中斷處理流程圖 由于電子鐘的時(shí)間誤差,消除誤差有好幾種方法,我采用控制中斷優(yōu)先級(jí)的方法來實(shí)現(xiàn) 電子鐘的走時(shí)準(zhǔn)確。在程序中我用計(jì)時(shí)
26、中斷來實(shí)現(xiàn)電子鐘的位選掃描和電子鐘的走時(shí)。 所以中斷有個(gè)先后次序。電子鐘的按鍵也是由外部中斷響應(yīng)的,在設(shè)計(jì)軟件時(shí)用定時(shí)器 0 的中斷來計(jì)時(shí),20mm 然后循環(huán) 50 次達(dá)到一秒的計(jì)時(shí)時(shí)間。但是外部中斷 0 的優(yōu)先級(jí)比 定時(shí)器 0 的要高,也就是說當(dāng)定時(shí)器 0 和外部中斷同時(shí)向 cpu 申請(qǐng)中斷時(shí) cpu 會(huì)先響應(yīng) 外部中斷,這樣定時(shí)器 0 會(huì)等待 cpu 的中斷響應(yīng),所以在軟件設(shè)計(jì)中要使計(jì)時(shí)中斷優(yōu)先 級(jí)最高,在兩個(gè)同時(shí)申請(qǐng)中斷時(shí)先響應(yīng)定時(shí)器 0 的請(qǐng)求。把定時(shí)器中斷設(shè)置成高級(jí)中斷, 而把外部中斷設(shè)置成低級(jí)中斷,中斷響應(yīng)如下圖所示,在兩個(gè)同時(shí)申請(qǐng)中斷時(shí)先響應(yīng)定 時(shí)中斷,這樣就不影響電子鐘正常走時(shí)
27、。 用軟件實(shí)現(xiàn)中斷優(yōu)先級(jí)設(shè)置時(shí)使用中斷有限設(shè)置位 中斷優(yōu)先級(jí)控制位 PS串行口中斷優(yōu)先級(jí)控制位。 PT1定時(shí)器/計(jì)數(shù)器 T1 中斷優(yōu)先級(jí)控制位。 PX1外部中斷 1 中斷優(yōu)先級(jí)控制位。 PT0定時(shí)器/計(jì)數(shù)器 T0 中斷優(yōu)先級(jí)控制位。 PX0外部中斷 0 中斷優(yōu)先級(jí)控制位。 在軟件中設(shè)計(jì)中斷優(yōu)先級(jí)時(shí)實(shí)際上就是給優(yōu)先控制字負(fù)值,根據(jù)如上所述的控制字要實(shí) 現(xiàn)所需功能,就給 IP 幅值 0AH,即 B。 在實(shí)際應(yīng)用中把 IP=0AH 寫在主函數(shù)中,完成程序的誤差更改。把本修給的程序下載到芯 片中后讓電子鐘走時(shí) 12 小時(shí),在沒修改以前的 12 小時(shí)誤差 1min26seco 減少到 12 小時(shí) 誤差
28、48seco,效果不是特別理想。根據(jù)具體的電路和程序分析,總結(jié)原因主要如下: 1、電路的晶振不是特別準(zhǔn)確,有系統(tǒng)誤差。 2、在沒有按鍵的情況下本次做的誤差校準(zhǔn)是不起作用的,沒有從程序的根本上解決問題。 3、分析程序,發(fā)現(xiàn)在有中斷的情況下每次執(zhí)行的程序代碼是不定的,也就是說程序的執(zhí) 行時(shí)間不確定,這也就導(dǎo)致走時(shí)不準(zhǔn)確。 附錄二附錄二 系統(tǒng)源程序系統(tǒng)源程序 #include sbit KEY1=P32; sbit KEY2=P33; sbit KEY3=P34; sbit a=P23; sbit a1=P35; sbit a2=P36; sbit b=P37; sbit led=P11; code
29、 unsigned char tab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /共陰數(shù)碼管 0-9 unsigned char StrTab8; /定義緩沖區(qū) unsigned char minute=59,hour=23,second; /時(shí)間定義并且初始化值 unsigned char minute1=00,hour1=00;/second1; /鬧鐘定義并且初始化值 unsigned char flag=0; unsigned char num; unsigned int count; unsigned i
30、nt h1; unsigned int flag1=0; void delay(unsigned int cnt)/延時(shí)函數(shù) while(-cnt); void play(void) StrTab7=tabhour/10; /顯示正常時(shí)間 StrTab5=tabhour%10; StrTab1=0 x40; StrTab4=tabminute/10; StrTab3=tabminute%10; StrTab6=h1; StrTab2=tabsecond/10; StrTab0=tabsecond%10; void nplay(void) StrTab7=tabhour1/10; /顯示鬧鐘時(shí)間
31、 StrTab5=tabhour1%10; StrTab1=0 x40; StrTab4=tabminute1/10; StrTab3=tabminute1%10; StrTab6=h1; StrTab2=tab0/10; StrTab0=tab0%10; main()/主函數(shù) TMOD =0 x01;/定時(shí)器 0 12M crystal 用于計(jì)時(shí) TH0=0 x3c; TL0=0 xb0; ET0=1; TR0=1; TMOD =0 x10; /定時(shí)器 1 用于動(dòng)態(tài)掃描 TH1=0 xF8; TL1=0 xf0; ET1=1; TR1=1; EA =1; play(); while(1)/主
32、循環(huán) if(!KEY1) /按鍵 1 去抖以及動(dòng)作 delay(10000); if(!KEY1) flag+; if(flag=1) if(!KEY2) delay(10000); if(!KEY2) hour+;if(hour=24)hour=0; /正常時(shí)間 小時(shí) 加 1 play(); if(!KEY3) delay(10000); if(!KEY3) hour-;if(hour=0)hour=23; /正常時(shí)間 小時(shí) 減 1 play(); if(flag=2) if(!KEY2) /按鍵去抖以及動(dòng)作 delay(10000); if(!KEY2) minute+;if(minute
33、=60)minute=0;/分加 1 play(); if(!KEY3) /按鍵去抖以及動(dòng)作 delay(10000); if(!KEY3) minute-;if(minute=0)minute=59; /分減 1 play(); if(flag=3) /鬧鐘對(duì)時(shí) if(!KEY2) delay(10000); if(!KEY2) hour1+;if(hour1=24)hour1=0; /鬧鐘時(shí)間 小時(shí) 加 1 nplay(); if(!KEY3) delay(10000); if(!KEY3) hour1-;if(hour1=0)hour1=23; /鬧鐘時(shí)間 小時(shí) 減 1 nplay(); if(flag=4) if(!KEY2) /按鍵去抖以及動(dòng)作 delay(10000); if(!KEY2) minute1+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)PC機(jī)液晶顯示器項(xiàng)目投資可行性研究報(bào)告
- 玻鎂板生產(chǎn)項(xiàng)目可行性研究報(bào)告(目錄)
- 2024年幼兒教育行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 購(gòu)買醫(yī)療設(shè)備可行性報(bào)告
- 2023-2028年中國(guó)浙江省服裝行業(yè)市場(chǎng)調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 河北省某大型糧食深加工和倉(cāng)儲(chǔ)物流中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 湖南省五彩配方米加工生產(chǎn)項(xiàng)目可行性研究報(bào)告
- 2025年中國(guó)咖啡館連鎖行業(yè)發(fā)展監(jiān)測(cè)及市場(chǎng)發(fā)展?jié)摿︻A(yù)測(cè)報(bào)告
- 2025年硅鉬棒方形降爐行業(yè)深度研究分析報(bào)告-20241226-182531
- 電子智能化技術(shù)在醫(yī)療設(shè)施中的應(yīng)用與招標(biāo)挑戰(zhàn)
- 城市自來水廠課程設(shè)計(jì)
- 重慶市2024年小升初語(yǔ)文模擬考試試卷(含答案)
- 2024智慧城市數(shù)據(jù)采集標(biāo)準(zhǔn)規(guī)范
- 【人教版】《勞動(dòng)教育》七上 勞動(dòng)項(xiàng)目一 疏通廚房下水管道 課件
- 2024特斯拉的自動(dòng)駕駛系統(tǒng)FSD發(fā)展歷程、技術(shù)原理及未來展望分析報(bào)告
- 2024-2030年中國(guó)銀行人工智能行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資前景研究報(bào)告
- 五屆全國(guó)智能制造應(yīng)用技術(shù)技能大賽數(shù)字孿生應(yīng)用技術(shù)員(智能制造控制技術(shù)方向)賽項(xiàng)實(shí)操樣題
- 中國(guó)銀行中銀數(shù)字服務(wù)(南寧)有限公司招聘筆試真題2023
- 2024七年級(jí)英語(yǔ)下冊(cè) Module 1 Lost and found教案(新版)外研版
- 2024年公共衛(wèi)生基本知識(shí)考試題庫(kù)(附含答案)
- 如何正確運(yùn)用邏輯推理和論證方法撰寫文章
評(píng)論
0/150
提交評(píng)論