主要內容
(參數)
設計一個以單片機為核心的頻率測量裝置
被測頻率fx<110Hz,采用測周法,顯示頻率×××. ×××;fx>110Hz,采用測頻法,顯示頻率××××××。
利用鍵盤分段測量和自動分段測量。
完成單脈沖測量,輸入脈沖寬度范圍是100us~0.1s。
顯示脈沖寬度要求如下。
Tx<1000us,顯示脈沖寬度×××。
Tx>1000us,顯示脈沖寬度××××。
任務要求
(進度)
第1-2天:熟悉課程設計任務及要求,查閱技術資料,確定設計方案。
第3-4天:按照確定的方案設計單元電路。要求畫出單元電路圖,元件及元件參數選擇要有依據,各單元電路的設計要有詳細論述。
第5-6天:軟件設計,編寫程序。第7-8天:調試。
第9-10天:撰寫課程設計報告。要求內容完整、圖表清晰、文理流暢、格式規范、方案合理、設計正確,篇幅合理。
目 錄
1 系統概述 2
1.1研究背景 2
1.2 發展現狀 2
1.3 單片機的發展 2
2 方案論證與選擇 3
2.1方案初步設計 3
2.1.1基于單片機的頻率計的設計 3
2.1.2基于單片機頻率計設計的優缺點 4
3 系統的硬件設計 4
3.1系統硬件電路的設計 4
3.1.1 單片機的管腳 4
3.1.2 單片機的外圍電路 5
3.1.3 液晶顯示模塊1602 6
3.1.4 硬件電路原理圖 7
3.1.5元器件的選擇 8
4 系統的軟件設計 9
4.1 定時器/計數器工作方式的設置 9
4.2 定時器/計數器開啟/關閉的設置 10
4.2.1 中斷的設置 10
4.2.2 液晶顯示模塊1602內部的控制指令 11
4.3 系統軟件設計中的主要流程圖 13
4.4 系統軟件設計中的主要子程序 15
4.4.1 T1計數器中斷服務子程序 15
4.4.2 T0定時器中斷服務子程序 16
4.4.3 數據處理子程序 16
5 程序的編譯、仿真 18
5.1在Keil環境下的程序編寫 18
5.2在PROTEUS環境下的仿真結果 20
6 結論 21
7 心得 22
8 參考文獻 23
1 系統概述 1.1研究背景 在電子系統非常廣泛的應用領域內,到處可見到處理離散信息的數字電路。數字電路制造工業的進步,使得系統設計人員能在更小的空間內實現更多的功能,從而提高了系統的可靠性和速度。集成電路的類型很多,從大的方面可以分為模擬電路和數字集成電路兩大類。數字集成電路廣泛用于計算機、控制與測量系統,以及其它電子設備中。一般說來,數字系統中運行的電信號,其大小往往并不改變,但在實踐分布上卻有著嚴格的要求,這是數字電路的一個特點。數字集成電路作為電子技術最重要的基礎產品之一,已廣泛地深入到各個應用領域。測量頻率是電子測量技術中最常見的測量之一,不少物理量的測量, 如時間、速度等都涉及到或本身可轉化為頻率的測量。數字頻率計是用數字顯示被測信號頻率的儀器,被測信號可以是正弦波、方波或其它周期性變化的信號,如配以適當的傳感器,可以對多種物理量進行測試,比如機械振動的頻率,轉速,聲音的頻率以及產品的計件等等。 因此,數字頻率計是一種應用很廣泛的儀器。 1.2 發展現狀數字頻率計發展到現在,有基于CPLD的數字頻率計的設計,基于VHDL語言的數字頻率計的設計,還有基于單片機的簡易數字頻率計等。CPLD是一種新興的高密度大規模可編程邏輯器件,它具有門陣列的高密度和PLD器件的靈活性和易用性,目前已成為一類主要的可編程器件;可編程器件的最大特點是可通過軟件編程對其器件的結構和工作方式進行重構,能隨時進行設計調整而滿足產品升級,使得硬件的設計可以如軟件設計一樣方便快捷,從而改變了傳統數字系統及用單片機構成的數字系統的設計方法、設計過程及設計概念,使電子設計的技術操作和系統構成在整體上發生了質的飛躍。VHDL誕生于1982年,是由美國國防部開發的一種快速設計電路的工具,目前已經成為IEEE的一種工業標準硬件描述語言;相比傳統的電路系統的設計方法,VHDL具有多層次描述系統硬件功能的能力,支持自頂向下(Top to Down)和基于庫(Library Based)的設計的特點。單片機技術在短短的20余年間已發展成為計算機技術中一個非常有活力的分支,它有自己的技術特征、規范、發展道路和應用環境。 1.3 單片機的發展目前計算機硬件技術向巨型化、微型化和單片化三個方向發展。自1975年美國德克薩斯儀器公司第一塊單片機芯片TMS-1000問世以來,在短短的30余年間,單片機技術已發展成為計算機技術中一個非常有活力的分支,它有自己的技術特征、規范、發展道路和應用環境。按單片機的生產技術和應用對象,單片機先后經歷了4位機、8位機、16位機、32位機幾個有代表性的發展階段。 單片機與通用微機相比較,在結構、指令設置上均有其獨特之處,其主要特點有: 1) 單片機的存儲器ROM和RAM是嚴格區分的,ROM稱為程序存儲器,只存放固定常數及數據。RAM則為數據存儲器,用于工作區及存放用戶數據。 - 采用面向控制的指令系統。
- 單片機的輸入/輸出引腳通常是多功能的。
- 單片機的外部擴展能力強。
從80年代單片機被引入我國,單片機已廣泛地應用于電子設計中。單片機的應用迅速發展,其性價比高,大量的外圍接口電路,使基于單片機的電子系統設計方便,周期縮短,而且不斷發展。新型單片機支持高級語言,進一步延伸了其發展空間。 2 方案論證與選擇 測量頻率有測頻法和測周法兩種。 (1)測頻法,利用外部電平變化引發的外部中斷,測算1s內的波數,從而實現對頻率的測定; (2)測周法,通過測算某兩次電平變化引發的中斷之間的時間,實現對頻率的測定。簡而言之,測頻法是直接根據定義測定頻率,測周法是通過測定周期間接測定頻率理論上,測頻法適用于較高頻率的測量,測周法適用于較低頻率的測量。 經過調校,在測量低頻信號時,本項目中測頻法精度已高于測周法,故舍棄測周法,全量程采用測頻法。 2.1方案初步設計2.1.1基于單片機的頻率計的設計 設計的基于單片機頻率計的原理框圖如圖2-1所示:
圖2-1基于單片機頻率計的設計的原理框圖(見附件)
復位電路采用上電復位方式,每次單片機上電工作時使單片機處于復位狀態,即初始狀態,為測量頻率作好準備。 時鐘電路中片內高增益反相放大器通過XTAL1、XTAL2外接作為反饋元件的晶振(呈感性)與電容組成的并聯諧振回路構成一個自激振蕩器向內部時鐘電路提供振蕩時鐘,由此向單片機提供振蕩脈沖。 AT89C51單片機內部具有2個16位的定時器/計數器,并可以在定時或計數溢出時產生中斷。將被測信號通過P3.5口送入單片機,將T0設置為定時方式,每50ms產生一次中斷,產生20次中斷所用時間正好為1S,將T1設置為計數方式,T1的初值設置為0,計65535個脈沖后產生一次溢出中斷,在T1中斷溢出時對溢出次數進行計數(計數值為N)。1S內T1計的總的脈沖數為65535×N+TH1×256+TL1,這個數值就是被測信號的頻率值。 單片機計的脈沖數值經過轉換送到液晶顯示模塊1602,從而顯示被測信號的頻率,測量結果用十進制表示,很直接。
2.1.2基于單片機頻率計設計的優缺點 優點:單片機在控制領域中有很多優點,如體積小、成本低、運用靈活、抗干擾能力強,可以方便地實現多機和分布式控制。并且利用單片機設計的頻率計原理框圖簡單,所用元器件少,電路不易出錯,其程序存放在內部存儲器上,不需要外部存儲器芯片,使用方法簡單。且單片機便宜、穩定、開發簡單、通用性好。 缺點:所測信號的頻率范圍窄,若要擴大頻率范圍需外加分頻器。 而課程設計所需要測得頻率不需要太大,因此不需要外加分頻器。顯示部分用液晶顯示模塊,以使測量結果更加直接、明確。
3 系統的硬件設計 3.1系統硬件電路的設計3.1.1 單片機的管腳 AT89C51單片機的管腳排部如圖3-1所示。
主電源引腳 VCC(40腳):接+5V電源正端。 VSS(20腳):接+5V電源地端。 圖3-1AT89C51單片機的管腳排布 外接晶體引腳 XTAL1(19腳):接外部石英晶體的一端。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。 XTAL2(18腳):接外部石英晶體的另一端。在單片機內部,它是片內振蕩器的反相放大器的輸出端。 輸入/輸出引腳 P0口(39~32腳):P0.0~P0.7統稱為P0口,在不接片外存儲器與不擴展I/O口時,可作為準雙向輸入/輸出口。 P1口(1~8腳):P1.0~P1.7統稱為P1口,可作為準雙向輸入/輸出口使用。 P2口(21~28腳):P2.0~P2.7統稱為P2口,一般可作為準雙向輸入/輸出口使用;在接有片外存儲器或擴展I/O口且尋址范圍超過256字節時,P2口用作高8位地址總線。 P3口(10~17腳):P3.0~P3.7統稱為P3口,除作為準雙向輸入/輸出口使用,還可以將每一位用于第二功能。 控制線 ALE/  (30腳):地址鎖存有效信號輸出端。  (29腳):片外程序存儲器讀選通信號輸出端,低電平有效。 RST/VPD(9腳):RST即為RESET,VPD為備用電源。該引腳為單片機的上電復位或掉電保護端。  /VPP(31腳):EA為片外存儲器選用端。該引腳有效(低電平)時,只選用片外程序存儲器,否則單片機上電或復位后選用片內程序存儲器。 3.1.2 單片機的外圍電路
1)時鐘電路 單片機的定時控制功能是用片內的時鐘電路和定時電路來完成的,而片內的時鐘產生有兩種方式:內部時鐘方式和外部時鐘方式,實際中常應用內部時鐘方式。設計的內部時鐘方式圖如圖3-2所示:
圖3-2內部時鐘方式圖 電容在22PF~33PF之間選擇,起微調作用,在此采用30PF。晶振可采用6MHz或12MHz,但是若用6MHz的晶振,所測頻率范圍太窄,最高只能測到250KHz,用12MHz的晶振,最高頻率可測到500KHz,故在此選用12MHz的晶振。 2)復位電路  單片機的復位電路可采用上電復位或按扭復位,實際中常應用上電復位的方式,設計的上電復位方式圖如圖3-3所示。 圖3-3上電復位方式圖
3.1.3 液晶顯示模塊1602  液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優點,近幾年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產品中。LCD型顯示器的構成原理很簡單,在兩片透明絕緣的有機薄膜或者玻璃之間均勻充填著液晶流體,底層透明薄膜上鍍有一層導電體,而頂層透明薄膜上則按需要的形狀敷有透明的導電電極,當電極通電后,就與下層導電體之間(約10μm)形成一個電場,由于這個電場的作用,其間的液晶體的透光狀況就發生了變化,從而對外來光線產生了吸收作用,使人們看見了與電極形狀相同的字形顯示。 1602采用標準的16腳接口,從該模塊的正面看,引腳排列從左向右為:1-16腳,1602的管腳排布如圖3-4所示。
圖3-4 1602的管腳排部
其中: 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。 第7~14腳:D0~D7為8位雙向數據線。 第15~16腳:空腳。 3.1.4 硬件電路原理圖
設計的系統硬件電路原理圖如圖3-5所示。
圖3-5系統硬件電路原理圖
硬件電路圖中,單片機的  管腳必須接高電平,因為接低電平時只選用片外程序存儲器,而試驗所用的是片內程序存儲器。液晶顯示器1602的VL管腳必須接一個電位器來調節,因為VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接 地電源時對比度最高,對比度過高時會產生“鬼影”,對比度過弱時,看不到屏幕上顯示的數據。 3.1.5元器件的選擇 硬件電路中所選用的元器件的規格/型號見表3-1 | | | | | | | | | | | | | | | | 10K/  W | | | 10K/  W | | | | |
表3-1硬件電路中所選用的元器件的規格/型號
4 系統的軟件設計 4.1 定時器/計數器工作方式的設置定時器/計數器T0、T1都有四種工作方式,可通過程序對TMOD設置選擇。TMOD的低四位用于定時器/計數器0,高四位用于定時器/計數器1。TMOD的位定義如圖4-1所示。         

