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

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

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

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

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

      簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文五篇

      時(shí)間:2019-11-16 20:58:06下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文》。

      第一篇:簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文

      引言

      定時(shí)器根據(jù)其發(fā)展歷程可以分為:一種是基于模擬技術(shù)的定時(shí)器,目前這種產(chǎn)品已經(jīng)退出市場(chǎng)中;另一種是基于數(shù)據(jù)技術(shù)的產(chǎn)品,其具有強(qiáng)大的產(chǎn)品功能,但是這種產(chǎn)品主要應(yīng)用于較大的設(shè)備中。隨著單片機(jī)技術(shù)的不斷發(fā)展,基于單片機(jī)的多用途定時(shí)器被越來越多的行業(yè)所應(yīng)用,因此本文通過單片機(jī)多用途定時(shí)器的設(shè)計(jì)進(jìn)行深入的分析,讓人們更加了解基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)體系。

      1基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)需求

      通過單片機(jī)多用途定時(shí)器可以在LED顯示器中顯示預(yù)定的時(shí)間以及當(dāng)前的時(shí)間,進(jìn)而讓人們可以清楚地知道定時(shí)器工作的狀態(tài)等。同時(shí)基于單片機(jī)多用途定時(shí)器所具有的報(bào)警功能也可以及時(shí)提醒人們,進(jìn)而為人們的生活、生產(chǎn)提供便利。當(dāng)單片機(jī)定時(shí)器達(dá)到預(yù)定的時(shí)間后,該系統(tǒng)就會(huì)發(fā)出警報(bào),給人以提醒,因此單片機(jī)多用途定時(shí)器的便利性為設(shè)計(jì)該產(chǎn)品提供了廣泛的市場(chǎng)需求。

      2單片機(jī)多用途定時(shí)器的設(shè)計(jì)原理

      單片機(jī)多用途定時(shí)器主要采取了M SP430系列單片機(jī)、鍵盤、鐘芯片DS1302以及電源等電子模塊而實(shí)現(xiàn)的,由于其性價(jià)比比較高,因此其具有廣泛的市場(chǎng)應(yīng)用前景。結(jié)合多年的經(jīng)驗(yàn),該產(chǎn)品的設(shè)計(jì)原理主要如下:

      2.1 M SP430系列單片機(jī)的結(jié)構(gòu)

      M SP430系列單片機(jī)主要包括CPU、存儲(chǔ)器以及外圍模塊等組成:CPU主要是用來處理程序指令,存儲(chǔ)系統(tǒng)的相關(guān)數(shù)據(jù)與程序,并且進(jìn)行位、字、字節(jié)的操作。外圍模塊主要是將單片機(jī)與外圍的相關(guān)設(shè)備進(jìn)行鏈接,并且實(shí)現(xiàn)通道的采樣轉(zhuǎn)換。

      2.2單片機(jī)多用途定時(shí)器的設(shè)計(jì)原理

      該設(shè)計(jì)主要是將M SP430單片機(jī)的各個(gè)端口與時(shí)鐘電路、鍵盤電路以及顯示電路進(jìn)行連接,通過軟件程序?qū)崿F(xiàn)與硬件電路的連接,進(jìn)而實(shí)現(xiàn)定時(shí)器的定時(shí)、報(bào)警功能??v觀整個(gè)單片機(jī)定時(shí)器設(shè)計(jì)過程,軟件系統(tǒng)中的中斷系統(tǒng)程序是設(shè)計(jì)的關(guān)鍵,在預(yù)定設(shè)計(jì)好定時(shí)信息后要注意將各個(gè)端口的自動(dòng)中斷處理,鍵盤的程序設(shè)計(jì)主要是采取掃描法,通過判斷行與列的鍵盤輸入信號(hào)來確定鍵入數(shù)字。

      3基于單片機(jī)的多用途定時(shí)器的實(shí)現(xiàn)

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

      定時(shí)器的硬件設(shè)計(jì)主要包括:時(shí)鐘電路、M SP430單片機(jī)、顯示器以及鍵盤電路,其設(shè)計(jì)原理就是將單片機(jī)與各個(gè)硬件設(shè)備相連,實(shí)現(xiàn)電壓與電平之間的轉(zhuǎn)變,因此在電路設(shè)計(jì)時(shí)要充分考慮各個(gè)器件引腳的功能,對(duì)于重點(diǎn)電路可以先進(jìn)行理論探討后再進(jìn)行搭建。

      在硬件設(shè)計(jì)中時(shí)鐘模塊是設(shè)計(jì)中比較復(fù)雜的,其主要是時(shí)鐘中的實(shí)時(shí)時(shí)鐘與RAM,利用串行接口與單片機(jī)進(jìn)行通信,給電路提供實(shí)時(shí)的時(shí)間信息。時(shí)鐘操作可通過AM h'M指示采用12/24小時(shí)格式。用RES(復(fù)位),SCLK(串行時(shí)鐘)、功(數(shù)據(jù)線)、三個(gè)口線與單片機(jī)之間進(jìn)行同步串行通信。時(shí)鐘電路部分是整個(gè)系統(tǒng)設(shè)計(jì)的難點(diǎn),電路搭建的正確與否直接關(guān)系著定時(shí)器時(shí)鐘系統(tǒng)是否能夠正常運(yùn)行。

      其次是鍵盤模塊主要采用掃描方式進(jìn)行。鍵盤的工作方式也是分為兩種,編程控制方和中斷控制方式,一般是采用矩陣式鍵盤設(shè)計(jì)。首先設(shè)置各個(gè)口線為輸入模式,通過中斷的方式或者軟件查詢的方式,獲取信息,從而知道各個(gè)口線是否有鍵按下,如果有鍵按下,則口線端口為高電平,否則為低電平。在按下設(shè)置鍵對(duì)時(shí)間進(jìn)行調(diào)整之前可以通過+,一按鍵進(jìn)行調(diào)節(jié)。掃描鍵盤一般由行和列組成,在鍵盤上的某條行線上輸入低電平,如果鍵盤中某個(gè)鍵被按下則某個(gè)列線變?yōu)榈碗娖健?/p>

      3.2軟件設(shè)計(jì)

      本文定時(shí)器的軟件設(shè)計(jì),用于軟件程序的調(diào)試與仿真所使用的是TARSystem s公司開發(fā)的軟件,其包含C尤++編譯器和調(diào)試器的集成開發(fā)環(huán)境。結(jié)合本次的定時(shí)器產(chǎn)品設(shè)計(jì)主要采取的是THREW 430軟件程序。首先,在程序編寫之前要打開TAR Em bedded W oxRbench,注意單擊菜單Pro鄉(xiāng)ct,Add fib test出現(xiàn)需要的加載源文件界面,選擇相應(yīng)的界面類型,編譯時(shí)注意對(duì)430單片機(jī)型號(hào)進(jìn)行選擇;其次,在程序運(yùn)行時(shí)要對(duì)DS1302進(jìn)行設(shè)置,并對(duì)D S 1302系統(tǒng)進(jìn)行初始化優(yōu)化,并將系統(tǒng)的時(shí)間設(shè)置為0。在確保上述程序完成后,再進(jìn)行時(shí)間上傳,進(jìn)而將有效的信息存儲(chǔ)在EPROM中,并且將其上傳給管理層,管理層在接收到相關(guān)知識(shí)后再進(jìn)行相應(yīng)的修改,最后顯示出具體的時(shí)間;最后,LED數(shù)碼管在顯示之前,要對(duì)串口的工作方式進(jìn)行設(shè)置,然后設(shè)置對(duì)應(yīng)的地址指針,然后選擇數(shù)段碼,通過傳送過來的脈沖來顯示。

      參考文獻(xiàn):

      [1 ]胡立群,陳敦軍,吳凡超.基于單片機(jī)的多通道控制器的設(shè)計(jì)[U].電子測(cè)量技術(shù),2014(01).[2 ]羅大軍.基于單片機(jī)定時(shí)器的研究田科技致富向?qū)В?011(09).[3 ]'}哲豪.新版多用途定時(shí)器的硬件設(shè)計(jì)田.機(jī)電信息,201002).

      第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)音樂鬧鐘定時(shí)器

      目錄:

      0、任務(wù)書...............................................................................2

      1、系統(tǒng)總體設(shè)計(jì)方案規(guī)劃與選定.......................................2

      2、硬件設(shè)計(jì)...........................................................................5

      3、軟件設(shè)計(jì)...........................................................................6

      4、調(diào)試...................................................................................8

      5、新增功能及實(shí)現(xiàn)方法.......................................................8

      6、小結(jié)與體會(huì).......................................................................9

      7、參考文獻(xiàn)...........................................................................9

      8、附錄.................................................................................10

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

      0.任務(wù)書

      基于51單片機(jī)設(shè)計(jì)一個(gè)電子數(shù)字鐘,顯示時(shí)、分、秒,且具有鬧鐘功能。用8255接口實(shí)現(xiàn)4*8鍵盤及8位LED顯示。

      32個(gè)鍵:0~9共10個(gè)鍵,調(diào)時(shí)(設(shè)置當(dāng)前時(shí)間)鍵;設(shè)定鬧鐘(定時(shí))鍵;走時(shí)鍵;光標(biāo)左右移動(dòng)各一個(gè)鍵。

      要求鍵復(fù)位后,應(yīng)該最后面的LED上顯示H(待命狀態(tài))。

      1.系統(tǒng)總體設(shè)計(jì)方案規(guī)劃與選定

      1.1主控制芯片選擇

      方案一:采用ARM微處理,做主控芯片,計(jì)算速度快,缺點(diǎn);成本高,控制較復(fù)雜,不容易焊接。

      方案二:采用80C51單片機(jī)做主控制器,由單片機(jī)來完成采集和信號(hào)處理等底層的核心計(jì)算,做主控芯片,成本低,易控制,易實(shí)現(xiàn)。

      經(jīng)過以上兩個(gè)方案比較,在此題方案二明顯優(yōu)于方案一,故采用80C51單片機(jī)做主控制器。

      1.2定時(shí)模塊選擇

      方案一:采用時(shí)鐘芯片DS1302。

      DS1302 可以用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,且較單片機(jī)計(jì)時(shí)簡(jiǎn)單節(jié)約硬件資源,但存在時(shí)鐘精度不高,易受環(huán)境影響,出現(xiàn)時(shí)鐘混亂等缺點(diǎn)。

      方案二:采用單片機(jī)內(nèi)部的定時(shí)系統(tǒng),外接晶振進(jìn)行分頻脈沖計(jì)數(shù)。

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

      此系統(tǒng)采用12MHz晶振。

      由于方案二使用簡(jiǎn)單,比方案一更適用該系統(tǒng)設(shè)計(jì),所以選擇方案二。

      1.3 LED顯示及計(jì)時(shí)模塊選擇

      方案一:74LS192計(jì)數(shù)器——74LS47七點(diǎn)顯示譯碼器

      74LS192芯片是一塊可預(yù)置數(shù)可逆計(jì)數(shù)芯片,功能強(qiáng)大。將74LS192芯片CPU引腳接高電平可實(shí)現(xiàn)減法計(jì)數(shù),以倒計(jì)時(shí)顯示??赏ㄟ^74LS47與LED共陽極數(shù)字顯示器配合使用。

      方案二:使用移位寄存器74HC595與譯碼器相連

      74HC595具有8位移位寄存器和一個(gè)存儲(chǔ)器,使用時(shí)可直接與數(shù)字顯示器相連。

      方案三:使用8255擴(kuò)展LED顯示計(jì)時(shí)模塊

      8255是一個(gè)可編程并行接口芯片,有一個(gè)控制口和三個(gè)8位數(shù)據(jù)口,外設(shè)通過數(shù)據(jù)口與單片機(jī)進(jìn)行數(shù)據(jù)通信,各數(shù)據(jù)口的工作方式和數(shù)據(jù)傳送方向是通過用戶對(duì)控制口寫控制字控制的。我們用到了A與B口分別進(jìn)行對(duì)數(shù)碼顯示管的片選和段選,且B口同時(shí)作為鍵盤掃描模塊的輸入口,與數(shù)碼顯示模塊分時(shí)復(fù)用。故采用方案三

      1.4蜂鳴器的選擇

      方案一:電磁式蜂鳴器

      電磁式蜂鳴器主要是利用通電導(dǎo)體會(huì)產(chǎn)生磁場(chǎng)的特性,用一個(gè)固定的永久磁鐵與通電導(dǎo)體產(chǎn)生磁力推動(dòng)固定在線圈上的鼓膜。電磁式由于音色好,所以多用于語音、音樂等設(shè)備。對(duì)于不同提示音且考慮實(shí)際,此種較好。

      方案二:壓電式蜂鳴器

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

      壓電式蜂鳴器用的是壓電材料,即當(dāng)受到外力導(dǎo)致壓電材料發(fā)生形變時(shí)壓電材料會(huì)產(chǎn)生電荷。同樣,當(dāng)通電時(shí)壓電材料會(huì)發(fā)生形變。壓電式結(jié)構(gòu)簡(jiǎn)單耐用但音調(diào)單一音色差,適用于警報(bào)器等設(shè)備。

      由于鬧鈴為音樂鬧鈴,所以使用電磁式蜂鳴器更為合適。

      2.硬件設(shè)計(jì)

      2.1 芯片的選擇

      2.1.1 單片機(jī)80C51 2.1.1.1單片機(jī)80C51的組成

      80c51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:

      中央處理器:

      中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。

      數(shù)據(jù)存儲(chǔ)器(RAM)8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。

      程序存儲(chǔ)器(ROM):

      8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。

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

      定時(shí)/計(jì)數(shù)器(ROM):

      8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。

      并行輸入輸出(I/O)口:

      8051共有4組8位I/O口(P0、P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。

      2.1.1.2

      MCS-51的引腳說明:

      MCS-52系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說明:

      MCS-51的引腳說明:

      MCS-52系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。

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

      圖1 80C51的引腳

      2.1.1.3 MCS-51單片機(jī)內(nèi)部定時(shí)器計(jì)數(shù)器、中斷系統(tǒng)簡(jiǎn)介(1)定時(shí)器計(jì)數(shù)器

      1、MCS-51系列中51子系列有兩個(gè)16位的可編程定時(shí)計(jì)數(shù)器可:定時(shí)計(jì)數(shù)器T0和定時(shí)計(jì)數(shù)器T1。它由加法計(jì)數(shù)器、方式寄存器TMOD、控制寄存器TCON等組成。方式寄存器用于設(shè)定定時(shí)計(jì)數(shù)器T0和T1的工作方式,控制寄存器用于對(duì)定時(shí)計(jì)數(shù)器啟動(dòng)、停止進(jìn)行控制。

      2、每個(gè)定時(shí)計(jì)數(shù)器既可以對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定時(shí),也可以外部信號(hào)計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能通過編程設(shè)定來實(shí)現(xiàn)。

      3、每個(gè)定時(shí)計(jì)數(shù)器都有多種工作方式,其中T0有四種工作方式,T1有三種工作方式,T2有三種工作方式。通過編程可設(shè)定工作于某種方式。四種工作方式為:13位定時(shí)計(jì)數(shù)器、16位定時(shí)計(jì)數(shù)器、8位自動(dòng)重置定時(shí) 6

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

      計(jì)數(shù)器、兩個(gè)8位定時(shí)計(jì)數(shù)器(只有T0有)

      4、每一個(gè)定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)時(shí)間到時(shí)產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式處理。

      (2)中斷系統(tǒng)

      1、MCS-51單片機(jī)提供5個(gè)硬件中斷源,2個(gè)外部中斷源,2個(gè)定時(shí)計(jì)數(shù)器T0和T1的溢出中斷TF0和TF1,1個(gè)串行口發(fā)送TI和接收RI中斷。

      2、MCS-51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位來控制的。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時(shí),中斷允許寄存器IE的內(nèi)容為00H,如果要開放某個(gè)中斷源,則必須使IE中的總控置位和對(duì)應(yīng)的中斷允許位置“1”。

      3、MCS-51單片機(jī)有5個(gè)中斷源,為了處理方便,每個(gè)中斷源有兩級(jí)控制,高優(yōu)先級(jí)和低優(yōu)先級(jí)。通過由內(nèi)部的中斷優(yōu)先級(jí)寄存器IP來設(shè)置,中斷優(yōu)先級(jí)寄存器IP的字節(jié)地址為B8H,可以進(jìn)行位尋址。如果某位被置“1”,則對(duì)應(yīng)的中斷源被設(shè)為高優(yōu)先級(jí);如果某位被清零,則對(duì)應(yīng)的中斷源被設(shè)為低優(yōu)先級(jí)。對(duì)于同級(jí)中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,從高到低優(yōu)先權(quán)順序?yàn)橥獠恐袛?、定時(shí)計(jì)數(shù)器T0中斷、外部中斷

      1、定時(shí)計(jì)數(shù)器T1中斷、串行口中斷。通過設(shè)置中斷優(yōu)先級(jí)寄存器IP能夠改變系統(tǒng)默認(rèn)的優(yōu)先級(jí)順序。

      4、MCS-51單片機(jī)響應(yīng)中斷的條件為:中斷源有請(qǐng)求且中斷允許。

      2.1.2 八位一體七段數(shù)碼管

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

      數(shù)碼管使用條件:

      a、段及小數(shù)點(diǎn)上加限流電阻。

      b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定。c、使用電流:靜態(tài):總電流 80mA(每段 10mA);動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA 上圖為七段數(shù)碼管引腳圖,其中共陽極數(shù)碼管引腳圖和共陰極相同。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。

      將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將“b”和“c”段接上正電源,其它端接地或懸空,那么“b”和“c”段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將“a”、“b”、“d”、“e”和“g”段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字符的顯示原理類同。

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

      2.1.3 并行接口擴(kuò)展芯片8255 8255內(nèi)部包括三個(gè)并行數(shù)據(jù)輸入/輸出端口,兩個(gè)工作方式控制電路,一個(gè)讀/寫控制邏輯電路和8位總線緩沖器。

      各部分功能概括如下:(1)端口A、B、C A口:是一個(gè)8位數(shù)據(jù)輸出鎖存器/緩沖器和一個(gè)8位數(shù)據(jù)輸入鎖存器。B口:是一個(gè)8位數(shù)據(jù)輸入/輸出鎖存器/緩沖器和一個(gè)8位數(shù)據(jù)輸入鎖存器。C口:是一個(gè)8位數(shù)據(jù)輸出鎖存器/緩沖器和一個(gè)8位數(shù)據(jù)輸入緩沖器(輸入不鎖存)。

      通常A口、B口作為數(shù)據(jù)輸入/輸出端口。C口作為控制/狀態(tài)信息端口,它在“方式控制字”的控制下可分為兩個(gè)4位端口,每個(gè)端口有一個(gè)4位鎖存器,分別與A口、B口配合使用,作為控制信號(hào)輸出或狀態(tài)信息輸入端口。

      (2)工作方式控制電路

      工作方式控制電路有兩個(gè),一個(gè)是A組控制電路,另一個(gè)是B組控制電路。

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

      這兩組控制電路具有一個(gè)控制命令寄存器,用來接受中央處理器發(fā)來的控制字,以決定兩組端口的工作方式,也可根據(jù)控制字的要求對(duì)C口按位清“0”或者按位置“1”。

      A組控制電路用來控制A口和C口的上半部分(PC7-PC4)。B組控制電路用來控制B口和C口的下半部分(PC3-PC0)。

      (3)總線數(shù)據(jù)緩沖器

      總線數(shù)據(jù)緩沖器是一個(gè)三態(tài)雙向8位緩沖器,作為8255與系統(tǒng)總線之間的接口,用來傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。

      (4)讀/寫控制邏輯電路

      讀/寫控制邏輯電路接受CPU發(fā)來的控制信號(hào)RD、WR、RESET、地址信號(hào)A1-A0等,然后根據(jù)控制信號(hào)的要求,將端口數(shù)據(jù)讀出,發(fā)往CPU,或者將CPU送來的數(shù)據(jù)寫入端口。

      2.2 電路的組成

      2.2.1 數(shù)碼管顯示電路

      數(shù)碼管顯示器成本低,配置靈活,與單片機(jī)接口簡(jiǎn)單,在單片機(jī)應(yīng)用系統(tǒng)中廣泛應(yīng)用。

      數(shù)碼管的工作原理如下:

      數(shù)碼管是由8個(gè)發(fā)光二極管構(gòu)成的顯示器件。在數(shù)碼管中,若將二極管的陽極連在一起,稱為共陽極數(shù)碼管;若將二極管的陰極連在一起,稱為共陰極數(shù)碼管。本次課程設(shè)計(jì)用到的8個(gè)數(shù)碼管均是共陽極的。當(dāng)發(fā)光二極管導(dǎo)通時(shí),它就會(huì)發(fā)光。每個(gè)二極管就是一個(gè)筆劃,若干個(gè)二極管發(fā)光時(shí),就

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

      構(gòu)成了一個(gè)顯示字符。將單片機(jī)的I/O口控制相應(yīng)的芯片與數(shù)碼管的a-g相連,高電平的位對(duì)應(yīng)的發(fā)光二極管亮,這樣,由I/O口輸出不同的代碼,就可以控制數(shù)碼管顯示不同的字符。8個(gè)數(shù)碼管均采用動(dòng)態(tài)顯示方式,顯示當(dāng)前的時(shí)間。

      2.2.2 鍵盤掃描電路

      鍵盤掃描電路圖

      鍵盤可分為兩類:非編碼鍵盤和編碼鍵盤;常見的非編碼鍵盤有兩種結(jié)構(gòu):獨(dú)立式鍵盤和矩陣式鍵盤。本次課程設(shè)計(jì)使用矩陣式鍵盤。

      矩陣鍵盤的工作原理:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。列線通過上拉電阻接到+5V 電源上。無按鍵按下時(shí),列線處于高電平的狀態(tài),而當(dāng)有按鍵按下時(shí),列線電平與此列線相連的行線電平?jīng)Q定。

      行列掃描法原理:第一步,使列線為編程的輸入線,行線是輸出線,拉低所有的行線,判斷列線的變化,如果有按鍵按下,按鍵按下的對(duì)應(yīng)列線被拉低,否則所有的列線都為高電平。第二步,在第一步判斷有鍵按下后,延時(shí)10ms消除機(jī)械抖動(dòng),再次讀取列值,如果此列線還處于低電平狀態(tài)則進(jìn)入下一步,否則返回第一步重新判斷。第三步,開始掃描按鍵位置,采用 11

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

      逐行掃描,分別拉低第一行,第二行,第三行,第四行,無論拉低哪一行其他三行都為高電平,讀取列值找到按鍵的位置,分別把行值和列值儲(chǔ)存在寄存器里。第四步,從寄存器中找到行值和列值并把其合并,得到按鍵值,對(duì)此按鍵值進(jìn)行編碼,與已經(jīng)設(shè)定好的鍵碼表進(jìn)行一一對(duì)比,如果不等,則繼續(xù)比較,如果相等,則利用轉(zhuǎn)移指令實(shí)現(xiàn)鍵盤掃描到按鍵功能的轉(zhuǎn)移。

      2.2.3 音樂鬧鈴電路

      蜂鳴器電路

      2.2.3.1 蜂鳴器

      蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型,他廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電話 12

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

      機(jī)等電子產(chǎn)品中作發(fā)聲器件。

      2.2.3.2 單片機(jī)驅(qū)動(dòng)

      單片機(jī)上面使用的蜂鳴器一般都是無源電磁式的蜂鳴器(如下圖所示)。它由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng),振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。

      蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)IO引腳輸出的電流較小,單片機(jī)輸出的TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。

      2.2.4 復(fù)位電路

      RESET/Vpd為復(fù)位信號(hào)復(fù)用腳,當(dāng)80C51通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),80C51的初始態(tài)。

      上電復(fù)位:上電復(fù)位電路是—種簡(jiǎn)單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過電容加到RST復(fù)位引腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù) 13

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

      位信號(hào)隨著VCC對(duì)電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。

      電路圖如下:

      上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。

      3軟件設(shè)計(jì) 4.調(diào)試

      5.新增功能及實(shí)現(xiàn)方法

      5.1定時(shí)器產(chǎn)生音樂的原理

      音樂的產(chǎn)生主要是通過單片機(jī)的I/O口輸出高低不同的脈沖信號(hào)來控制蜂鳴器發(fā)音。要想產(chǎn)生音頻脈沖信號(hào),需要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O口反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O口反相,這樣就能在此I/O口上得到此頻率的脈沖。

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

      通常,利用單片機(jī)的內(nèi)部定時(shí)器0,工作在方式1下,改變計(jì)數(shù)初值TH0和TL0來產(chǎn)生不同頻率。

      對(duì)于音樂的節(jié)拍,每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍。如果1拍為0.4S,1/4拍為0.1S,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,那么1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY,其余的節(jié)拍就是它的倍數(shù)。

      總而言之,一首樂曲是由音階和節(jié)拍兩大要素構(gòu)成。一首樂曲演奏的原理是:不同音階分別對(duì)應(yīng)不同的頻率,發(fā)出不同的音調(diào),而節(jié)拍則控制發(fā)出音調(diào)時(shí)間的長(zhǎng)短;若將樂曲的音調(diào)連續(xù)發(fā)出,并使其按相應(yīng)的節(jié)拍變化,即可演奏一首樂曲。根據(jù)這一特點(diǎn),我們采用單片機(jī)輔以相應(yīng)的接口來設(shè)計(jì)音樂播放器。

      5.2實(shí)現(xiàn)方法

      利用定時(shí)器產(chǎn)生音樂,添加了音樂鬧鐘功能,能在鬧鐘時(shí)間到來時(shí)蜂鳴器發(fā)出《祝你生日快樂》歌,但缺點(diǎn)是在響鈴時(shí)間里,無法正常顯示時(shí)間。在此次課程設(shè)計(jì)中,產(chǎn)生的音樂是利用查表法來改變定時(shí)器T1的初值,即改變音高,而通過延時(shí)來確定每個(gè)音符的長(zhǎng)短,即確定音長(zhǎng)。

      6.小結(jié)與體會(huì) 7.參考文獻(xiàn)

      【1】《單片機(jī)原理、接口及應(yīng)用——單片機(jī)嵌入式系統(tǒng)技術(shù)基礎(chǔ)(第2版)》,肖看、李群芳,清華大學(xué)出版社

      【2】《單片機(jī)原理及應(yīng)用》,霍孟友,機(jī)械工程出版社

      【3】《51系列單片機(jī)設(shè)計(jì)實(shí)例(第二版)》,樓然苗、李光飛,北京航

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

      空航天大學(xué)出版社

      8.附錄

      8.1 源程序代碼ORG 0000H LJMP START

      ORG 000BH LJMP T0INT;T0中斷服務(wù)程序

      ORG 001BH LJMP TIM0

      ;;;;;主程序;;;;;;;;START:LCALL CLEA

      START1:LCALL SCAN LCALL BELLSCAN LCALL KEYSCAN SJMP START1

      CLEA:MOV R0,#70H MOV R7,#0EH CLEAR:MOV @R0,#00H INC R0 DJNZ R7,CLEAR;70H~7CH賦值0 MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#03CH SETB EA SETB ET0 SETB EX0 SETB TR0 CLR IT0 MOV 72H,#10 MOV 75H,#10 MOV 68H,#55H MOV 69H,#01H MOV 6AH,#00H CLR P1.0 RET

      ;延時(shí)子程序1MS DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET

      DL10MS:ACALL SCAN ACALL SCAN ACALL SCAN RET

      ;《祝你生日快樂》音樂鬧鈴程序BELLSCAN:MOV A,6AH

      CJNE A,7AH,BELLOUT

      MOV A,69H

      CJNE A,79H,BELLOUT

      MOV A,68H

      CJNE A,78H,BELLOUT

      LCALL MUSIC BELLOUT:RET MUSIC:

      MOV IE,#8AH MOV 30H,#00H

      NEXT1:MOV A,30H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV R2,A JZ END0 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH

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

      JNZ SING CLR TR1 LJMP D1 SING:DEC A MOV 22H,A RL A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV TH1,A MOV 21H,A MOV A,22H RL A INC A MOVC A,@A+DPTR MOV TL1,A MOV 20H,A SETB TR1 D1:LCALL DELAY INC 30H LJMP NEXT1 END0:CLR TR1 LCALL BELLOUT

      TIM0:PUSH ACC PUSH PSW MOV TL1,20H MOV TH1,21H CPL P1.0 POP PSW POP ACC RETI

      DELAY:MOV R7,#02H D2:MOV R4,#187 D3:MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY RET

      TABLE1:DW 64260,64400,64521,64580

      DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217

      TABLE:;1

      DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H

      DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H;2

      DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H

      DB 0E2H,01H,0E1H,0D4H,0B4H DB 0C4H,0B4H,04H DB 00H

      SCAN:;把記的數(shù)送給偏移量

      MOV DPTR,#7FFFH MOV A,#80H

      MOVX @DPTR,A;寫控制字,在顯示程序中A口輸出,B口輸出

      MOV A,78H;秒 MOV B,#0AH DIV AB MOV 71H,A MOV 70H,B

      MOV A,79H;分

      MOV B,#0AH DIV AB MOV 74H,A MOV 73H,B

      MOV A,7AH;時(shí)

      MOV B,#0AH DIV AB MOV 77H,A

      MOV 76H,B;

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

      T0中斷允許

      ;循環(huán)掃描顯示,數(shù)碼管顯示程序,數(shù)碼管為共陽型

      MOV R1,#70H MOV R5,#80H;位選

      MOV R3,#08H SCAN1:MOV A,R5 MOV DPTR,#7FFCH MOVX @DPTR,A;送A口位選

      MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR

      MOV DPTR,#7FFDH MOVX @DPTR,A;送B口字形碼

      LCALL DL1MS

      INC R1;字形碼偏移量

      MOV A,R5 RR A;位選碼

      MOV R5,A DJNZ R3,SCAN1;8次

      MOV DPTR,#7FFCH MOV A,#00H MOVX @DPTR,A;A口清位選

      RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;對(duì)應(yīng)于“0”~“9”、“_”

      ;定時(shí)器T0中斷服務(wù)程序 T0INT:PUSH ACC

      CLR ET0;停

      CLR TR0;停T0工作

      MOV TL0,#0B0H MOV TH0,#03CH SETB TR0;開T0工作

      INC 7BH;7BH存放20

      MOV A,7BH

      CJNE A,#14H,OUTT0;20

      MOV 7BH,#00H

      INC 78H;78H秒

      MOV A,78H

      CJNE A,#3CH,OUTT0;60

      MOV 78H,#00H

      INC 79H

      ;79H分

      MOV A,79H

      CJNE A,#3CH,OUTT0;60

      MOV 79H,#00H

      INC 7AH

      ;7AH時(shí)

      MOV A,7AH

      CJNE A,#18H,OUTT0;24

      MOV 7AH,#00

      OUTT0:SETB ET0;開T0中斷允許

      POP ACC RETI

      ;;;;;;鍵盤掃描子程序;;;;;;;;

      KEYSCAN:MOV DPTR,#7FFFH MOV A,#82H

      MOVX @DPTR,A;寫控制字,此時(shí)A口輸出,B口輸入

      MOV DPTR,#7FFEH MOV A,#00H

      MOVX @DPTR,A;C口寫0

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

      MOV DPTR,#7FFDH MOVX A,@DPTR MOV B,A

      ;B口輸入

      CJNE A,#0FFH,HAVE KEYOUT: RET

      HAVE: LCALL DL10MS1 MOVX A,@DPTR CJNE A,B,KEYOUT;延時(shí)一段時(shí)間再檢測(cè)有鍵按下才開始掃描處理

      INC DPTR MOV A,#0FEH MOV B,A MOVX @DPTR,A;C口輸出行值

      MOV DPTR,#7FFDH MOVX A,@DPTR;B口輸入列值

      CJNE A,#0FFH,KEYLIE0

      MOV A,B RL A MOV B,A MOV DPTR,#7FFEH MOVX @DPTR,A;C口輸出行值

      MOV DPTR,#7FFDH MOVX A,@DPTR;B口輸入列值

      CJNE A,#0FFH,KEYLIE1

      MOV A,B RL A MOV B,A

      MOV DPTR,#7FFEH

      MOVX @DPTR,A;C口輸出行值

      MOV DPTR,#7FFDH

      MOVX A,@DPTR;B口輸入列值

      CJNE A,#0FFH,KEYLIE2

      MOV A,B RL A

      MOV DPTR,#7FFEH

      MOVX @DPTR,A;C口輸出行值

      MOV DPTR,#7FFDH

      MOVX A,@DPTR;B口輸入列值

      CJNE A,#0FFH,KEYLIE3 ACALL KEYOUT;

      KEYLIE0:MOV R2,#00H;R2 鍵碼 行值,第1行八個(gè)數(shù)

      LJMP KEYGET

      KEYLIE1:MOV R2,#08H;第2行,八個(gè)數(shù) LJMP KEYGET

      KEYLIE2:MOV R2,#10H;第3行,八個(gè)數(shù) LJMP KEYGET

      KEYLIE3:MOV R2,#18H;第4行,八個(gè)數(shù) LJMP KEYGET

      KEYGET:MOV B,A

      ;B中存放B口讀入的列值

      MOV DPTR,#KEYTAB MOV A,#0 NEXT: PUSH ACC

      MOVC A,@A+DPTR CJNE A,B,AGAIN

      POP ACC;A是偏移值,即列值 ADD A,R2;A中存放鍵碼

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

      MOV B,A RL A

      ADD A,B;PC偏移量

      MOV LJMP KEYFUN30 LJMP KEYFUN31 RET KEYTAB:DB

      0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DPTR,#KEYFUNTAB JMP @A+DPTR

      AGAIN: POP ACC INC A CJNE A,#8,NEXT ACALL KEYOUT

      KEYFUNTAB: LJMP KEYFUN00 LJMP KEYFUN01 LJMP KEYFUN02 LJMP KEYFUN03 LJMP KEYFUN04 LJMP KEYFUN05 LJMP KEYFUN06 LJMP KEYFUN07 LJMP KEYFUN08 LJMP KEYFUN09 LJMP KEYFUN10 LJMP KEYFUN11 LJMP KEYFUN12 LJMP KEYFUN13 LJMP KEYFUN14 LJMP KEYFUN15 LJMP KEYFUN16 LJMP KEYFUN17 LJMP KEYFUN18 LJMP KEYFUN19 LJMP KEYFUN20 LJMP KEYFUN21 LJMP KEYFUN22 LJMP KEYFUN23 LJMP KEYFUN24 LJMP KEYFUN25 LJMP KEYFUN26 LJMP KEYFUN27 LJMP KEYFUN28 LJMP KEYFUN29

      ;0 1 2 3 4 5 6 7

      RET

      DL10MS1:MOV R4,#20 DL3: MOV R5,#7DH DL4: NOP NOP

      DJNZ R5,DL4 DJNZ R4,DL3 RET

      KEYFUN00:MOV @R0,#00H MOV A,7EH

      CJNE A,#0FFH,CALCU

      RET

      KEYFUN01:MOV @R0,#01H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

      KEYFUN02:MOV @R0,#02H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

      KEYFUN03:MOV @R0,#03H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

      KEYFUN04:MOV @R0,#04H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

      KEYFUN05:MOV @R0,#05H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

      KEYFUN06:MOV @R0,#06H MOV A,7EH

      CJNE A,#0FFH,CALCU RET

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

      KEYFUN07:MOV @R0,#07H MOV A,7EH CJNE A,#0FFH,CALCU RET KEYFUN08:MOV @R0,#08H MOV A,7EH CJNE A,#0FFH,CALCU RET KEYFUN09:MOV @R0,#09H MOV A,7EH CJNE A,#0FFH,CALCU RET CALCU: MOV A,71H MOV B,#0AH MUL AB ADD A,70H MOV 78H,A MOV A,74H MOV B,#0AH MUL AB ADD A,73H MOV 79H,A MOV A,77H MOV B,#0AH MUL AB ADD A,76H MOV 7AH,A RET

      KEYFUN10://調(diào)時(shí)鍵 CLR TR0

      MOV R0,#77H;R0指向時(shí)的偏移量

      MOV 7DH,#00H;閃爍標(biāo)志位

      LCALL FLASH

      RET FLASH:MOV A,@R0 MOV @R0,#0BH;R0(此時(shí)77H)指向熄滅的偏移量

      MOV 7CH,#3DH;7CH單元存放循環(huán)次數(shù) RE: LCALL OFFSCAN DJNZ 7CH,RE;調(diào)用OFFSCAN60次,半秒

      MOV @R0,A;R0(此時(shí)77H)指向原來的偏移量

      MOV 7CH,#3DH RE1: LCALL OFFSCAN

      DJNZ 7CH,RE1;調(diào)用OFFSCAN60次,半秒 LCALL KEYSCAN;鍵盤掃描

      MOV A,7DH CJNE A,#0FFH,FLASH;判斷閃爍標(biāo)志位

      RET OFFSCAN: PUSH ACC MOV R1,#70H MOV R5,#80H;位選

      MOV R3,#08H OFFSCAN1:MOV DPTR,#7FFFH MOV A,#80H

      MOVX @DPTR,A;寫控制字

      MOV A,R5 MOV DPTR,#7FFCH MOVX @DPTR,A;A口輸出位選

      MOV A,@R1 MOV DPTR,#OFFTAB MOVC A,@A+DPTR

      MOV DPTR,#7FFDH

      MOVX @DPTR,A;B口輸出字形碼

      LCALL DL1MS

      INC R1

      ;R1指向下一個(gè)單元

      MOV A,R5 RR A MOV R5,A;位選

      DJNZ R3,OFFSCAN1;8次

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

      MOV DPTR,#7FFCH MOV A,#00H MUL AB ADD A,73H MOV 69H,A MOVX @DPTR,A;A口位選清零

      POP ACC RET OFFTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH,0FFH,89H RET //調(diào)時(shí)鍵按下

      KEYFUN11:INC R0 RET KEYFUN12:DEC R0 RET KEYFUN13://走時(shí)鍵

      MOV 7DH,#0FFH SETB TR0

      RET KEYFUN14://鬧鈴鍵 MOV R0,#77H MOV 7EH,#0FFH;改變顯示單元,不改變計(jì)數(shù)單元

      MOV 7DH,#00H;開FLASH標(biāo)志位

      LCALL FLASH RET

      KEYFUN15://鬧鐘時(shí)間確認(rèn)鍵,寫入計(jì)數(shù)比較單元

      MOV A,71H MOV B,#0AH MUL AB ADD A,70H MOV 68H,A

      MOV A,74H MOV B,#0AH

      MOV A,77H MOV B,#0AH MUL AB ADD A,76H MOV 6AH,A RET

      KEYFUN16:RET

      KEYFUN17:MOV 7DH,#00H MOV 70H,#0CH

      MOV 71H,#0BH

      MOV 72H,#0BH

      MOV 73H,#0BH

      MOV 74H,#0BH

      MOV 75H,#0BH

      MOV 76H,#0BH

      MOV 77H,#0BH;送熄滅符以及H符

      MOV R0,#70H

      LCALL FLASH

      RET

      KEYFUN18:MOV 7DH,#0FFH;關(guān)閉閃爍 LCALL CLEA RET KEYFUN19:RET KEYFUN20:RET KEYFUN21:RET KEYFUN22:RET KEYFUN23:RET KEYFUN24:RET KEYFUN25:RET KEYFUN26:RET KEYFUN27:RET KEYFUN28:RET KEYFUN29:RET KEYFUN30:RET KEYFUN31:RET ACALL KEYOUT END

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

      8.2電路圖

      總體電路圖

      第三篇:AVR單片機(jī)定時(shí)器TC0定時(shí)操作過程

      定時(shí)器T/C0定時(shí)功能實(shí)現(xiàn)過程

      一、中斷總使能:SREG=0X80;

      二、使能定時(shí)器溢出中斷,TIMSK的TOIE0置1

      三、選擇定時(shí)器時(shí)鐘分頻系數(shù),由TCCR0的CS01,CS01,CS00決定。

      四、定時(shí)器計(jì)數(shù)器付初始值,TCNT0=61,TCNT0位8位寄存器,計(jì)數(shù)范圍為0-255,付初始值61后,從61開始計(jì)數(shù)到255時(shí)產(chǎn)生溢出中斷

      付初值后定時(shí)就開始工作。

      定時(shí)時(shí)間計(jì)算:每個(gè)計(jì)數(shù)時(shí)鐘脈沖的時(shí)間T=1/f,f=晶振頻率/分頻系數(shù),如晶振為8MHZ,分頻系數(shù)為1024,則定時(shí)器器時(shí)鐘

      頻率為f=8000000HZ/1024=7812.5HZ,單個(gè)時(shí)鐘脈沖時(shí)間:T=1/f=1/7812.5=0.128ms(毫秒),T/C0最大的計(jì)數(shù)值 為256,最大計(jì)時(shí)時(shí)間為256*0.128ms=32.768ms。

      定時(shí)器初值計(jì)算公式:定時(shí)器初值=256-定時(shí)時(shí)間/單個(gè)時(shí)鐘脈沖時(shí)間: 如定時(shí)25ms,初值=256-25ms/0.128ms=256-195=61

      注:1MHZ=1000KHZ=1000000HZ,1s(秒)=1000ms(毫秒)

      /***************************************************************************************

      函數(shù)功能:定時(shí)器T/C0實(shí)現(xiàn)1秒鐘定時(shí),控制發(fā)光二極管周期性亮滅,晶振8MHZ

      ***************************************************************************************/

      #include

      char Counter = 0;// 1S計(jì)數(shù)變量清零,變量聲明

      /********端口初始化********/

      void port_init()//端口初始化子函數(shù)

      {

      PORTA=0xFF;//PA口配置為輸出

      DDRA=0xFF;//PA口初始值為“1”

      }

      /********定時(shí)器0初始化********/

      void timer0_init()//因?yàn)槎〞r(shí)時(shí)間太短,看不到燈的變化

      {

      SREG = 0x80;//使能全局中斷

      TIMSK|=(1<

      TCCR0|=(1<

      TCNT0 = 61;//定時(shí)初值設(shè)置,定時(shí)時(shí)間 =(256-61)/7812.5=25ms

      }

      /********主函數(shù)********/

      void main()

      {

      port_init();

      timer0_init();

      while(1);

      }

      /********定時(shí)器0中斷服務(wù)函數(shù)********/

      #pragma interrupt_handler timer0_ovf:10

      void timer0_ovf(void)

      {

      TCNT0 =61;//重裝計(jì)數(shù)初值

      if(++Counter >= 40)//定時(shí)時(shí)間到1S嗎?定時(shí)中斷溢出40次為1S,25ms*40=1000ms=1s(秒){

      PORTA^=BIT(0);//,將PA口的第0位取反操作。

      Counter = 0;//1S計(jì)時(shí)變量清零

      }

      }

      小企鵝diy科學(xué)探究學(xué)習(xí)網(wǎng)

      更多相關(guān)文章轉(zhuǎn)到: http://hi.baidu.com/wqb_lmkj/blog文章分類下的單片機(jī)

      第四篇:實(shí)驗(yàn)二 單片機(jī)定時(shí)器和計(jì)數(shù)器編程

      仲愷農(nóng)業(yè)工程學(xué)院實(shí)驗(yàn)報(bào)告紙

      信息學(xué)院(院、系)專業(yè)班組單片機(jī)原理及接口技術(shù)課實(shí)驗(yàn)二單片機(jī)定時(shí)器/計(jì)數(shù)器編程

      一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)定時(shí)器/計(jì)數(shù)器的工作方式;

      2、掌握單片機(jī)定時(shí)器/計(jì)數(shù)器的編程方法。

      二、實(shí)驗(yàn)內(nèi)容

      1、學(xué)習(xí)單片機(jī)定時(shí)器/計(jì)數(shù)器的工作方式、初始化以及應(yīng)用等;

      2、利用單片機(jī)定時(shí)器/計(jì)數(shù)器編寫程序驅(qū)動(dòng)開發(fā)板上的led和蜂鳴器按一定規(guī)律工作。

      三、實(shí)驗(yàn)設(shè)備

      1、STC單片機(jī)開發(fā)板;

      2、PC機(jī)以及串口線。

      四、實(shí)驗(yàn)步驟

      參考實(shí)驗(yàn)指導(dǎo)書。

      五、實(shí)驗(yàn)總結(jié)

      第五篇:實(shí)驗(yàn)報(bào)告二、單片機(jī)定時(shí)器的綜合應(yīng)用

      院系 物理與電子信息學(xué)院

      姓名 吳凱

      實(shí)驗(yàn)室 S2312

      課程 單片機(jī)原理與應(yīng)用

      試驗(yàn)項(xiàng)目編號(hào)

      專業(yè) 電子與電子信息工程班級(jí)10電專(2)學(xué)號(hào) 1060710057同組人/組號(hào)/指導(dǎo)老師肖鵬程日期成績(jī)?cè)囼?yàn)項(xiàng)目名稱單片機(jī)定時(shí)器的綜合應(yīng)用

      一、實(shí)驗(yàn)?zāi)康?.進(jìn)一步熟悉Keil uVision2軟件的應(yīng)用;

      2.進(jìn)一步熟悉Proteus7.8軟件的應(yīng)用;

      3.掌握單片機(jī)軟件延時(shí)和定時(shí)器的使用方法;

      4.掌握用C語言編寫方波發(fā)生器和彩燈控制器的方法。

      二、實(shí)驗(yàn)環(huán)境

      1.微機(jī)一臺(tái);

      2.Proteus7.8電路設(shè)計(jì)和仿真軟件;

      3.Keil uVision2編譯和調(diào)試軟件;

      三、實(shí)驗(yàn)原理

      圖1是單片機(jī)實(shí)現(xiàn)1KHz方波發(fā)生器的電路原理圖,P00接示波器,時(shí)鐘電路接在單片機(jī)的DIP18、DIP19,復(fù)位電路接在單片機(jī)的DIP9,DIP31接Vcc。注意:所有元器件要按實(shí)物重新封裝。

      用C語言編寫程序,使該電路的功能為,上電后示波器顯示1KHz的方波。當(dāng)示波器顯示的方波頻率不是1KHz時(shí),修改程序,使示波器顯示標(biāo)準(zhǔn)的1KHz方波。

      圖1單片機(jī)輸出控制電路原理圖

      C語言1KHz方波發(fā)生器的程序

      圖2是單片機(jī)實(shí)現(xiàn)彩燈控制器的電路原理圖,P00接8只LED,時(shí)鐘電路接在單片機(jī)的DIP18、DIP19,復(fù)位電路接在單片機(jī)的DIP9,DIP31接Vcc。注意:所有元器件要按實(shí)物重新封裝。

      用C語言編寫程序,使該電路的功能為,上電后8只LED燈顯示彩燈滾動(dòng)效果。修改程序,使彩燈顯示效果發(fā)生變化。

      圖2彩燈控制器電路原理圖

      C語言彩燈控制器的程序

      四、實(shí)驗(yàn)步驟

      1.在Proteus ISIS環(huán)境下設(shè)計(jì)一個(gè)用單片機(jī)產(chǎn)生1KHz方波發(fā)生器的電路原理圖,P00接示波器,時(shí)鐘電路接在單片機(jī)的DIP18、DIP19,復(fù)位電路接在單片機(jī)的DIP9,DIP31接Vcc。

      2.在Keil uVision2環(huán)境下,用C語言編寫單片機(jī)實(shí)現(xiàn)1KHz方波發(fā)生器的程序,編譯生成hex文件。

      3.將生成的hex文件加載到單片機(jī),運(yùn)行仿真,觀察現(xiàn)象,記錄結(jié)果;

      4.在Proteus ISIS環(huán)境下設(shè)計(jì)一個(gè)用單片機(jī)產(chǎn)生彩燈控制器的電路原理圖,P0接8只LED燈,時(shí)鐘電路接在單片機(jī)的DIP18、DIP19,復(fù)位電路接在單片機(jī)的DIP9,DIP31接Vcc。

      5.在Keil uVision2環(huán)境下,用C語言編寫單片機(jī)實(shí)現(xiàn)彩燈控制器的程序,編譯生成hex文件。

      6.將生成的hex文件加載到單片機(jī),運(yùn)行仿真,觀察現(xiàn)象,記錄結(jié)果;

      五、實(shí)驗(yàn)記錄與處理

      1.單片機(jī)產(chǎn)生1KHz方波發(fā)生器的實(shí)驗(yàn)結(jié)果

      圖3為1KHz方波發(fā)生器的仿真圖。

      圖3 1KHz方波發(fā)生器仿真圖

      當(dāng)延時(shí)常數(shù)為(),方波頻率為(當(dāng)延時(shí)常數(shù)為(),方波頻率為(數(shù)據(jù)處理:從以上數(shù)據(jù)我們可以看出,2.彩燈控制器的仿真結(jié)果

      數(shù)據(jù)處理:從以上數(shù)據(jù)我們可以看出,。))

      六、思考題

      1.簡(jiǎn)述單片機(jī)定時(shí)的幾種方法?每種方法舉例具體說明。答:

      2.與單片機(jī)的定時(shí)器有關(guān)的SFR有幾個(gè)?每個(gè)SFR具體說明。答:

      七、實(shí)驗(yàn)小結(jié)

      通過實(shí)驗(yàn)我熟悉了

      下載簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文五篇word格式文檔
      下載簡(jiǎn)析基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)論文五篇.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)范文推薦

        AVR單片機(jī)定時(shí)器輸出PWM的設(shè)計(jì)及注意問題

        一、定時(shí)/計(jì)數(shù)器PWM設(shè)計(jì)要點(diǎn) 根據(jù)PWM的特點(diǎn),在使用ATmega128的定時(shí)/計(jì)數(shù)器設(shè)計(jì)輸出PWM時(shí)應(yīng)注意以下幾點(diǎn): 1.首先應(yīng)根據(jù)實(shí)際的情況,確定需要輸出的PWM頻率范圍,這個(gè)頻率與控制的......

        單片機(jī)定時(shí)器控制交通燈程序1(精選5篇)

        定時(shí)器控制交通指示燈 /* 名稱:定時(shí)器控制交通指示燈說明:東西向綠燈亮5s后,黃燈閃爍,閃爍5次亮紅燈, 紅燈亮后,南北向由紅燈變成綠燈,5s后南北向黃燈閃爍, 閃爍5次后亮紅燈,東西向綠......

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

        單片機(jī)課程論文設(shè)計(jì) ——電子鐘 一 課程設(shè)計(jì)的主要內(nèi)容 1 設(shè)計(jì)思想 1.1硬件設(shè)計(jì)思想 1.1.1電路設(shè)計(jì)思想 電路原理圖見圖1,由動(dòng)態(tài)數(shù)碼顯示組成時(shí)、分、秒的顯示。把“單片機(jī)......

        51單片機(jī)論文

        課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)名稱:智能控制避障小車 學(xué)生姓名: 班 級(jí): 學(xué) 號(hào): 成 績(jī): 指導(dǎo)教師: 開課時(shí)間:2016-2017學(xué)年第 一學(xué)期 I 獨(dú) 創(chuàng) 聲 明 本人聲明所呈交的課程設(shè)計(jì)是本人在導(dǎo)......

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

        目錄題目:巡回檢測(cè)報(bào)警控制系統(tǒng)第一章 實(shí)驗(yàn)任務(wù)及要求............1功能描述................2元件選擇....... ................2第二章系統(tǒng)總體設(shè)計(jì)方案................3......

        多用途作業(yè)車除雪設(shè)計(jì)5則范文

        西南交通大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 第1 頁 多用途作業(yè)車除雪設(shè)計(jì)(供參考) 工作裝置的特點(diǎn) 犁板式的特點(diǎn) 犁板式除雪車安裝有犁板式除雪裝置,這種除雪裝置最大的特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單......

        555集成定時(shí)器課堂設(shè)計(jì)gai

        “555集成定時(shí)器”課堂教學(xué)設(shè)計(jì)思想 一、引題:教學(xué)目的(整體感知) 教學(xué)目的:通過引導(dǎo)學(xué)生關(guān)注555集成定時(shí)器的歷史發(fā)展,主要分析555集成定時(shí)器的內(nèi)部基本構(gòu)造,幫助學(xué)生認(rèn)識(shí)到理解......

        基于單片機(jī)的時(shí)鐘控制器設(shè)計(jì)論文

        單片機(jī)原理與應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告 基于單片機(jī)控制的時(shí)鐘控制器 專業(yè)班級(jí): _電氣XX班_ __ 姓名:__ ___XXX__ ___ 時(shí) 間:2013/11/25~12/15 指導(dǎo)教師: XXXX XXX 2013年12月11日......