欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)(優(yōu)秀范文5篇)

      時(shí)間:2019-05-12 15:17:38下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)》。

      第一篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)

      單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)

      ───秒 表 系 統(tǒng) 設(shè) 計(jì)

      時(shí) 間:2007.12.23-2008.1.1 院系:電氣與信息工程系 姓 名:*** 班 級(jí):0000000 學(xué) 號(hào):999999999999

      目 錄

      一 概 述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2 二 設(shè)計(jì)要求┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 2 三 設(shè)計(jì)思路及描述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 3 四 原理圖┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 4 五 設(shè)計(jì)流程圖┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 5 六 設(shè)計(jì)程序┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 8 七 硬件調(diào)試┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 12 八 課程設(shè)計(jì)心得體會(huì)┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 13

      九 參考文獻(xiàn)┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 14

      一 概 述

      近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。

      隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的秒表,隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中秒表就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。

      本設(shè)計(jì)所介紹的秒表系統(tǒng)設(shè)計(jì)——用AT89C51設(shè)計(jì)一個(gè)2位LED數(shù)碼顯示“秒表”,顯示時(shí)間為00~99秒,每秒自動(dòng)加一。另設(shè)計(jì)一個(gè)“開(kāi)始”按鍵和一個(gè)“復(fù)位”按鍵。增加一個(gè)“暫?!卑存I和一個(gè)“快加”按鍵(每10ms快速加一)

      二 設(shè)計(jì)要求

      用AT89C51設(shè)計(jì)一個(gè)2位LED數(shù)碼顯示“秒表”,顯示時(shí)間為00~99秒,每秒自動(dòng)加一。另設(shè)計(jì)一個(gè)“開(kāi)始”按鍵和一個(gè)“復(fù)位”按鍵。再增加一個(gè)“暫?!卑存I和一個(gè)“快加”按鍵(每10ms快速加一)。按鍵說(shuō)明:按“開(kāi)始”按鍵,開(kāi)始計(jì)數(shù),數(shù)碼管顯示從00開(kāi)始每秒自動(dòng)加一;按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯示00;按“暫停”按鍵,系統(tǒng)暫停計(jì)數(shù),數(shù)碼管顯示當(dāng)時(shí)的計(jì)數(shù);按“快加”按鍵,系統(tǒng)每10ms快速加一,即數(shù)碼顯示管在原先的計(jì)數(shù)上快速加一。

      三、設(shè)計(jì)思路及描述

      該實(shí)驗(yàn)要求進(jìn)行計(jì)時(shí)并在數(shù)碼管上顯示時(shí)間,則可利用DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)中的芯片8032(芯片的功能類(lèi)似于芯片AT89C51,其管腳功能也和AT89C51的管腳功能類(lèi)似)中的P3.2管腳做為外部中斷0的入口地址,并實(shí)現(xiàn)“開(kāi)始”按鍵的功能;將P3.3做為外部中斷1的入口地址,并實(shí)現(xiàn)“清零”按鍵的功能;將P3.0做為數(shù)據(jù)信號(hào)DATA輸入的入口地址;將P3.1做為時(shí)鐘信號(hào)CLK輸入的入口地址。定時(shí)器T0作為每秒加一的定時(shí)器;定時(shí)器T1作為“快加”鍵的定時(shí)器。其中“開(kāi)始”按鍵當(dāng)開(kāi)關(guān)由1撥向0(由上向下?lián)埽r(shí)開(kāi)始計(jì)時(shí);“清零”按鍵當(dāng)開(kāi)關(guān)由1撥向0(由上向下?lián)埽r(shí)數(shù)碼管清零,此時(shí)若再撥“開(kāi)始”按鍵則又可重新開(kāi)始計(jì)時(shí)。

      四 原理圖

      五 設(shè)計(jì)流程圖

      7

      六 設(shè)計(jì)程序

      org 0000h ajmp main;主程序入口地址 org 0003h ajmp zhongduan0;中斷0入口地址 org 000bh ajmp yanshi;定時(shí)器T0入口地址 org 0013h ajmp zhongduan1;中斷1入口地址 org 001bh ajmp dingshi1;定時(shí)器T1入口地址 org 0030h 主程序

      main: mov tcon,#05h;主程序開(kāi)始 外部中斷跳變模式 mov tmod,#11h;定時(shí)器0,1模式1 mov ie,#8fh;開(kāi)總中斷,中斷0,1,定時(shí)器0,1 mov dptr,#tab mov r1,#00h mov r2,#00h mov r3,#40;循環(huán)次數(shù)40 mov tl0,#2Ch;置初值,定時(shí)25MS mov th0,#0CFh mov tl1,#78h;置初值,定時(shí)10MS mov th1,#0ech clr tr0;關(guān)定時(shí)器 clr tr1 暫停鍵K3,快加鍵K4程序 here:jb p1.0,here show:clr tr1 clr tr0 acall xianshi kuaijia:jb p1.2,kuaijia;等待P1.2為0 快加 clr tr0 setb tr1 here3:jnb p1.2,here3 ajmp here 外部中斷INT0子程序-----計(jì)時(shí)按鍵K1子程序 zhongduan0: setb tr0;計(jì)時(shí)按鍵 reti 外部中斷INT1子程序----復(fù)位按鍵K2子程序 zhongduan1:clr tr0;復(fù)位按鍵 clr tr1 mov 12h,#00h mov 11h,#00h acall xianshi;調(diào)用顯示子程序 mov r1,#00h mov r2,#00h reti 加一子程序

      jia1: inc r1;加1子程序 cjne r1,#0ah ,loop;判斷是否到表尾 mov r1,#00h inc r2 cjne r2,#0ah,loop mov r2,#00h loop: mov 12h,r1;重新賦值 mov 11h,r2 ret 顯示子程序

      xianshi:mov r7,#02h;2 mov r0,#12h loop5: mov r6,#08h;8 mov a,@r0 movc a,@a+dptr loop6:rlc a;clr p3.1 mov p3.0,c setb p3.1 djnz r6,loop6 dec r0 djnz r7,loop5 ret 定時(shí)器T0子程序;yanshi: mov tl0,#2Ch;mov th0,#0CFh

      個(gè)數(shù)碼管顯示子程序 位2進(jìn)制數(shù) 循環(huán)左移 定時(shí)子程序 11 djnz r3,loop7 acall jia1;調(diào)用加1子程序 acall xianshi;調(diào)用顯示子程序 mov r3,#40 loop7: reti;定時(shí)器T1子程序;dingshi1:mov tl1,#78h;置初值,定時(shí)10MS mov th1,#0ech clr tr0 setb tr1 mov 12h,r1 mov 11h,r2 jnb p1.0,show acall jia1 acall xianshi lop7:reti;tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh end 七 硬件調(diào)試

      根據(jù)相關(guān)的單片機(jī)材料,利用所學(xué)的單片機(jī)知識(shí),結(jié)合DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)中的軟件和硬件(集成電路芯片8032,七段數(shù)碼管,開(kāi)關(guān)電路及時(shí)鐘信號(hào)電路,按鍵等),編寫(xiě)能 夠?qū)崿F(xiàn)該項(xiàng)目的軟件程序,最后將軟、硬件有機(jī)的結(jié)合起來(lái),進(jìn)行有效的調(diào)試,達(dá)到完成該實(shí)驗(yàn)課程設(shè)計(jì)的目的要求。八 課程設(shè)計(jì)心得體會(huì)

      經(jīng)過(guò)將近三周的單片機(jī)課程設(shè)計(jì),終于完成了我的秒表的設(shè)計(jì),雖然沒(méi)有完全達(dá)到設(shè)計(jì)要求,但從心底里說(shuō),還是高興的,畢竟這次設(shè)計(jì)把實(shí)物都做了出來(lái),高興之余不得不深思呀!在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,雖然以前還做過(guò)這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫(xiě)過(guò)幾次程序,但我覺(jué)的寫(xiě)好一個(gè)程序并不是一件簡(jiǎn)單的事,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。

      從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫(xiě)與讀的過(guò)程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。

      九 參考文獻(xiàn)

      1、江力編著的《單片機(jī)原理及其接口技術(shù)》 清華大學(xué)出版社

      2、蘇家健等編的《單片機(jī)原理及應(yīng)用技術(shù)》 高等教育出版社

      3、《單片機(jī)原理幾應(yīng)用》課程設(shè)計(jì)指導(dǎo)書(shū)

      第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)秒表系統(tǒng)設(shè)計(jì)

      單片機(jī)課程設(shè)計(jì)

      學(xué)院:信息工程專(zhuān)業(yè):

      ——秒表系統(tǒng)設(shè)計(jì)

      一,設(shè)計(jì)目的:

      1,熟悉51單片機(jī)的內(nèi)部結(jié)構(gòu),計(jì)數(shù)器,中斷控制器等的用法,來(lái)實(shí)現(xiàn)簡(jiǎn)單的控制應(yīng)用系統(tǒng)。

      2,通過(guò)簡(jiǎn)單系統(tǒng)的設(shè)計(jì)了解單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)過(guò)程及其相應(yīng)的調(diào)試程序過(guò)程。

      二,設(shè)計(jì)任務(wù):

      實(shí)驗(yàn)通過(guò)單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)原理,設(shè)計(jì)簡(jiǎn)單的計(jì)時(shí)器系統(tǒng),擁有正確的計(jì)時(shí)、暫停、清零、快加功能,并同時(shí)可以用數(shù)碼管顯示,在現(xiàn)實(shí)生活中應(yīng)用廣泛,具有現(xiàn)實(shí)意義。

      三,設(shè)計(jì)題目:

      秒表系統(tǒng)設(shè)計(jì)——用AT89C51設(shè)計(jì)一個(gè)2位LED數(shù)碼顯示“秒表”,顯示時(shí)間為00~99秒,每秒自動(dòng)加一。另設(shè)計(jì)一個(gè)“開(kāi)始”按鍵和一個(gè)“復(fù)位”按鍵。調(diào)用子程序:暫停鍵子程序,計(jì)時(shí)鍵子程序,清0鍵子程序,加一子程序,顯示子程序,定時(shí)子程序,所用特殊寄存器:寄存器A,寄存器C,所用中斷:外部中斷INT0、INT1,定時(shí)器T0、T1

      四,設(shè)計(jì)的硬件接線圖:

      五,設(shè)計(jì)思路及描述

      要求進(jìn)行計(jì)時(shí)并在數(shù)碼管上顯示時(shí)間,則可利用DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)中的芯片8032(芯片的功能類(lèi)似于芯片AT89C51,其管腳功能也和AT89C51的管腳功能類(lèi)似)中的P3.2管腳做為外部中斷0的入口地址,并實(shí)現(xiàn)“開(kāi)始”按鍵的功能;將P3.3做為外部中斷1的入口地址,并實(shí)現(xiàn)“清零”按鍵的功能;將P3.0做為數(shù)據(jù)信號(hào)DATA輸入的入口地址;將P3.1做為時(shí)鐘信號(hào)CLK輸入的入口地址。定時(shí)器T0作為每秒加一的定時(shí)器;定時(shí)器T1作為“快加”鍵的定時(shí)器。其中“開(kāi)始”按鍵當(dāng)開(kāi)關(guān)由1撥向0(由上向下?lián)埽r(shí)開(kāi)始計(jì)時(shí);“清零”按鍵當(dāng)開(kāi)關(guān)由1撥向0(由上向下?lián)埽r(shí)數(shù)碼管清零,此時(shí)若再撥“開(kāi)始”按鍵則又可重新開(kāi)始計(jì)時(shí)。

      六,流程圖

      七,程序 源程序: ORG

      0000H AJMP

      MIAN;主程序入口地址 ORG

      0003H

      AJMP

      ZHONGDUAN0;中斷0入口地址

      ORG

      000BH

      AJMP YANSHI;定時(shí)器T0入口地址

      ORG

      0013H

      AJMP

      ZHONGDUAN1;中斷1入口地址

      ORG

      001BH

      AJMP

      DINGSHI1;定時(shí)器T1入口地址

      ORG

      0030H

      ;主程序

      ;***********************************************************

      MAIN: MOV

      TCON,#05H;主程序開(kāi)始 外部中斷跳變模式

      MOV

      TMOD,#11H;定時(shí)器0,1模式1 MOV

      IE,#8FH;開(kāi)總中斷,中斷0,1,定時(shí)器0,1 MOV

      DPTR,#TAB MOV

      R1,#00H MOV

      R2,#00h MOV

      R3,#40;循環(huán)次數(shù)40 MOV

      TL0#2CH;置初值,定時(shí)25MS

      MOV

      TH0,#0CFH

      MOV

      TL1#78H;置初值,定時(shí)10MS

      MOV

      TH1,#0ECH CLR TR0;關(guān)定時(shí)器

      CLR

      TR1;***********************************************************;暫停鍵K3,快加鍵K4程序

      ;*********************************************************** HERE:JB P1.0,HERE SHOW:

      CLR

      TR1 CLR

      TR0 ACALL

      XIANSHI KUAIJIA

      :JB P1.2,KUAIJIA;等待P1.2為0 快加 CLR

      TR0 SETB

      TR1

      HERE 3JNB

      P1.2,HERE 3 AJMP

      HERE;***********************************************************;外部中斷INT0子程序-----計(jì)時(shí)按鍵K1子程序

      ;***********************************************************

      ZHONGDUAN 0:

      SETB TR0;計(jì)時(shí)按鍵 RETI;***********************************************************;外部中斷INT1子程序----復(fù)位按鍵K2子程序

      ;***********************************************************

      ZHONGDUAN 1: CLR TR0;復(fù)位按鍵

      CLR

      TR1

      MOV

      12H,#00H

      MOV

      11H,#00H ACALL

      XIANSHI;調(diào)用顯示子程序

      MOV

      R1,#00H

      MOV

      R2,#00H RETI;***********************************************************;加一子程序

      ;***********************************************************

      JIA1:

      INC

      R1;加1子程序

      CJNE R1,#0AH ,LOOP;判斷是否到表尾

      MOV

      R1,#00H INC

      R2

      CJNE

      R2,#0AH,LOOP

      MOV

      R2,#00H

      LOOP: MOV

      12H,R1;重新賦值

      MOV

      11H,R2

      RET;***********************************************************;顯示子程序

      ;*********************************************************** XIANSHI: MOV R7,#02H;2個(gè)數(shù)碼管顯示子程序 MOV R0,#12H LOOP5: MOV R6,#08H;8位2進(jìn)制數(shù) MOV A,@R0 MOVC A,@A+DPTR LOOP6: RLC A;循環(huán)左移 CLR P3.1 MOV P3.0,c SETB P3.1 DJNZ R6,LOOP6 DEC R0 DJNZ R7,LOOP5 RET;***********************************************************;定時(shí)器T0子程序;*********************************************************** YANSHI: MOV Tl0,#2CH;定時(shí)子程序 MOV TH0,#0CFH DJNZ R3,LOOP7 ACALL JIA1;調(diào)用加1子程序 ACALL XIANSHI;調(diào)用顯示子程序 MOV R3,#40 LOOP7: RETI;***********************************************************;定時(shí)器T1子程序

      ;*********************************************************** DINGSHI1:MOV Tl1,#78H;置初值,定時(shí)10MS MOV TH1,#0ECH CLR TR0 SETB TR1 MOV 12H ,R1 MOV 11H,R2 JNB p1.0,SHOW ACALL JIA1 ACALL XIANSHI LOP7:TETI;*********************************************************** TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

      八,內(nèi)容提要

      利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合dvcc實(shí)驗(yàn)箱上的集成電路芯片8032、LED數(shù)碼管以及實(shí)驗(yàn)箱上的按鍵來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),數(shù)碼管能夠正確地顯示時(shí)間。其中本設(shè)計(jì)了四個(gè)開(kāi)關(guān)按鍵:其中一個(gè)按鍵按下去時(shí)以1秒加一開(kāi)始計(jì)時(shí),即秒表開(kāi)始鍵(本實(shí)驗(yàn)中當(dāng)開(kāi)關(guān)從1變?yōu)?時(shí)開(kāi)始計(jì)時(shí)),另一個(gè)按鍵按下去時(shí)暫停計(jì)時(shí),使秒表停留在原先的計(jì)時(shí)(本實(shí)驗(yàn)中當(dāng)相應(yīng)開(kāi)關(guān)從1變?yōu)?時(shí)即停止計(jì)時(shí)),第三個(gè)按鍵按下去時(shí)清0(本實(shí)驗(yàn)中當(dāng)相應(yīng)開(kāi)關(guān)從1變?yōu)?時(shí)即停止計(jì)時(shí)),第四按鍵按下去則是以每10ms秒快速加一計(jì)時(shí)(本實(shí)驗(yàn)中當(dāng)開(kāi)關(guān)從1變?yōu)?時(shí)開(kāi)始計(jì)時(shí))。本設(shè)計(jì)中開(kāi)始時(shí)都要使各按鍵回到各初始位置,即都處于1狀態(tài)。

      九,課程設(shè)計(jì)心得體會(huì)

      選擇適當(dāng)?shù)恼n題,不益太簡(jiǎn)單或者太難。做到既能把課題完成又能鍛煉自己的能力!根據(jù)課題要求,復(fù)習(xí)相關(guān)的知識(shí),查詢相關(guān)的資料。根據(jù)實(shí)驗(yàn)條件,找到適合的方案,找到需要的元器件及工具,準(zhǔn)備實(shí)驗(yàn)。根據(jù)課程設(shè)計(jì)的要求和自己所要增加的功能寫(xiě)好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫(xiě)出相應(yīng)的程序。然后再進(jìn)行程序調(diào)試和相應(yīng)的修改,以達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。還要根據(jù)實(shí)驗(yàn)的實(shí)際情況,添加些額外程序來(lái)使系統(tǒng)更加的穩(wěn)定,如開(kāi)關(guān)的消震蕩(采用延遲)。程序要盡量做到由各個(gè)子程序組成,在有些程序后面最好加注釋?zhuān)@樣在程序出錯(cuò)的檢查過(guò)程中可以更容易查找的到,也更簡(jiǎn)潔,更明白易懂。該設(shè)計(jì)的程序可以參考DVCC系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)中的串并轉(zhuǎn)換實(shí)驗(yàn),也可自己根據(jù)自己熟悉的方法來(lái)編程。在設(shè)計(jì)控制開(kāi)關(guān)時(shí),注意2個(gè)中斷的打開(kāi)和關(guān)閉的先后順序,否則就會(huì)出錯(cuò)。這次的單片機(jī)課程設(shè)計(jì)重點(diǎn)是理論與實(shí)際的相結(jié)合。不再只讀書(shū)了。該設(shè)計(jì)從頭到尾都要自己參與,熟悉了對(duì)整個(gè)設(shè)計(jì)的過(guò)程,更系統(tǒng)的鍛煉了自己。

      十、參考文獻(xiàn)

      蘇家健等編的《單片機(jī)原理及應(yīng)用技術(shù)》 高等教育出版社 2004年11月 余錫存等,《單片機(jī)原理及接口技術(shù)》 西安電子科技大學(xué)出版社 2004

      孫涵芳等 《單片機(jī)原理及應(yīng)用》 北京航空航天大學(xué)出版社 1990

      吳金戌等 《8051電片機(jī)的實(shí)踐與應(yīng)用》 清華大學(xué)出版社

      第三篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告多功能秒表

      青島理工大學(xué)琴島學(xué)院

      課程設(shè)計(jì)報(bào)告

      課題名稱(chēng):?jiǎn)纹瑱C(jī)原理課程設(shè)計(jì) 學(xué)院:機(jī)電工程系

      專(zhuān)業(yè)班級(jí):電氣工程及其自動(dòng)化103班 學(xué)號(hào):201002

      學(xué)生:

      指導(dǎo)老師:

      青島理工大學(xué)琴島學(xué)院教務(wù)處2012年 12月21 日

      第四篇:基于89C51單片機(jī)的秒表課程設(shè)計(jì)

      摘要

      隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個(gè)領(lǐng)域的運(yùn)用也越來(lái)越廣泛,人對(duì)它的認(rèn)識(shí)也逐步加深。秒表計(jì)時(shí)器秒表計(jì)時(shí)器常常用于體育競(jìng)賽及各種其他要求有較精確時(shí)間的各領(lǐng)域中。其中啟/停開(kāi)關(guān)的使用方法與傳統(tǒng)的機(jī)械計(jì)時(shí)器相同,即按一下啟/停開(kāi)關(guān),啟動(dòng)計(jì)時(shí)器開(kāi)始計(jì)時(shí),再按一下啟/停開(kāi)關(guān)計(jì)時(shí)終止。而復(fù)位開(kāi)關(guān)可以在任何情況下使用,即使在計(jì)時(shí)過(guò)程中,只要按一下復(fù)位開(kāi)關(guān),計(jì)時(shí)應(yīng)立即終止,并對(duì)計(jì)時(shí)器清零。本設(shè)計(jì)就是利用所學(xué)到的電子元器件將脈沖源用數(shù)碼管顯示出來(lái),以制承諾簡(jiǎn)易的秒表。

      以單片機(jī)為核心,設(shè)計(jì)一個(gè)秒表,具有計(jì)時(shí)功能,按鍵有啟動(dòng)計(jì)時(shí)、數(shù)據(jù)清零、停止、時(shí)間顯示。

      采用3個(gè)LED數(shù)碼管顯示時(shí)間,計(jì)時(shí)范圍設(shè)置為0~99.9秒,即精確到0.1秒,用按鍵控制秒表的“開(kāi)始”、“暫停”、“復(fù)位”,按“開(kāi)始”按鍵,開(kāi)始計(jì)時(shí);按“暫?!卑存I,系統(tǒng)暫停計(jì)時(shí);再按“開(kāi)始”鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位”按鍵,系統(tǒng)清零。

      目錄

      一、設(shè)計(jì)任務(wù).................................................................................................................3

      二、設(shè)計(jì)題目.................................................................................................................3

      三、功能分析.................................................................................................................3

      四、總體設(shè)計(jì).................................................................................................................3

      4.1硬件設(shè)計(jì)...............................................................................................................4

      4.1.1 89C51單片機(jī)...........................................................................................4

      4.1.2晶體振蕩電路...........................................................................................5

      4.1.3復(fù)位電路...................................................................................................6

      4.1.4按鍵電路...................................................................................................7

      4.1.5顯示電路.................................................................................................8

      4.2引腳控制...............................................................................................................9

      五、電路原理圖...........................................................................................................10

      六、程序流程圖及程序設(shè)計(jì)......................................................................................11

      6.1程序流程圖.........................................................................................................11

      6.2程序設(shè)計(jì).............................................................................................................12

      七、程序仿真...............................................................................................................21

      八、心得體會(huì)...............................................................................................................22

      九、致謝.......................................................................................................................23

      十、參考文獻(xiàn)...............................................................................................................24

      一、設(shè)計(jì)任務(wù)

      以單片機(jī)為核心,設(shè)計(jì)一個(gè)秒表,具有計(jì)時(shí)功能,按鍵有啟動(dòng)計(jì)時(shí)、數(shù)據(jù)清零、停止、時(shí)間顯示。

      二、設(shè)計(jì)題目

      秒表的設(shè)計(jì)

      三、功能分析

      采用3個(gè)LED數(shù)碼管顯示時(shí)間,計(jì)時(shí)范圍設(shè)置為0~99.9秒,即精確到0.1秒,用按鍵控制秒表的“開(kāi)始”、“暫?!?、“復(fù)位”,按“開(kāi)始”按鍵,開(kāi)始計(jì)時(shí);按“暫停”按鍵,系統(tǒng)暫停計(jì)時(shí);再按“開(kāi)始”鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位”按鍵,系統(tǒng)清零。

      四、總體設(shè)計(jì)

      本實(shí)驗(yàn)利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,通過(guò)采用Proteus仿真軟件來(lái)模擬實(shí)現(xiàn)。模擬AT89C51單片機(jī)、LED數(shù)碼管以及控件來(lái)控制秒表的計(jì)數(shù)以及計(jì)時(shí)的開(kāi)啟、暫停、繼續(xù)、與復(fù)位。其中有三個(gè)數(shù)碼管來(lái)顯示數(shù)據(jù),兩個(gè)數(shù)碼管顯示秒(兩位),另一個(gè)數(shù)碼管顯示十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從0~9,滿十進(jìn)一后顯示秒得數(shù)碼管的個(gè)位加一,并且十分之一秒顯示清零

      重新從零計(jì)數(shù)。同理當(dāng)個(gè)位滿十進(jìn)一后個(gè)位也清零重新計(jì)數(shù),當(dāng)計(jì)時(shí)超過(guò)范圍(即超過(guò)99.9秒)后,所有數(shù)碼管全部清零從新計(jì)數(shù)

      4.1硬件設(shè)計(jì)

      4.1.1 89C51單片機(jī)

      MCS-51系列單片機(jī)是8位單片機(jī)產(chǎn)品,89C51是其中的典型代表,基本模塊包括以下幾個(gè)部分:

      (1)CPU:89C51的CPU是8位的,另外89C51內(nèi)部有1個(gè)位處理器

      (2)R0M:4KB的片內(nèi)程序存儲(chǔ)器,存放開(kāi)發(fā)調(diào)試完成的應(yīng)用程序

      (3)RAM:256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器,容量小,但作用大

      (4)I/O口:P0-P3,共4個(gè)口32條雙向且可位尋址的I/O口線

      (5)中斷系統(tǒng):共5個(gè)中斷源,3個(gè)內(nèi)部中斷,2個(gè)外部中斷

      (6)定時(shí)器/計(jì)數(shù)器:2個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器

      (7)通用串行口:全雙工通用異步接收器/發(fā)送器

      (8)振蕩器:89C51的外接晶振與內(nèi)部時(shí)鐘振蕩器為CPU提供時(shí)鐘信號(hào)

      (9)總線控制:89C51對(duì)外提供若干控制總線,便于系統(tǒng)擴(kuò)展

      89C51單片機(jī)引腳如下圖:

      4.1.2晶體振蕩電路

      89C51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線XTAL1和XTAL2分別為反相振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來(lái)自反相

      振蕩器的輸出,該反相放大器可以配置為片內(nèi)振蕩器。

      這里選用51單片機(jī)12MHZ的內(nèi)部振蕩方式,電路如下:C2、C3起穩(wěn)定振蕩頻率、快速起振的作用。

      晶振電路

      4.1.3復(fù)位電路

      采用上電復(fù)位,上電后,由于電容充電,使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電復(fù)位操作。這不僅能使單片機(jī)復(fù)位,還能是單片機(jī)的外圍設(shè)備同時(shí)復(fù)位,當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。

      電路圖如下:

      復(fù)位電路

      4.1.4按鍵電路

      當(dāng)按鍵被按下時(shí),相應(yīng)的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。

      電路圖如下:

      按鍵電路

      4.1.5顯示電路

      采用3個(gè)LED數(shù)碼管,LED是七段顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管,根據(jù)各管的亮暗組成字符。

      在用數(shù)碼管顯示時(shí),有靜態(tài)和動(dòng)態(tài)兩種選擇,這里采用LED動(dòng)態(tài)顯示,用P0、P1、P2口驅(qū)動(dòng)顯示,由于P0口沒(méi)有上拉電阻,因此P0口需要外接上拉

      電阻才能輸出高電平,這里使用8個(gè)4.7k的電阻作為上拉電阻。

      電路圖如下:

      顯示電路

      4.2引腳控制

      P0.0—P0.7、P2.0—P2.7、P1.0—P1.7對(duì)應(yīng)三個(gè)數(shù)碼管的a、b、c、d、e、f、g段和小數(shù)點(diǎn)位;P0控制數(shù)碼管十位的顯示,P2控制數(shù)碼管個(gè)位的現(xiàn)實(shí),P1控制小數(shù)點(diǎn)后一問(wèn)的顯示,P3.2、P3.3、P3.4分別接。

      五、電路原理圖

      用Proteus軟件畫(huà)出主電路圖如下:

      六、程序流程圖及程序設(shè)計(jì)

      6.1程序流程圖

      6.2程序設(shè)計(jì)

      程序的各個(gè)組成模塊及工作流程描述:

      (1)秒表的初始化

      根據(jù)程序流程圖,先進(jìn)行秒表的初始化,即:①將I/O口P3全寫(xiě)一,為秒表的控制輸入做好準(zhǔn)備;②將數(shù)碼管全部置零,使其處于秒表計(jì)時(shí)的初始狀態(tài);③將工作寄存器R0~R2以及30H初始化,留待后面的計(jì)時(shí)程序備用;④將定時(shí)器0置于工作方式1,并為其裝入計(jì)時(shí)預(yù)置數(shù)D8FE(因?yàn)槌绦蜻\(yùn)行過(guò)程中占用的時(shí)間會(huì)導(dǎo)致一定誤差,此為經(jīng)實(shí)物測(cè)試之后的修正值),即將定時(shí)器定為每10ms溢出;⑤開(kāi)總中斷允許和定時(shí)器0中斷允許。初始化完成后,即進(jìn)入之后的按鍵掃描程序。

      (2)按鍵檢測(cè)程序

      輪流檢測(cè)開(kāi)始計(jì)時(shí)(P3.2)、暫停計(jì)時(shí)(P3.3)、秒表清零(P3.4)三個(gè)按鍵。若發(fā)現(xiàn)有一個(gè)按鍵出現(xiàn)低電平(可能被按下),則延時(shí)10ms(調(diào)用延時(shí)子程序DELAY),延時(shí)完成后,若發(fā)現(xiàn)低電平消失,則說(shuō)明該按鍵實(shí)際上未被按下,此時(shí)轉(zhuǎn)回按鍵檢測(cè)處繼續(xù)檢測(cè);若發(fā)現(xiàn)仍然是低電平,則說(shuō)明此鍵確實(shí)被按下了,此時(shí)就跳轉(zhuǎn)至相應(yīng)的程序標(biāo)號(hào)處,執(zhí)行相應(yīng)的功能。

      (3)開(kāi)始計(jì)時(shí)

      若確認(rèn)“開(kāi)始計(jì)時(shí)”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“RUN”處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置位,則定時(shí)器開(kāi)始運(yùn)行。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (4)計(jì)時(shí)程序

      定時(shí)器0計(jì)時(shí)至10ms,溢出,引發(fā)中斷,程序跳轉(zhuǎn)至定時(shí)器0中斷服務(wù)程序入口000BH處執(zhí)行。程序跳轉(zhuǎn)至中斷服務(wù)程序TIME0。由于秒表的最小計(jì)時(shí)單位是0.1s,即100ms,因此需加入軟件計(jì)時(shí),使定時(shí)器0溢出10次之后才改變數(shù)碼管的顯示狀態(tài)。因此每來(lái)一次中斷就將30H中的數(shù)加1,若30H中的數(shù)沒(méi)有到10,則給定時(shí)器0重新裝入預(yù)置數(shù),之后中斷返回并繼續(xù)等待中斷;到10了,才進(jìn)入顯示程序,改變數(shù)碼管的顯示狀態(tài),執(zhí)行完畢之后中斷返回并繼續(xù)等待中斷。

      (5)顯示程序

      將數(shù)碼管的段選碼放在數(shù)表TAB中。每次100ms計(jì)時(shí)完成后,將R0中的值(初值為0)送入A,然后自加1。.若R0中的值沒(méi)到10,則使用累加器A查表,并將查得的數(shù)碼管段選碼送入毫秒位數(shù)碼管。之后將30H中的數(shù)置零,中斷返回。若發(fā)現(xiàn)R0中的數(shù)到10了,則將R0置零,并轉(zhuǎn)入秒位進(jìn)位子程序SECOND,向秒位進(jìn)位,之后,繼續(xù)照常向毫秒位送數(shù)。

      在秒位進(jìn)位子程序SECOND中,由于要用到累加器A,因此先將其推入堆棧保護(hù)。將R1中的值(初值為10)送入A,然后自加1。.若R1中的值沒(méi)到20,則使用累加器A查表,并將查得的數(shù)碼管段選碼送入秒位數(shù)碼管。若發(fā)現(xiàn)R1中的數(shù)到20了,則將R1重置為10,并轉(zhuǎn)入十秒位進(jìn)位子程序SECOND1,向十秒位進(jìn)位,之后,繼續(xù)照常向秒位送數(shù)。完成后,彈出ACC和PSW,子程序返回。

      十秒位進(jìn)位子程序與秒位進(jìn)位子程序相似,只是沒(méi)有向下一位進(jìn)位的功能。

      (6)暫停計(jì)時(shí)

      若確認(rèn)“暫停計(jì)時(shí)”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“PAUSE”處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置零,則定時(shí)器暫停運(yùn)行。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (7)秒表清零

      若確認(rèn)“秒表清零”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“STOP”處,將TR0置零,關(guān)閉定時(shí)器0運(yùn)行。并且將數(shù)碼管、工作寄存器、定時(shí)器0預(yù)置數(shù)全部重置,使其處于秒表計(jì)時(shí)的初始狀態(tài)。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (8)延時(shí)程序

      用于按鍵延時(shí)防抖,延時(shí)10ms。

      程序清單如下:

      ORG 0000H;程序開(kāi)始

      AJMP START;跳轉(zhuǎn)到主程序START ORG 000BH;定時(shí)器0中斷的地址入口

      AJMP TIME0;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0 START:;主程序

      MOV P3,#0FFH;輸入端口P3全寫(xiě)1 MOV P0,#3FH;MOV P1,#3FH;

      MOV P2,#0BFH;數(shù)碼管初始化

      MOV 30H,#00H;MOV R0,#00H;MOV R1,#0AH;MOV R2,#00H;MOV TMOD,#01H;MOV TH0,#0D8H;MOV TL0,#0FEH;SETB EA;SETB ET0;READ:;L1:JB P3.2,L2;LCALL DELAY;JB P3.2,L1;AJMP RUN;L2:JB P3.3,L3;

      工作寄存器初始化

      定時(shí)器0工作于方式1

      定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)

      開(kāi)總中斷允許

      開(kāi)定時(shí)器0中斷允許

      讀鍵程序

      按鍵延時(shí)防抖

      確認(rèn)計(jì)時(shí)鍵被按下,開(kāi)始/繼續(xù)計(jì)時(shí)15

      LCALL DELAY;按鍵延時(shí)防抖

      JB P3.3,L2;AJMP PAUSE;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)

      L3:JB P3.4,L1;LCALL DELAY;JB P3.4,L3;AJMP STOP;RUN:;SETB TR0;AJMP READ;PAUSE:;CLR TR0;AJMP READ;TIME0:;INC 30H;MOV A,30H;

      按鍵延時(shí)防抖

      確認(rèn)清零鍵被按下,秒表重置

      計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此

      定時(shí)器0開(kāi)始/繼續(xù)運(yùn)行

      暫停鍵按下,跳轉(zhuǎn)至此

      定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此16

      CJNE A,#0AH,TIME1;30H單元中的值到10了嗎?(計(jì)時(shí)到10毫秒了嗎,也就是說(shuō),該向毫秒位送數(shù)了嗎?)MOV DPTR,#TAB;30H中的值到10了,順序執(zhí)行

      MOV A,R0;INC R0;CJNE R0,#0AH,GET;R0MOV R0,#00H;LCALL SECOND;進(jìn)位

      GET:;MOVC A,@A+DPTR;MOV P1,A;MOV 30H,#00H;TIME1:;MOV TH0,#0D8H;MOV TL0,#0FEH;RETI;中的值到10了嗎?(該向秒位進(jìn)位了嗎?)

      到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位沒(méi)到,跳過(guò)進(jìn)位子程序

      查表并向數(shù)碼管毫秒位送數(shù)

      重置30H單元

      給定時(shí)器0重新預(yù)置數(shù)

      中斷返回

      SECOND:;秒位進(jìn)位子程序

      PUSH ACC;PUSH PSW;將ACC和PSW推入堆棧保護(hù)

      MOV A,R1;INC R1;CJNE R1,#14H,GET1;R1了嗎?

      MOV R1,#0AH;LCALL SECOND1;位進(jìn)位

      GET1:;MOVC A,@A+DPTR;MOV P2,A;POP PSW;POP ACC;PSW,ACCRET;SECOND1:;中的值到20了嗎,也就是說(shuō),該向十秒位進(jìn)位到了。R1重置,調(diào)用進(jìn)位子程序SECOND1,向十秒沒(méi)到,跳過(guò)進(jìn)位子程序

      查表并向數(shù)碼管秒位送數(shù)

      出棧

      子程序返回

      十秒位進(jìn)位子程序

      PUSH ACC;PUSH PSW;將ACC和PSW推入堆棧保護(hù)

      MOV A,R2;INC R2;CJNE R2,#0AH,GET2;R2

      MOV R2,#00H;GET2:;MOVC A,@A+DPTR;MOV P0,A;POP PSW;POP ACC;PSWRET;STOP:;MOV P3,#0FFH;MOV P0,#3FH;MOV P1,#3FH;

      中的值到10了嗎,也就是說(shuō),該將此位歸零了到了,R2清零

      沒(méi)到,跳過(guò)清零程序

      查表并向數(shù)碼管十秒位送數(shù),ACC出棧

      子程序返回

      清零鍵按下,跳轉(zhuǎn)至此 嗎?

      MOV P2,#0BFH;數(shù)碼管清零

      MOV 30H,#00H;MOV R0,#00H;MOV R1,#0AH;MOV R2,#00H;CLR TR0;MOV TH0,#0D8H;MOV TL0,#0FEH;AJMP READ;DELAY:;MOV R3,#50D;D1:MOV R4,#100D;D2:DJNZ R4,D2;DJNZ R3,D1;RET;工作寄存器初始化計(jì)時(shí)器0停止計(jì)時(shí)定時(shí)器0預(yù)置數(shù)

      延時(shí)10ms子程序

      子程序返回

      TAB: DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3FH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,0BFH;數(shù)碼管段選碼數(shù)表

      END;程序結(jié)束

      七、程序仿真

      將以上程序清單導(dǎo)入先前做好的Proteus仿真電路,匯編之后,按 鍵開(kāi)始進(jìn)行仿真。

      仿真結(jié)果如下:

      仿真結(jié)果描述:

      按“開(kāi)始”鍵,秒表開(kāi)始計(jì)時(shí);按“暫停”鍵,秒表暫停計(jì)時(shí);再按“開(kāi)始”鍵,秒表繼續(xù)計(jì)時(shí);按“清零”鍵,秒表清零。

      八、心得體會(huì)

      雖然秒表是一個(gè)非常簡(jiǎn)單的功能,但要在單片機(jī)中使用匯編語(yǔ)言來(lái)實(shí)現(xiàn)這個(gè)功能,仍然花了我不少心思。

      首先是計(jì)時(shí)的問(wèn)題,由于單片機(jī)計(jì)時(shí)器最大只能計(jì)時(shí)65.5ms,因此要實(shí)現(xiàn)毫秒位的變化,我采用了軟件計(jì)時(shí)的方法,單片機(jī)只需計(jì)時(shí)10ms,然后用軟件重復(fù)10次,即可達(dá)到計(jì)時(shí)100ms的目的。

      顯示方面,為了使編程簡(jiǎn)單,我使用了靜態(tài)顯示。不過(guò)這使得占用I/O口線過(guò)多,而且連線復(fù)雜繁瑣,為實(shí)物的制作帶來(lái)了不便。在以后的學(xué)習(xí)和應(yīng)用中我會(huì)努力加深動(dòng)態(tài)掃描顯示的理解,爭(zhēng)取熟練運(yùn)用。

      根據(jù)書(shū)本知識(shí),我們一開(kāi)始只給P0口加上了上拉電阻,但是實(shí)物做成后我們發(fā)現(xiàn)P1和P2口得輸出顯示非常暗,初步確定是驅(qū)動(dòng)能力不足的問(wèn)題后,我們給二者也加上了上拉電阻,結(jié)果使得顯示正常了。由此我們了解到,實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),有時(shí)候書(shū)本上的知識(shí)需要經(jīng)過(guò)實(shí)踐的改進(jìn),才能運(yùn)用到實(shí)際中。

      此次課程設(shè)計(jì)鞏固了我的基礎(chǔ)知識(shí),提高了我的應(yīng)用水平,鍛煉了我的動(dòng)手能力,使我受益匪淺。然而,在吸取經(jīng)驗(yàn)的同時(shí),我也吃了不少教訓(xùn)。在編程、仿真、焊接方面都走了不少?gòu)澛贰5?,學(xué)則要有所收獲,經(jīng)過(guò)此次的鍛煉,我在很多方面都已經(jīng)有所提高,知識(shí)也掌握得更加扎實(shí)了。

      在今后的學(xué)習(xí)和實(shí)踐中,我將繼續(xù)努力鉆研,提高自己,爭(zhēng)取在學(xué)術(shù)和記憶上獲得更大的進(jìn)步。

      九、致謝

      本設(shè)計(jì)是在李芳老師的悉心指導(dǎo)下完成的,李老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的工作作風(fēng),平易近人的性格都是我學(xué)習(xí)的楷模。在論文的研究及整理期間,李老師給了我很大的支持和鼓勵(lì),才使得論文得以順利的完成,在此謹(jǐn)向?qū)煴硎局倚牡母兄x和崇高的敬意。

      同時(shí)還要感謝同學(xué)們,他們也給了我很大的支持和幫助。

      十、參考文獻(xiàn)

      1)《微控制器與接口技術(shù)》.虞滄.電子工業(yè)出版社.2012.10 2)李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.2005.10 3)夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)北京:北京航空航天大學(xué)出版社.2001.4)孫德輝,鄭士富.微型計(jì)算機(jī)控制系統(tǒng).北京:冶金工業(yè)出版社.2002

      5)肖洪兵.跟我學(xué)用單片機(jī).北京:北京航空航天大學(xué)出版社.2002.8 6)陳汝全.實(shí)用微機(jī)與單片機(jī)控制技術(shù).電子科技大學(xué)出版社.1995.7 7)王涌.單片機(jī)與嵌入式系統(tǒng)應(yīng)用[J],2002(3):58-61 8)羅亞非.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社.2003.5 9)李慶.Keil C51 使用詳解 V3.0[M].北京:北京理工大學(xué)出版

      10)李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京航空航天大學(xué)出版社.1993,162-229 11)溫鋼云,黃道平.計(jì)算機(jī)控制技術(shù).廣州:華南理工大學(xué)出版社.2002 12)肖洪兵.單片機(jī)應(yīng)用技術(shù).自編教材

      13)孫德輝,鄭士富.微型計(jì)算機(jī)控制系統(tǒng).北京:冶金工業(yè)出版社.2002 14)韓來(lái)吉.用 89C51實(shí)現(xiàn)急救車(chē)優(yōu)先的交通燈控制系統(tǒng)[J] 15)陳志強(qiáng),芮延年,城市路口交通燈多級(jí)智能控制方法的研究J.2007 16)李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社.2001,56 17)馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).北京航空航天出版社.1999

      18)劉瑞新,單片機(jī)原理及應(yīng)用教程,北京機(jī)械工業(yè)出版社,2003 19)李傳軍,單片機(jī)原理及應(yīng)用,河南科技出版社,2006 20)饒慶,89C51單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材,北京人民郵電出版社,2003

      第五篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)之秒表

      單片機(jī)課程設(shè)計(jì)報(bào)告

      題目:基于stc89c52rc的秒表設(shè)計(jì)

      學(xué)生:唐偉軒 11071339

      指導(dǎo)老師:

      日期:2013年12月8日

      基于stc89c52rc的秒表設(shè)計(jì)

      此設(shè)計(jì)中硬件部分由王華杲完成,軟件由唐偉軒完成一、設(shè)計(jì)要求

      使用STC89C52RC單片機(jī)設(shè)計(jì)一個(gè)2位LED數(shù)碼管顯示的秒表,顯示時(shí)間為00—99秒,每秒自動(dòng)加1,設(shè)計(jì)開(kāi)始、停止、復(fù)位鍵。

      二、設(shè)計(jì)思路

      為了功能拓展,本設(shè)計(jì)硬件部分采用了四位一體共陽(yáng)數(shù)碼管作為顯示單元,采用三極管進(jìn)行陽(yáng)極位選驅(qū)動(dòng),陰極直接接限流電阻接單片機(jī)P0口;采用“4+1”按鍵,分別為“系統(tǒng)復(fù)位”、“計(jì)數(shù)停止”、“復(fù)位秒表”、“翻頁(yè)”、“預(yù)留”功能,“系統(tǒng)復(fù)位”為系統(tǒng)總復(fù)位按鍵;“計(jì)數(shù)停止”和“復(fù)位秒表”按鍵接到單片機(jī)中斷口(即INT0引腳與INT1引腳)。單片機(jī)的時(shí)鐘晶振為12M。

      軟件部分設(shè)計(jì)采用“動(dòng)態(tài)刷新”和“定時(shí)器精確計(jì)時(shí)”的方式實(shí)現(xiàn)秒表功能,時(shí)間最小刻度為0.01s,同時(shí)采用外部按鍵中斷的方式實(shí)現(xiàn)“計(jì)數(shù)停止”、“復(fù)位秒表”功能,采用按鍵掃描實(shí)現(xiàn)“翻頁(yè)”功能。

      本設(shè)計(jì)秒表可在一次計(jì)時(shí)鐘保存最多十次計(jì)時(shí)值。

      三、硬件設(shè)計(jì)與分析

      1.單片機(jī)最小系統(tǒng)

      51單片機(jī)最小系統(tǒng)由復(fù)位電路和時(shí)鐘電路組成。

      51單片機(jī)的Reset引腳為單片機(jī)的復(fù)位引腳,在該引腳上保持兩個(gè)機(jī)器周期的高電平,單片機(jī)復(fù)位,PC值復(fù)位至0000H,并在Reset引腳恢復(fù)至低電平時(shí)重新開(kāi)始執(zhí)行ROM中的程序,由此可設(shè)計(jì)典型單片機(jī)上電復(fù)位與手動(dòng)復(fù)位一體的復(fù)位電路,該自動(dòng)復(fù)位電路能在上電后在單片機(jī)Reset引腳上保持ms級(jí)的高電平時(shí)間,滿足設(shè)計(jì)要求,電路如圖3.1所示。

      51單片機(jī)的時(shí)鐘系統(tǒng)可選擇使用外部時(shí)鐘或內(nèi)部RC時(shí)鐘(不準(zhǔn)確),xtal1與xtal2引腳為單片機(jī)外部時(shí)鐘引腳,51單片機(jī)的機(jī)器周期為12個(gè)時(shí)鐘周期,采用12M晶體振蕩器時(shí),機(jī)器周期為1us,外部晶振電路如圖3.2所示。

      圖3.1圖3.22.數(shù)碼管顯示電路設(shè)計(jì)

      本設(shè)計(jì)中采用4位一體共陽(yáng)數(shù)碼管,4個(gè)共陽(yáng)極使用三極管s9012進(jìn)行控電平的電流放大,8個(gè)共陰極接限流電阻接到單片機(jī)P0口;51單片機(jī)P0屬于漏極開(kāi)路結(jié)構(gòu),在老式51單片機(jī)中作為外部數(shù)據(jù)總線使用,可在較高輸入輸出頻率下使用,在本設(shè)計(jì)中,使用了P0的該特點(diǎn),作為數(shù)碼管的段碼數(shù)據(jù)控制。

      3.中斷按鍵與按鍵掃描

      51單片機(jī)支持兩路外部中斷,分別為INT0引腳和INT1引腳,恰當(dāng)使用外部中斷功能可極大地提高外部觸發(fā)信號(hào)的響應(yīng)速度。本設(shè)計(jì)中,共使用了4個(gè)按鍵,其中兩個(gè)接在兩個(gè)外部中斷引腳上以提高其響應(yīng)速度實(shí)現(xiàn)高級(jí)功能,另外兩個(gè)按鍵接普通IO實(shí)現(xiàn)一般功能。

      4.電路圖

      圖3.3四、軟件設(shè)計(jì)與分析

      1.刷新顯示程序

      數(shù)碼管顯示部分由于其公共端共接結(jié)構(gòu),需采用刷新顯示的方式驅(qū)動(dòng),驅(qū)動(dòng)部分C語(yǔ)言程序如下:

      P1=0xFE;//四位數(shù)碼管掃描

      P0=codetab[one];

      delay(3);

      P1=0xFD;

      P0=codetab[two];

      delay(3);

      P1=0xFB;

      P0=0X7F;//顯示小數(shù)點(diǎn)

      delay(3);

      P0=codetab[three];

      delay(3);

      P1=0xF7;

      P0=codetab[four];

      delay(3);

      2.定時(shí)器的應(yīng)用

      51單片機(jī)中含有兩個(gè)定時(shí)器,分別為T(mén)0和T1,共有13位計(jì)數(shù)定時(shí)、16位計(jì)數(shù)定時(shí)、8位自動(dòng)重裝計(jì)數(shù)定時(shí)三種工作模式,每個(gè)定時(shí)器可產(chǎn)生獨(dú)立的中斷信號(hào)。51單片機(jī)定時(shí)器采用“向上計(jì)數(shù)”的方式,即加滿溢出后產(chǎn)生中斷,定時(shí)時(shí)鐘源為系統(tǒng)時(shí)鐘,每1個(gè)機(jī)器周期加1,本設(shè)計(jì)中采用12M外部時(shí)鐘,對(duì)應(yīng)定時(shí)器時(shí)鐘為1us,要實(shí)現(xiàn)0.01s精度顯示,即定時(shí)最大為10ms,這里采用定時(shí)20us,C語(yǔ)言程序設(shè)計(jì)如下:

      void time0()

      {//定時(shí)器初始化,定時(shí)20us

      TMOD=0X01;

      TH0 =0XF8;

      TL0 =0X30;

      //TR0 =1;

      EA=1;

      ET0 =1;

      }

      3.程序流程圖

      圖4.1五、數(shù)據(jù)測(cè)試

      1.秒表計(jì)時(shí)誤差:小于0.1% 2.各按鍵觸發(fā)功能是否正常:正常 3.最大單次計(jì)時(shí)記錄次數(shù):10次

      六、參考文獻(xiàn)

      【1】劉煥成.《工程背景下的單片機(jī)原理及系統(tǒng)設(shè)計(jì)(第2版)》.清華大學(xué)出版社.2011年10月

      下載單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)(優(yōu)秀范文5篇)word格式文檔
      下載單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)───秒 表 系 統(tǒng) 設(shè) 計(jì)(優(yōu)秀范文5篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)通用格式

        單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)通用格式 課程設(shè)計(jì)經(jīng)常做的題目: 可調(diào)節(jié)的時(shí)鐘 電子密碼鎖 計(jì)算器 鍵盤(pán)顯示 音樂(lè)播放器 紅外 液晶顯示設(shè)計(jì)要求和條件 根據(jù)單片機(jī)開(kāi)發(fā)板所提供的元件特......

        單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)(推薦閱讀)

        目錄引言 ????????????????????????? 第1章 設(shè)計(jì)目的及意義????????????????? 第2章 設(shè)計(jì)內(nèi)容及要求????????????......

        實(shí)習(xí)報(bào)告-單片機(jī)秒表設(shè)計(jì)

        目 錄 第1章 單片機(jī)系統(tǒng)硬件電路 ................................................................................. 1 1.1 實(shí)習(xí)目的 ......................................

        單片機(jī)課程設(shè)計(jì) 簡(jiǎn)易報(bào)警系統(tǒng)設(shè)計(jì)(定稿)

        課程設(shè)計(jì)(論文)題 目 名 稱(chēng) 簡(jiǎn)易防盜系統(tǒng)設(shè)計(jì)課 程 名 稱(chēng) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)學(xué) 生 姓 名學(xué) 號(hào)系 、專(zhuān)業(yè) 信息工程系、信息工程類(lèi)指 導(dǎo) 教 師2013年 6 月 28 日 目錄......

        單片機(jī)課程設(shè)計(jì)電子時(shí)鐘說(shuō)明書(shū)

        《電子時(shí)鐘》 課程設(shè)計(jì)說(shuō)明書(shū) 專(zhuān)業(yè)班級(jí): 11級(jí)自動(dòng)化班姓名: 歐陽(yáng)明長(zhǎng) 李徐軍陳龍 指導(dǎo)教師:郭玉設(shè)計(jì)時(shí)間: 2013--12--17 物理與電氣工程學(xué)院 2013年12月17日 1 摘要 電子鐘在......

        數(shù)字電路課程設(shè)計(jì)-電子秒表的設(shè)計(jì)

        目錄 1.引言 1.1設(shè)計(jì)目的------------------------2 1.2設(shè)計(jì)內(nèi)容------------------------2 1.3設(shè)計(jì)要求------------------------2 2.?dāng)?shù)字電子秒表設(shè)計(jì) 2.1儀器設(shè)備-------......

        單片機(jī)課程設(shè)計(jì)設(shè)計(jì)項(xiàng)目

        09級(jí)通信專(zhuān)業(yè)《課程設(shè)計(jì)》方案 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)項(xiàng)目介紹學(xué)生:09級(jí)通信1、2、3班指導(dǎo)教師:周秋茜一、16×16點(diǎn)陣LED電子顯示屏的設(shè)計(jì)1.功能要求設(shè)計(jì)一個(gè)室內(nèi)用16×16點(diǎn)陣LED......

        單片機(jī)課程設(shè)計(jì)電子鐘設(shè)計(jì)

        單片機(jī)課程設(shè)計(jì)電子鐘設(shè)計(jì)目錄一、摘要二、設(shè)計(jì)任務(wù)三、基本原理數(shù)碼管顯示可以用靜態(tài)顯示或動(dòng)態(tài)顯示方法。靜態(tài)顯示需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時(shí)鐘顯示用四個(gè)數(shù)碼管。動(dòng)......