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

正文內容

基于at89s52單片機的數(shù)字電子時鐘設計(編輯修改稿)

2025-01-09 01:31 本頁面
 

【文章內容簡介】 0000H~ FFFFH)程序存儲器( ROM), 32位 I/O 口線,看門狗定時器, 2 個數(shù)據(jù)指針,三個 16 位定時器 /計數(shù)器,一個 6向量 2 級中斷結構,全雙工串行口內晶振及時鐘電路。 其中,數(shù)據(jù)存儲器( RAM)用于存放各種運算的中間結果,作緩存和數(shù)據(jù)暫存,以及設置特征標志等。 AT89S52 的片內數(shù)據(jù)存儲器用位尋址方式,最大尋址范圍為 256 字節(jié)( 00H~ FFH)。按使用情況不同可分成低 128 字節(jié)( 00H~ 7FH)和高 128 字節(jié)( 80H~ FFH)。其中低 128 字節(jié)為真正的 RAM 存儲器,高 128 字節(jié)為特殊功能寄存器( SFR)區(qū),如累加器 ACC、程序狀態(tài)字 PSW、數(shù)據(jù)指針DPTR、程序計數(shù)器 PC 等。整個片內 RAM 區(qū)分布如圖 31 所示。 圖 31 片內 RAM 區(qū) 2 實驗板電路原理圖 實驗板電路結構框圖如圖 32 所示,原理電路圖(只有本設計所需部分)見附錄 A。 圖 32 實驗板結構框圖 功能電路分析 時鐘電路 實驗板的時鐘振蕩源 電路如圖 33 所示。其中 JT 為 的晶振,改變兩電容 CB 的值即可對此晶振頻率進行調節(jié)。該電路提供單片機工作所需的振蕩頻率,計算定時器初值即需此晶振頻率,在通信時也需知道晶振頻率,以對波特率進行計算。 圖 33 時鐘電路 復位電路 如圖 34 所示為實驗板的復位電路,當 RESET 信號為低電平時,實驗板為工作狀態(tài),當 RESET 信號為高電平時,實驗板為復位或下載程序狀態(tài)。由于AT89S52 具有 ISP 的功能,即可以通過并口線直接將程序下載到單片機內,因此, AT89S52 具 有兩種狀態(tài),下載程序狀態(tài)和運行狀態(tài)。該復位電路能實現(xiàn)上電自動復位,也能手動復位,一般復位時 RESET 應保持 20 毫秒以上高電平,此復位時間由接地電容控制。 3 圖 34 復位電路 鍵盤電路 如圖 35 所示為陣列按鍵電路,各設置及轉換信號由此電路輸入,實驗板提供了 16 個按鍵,由 P1 口經(jīng) SN74F244(驅動芯片)輸出擴展成 4 4 的陣列按鍵, ~ 為行線, ~ 為列線。 SN74F244 有一片選信號線 G ,當此口線為低電平時, A1~ A4 與 Y1~ Y4 接通,反之 , A1~ A4 與 Y1~ Y4 斷開。 此鍵盤用掃描工作方式,若有鍵按下,則相應位端口被拉低為低電平,由于本系統(tǒng)只用了 4 個按鍵,所以只需對 4 個按鍵進行掃描。掃描時,先置 口為高電平,向 P1 口送 0EFH( MOV P1, 0EFH),再置 口為低電平,讀P1 口( MOV A, P1),最后判斷 P1 口低 4 位哪位是低電平,若某位為低電平,則相應按鍵被按下,如 為低電平( =0),則 K1 鍵被按下。 圖 35 陣列按鍵 數(shù)碼顯示電路 如圖 36 所示為數(shù)碼顯示電路,實驗板使用了 6 個共陽 數(shù)碼管, P0 口為段碼信號線, B1~ B6 為位控線,是 P1 口經(jīng) SN74F573(反向驅動芯片,即輸入為高電平,則輸出為低電平,反之則輸出為高電平,該芯片也有一片選信號 C,當 4 此信號為高電平時有效)反向得到,再由 B1~ B6 控制晶體管 Q1~ Q6,以達到控制每位數(shù)碼管的目的。 系統(tǒng)采用動態(tài)顯示,先向 P0 口送第一位數(shù)碼管需要顯示的段碼值,再給 P1口送 0FEH,延時 1 毫秒使第一位數(shù)碼管顯示,又向 P0 口送第二位數(shù)碼管需要顯示的段碼值, P1 口送 0FDH,延時 1 毫秒,使第二位數(shù)碼管顯示。依次遞推,直到最后一位數(shù)碼管,然后再循環(huán)。 改變延時時長可以調節(jié)數(shù)碼管顯示的亮度,由于單片機執(zhí)行速度很快(微秒級),所以看上去數(shù)碼管一直亮著。 圖 36 數(shù)碼顯示電路 蜂鳴器電路 其硬件原理圖如圖 37 所示。此電路用于定時時發(fā)出提示音。 SPEAKER 與 口相連,當 SPEAKER 輸出高電平時蜂鳴器不響,而 SPEAKER 輸出低電平時蜂鳴器發(fā)出響聲。只需控制 SPEAKER 輸出高低電平的時間和變化頻率,就可以讓蜂鳴器發(fā)出不同的聲音。此電路用于產(chǎn)生定時器提示音。 圖 37 蜂鳴器電路 本章小節(jié) 本章主要對芯片作了介紹,對其 內存單元作了詳細說明,并對系統(tǒng)硬件(實驗板)的結構框圖和各功能電路作了說明,以及這些電路在本設計中的用途。 1 4 系統(tǒng)軟件設計 數(shù)據(jù)單元分配 數(shù)據(jù)存儲單元分配 數(shù)據(jù)存儲單元分配如下表所示: 項目 秒 分 時 日 月 年 存儲單元 30H 31H 32H 33H 34H 35H 項目 定時 1:開關 定時 1:分 定時 1:時 定時 2:開關 定時 2:分 定時 2:時 存儲單元 36H 37H 38H 39H 3AH 3BH 項目 定時 3:開關 定時 3:分 定時 3:時 存顯示首地址 堆棧起始 單元 存儲單元 3CH 3DH 3EH 3FH 50H 標志位單元分配 標志位單元( 20H)分配如下表所示: 位單元 項目 位單元 項目 01H 2 位數(shù)碼管閃爍標志位 08H 定時 1 顯示標志位 02H 09H 定時 2 顯示標志位 03H 4 位數(shù)碼管閃爍標志位 0AH 定時 3 顯示標志位 04H 0BH 定時 1 響鈴標志位 05H 6 位數(shù)碼管顯示標志位 0CH 定時 2 響鈴標志位 06H 0DH 定時 3 響鈴標志位 07H 日期顯示標志位 0EH 總響鈴標志位 計時時鐘實現(xiàn)的基本方法 時鐘的最小計時單位是秒,使用定時器的方式 1,最大的定時時間也只能達到 131 毫秒。可把定時器的定時時間定為 50 毫秒,這樣,計數(shù)溢出 20 次即可得到時鐘的最小計時單位 ─ 秒。計數(shù) 20 次可以用軟件實現(xiàn),對定時器溢出次數(shù)進行計數(shù),計滿 20 次即為 1 秒。從秒到分,從分到時,以及日、月、年都是通過軟件累加并進行比較的方法實現(xiàn)的。 2 實現(xiàn)時鐘程序設計步驟 系統(tǒng)采用模塊化結構,主程序只需調用各個子程序模塊即可實現(xiàn)相應功能。其模塊結構圖如圖 41 所示。 圖 41 程序各模塊方框圖 主程 序模塊設計 整個程序進行模塊化設計,主程序只需調用相應的程序即可。主程序流程如圖 42 所示。 圖 42 主程序流程圖 3 計時子程序模塊的實現(xiàn) 當 T0 中斷時,執(zhí)行本程序,因 T0 設為 50 毫秒中斷,故中斷 20 次為 1 秒。中斷程序分別有 20 次計數(shù)( 1 秒), 60 次計數(shù)( 1 分), 60 次計數(shù)( 1 小時), 24次計數(shù)( 1 天), 2 2 31 次計數(shù)( 1 個月), 12 次計數(shù)( 1 年)。當前位到設定數(shù)值時寫 0 或 1,下一位加 1。由于本世紀是 21 世紀,年位前兩位是 4的倍數(shù),故判斷閏年時只需對年的后兩位進行計算,能被 4 整 除為閏年,否則為平年,年位只進行加 1,大于 99 時又重新開始。計時中斷流程圖如圖 43 所示。 圖 43 計時子程序流程圖 圖 44 顯示子程序流程圖 4 顯示子程序模塊的實現(xiàn) 顯示原理在 節(jié)已給予了說明,流程圖如圖 44 所示。 時鐘設定子程序模塊的實現(xiàn) 當設定時間時,斷開 T0 中斷,秒單元清 0,進入時、分單元設定。設定好后重裝 T0 初值,開 T0 中斷。流程圖如圖 46 所示。 圖 46 時鐘設定子程流程圖 日期、定時設定子程序模塊的實 現(xiàn) 日期、定時的設定同時鐘設定。定時設定時,把時鐘的秒位換成定時標志位,“ 00”為當路定時關,“ 01”為當路定時開,流程圖與時鐘設定程序相似。 程序說明 定時器初值計算 因定時器工作于方式 1,需要 50ms 的中斷,所以計數(shù)初值 : χ =216 t fosc/ 12=65536 50 103 106/ 12=19456 表示成十六進制為 χ =4C00H, 故 ( TH0) =4CH,( TL0) =00H。 程序初始化 程序初始化時 , 清相應內存單元 ( 20H~ 4FH 共 48 個單 元 ), 送時間 ( 00時 00 分 00 秒 ) 、日期 ( 07 年 10 月 01 日 ) 初值 , 送定時器 T0、 T1 初值 , TH0= TH1=4CH, TL0= TL1=00H, 特殊寄存器 ( SP=50H、 TMOD=11H) 值等。 5 誤差分析及校正 當 T0 中斷時,需重裝定時初值,且要加上從斷開 T0 中斷到允許 T0 中斷共有 13 個周期,以減小誤差,故理論重裝定時初值為( TH0) =4CH,( TL0) =13H。但該外接晶振電路的晶振頻率可調,可能出現(xiàn)誤差,所以實際不是這個值。 經(jīng)調試,當定時初值為( TH0) =4CH,( TL0) =06H 時, 24 小時約慢 2 秒,所以每當計時 24 小時之后,給秒單元( 30H)送 02H,使秒累加時從 2 加起,24 小時就少加 2 秒,即可使時間得到校正。 實現(xiàn)閃動設定 閃動可選用段碼送 00H 實現(xiàn),也可禁止當前位顯示,選通位送 0 實現(xiàn)。本設計選用后者實現(xiàn)閃動,用定時器 T1 進行控制。 實現(xiàn)連續(xù)加 1 先判斷鍵是否松開,若松開,則只執(zhí)行一次加 1 程序段,進行單次加 1;若未松開則連續(xù)執(zhí)行加 1 程序段,實現(xiàn)連續(xù)加 1。每執(zhí)行一次加 1 程序段就調用顯示子程序進行延時,以對調節(jié)速度進行控制。本系統(tǒng)以 5Hz 的速度連續(xù)加 1,這樣能快速對 時間、日期、定時進行設定。 定時音與顯示相沖突問題及解決方案 由于蜂鳴器響時 口的電平呈高頻變化,頻率 1K~ 2K,其間隙時間為~ 1 毫秒,小于 6 毫秒,因顯示時每個數(shù)碼管顯示 1 毫秒,至少需要 6 毫秒,故蜂鳴器響時無法進行顯示。為解決此問題,可增加鎖存器,采用靜態(tài)顯示;也可增加一語音芯片,既可解決此問題,也可把定時音換成音樂或語音提示,或增加其它功能,使系統(tǒng)功能更強。 本章小節(jié) 本章主要對系統(tǒng)的軟件設計進行了詳細說明,從數(shù)據(jù)單元及標志單元的分配,到各子程序模塊的實現(xiàn)方法,以及對時鐘 的誤差分析、校正,定時音與顯示相沖突問題及解決方案。 1 5 系統(tǒng)調試 該時鐘程序的功能模塊先后實現(xiàn)的順序為:主程序→時間模塊→顯示模塊→鍵盤模塊→時間設定及其顯示模塊→日期及其顯示模塊→日期設定及其顯示模塊→定時及其顯示模塊→定時設定及其顯示模塊→定時提示音及與顯示相沖突的協(xié)調模塊。每完成一個模塊就與前一個已完成的模塊結合起來調試,直至實現(xiàn)相應功能,再編寫下一模塊程序。在與主程序銜接時,主程序和各子程序也需作相應的改動,以便與子程序更好的銜接,特別是顯示子程序需作較大改動,以便對不同內容進行顯示。 程序用 偉福軟件進行匯編語言程序編寫,該軟件還可進行軟件仿真。用匯編語言編好程序后,先編譯,把匯編語言編譯成二進制代碼和十六進制代碼。若編譯無法進行,說明程序有語法錯誤,需進行修改。編譯成功后則可進行軟件仿真,仿真可單步運行,也可連續(xù)運行。仿真時應調出數(shù)據(jù)窗口,看各單元數(shù)據(jù)是否正確,這是軟件仿真的目的。當然,有些錯誤軟件仿真不容易發(fā)現(xiàn),這就得把編譯得到二進制代碼或十六進制代碼下載到實驗板上運行(用 Easy 51Pro 下載軟件,與實驗板相配的下載軟件。下載時先擦再寫,若不能能正常寫入,則再擦,再寫,直到寫入芯片),看 是否正常,若不正常,再根據(jù)出錯的地方返回用軟件仿真,查看相應的數(shù)據(jù)單元,再修改程序,這樣反復調試,直至程序可用,在實驗板上能正常運行。 待程序調試成功后即可燒寫到實驗板上,讓其運行,至此,完成系統(tǒng)調試。 1 結束語 經(jīng)過兩個多月的工作,基于單片機的電子時鐘系統(tǒng)的設計已經(jīng)完成。經(jīng)試驗驗證,滿足設計要求。由于加入了計時修正,在精度方面已經(jīng)相當準確了,不過還可以達到更高精度,需要精確計算定時器 T0 中斷次數(shù)的誤差,再予以修正;在軟件的定時部分可以進行改進,用循環(huán)程序實現(xiàn),每次循環(huán)只需更改相應單元即可,這樣使程序精簡。由 于時間原因,沒能實現(xiàn)這兩部分。該系統(tǒng)的擴展功能由于硬件原因不能實現(xiàn),以后如硬件允許可以實現(xiàn)這部分功能,還可增加其它功能。 本次設計主要涉及了 單片機原理及接口技術 的相關知識 和匯編語言 編程的諸多要領。設計中涉及的許多問題,更是對以前所學的知識的回顧及在過去的三年中學到知識的系統(tǒng)總結,這次設計對我們將來的工作有 很大 的幫助。 在設計中,我積極查閱資料,細心鉆研各個細節(jié),完成了 多功能時鐘的開發(fā)與調試 ,也讓我們明白了在設計中考慮問題應該全面 。 在設計中既鍛煉了我的動手能力,又學會查閱資料,提煉需要的信息。 由于本人水平有 限,文中 難免出現(xiàn)錯誤與 不足 之處 ,懇請各位老師批評指正 。 1 致謝 首先要感謝我的家人,是他們讓我能上大學;在大學里,先要學會學習才能學的更好,是老師教了我怎樣學習,到現(xiàn)在能完成畢業(yè)設計,都少不了老師的功勞;在整個設計過程中,從硬件電路圖到軟件編程,應用了相當多的知識,包含了大學三年所學的知識,在此向各位任課老師表示感謝。 在設計 過程 中,指導老師 李俊老師 給予了我很大幫助 ,李老師 對設計中出現(xiàn)的 問題作了及時講解和耐心指導, 使 我的 設計得以順利完成。在此 ,特 向 李俊 老師表示感謝 ;同時,很多同學也給我提供了很多幫助,也向幫助 我的同學表示感謝。 1 附錄 A:實驗板原理圖 1 附錄 B:程序清單 ORG 0000H LJMP START ORG 000BH LJMP INTT0 ORG 001BH LJMP INTT1 。。主程序 。。 ORG 0020H START: MOV R0,20H 。清 20H4FH 共 48 個單元 MOV R7,30H 。20H,21H 標志用 CLEARA: MOV @R0,00H INC R0 DJNZ R7,CLEARA CLR CLR CLR MOV SP,50H MOV 33H,01H MOV 34H,0AH MOV 35H,07H MOV TMOD,11H 。設 T0、 T1為 16 位定時器 MO
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1