圖4-1TMOD的位定義 C/T:定時或計數功能選擇位,當C/T=1時為計數方式;當C/T=0時為定時方式。 M1、M0:定時器/計數器工作方式選擇位。 GATE:門控位,用于控制定時器/計數器的啟動是否受外部中斷請求信號的影響。一般情況下GATE=0。 當M1M0=00時,定時器/計數器設定為工作方式0,構成13位定時器/計數器。計數值由下式確定:N=8192-X,式中N為計數值,X是THX、TLX的初值。計數范圍為1~8192。 定時時間由下式確定:T=N ×Tcy =(8192-X)Tcy,式中Tcy為單片機的機器周期。如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為1~8192us。 當M1M0=01時,定時器/計數器設定為工作方式1,構成16位定時器/計數器。在方式1時,計數器的計數值由下式確定:N=65536-X,計數范圍為1~65536。 定時器的定時時間由下式確定:T=N × Tcy =(65536-X)Tcy,如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為1~65536 us。 當M1M0=10時,定時器/計數器設定為工作方式2。方式2是自動重裝初值的8位定時器/計數器。在方式2時,計數器的計數值由下式確定:N=256-X,計數范圍為1~256。 定時器的定時時間由下式確定:T=N × Tcy =(256-X)Tcy,如果振蕩頻率為12MHZ,則Tcy=1us,定時范圍為1~256 us. 當M1M0=11時,定時器/計數器設定為工作方式3。方式3只適用于定時器/計數器T0。當T0工作在方式3時,TH0和TL0被分成兩個獨立的8位計數器。方式3下定時器/計數器的定時、計數的范圍和定時、計數值的確定同方式2。 在試驗中需將T0設置為定時方式,將T1設置為計數方式;定時器T0定時50ms,即50000us,需選用工作方式1,即M1M0=01,因此,在編制程序時,將TMOD的高四位設為0101,低四位設為0001。 4.2 定時器/計數器開啟/關閉的設置定時器/計數器的開啟和關閉可通過控制寄存器TCON來設置, TCON的位定義如圖4-2所示。         

