[摘要] 一些單位區域內的調頻廣播電臺,多數還沿用傳統的模擬電路產生震蕩信號,通常信號穩定性和頻率的準確性相對比較差,同時頻率調節也往往不方便。高度集成的調頻立體聲發射電子芯片,其震蕩頻率十分穩定。以調頻立體聲發射電子芯片為基礎,以單片機為控制核心加上少數的其他電子元件就可以組成一臺高頻多頻點的高保真的調頻立體聲的廣播電臺的信號發送器,發射不同頻率信號所需的操作直接簡單、發射信號穩定、發射頻率直觀顯示,結構精巧,與傳統的調頻臺相比較更加靈便,可運用于一定范圍內的無線廣播,具有較強的實際意義。 目 錄 引言----------------------------------------------------------------1 第1章 調頻廣播系統------------------------------------------------2 1.1調頻廣播的基本原理--------------------------------------2 1.2調頻廣播系統--------------------------------------------4 第2章 系統設計方案------------------------------------------------5 2.1單片機控制系統------------------------------------------5 2.2顯示器--------------------------------------------------6 2.3調頻調制發射器------------------------------------------7 2.4 鍵盤電路------------------------------------------------7 第3章 系統硬件設計------------------------------------------------8 3.1 電源電路設計--------------------------------------------8 3.2 單片機控制電路------------------------------------------9 3.2.1 單片機引腳接口-----------------------------------11 3.2.2 鍵盤電路-----------------------------------------12 3.2.3 LED數碼顯示管------------------------------------14 3.3 調頻調制發射電路的設計---------------------------------14 3.3.1 BH1415F的主要特點 ----------------------------14 3.3.2 BH1415F使用參數----------------------------------14 3.3.3 BH1415F 引腳功能---------------------------------15 第4章系統軟件設計-----------------------------------------------17 4.1 內存單元規劃------------------------------------------17 4.2 主要功能程序------------------------------------------17 第五章軟件調試及proteus仿真-------------------------------------24 5.1 軟件調試----------------------------------------------24 5.2 proteus仿真-------------------------------------------24 結 論------------------------------------------------------------25 致謝--------------------------------------------------------26 參 考 文 獻-------------------------------------------------------27 附錄(單片機匯編程序清單)----------------------------------------28 引言 當今電子信息技術發展突飛猛進,許多原來通過機械調節的一些高低頻電信設備,現在都可以通過電子技術自動調諧實現。如早期電臺的無線電信號發射,信號調節不方便,信號發射頻率不準確,F在基于新的電子技術的發展,可用一種新的軟硬件相結合的數字電子綜合應用技術來取代過去模擬電路發射技術。以往一些單位區域內的調頻廣播電臺,多數還在沿用傳統的模擬電路產生震蕩信號作為信號發射的載波信號,所用的發射頻率往往固定單一,而且信號穩定性和頻率的準確性相對比較差,同時頻率調節也往往不方便不準確。 隨著現代電子技術的不斷向前發展,已出現高度集成的調頻立體聲發射電子芯片,其震蕩頻率十分穩定,且芯片結構小巧使用方便。如日本ROHM公司研發的BH1415F—BH1417F型號的調頻立體聲發射集成電路芯片,芯片內部的鎖相環電路將發射信號頻率鎖定,所以發射信號很穩定, 不會發生頻率跳變,這比傳統的模擬電路所產生的振蕩發射信號,集成電路芯片的信號發射頻率穩定性是突出的優點。從20世紀70年代末以來,單片機作為微型機控制系統的重要組成部分,由于其強大的實用性,發展非常迅速。單片機具有功能豐富、程序可編程、自動化程度較高、直接面向控制對象、工作穩定可靠等優點,所以,在工業控制、機電一體化等方面都有很普遍的運用。 本選題以無線電發射技術為根底,應用高度集成的立體聲發射集成電子芯片,以單片機為核心,加上少數的外圍芯片和控制元件,通過單片機接口技術,完全可以組成一臺信號調節方便、發射頻率顯示直觀的高頻多頻點的全數字高保真的調頻立體聲的信號發送器。與傳統的模擬調頻臺相比結構精巧,更加靈便穩定,可運用于一定范圍內的無線廣播,具有一定的實際意義。
· 調頻廣播系統 1.1 調頻廣播系統的基本原理 由于語言、音樂所產生的電信號頻率太低,達到一定距離后便不能夠傳播。通常做法是先將這些低頻信號“加載”到高頻信號上,然后再通過天線發射出去,我們通常把帶有信息的低頻信號稱為調制信號。載運調制信號的高頻震蕩波通常被稱為“載波”,產生高頻振蕩的電路叫作高頻振蕩器。將調制信號加載到高頻震蕩器中,使高頻振蕩器的電參數按調制信號的強弱而變化的過程稱為“調制”。通過調制后得到的高頻震蕩波被我們稱為“調制信號”,或我們簡稱它為調制波。經過傳輸線路將調制信號放大后送至發射天線,就能夠向外復射電磁波了。 高頻震蕩的瞬時電壓表達式: u=Ucos(ωt+Φ) (1-1) 要求用公式編輯器生成 其中,U表示振幅,ω表示角頻率,Φ為初相角。當ω和Φ一定時,通過公式我們可以看出u隨U(振幅)的變化而改變,則我們把這種調制方式稱為調幅調制即為(AM)。經過調幅后的已調信號被我們稱之為“調幅波”。當U和Φ一定時,通過公式我們可以看出u隨調制信號的ω(角頻率)的變化而變化,則我們把這種調制方式稱為調頻調制即為(FM),通過調頻后的已調信號被我們稱為“調頻波”?梢娬{頻就是使高頻震蕩的頻率依照調制信號電壓的變動而變動,并且高頻震蕩振幅保持不變。得到的已調波是一個頻率隨調制信號電壓變化的等幅波。因此調頻就等于頻率調制。 在調頻方式和調幅方式中,調頻方式有載波功率利用系數高、抗干擾能力強、運行相對穩定等優點,因此調頻方式廣泛地應用在通信、廣播、遙控遙測等方面。 圖1-1 調頻波與調幅波原理圖 1.2調頻廣播天線組成 (在這里加那么幾句話說明我們國家的無線電發射通常采用調頻發射) 調頻廣播系統由發射與接收兩部分組成。主要的組成電路有調制信號調理、調頻激勵放大、功率放大、天線發射、天線接收、調諧回路、解調回路、音頻放大電路、揚聲器等。 在發射端,我們一般將調制信號送到激勵器中進行頻率的調制,如果最終所得的已調信號與發射頻率的載頻比相比較較低的話。這時,我們還需要將其變頻到所要求的發射頻率上。而后通過功率放大器放大到我們所實際需要的功率,最后由電纜將我們已調制好的信號傳輸到發射天線上發射出去。 在接收端,接收天線主要負責接收我們所發射的已調信號,將所接收的已調信號通過調諧回路后就可以選擇出我們所想要的頻率。隨后經過解調器從已調信號中檢測出之前所調制的信號,并由音頻放大器進行放大,最后由揚聲器還原成為聲音信號。 單片機數控小功率調頻發射器與常用的模擬電路調頻發射器相比有以下優點:一般市場上的調頻發射產品,其發射頻率大多是固定的,出廠的設定值頻率一般都不可調。如果在某地,兩臺頻率相近或相同的頻率發射器同時工作,就會產生互相干擾甚至不能進行正常工作。而單片機數控小功率調頻發射器,其最大優點就是發射頻率可隨時控制和調節,可方便改變頻率發射,并且單片機數控小功率調頻發射器使用比較方便、體積較小是室內小功率調頻發射器的不二之選,調頻臺可在87.8MHz~107.9MHz頻率段內設置我們所需要的發射頻率,頻率調節的最低改變數值為0.1MHz。 2 系統設計方案 單片機數控小功率調頻發射系統主要的模塊由單片機系統、顯示電路、調頻控制、發射電路等組成。 2.1 單片機控制系統 本世紀以來單片機的發展壯大十分迅速,諸如51單片機系列、STM32系列、AVR系列等等。而本選題選用的是AT89C52型,它是一種CMOS 8位微控制器。其外圍引腳及功能特性如圖2-1及表2-2所示。 圖2-1 單片機引腳圖 AT89C52主要功能特性(表2-2)為什么是表2-2?表2-1呢? 8K字節可重擦寫Flash閃速存儲器
| 兼容MCS-51指令系統
| 1000次可擦寫周期
| 全靜態操作:0Hz-24MHz
| 三級加密程序存儲器
| 256×8字節內部RAM
| 32個可編程I/O口線
| 3個16位定時/計數器
| 8個中斷源
| 可編程串行UART通道
| 低功耗空閑和掉電模式
| 2個串行中斷
| 2個外部中斷源
| 2個讀寫中斷口線
|
2.2顯示器 加幾句話說明這里設計顯示器是干什么用 通常情況下嵌入式系統所選擇的顯示器有以下兩種: · LED顯示器。LED顯示器是從發光二極管不斷創新發展過來的一種元器件。是LED的改進型。普通的分法是將LED顯示器分為LED數碼管顯示器和LED點陣顯示器兩種類型。LED具有耐用、亮度高、視角寬、反應靈敏、可靠性較高等特點,而LED數碼管只能顯示數字和少數幾個英文字符,顯示內容與LED顯示器相比更為單調。而LED點陣屏能顯示各種圖形信息,但由于它的體積較大,而在市場上能買到的最小的8×8點陣有3cm×3cm大,所以LED點陣屏較適合用于商業展牌、滾動電子告示牌等需要大面積顯示的固定地方,不太適合用移動設備。在動態掃描時,我們假設8段LED數碼管顯示器同時被點亮狀態,這時我們按每段流過5mA電流來算每個數碼管就有40mA的電流,如果像本實驗那樣需要多個數碼管的話,則需要的電流會更大。 · LCD液晶顯示器。LCD液晶顯示器顯示的原理是利用光的偏振現象來實現的。我們一般也將其分為數字型LCD(與LED數碼顯示器相同,只能顯示數字和少數幾個英文字符)和點陣型LCD。前者主要用來顯示簡單的字符或者是簡單的英語字母等。后者能顯示各種復雜的字符和數字圖形,因此點陣型LCD與數字型LCD相比應用比較廣泛。LCD液晶器本身是不能產生光的,而是通過利用光的偏振原理反射或者透視其他光源來顯示,因而功 耗較低,可靠性較高,耐用,小巧靈活,電路簡單,在嵌入式移動設備、掌上設備、等領域有著廣泛地應用。 由于單片機數控小功率調頻發射器只要求顯示數字和小數點不需要復雜的顯示,故本選題選擇了的LED七段數碼顯示管,顯示更為直觀方便。 2.3調頻調制發射 日本ROHM公司所推出的BH1414F~BH1417F調頻立體聲發射集成電路,其高頻震蕩部采用了頻率合成電路,振蕩頻率十分穩定,并可以方便地改變發射頻率。BH1415F可由外接的MCU控制, BH1415F、BH1417F適用于本選題的87.8~107.9MHz頻段,而BH1416F則適用于日本國的頻段。 BH1415F、BH1417F都是非常實用的立體聲發射集成電路,它集鎖相環電路、立體聲編碼電路、發送電路等于一體,外圍加上少數幾個元器件就能夠組成一臺高頻多頻點的高保真調頻立體聲發送器。 由于BH1415F調頻發射集成電路的發射頻率可用單片機的串行接口直接進行控制,所以數控小功率調頻發射器選用日本ROHM公司生產的BH1415F集成電路芯片作為調頻發射電路芯片。 2.4按鍵電路 同樣與上面一樣加幾句話說明按鍵是干什么用 按鍵電路采用行列式鍵盤,并由單片機P1口進行掃描。通常來講,鍵盤按鍵時多使用行列式或者是帶鉗位的行列式鍵盤。因本選題使用了16個按鍵,所以設計中采用4×4行列式鍵盤結構。各個按鍵都有其一一對應的行數和列數。 3 系統硬件設計 3.1電源電路的設計 電源電路在本實驗中采用了機內變壓器供電,并有備選方案使用機外外接電源進行供電方式,以上方式皆可,proteus電源電路仿真圖如下圖3-1所示。兩種供電方式通常情況下可實現自動切換,其中機外外接供電在接入時無需辨認直流電源的極性。 本實驗中機內變壓器通入的輸入端交流電壓為220V,而輸出的電壓在這里設置成8V,脈動電壓由全橋式整流電路輸出,經過470μF的濾波電容濾波,得到大約為9V的平穩的直流電壓(如下圖proteus仿真所示)。再經過三端穩壓器7905進行穩壓并輸出穩定的-5V電壓。三端穩壓塊LM7905在這里的作用是將9~18V的直流電壓進行降壓處理并穩定成-5V的輸出電壓,采用三端穩壓集成塊電路簡單而成本低,所以應用很廣泛。 外接的供電口電源必須通過機內另一組全橋式整流電路進行整流,然后通過470μF的濾波電容進行濾波、三端穩壓器7905進行穩壓、最后輸出。由于輸入口的整流橋,直流輸入電源的正負極性可任意接,也可接入8~12V的交流電源。 圖3-1 電源電路仿真 3.2單片機控制電路系統設計 控制電路采用了最小化的應用系統設計。單片機系統電路接口可大致如圖3-2所示。(大致兩字去了) 圖3-2 單片機主電路仿真 (該圖名改為小功率的數控調頻發射電路) 3.2.1單片機引腳接口 (1)AT89C52單片機的P0口與P2口共同驅動共陰極的LED。P0口為段碼輸出口,P2.3、P2.2、P2.1、P2.0端口分別為控制數碼管的百位、十位、個位、小數位的掃描(如上圖proteus仿真)。當相應的端口變成高電平時,驅動其對應的的三極管會導通,-5V的電壓(由三端穩壓器7905實現)通過驅動三極管給數碼管相應的位供電,這時只要P0口送出數字的顯示代碼(附錄中有詳細的顯示程序說明),數碼管就能顯示我們設置的發射頻率數值。因為要顯示四個數碼管數字,所以本實驗使用動態掃描的方法來完成。即先讓小數位顯示1ms。然后再讓個位顯示1ms。再讓十位顯示1ms。百位顯示1ms。然后不斷循環,根據人眼的視覺殘留效應,只要能在20ms內完成掃描的話,我們就可看到四個穩定顯示的數字。 (2)P1.0~P1.7口作為鍵盤電路的接入口,其中的4個按鍵分別為百十個位以及小數位的頻率操作按鍵。百位數只能是0或1。當百位數為0時,十位數為8或9;當百位數為1時,十位數只能為0,各位及小數位為0~9之中的任意數(發射頻率為87.8~107.9MHz)。后11個鍵為本實驗的發射頻率預置鍵(附錄有說明),最后一個鍵為控制單聲道與立體聲轉換的按鍵。 (3)單片機AT89C52中P3.0、P3.1、P3.6被用作BH1415F的通信端口,被我們用作傳送發射頻率控制數據給BH1415F芯片,P3.5接有發光二極管,當為立體聲發射時二極管亮,被用來顯示立體聲發射指令。AT89C52的復用引腳功能如下表3-3所示 T89C52復用引腳功能表(表3-3)? 表的標注規及表的格式定學校有規定,你自己要清楚 引腳號
| 第二功能特性
| P1.0
| T2(定時/計數器2外部計數脈沖輸入),時鐘輸出
| P1.1
| T2EX(定時/計數器2)
| P3.0
| RXD(串行輸入口)
| P3.1
| TXD(串行輸出口)
| P3.2
| ____ INTO (外部中斷0)
| P3.3
| ___ INT1 (外部中斷1)
| P3.4
| T0(定時/計數器0)
| P3.5
| T1(定時/計數器1)
| P3.6
| __ WD (外部數據存儲器寫選通)
| P3.7
| __ RD (外部數據存儲器讀選通)
|
(4)時鐘電路。時鐘電路采用片內時鐘電路。第18腳和第19腳分別構成片內震蕩器的反相放大器的輸入端和輸出端(如圖3-4所示),并聯諧振回路的時鐘電路由兩個補償電容和外接的石英晶體一起構成。電容C3、C4的取值為30PF(±10PF)。單片機系統中晶振可供選擇的范圍為0~24MHz。本選題中采用了12MHz的晶振,外接石英晶體以及補償電容C3、C4的數值大小會改變振蕩器中頻率的大小、振蕩頻率的波動幅度、起振時間的長短等各種參數指標。第18腳和第19腳外接石英晶體諧振器,一同組合成自激振蕩器。外接電容C3、C4取值為30PF。 (5)復位電路。當單片機上電時,只需不斷地給RST引腳高電平,系統方可完成復位。外部復位電路的設計初衷是為內部復位電路提供兩個周期以上的高電平。本實驗中采用的是系統自動上電復位的方法,由于上電瞬間時電容器兩端的Uc不會發生突變,所以RST引腳上的Urst是電源電壓Vcc與電容器兩端的電壓Uc之差,而由于一開始電容器兩端的電壓幾乎為0,所以RST引腳上的Urst大小與Vcc基本相同。而因為電容器上的電壓Urst隨著充電時間的增加在不斷的上升,所以RST引腳的電壓Urst就不斷下降,通常情況下RST引腳上只要能保持十毫秒以上的高電位的話,系統就能自動復位。一般電容C2可取10~33μF,電阻R1可取1.2~10kΩ,充電時間常數為10×10 =100 ms。 3.2.2鍵盤電路 按鍵電路采用行列式鍵盤,并由單片機P1口進行掃描。通常來講,鍵盤按鍵時多使用行列式或者是帶鉗位的行列式鍵盤。因為在按鍵數量較多時行列式鍵盤在占用相同數量I/O口時能設置的按鍵較點式鍵多,因本實驗使用了16個按鍵(4個按鍵為控制小數點后一位、個位、十位、百位,1個按鍵被設置為切換單聲道和立體聲,剩下的11個按鍵為頻率預置數按鍵),所以設計中采用行列式鍵盤結構。在行列式鍵盤中,鍵盤中每個按鍵都有它所對應的行數和列數來進行區分,這樣以行列值為基礎的編碼可以另每個按鍵對應的編碼是唯一的。按鍵電路處理程序的流程是:先確定有無鍵(被)按下并判別是哪一個鍵(被)按下。得到相應的鍵號。由于在閉合或者斷開時會有抖動,所以讀鍵程序中要設施延時程序來消除按鍵抖動帶來的影響(消抖程序詳見附錄)。在兩個行列口線中,一個負責輸出掃描碼,另一個負責讀入按鍵的狀態,由行掃描時接地的行線及讀回時低電平的列線就可以確定是哪一個開關按住了。通過軟檢查表P1口的掃描字及讀回值,就可以查出該鍵的鍵號并執行相應的功能了。如圖3-4所示。 圖3-4 鍵盤電路仿真 3.2.3 LED數碼顯示管 LED數碼顯示管是為了顯示數字和簡單的幾個英文字母而設計的一種顯示器。七段LED數碼管顯示器的外觀字形圖如圖所示,發光二極管被做成了條狀結構,由內部按連接的不同我可以將其分為共陽與共陰兩類。 圖3-5 數碼管的結構 共陰七段LED在顯示0~9的數字時,是靠控制陽極端的電位(高電位或低電位)就可以控制不同段的LED發光。比如顯示“0”時,只要將abcdef端口接正極;要顯示“1”時,只要將bc端口接正極。表3-6為共陰LED數碼管顯示“0~9”數字時LED陽極端口的電平情況,0表示接低電平,1表示為開路高電平狀態。 表3-6 共陰數碼管顯示段碼表??? 設計選擇的共陰七段LED紅色數碼管,每個LED數碼管都帶有小數點顯示,其中小數點LED器件為圓形,用于顯示小數點。用一個單片機的八位端口(本實驗采用P0端口)剛好可控制LED數碼管的八個陽極,下圖為單片機與四個帶小數點顯示的LED共陰顯示器接口圖。其中P2口的四個端口通過四個PNP三極管驅動電源為四個LED數碼管輪流提供電流,P0口的八個端口為對應的數碼管顯示數據提供段碼,串聯電阻為限流電阻用于限定發光管的點亮電流。在顯示器工作時,通過單片機程序依次為四個數碼管器件供應電源并將對應數字的段碼輸出至P0端口,每個數碼管一般點亮時間為1毫秒(一個掃描顯示周期下來為4毫秒,少于20毫秒)。 圖3-7 顯示電路仿真 3.3 調頻調制發射電路的設計 3.3.1 BH1415F的主要特點 BH1415F射頻調制集成電路主要特點有:集預加重電路、限幅電路、低通濾波電路(LPF)于一體。使其音頻信號的質量與分立元件的電路相比有較大改進;導頻方式的立體聲調制電路;采用了鎖相環技術鎖頻并與調頻發射電路一體化,發射頻率非常穩定。BH1415F芯片采用了單片機數據直接設置頻率的機制,可設定的頻率范圍比較大(87.7~107.9MHz),能滿足大多數場合的需求。因此本選題使用BH1415F作為立體聲調制的無線發射傳輸芯片。 3.3.2 BH1415F使用參數 表3-8 BH1415F使用參數表 ??還是表的表達 項目
| 符號
| 數值
| 單位條件
| 工作電源電壓
| Vcc
| 4.0~6.0V
| 8、12腳
| 工作溫度
| Topr
| -40~85℃
|
| 音頻輸入電平
| VIN-A
| -10dBV
| 1、22腳
| 音頻輸入頻率
| fIN-A
| 20~15K Hz
| 1、22腳
| 預加重延時
| TPRE
| 0~155μS
| 2、21腳
| 發射頻率
| fTX
| 87.7~107.9MHz
| 9、11腳
| 高電平電壓標準(H)
| VIH
| 0.8Vcc~Vcc
| 15、16、17、18腳
| 低電平電壓標準(L)
| VIL
| GND~0.2Vcc
| 15、16、17、18腳
| 相位比較輸出電壓
| Vout-p
| -0.3~ Vcc+0.3V
| 7腳
| 功率消耗
| Pd
| 450mW(max)
|
|
3.3.3 BH1415F引腳功能 表3-9 BH1415F引腳功能表 引腳號
| 功能
| 電壓值
| 1
| 右聲道輸入端:通過電容器與右聲道音頻信號相連
| 1/2VCC
| 22
| 左音源輸入端:通過電容器與左聲道音頻信號相連
| 1/2VCC
| 2、21
| 時間常數端:它連接一個電容為時間常數τ=22.7kΩC
| 1/2VCC
| 3、20
| LPF 時間常數端:這是15KHz LPF.它連接150P 電容
| 1/2VCC
| 4
| 濾波器端:它是聲頻部份濾波器叁考電壓
| 1/2VCC
| 5
| 立體聲復合信號輸出端:接一只滑動變阻器可調節立體聲聲音的大小,它連接到調頻調制器
| 1/2VCC
| 6
| 接地端 GND
|
| 7
| PLL相位檢波器輸出端:它連接到PLL LPF電路
| 4/7Vcc
| 8
| 電源供給端
|
| 9
| 射頻振蕩器端:這是振蕩器基端,它連接振蕩時間常數
| Vcc-1.9
| 10
| 射頻地端 GND
| Vcc
| 11
| 射頻發送輸出端
|
| 12
| PLL電源供給端 Vcc
|
| 13、14
| Xtal 振蕩器端:它連接一個7.6MHz 晶振
|
| 15
| 芯片允許端:連續輸入高電平數據
|
| 16
| 時鐘輸入端:帶數據和 同步的時鐘在序列數據輸入
|
| 17
| 數據輸入端:串行數據輸入
|
| 18
| 靜音端:mute on (大于0.8Vcc);mute off(小于0.2Vcc)
|
| 19
| 控制信號的調節端
| 1/2Vcc
|
圖3-10 BH1415F 電原理圖 4 系統軟件設計 4.1內存單元規劃 為了處理調頻發射器控制操作中的一些數據運算,本設計中編者在單片機內存中使用了多個專用的地址來存放數據,主要有以下9個:其中36H-39H用來寄存顯示小數位、個位、十位、百位的BCD碼;34H~35H用來寄存十六進制的頻率控制數據;頻率控制字節的低8位數據被寄存在31H中;而頻率控制字節的高8位數據則被寄存在32H中;掃描時P1端口的值被寄存在33H中(附錄中有詳細的說明)。 4.2主要功能程序 單片機控制程序主要有以下幾部分: 初始化子程序、主循環程序、LED動態掃描程序、顯示數據程序與頻率控制及數據計算程序、控制命令合成發送程序、鍵位查詢程序等。 (1)主程序 主程序是先對系統初始化,并禁止BH1415F立體聲發射器,開機時一定要先檢查一下每個LED數碼管的顯示是否完好、然后將上次使用的發射頻率數據從單片機中取出,送入BH1415F控制音頻調制頻率,然后進入4×4查鍵程序,最后為LED數碼管的顯示程序(流程框圖如圖4-1所示)。 端口初始化,BH1415F禁止 預置上次使用的發射頻率 數據送入BH1415F 查鍵函數 顯示函數 圖4-1 系統主程序流程圖 取顯示數據的段碼至輸出口 選中對應位顯示1毫秒 四次到? Y N 下一數據 圖4-2 動態掃描程序流程圖 上面內容我下載下來就沒有,不知是否我電腦問題 (2)LED動態掃描子程序 由于要顯示4位十進制頻率數字值,所以在這里顯示程序采用動態掃描法,即利用單片機的兩個端口,其中一個端口輸出段碼,另一個端口進行列掃描,從而完成LED的動態顯示。掃描程序執行一次約為四毫秒,在顯示個位的LED數碼管變亮時需點亮DP位。動態掃描的流程圖如圖4-2所示。 (3)頻率數據轉十進制BCD碼子程序 頻率數據轉十進制BCD碼子程序是為了將四位十進制數換算成四個十進制BCD碼,這樣才能將預設頻率的數值用LED數碼管顯示出來,當最高位為0時應放入LED“熄滅”程序(詳見附錄單片機程序清單),這時當頻率在100.0MHz以下時顯示百位的LED數碼管才不會顯示“0”。 (4)頻率控制命令合成子程序 下圖為BH1415F的數據信號發送方式原理圖 圖4-3 BH1415F數據信號發送原理圖 BH1415F的頻率控制字與發射頻率的關系可由程序求得,如本選題開始的頻率87.8MHz對應的低八位二進制數為01101110,而對應的高八位為00000011,87.9MHz對應的低八位二進制數為01101111,而對應的高八位為00000011。 控制字改變最低的一個數字量,信號發射頻率相應改變0.1MHz,而每個頻率對應的2進制數為該頻率乘10之后對應的二進制數。而由BH1415F的結構特性圖可知:當D10-D0全為1時為二進制數可輸入的最大值,轉換成十進制數即1099。所以BH1415F可輸入的最大發射頻率為109.9MHz,本選題所設定的發射頻率最大值為107.9MHz,故完全適用。 (5)BH1415F字節寫入子程序 按照BH1415F字節的原則,必須使用同步移位方法來進行數據的發送轉移。發送數據時的位移脈沖延時應正確,圖4-4為頻率控制命令發送程序流程圖。 BH1415F選中 最低位移至端口(DA),延時4μs 鎖存數據(CK=1),延時4μs,CK=0 16位移完? N Y BH1415F禁止 存儲頻率數據 圖4-4 頻率控制命令發送程序流程圖 上面內容也是下載下來就沒有 (6)查鍵子程序 按鍵查詢系統采用4×4的行列式鍵盤,查鍵的方法是將鍵盤口的低四位都置為零,然后讀入鍵盤口高四位,與“1111”進行比較,若不全為1,說明有按鍵被按下,這時程序應該自動的進行被按鍵的鍵碼查詢,若全為1則說明沒有鍵按被下。在這里我們使用的查詢方法是先按序對鍵盤口的低四位與高四位置零,然后再將二次讀入的鍵盤口高四位與低四位合并成一個字節(參見附錄4×4查鍵子程序),而這個被合并的字節只對應著唯一的一個按鍵,也就是逐一對應的關系,這時經過查表就可以明確被按的鍵號再執行每一個按鍵所對應的程序。 16個按鍵的功能分配為:00號鍵為程序百位數加1;01號鍵為程序十位數加1;02號鍵為程序個位數加1;03號鍵為程序小數位加1;04號鍵、05號鍵、06號鍵、07號鍵、08號鍵、09號鍵、10號鍵、11號鍵、12號鍵、13號鍵、14號鍵均為頻率預置建,分別預置109.0MHz、108.0MHz、105.0MHz、100.0MHz、98.0MHz、96.0MHz、94.0MHz、92.0MHz、90.0MHz、88.0MHz、87.8MHz的發射頻率;15號鍵為立體聲與單聲道轉換鍵。 鍵口低四位置0 讀入高四位,為全1? Y N 保存高四位數據,再將鍵口高四位置0,讀入低四位 等待鍵釋放 將二次讀入的字節合成一個鍵值 按鍵值執行相應的功能 圖4-6 4×4行列式查鍵程序流程圖 (7)初始化子程序 系統初始化工作主要包括RAM存儲器初始化、特殊功能寄存器初始化、外圍設備的初始化、設置預發射頻率的初始值等等(為了各種操作的范圍在程序的預設值之內)。我們將RAM存儲器初始化的原因主要是將RAM存儲器進行清零處理;而將特殊功能寄存器初始化主要是為了另包括定時器的初始值設置、中斷的開放滿足系統初始化條件等;外圍設備初始化主要是對外圍設備的引腳口進行的設置,例如本系統就必須在上電時將LED顯示器驅動口置高電平(由于本實驗使用共陰極LED數碼管),與BH1415F的三條通訊口置低電平(開始要禁止BH1415F);開機后的發射頻率為上次關機時的發射頻率值。特殊功能寄存器的初始化以及外圍設備的初始化必須在進入功能程序循環前就需要完成初始化。具體流程詳見圖4-7。 P0、P1、P2、P3置1 BH1415F禁止操作 控制寄存器設定 置發送頻率初值 設置立體聲發射方式 寫入BH1415F芯片 圖4-7 初始化程序流程圖 5 程序調試及Proteus仿真的應用 5.1 proteus仿真的應用 本選題使用的Proteus軟件是LCE公司研發的一款EDA工具軟件,它是目前仿真單片機及外圍器件的主流工具。首先電源電路可由proteus軟件仿真出來,需要注意使用的三端穩壓塊為7905,電容二極管和整流橋參數的選取之前有介紹,變壓器的輸入輸出壓變比為220/8。 以AT89C52單片機為基礎的數控調頻發射臺控制器的主電路圖中共仿真了5部分,分別為鍵盤電路、時鐘電路、顯示電路、復位電路及單片機與BH1415F之間的通信電路。其中立體聲提示用的LED數碼管在仿真中選擇了紅色。而顯示用的LED數碼管選擇了7SEG-MPX4-CA這樣方便連線。顯示電路中用三級管NPN是配合-5V的電壓。各個元器件參數均在可選范圍內取值。BH1415F芯片由于只有DA、CK、CE引腳與單片機相連,故在此簡化。 5.2程序調試 程序調試可以用wave匯編編譯器或keil c51編譯器來調試,源程序編譯及仿真調試應分段或以子程序為單位按順序進行(本實驗為分段),最后可根據硬件實時運行的情況進行調試。 結論 基于單片機的小功率調頻發射器在本實驗中采用了ATMEL生產設計的AT89C52單片機同時搭配日本ROHM公司生產的BH1415F調頻立體聲發射芯片,操作非常簡單,而且體積小,穩定可靠,且采用4×4行列式鍵盤電路頻率設定方便簡單,4個LED數碼管顯示設定的頻率非常直觀,并且非常適合于MP3播放器、電腦電視等媒體播放機以及生活中一些小范圍場合的使用。由于工作的頻率變動范圍較寬(87.7~107.9MHz),因此其功率放大級的選頻回路帶通應較寬。 通過本次畢業設計,我在proteus仿真以及單片機的匯編語言的編寫中學到的很多,愈加加深了我對單片機程序語言特點的了解,并在芯片的選擇上學到了許多知識,無論是廉價性還是外設線路的布局都是我在之前的學習中沒有體會過的。而本次使用單片機匯編語言也是因為考慮到自己對C語言沒有特別熟悉。 本選題的實現方法有很多,在這里電源電路使用三端穩壓器7905(為負5V)也主要是為了創新,現實中可能負壓并不穩定,一般選用7805(為正5V)來實現穩壓,另外按照常理本實驗中的三極管與晶體管位置也應倒換。筆者在這里作出說明。后續可以在增加C語言的編寫,本身匯編語言比較好改,所以采用的匯編,而缺點是太長了。 |