圖4-2TCON的位定義 TF0(TF1):T0(T1)定時器/計數器溢出中斷標志位。當T0(T1)計數溢出時,由硬件置位,并在允許中斷的情況下,向CPU發出中斷請求信號,CPU響應中斷轉向中斷服務程序時,由硬件自動將該位清零。 TR0(TR1):T0(T1)運行控制位。當TR0(TR1)=1時啟動T0(T1);TR0(TR1)=0時關閉T0(T1)。該位由軟件進行設置。 TCON的低四位與外部中斷有關。 編寫程序時,若需啟動T0(T1),通過指令SETB TR0 或SETB TR1將TR0(TR1)設為1,需關閉T0(T1),通過指令CLR TR0 或CLR TR1將TR0(TR1)設為0。 4.2.1 中斷的設置 所謂中斷是指CPU對系統中或系統外發生的某個事件的一種響應過程,即CPU暫時停止現行程序的執行,而自動轉去執行預先安排好的處理該事件的服務子程序。當處理結束后,再返回到被暫停程序的斷點處,繼續執行原來的程序。實現這種中斷功能的硬件系統和軟件系統統稱為中斷系統。 試驗中涉及到的T0或T1的中斷,中斷的控制可通過中斷允許寄存器IE來設置。IE的位定義如圖4-3所示。
圖4-3IE的位定義 EA:中斷允許總控位。EA=0,屏蔽所有的中斷請求;EA=1,開放中斷。EA的作用是使中斷允許形成兩級控制。即各中斷源首先受EA位的控制;其次還要受各中斷源自己的中斷允許總控位控制。 ET2:定時器/計數器T2的溢出中斷允許位,只用于52子系列。 ES: 串行口中斷允許位。ES=0,禁止串行口中斷;ES=1允許串行口中斷。 ET1:定時器/計數器T1的溢出中斷允許位。ET1=0,禁止T1中斷;ET1=1,允許T1中斷。 EX1:外部中斷1的中斷允許位。EX1=0,禁止外部中斷1中斷;EX1=1,允許外部中斷1中斷。 ET0:定時器/計數器T0的溢出中斷允許位。ET0=0,禁止T0中斷;ET0=1,允許T0中斷。 EX0:外部中斷0的中斷允許位。EX0=0,禁止外部中斷0中斷;ET0=1,允許外部中斷0中斷。 試驗中需開中斷允許總控位,需允許定時器T0和T1中斷,因此在編程時使EA=1,使ET0=1且ET1=1。 中斷源有多種, 每個中斷源的優先級可通過中斷優先級寄存器IP進行設置并管理。IP的位定義如圖4-4所示。
圖4-4IP的位定義 PT2: 定時器/計數器T2的中斷優先級控制位。 PS: 串行口的中斷優先級控制位。 PT1:定時器/計數器T1的中斷優先級控制位。 PX1:外部中斷INT1的中斷優先級控制位。 PT0:定時器/計數器T0的中斷優先級控制位 PX0:外部中斷INT0的中斷優先級控制位。 試驗中為提高測量結果的準確度,需要將T1的中斷設置為優先,通過指令SETB PT1來實現。 4.2.2 液晶顯示模塊1602內部的控制指令 1602液晶模塊內部的控制器共有11條指令,控制指令表如表4-1所示:
表4-1控制指令表 它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置。
指令2:光標復位,光標返回到地址00H。
指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 。 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 指令7:字符發生器RAM地址設置 。 指令8:DDRAM地址設置 。 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 指令10:寫數據 。指令11:讀數據 。 在對液晶顯示模塊1602寫入指令或寫入數據前,需要進行初始化,如清屏幕,光標返回到00H位置,開顯示,將液晶模塊設置為雙行顯示等。編程時,要根據表3.1來編制程序,通過對RS、RW、D0-D7設置不同的高低電平來實現不同的功能。 4.3 系統軟件設計中的主要流程圖設計的主程序和T0中斷服務子程序的流程圖如圖4-5所示。 設計的數據處理子程序和T1中斷子程序的流程圖如圖4-6所示。
5 程序的編譯、仿真 5.1在Keil環境下的程序編寫1)建立一個新工程 單擊 Project 菜單,在彈出的下拉菜單中選中 New Project選項,然后選擇你要保存的路徑,輸入工程文件的名字,保存新工程的界面圖如圖5-1所示。 圖5-1新建工程
然后選擇單片機型號89c51 2)建立一個新的文件 單擊“File”菜單,再在下拉菜單中單擊“New”選項,此時光標在編輯窗口里閃爍,這時可以鍵入應用程序了,但應首先保存空白的文件,單擊菜單上的“File”,在下拉菜單中選中“Save As”選項單擊,屏幕如下圖所示,在“文件名”欄右側的編輯框中,鍵入欲使用的文件名,同時,必須鍵入正確的擴展名。注意,如果用C語言編寫程序,則擴展名為(.c);如果用匯編語言編寫程序,則擴展名為(.asm),然后單擊“保存”按扭。回到編輯界面后,單擊“Target 1”前面的“+”號,然后在“Source Group 1”上擊右鍵,添加文件的界面圖如圖5-2所示。 圖5-2 添加文件 然后單擊“Add File to Group ‘Source Group 1’”, 選中要添加的文件,然后單擊“Add ” 3)輸入源程序,進行編譯、仿真 輸入源程序后,單擊“project”按鈕下的“Build project, translate”按鈕,程序無錯誤時界面圖5-3如圖: 
圖5-3無錯誤界面 4)單擊“Project”菜單,再在下拉菜單中單擊"options for target'target1',出現選擇晶振頻率的界面圖如圖5-4所示。頻率改為12MHz 圖5-4 設置頻率界面 單擊圖中的“Create HEX File” 選項,使程序編譯后產生 HEX 代碼。程序即編寫好。 
5.2在PROTEUS環境下的仿真結果
圖5-5輸入頻率為1Hz時的仿真結果 
圖5-6輸入頻率為555Hz時仿真結果 6 結論 基于AT89C51單片機的液晶顯示頻率計包括單片機控制模塊和液晶顯示模塊,調試后的頻率計可測量方波、正弦波、脈沖信號等波形,測量最高頻率為500KHz,誤差為2Hz。本設計的創新點是:顯示部分采用液晶顯示模塊1602,顯示結果直接且能顯示多行多位,功耗小,使用壽命長。本設計的不足之處是:測量頻率范圍窄,需要進一步擴展。
7 心得 通過這次單片機課程設計,讓我感到了做好一件事是不容易的,對于單片機這門課,本來腦子里呈現出來就是一個‘難’字,果然,由于自己落下了一些內容后,沒有好好預習,導致全盤落下,最后搞得好多都不懂,自己也明白到后面的課程設計不好做,會更加難過。 老師布置任務后,都很迷茫,然后呢看著那些課程設計題目,自己選了一個,基于51單片機的數字頻率計的設計,這時才明白該好好做些事情了,自己開始查了好多資料,能用的微乎其微,當自己畫好電路圖后,又對程序開始發愁,又問了好多同學、學長還有網上的資料,終于,程序有了,然后運行的時候卻不行了,一直愁困了我好多天,終于在網上找到了答案,至此,課程設計基本完成,然后寫報告。真的,好久沒有這么認真做作業了,還有一年多時間,多學點東西才對。
4.4 系統軟件設計中的主要子程序
4.4.1 T1計數器中斷服務子程序
根據圖3.11中的T1中斷服務子程序流程圖設計的T1計數器中斷服務子程序如下。
TIMER1:
INC 2AH
RETI
4.4.2 T0定時器中斷服務子程序
根據圖3.10中的T0中斷服務子程序流程圖設計的T0定時器中斷服務子程序如下。
TIMER_INT:
CLR TR0
MOV TL0, TIMER_L
MOV TH0, TIMER_H
INC TIMCOUNT
MOV A , TIMCOUNT
CPL P1.4
CJNE A, #20H,T_END
CLR TR1
MOV TIMCOUNT ,#00H;
MOV INT_L, TL1
MOV INT_H, TH1
MOV INT_G, 2AH
MOV TH1, #00H
MOV TL1, #00H
MOV 2AH, #00H
SETB TR1
SETB TR0
RETI
4.4.3 數據處理子程序
根據圖中的數據處理子程序流程圖設計的數據處理子程序如下。
SBIN_SBCD:
CLR A
MOV T_G, A
MOV T_H, A
MOV T_M, A
MOV T_S, A
MOV R5, INT_G
MOV R7, INT_L
MOV R6, INT_H
MOV R2, #24
CLR C
SBIN_SBCD1:
MOV A, R7
RLC A
MOV R7, A
MOV A, R6
RLC A
MOV R6, A
MOV A, R5
RLC A
MOV R5, A
MOV A, T_S
ADDC A, T_S
DA A
MOV T_S, A
MOV A, T_M
ADDC A, T_M
DA A
MOV T_M, A
MOV A, T_H
ADDC A, T_H
DA A
MOV T_H, A
MOV A, T_H
ADDDC A, T_H
DA A
MOV T_G, A
MOV A, T_G
DA A
MOV T_G, A
DJNZ R2, SBIN_SBCD1
POP PSW
RET
完整的Word格式文檔51黑下載地址:
201423030309 鐘明超.doc
(802 KB, 下載次數: 155)
2018-11-21 18:22 上傳
點擊文件名下載附件
基于51單片機的數字頻率計的設計
|