版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本設計介紹的是數(shù)字控制調(diào)頻發(fā)射器,具有廉價、易制等特點, 它可在80.0~109.9MHz的任意范圍內(nèi)設置發(fā)射頻率,可預置13個頻道,發(fā)射頻率調(diào)整最小值為0.1MHz,具有單聲道/立體聲控制,發(fā)射距離在20~50m范圍內(nèi),可應用于學校室內(nèi)無線廣播教學、電視現(xiàn)場導播等場所,同時也發(fā)揮了現(xiàn)代化媒體自動控制的巨大作用。</p&
2、gt;<p> 同時本文介紹了當今在從模擬向數(shù)字轉(zhuǎn)變、從小規(guī)模向大規(guī)模擴展的過程中, 建造或改造一個調(diào)頻發(fā)射系統(tǒng)需要重視的幾項指標。新型數(shù)字化調(diào)頻發(fā)射臺具有頻率穩(wěn)定、發(fā)射頻率在88.0 MHZ至110.0MHZ范圍內(nèi)任意可設等特點,本文介紹了采用AT89C52單片機控制的數(shù)字化調(diào)頻發(fā)射器的設計方法。</p><p> 調(diào)頻發(fā)射系統(tǒng)影響人身及設備安全的因素涉及人、機(設備) 、環(huán)境和管理4 個方面
3、。其中人的因素是核心, 設備是基礎, 環(huán)境是外部條件, 管理制度是關鍵。在當今調(diào)頻發(fā)射系統(tǒng)在不斷發(fā)展的進程中,因此科技的不斷更新與創(chuàng)新成為本行業(yè)一個永恒不變的主題。</p><p> 關鍵詞: 單片機 數(shù)字化控制 BH1415F 調(diào)頻發(fā)射</p><p><b> Abstract</b><
4、/p><p> The major content that this design introduced is digital control frequent varied trasmission,owning the characteristics of cheap and made easily,which can set transmitted frequents at any extent betwee
5、n 80MHz and 109.9MHz,including single or stanging control,the radiated distance is arange from 20m to 50m,and it can be applied in broadcasting instructions of classroom or a living broadcasting places and so on, simutan
6、uously created modern media great function in automatically. </p><p> The system of frequent varied trasmisstion have an impact on physical and the factors of equipment safe humen,machine,enviorment and man
7、agement tour sides involved.All of them ,humen is center , machine is basic , enviorment is external condition,management is the key.Nowadays, The system of frequent varied trasmisstion is in the progress of development
8、 continciously,so update and creation of science have become a constant topic .</p><p> Key Words:Digital control, BH1415h, frequent varied trasmisstion .</p><p><b> 目 錄</b></p
9、><p><b> 摘 要1</b></p><p> Abstract2</p><p><b> 目 錄3</b></p><p><b> 1 引 言3</b></p><p> 1.1 單片機C程序設計3</p>
10、<p> 1.2 單片機C程序簡介4</p><p> 1.3 單片機C語言的特點5</p><p> 1.4 單片機C語言的組成與優(yōu)點6</p><p> 2 數(shù)控調(diào)頻發(fā)射器設計7</p><p> 2.1 功能概述7</p><p> 2.2 系統(tǒng)原理簡介7<
11、/p><p> 2.3 系統(tǒng)原理分析8</p><p> 2.4 軟件設計18</p><p> 2.5 對系統(tǒng)程序的設計21</p><p> 2.6 硬件調(diào)試26</p><p> 2.7 軟件調(diào)試26</p><p> 2.8 發(fā)射頻率的調(diào)試及性能分析26&
12、lt;/p><p> 3 控制源程序清單27</p><p><b> 結(jié) 論33</b></p><p><b> 致 謝34</b></p><p> 參 考 文 獻35</p><p><b> 1 引 言</b><
13、;/p><p> 目前大多數(shù)高校校內(nèi)用的調(diào)頻廣播發(fā)射器,發(fā)射頻率固定單一,穩(wěn)定性差。本文設計了可在80.0 MHZ至110.0MHZ范圍內(nèi)任意設置發(fā)射頻率的數(shù)控調(diào)頻發(fā)射器,可預置13個頻道,發(fā)射頻率調(diào)整最小值為0.1MHZ,具有單聲道/立體聲控制,比傳統(tǒng)調(diào)頻臺應用更靈活可靠,可廣泛應用于學校無線廣播、電視現(xiàn)場導播、汽車航行、無線演說等。</p><p> 1.1 單片機C程序設計<
14、/p><p> 單片機C程序設計步驟如下:</p><p> 1 分析設計任務,確定算法,畫出編程算法的流程圖。</p><p> 2 使用通用的文字編輯軟件,如EDIT、寫字板、WORD等編寫C源程序,也可在支持C語言的仿真器或編輯器上直接編寫,如Keil 51C編輯器。</p><p> 3在C編輯器上進行調(diào)試和編譯,編譯后可生成后綴
15、名為HEX的十六進制目標程序文件。</p><p> 4用編輯器將目標程序文件寫入單片機。</p><p> 1.2 單片機C程序簡介 </p><p> 在沒有硬件仿真系統(tǒng)或在線調(diào)試器時,如何對系統(tǒng)進行調(diào)試或仿真,介紹基于單片機C程序Keil 51環(huán)境下的程序調(diào)試與軟件仿真方法,合理使用這些方法模擬實際運行環(huán)境,驗證程序設計,可以減少調(diào)試時間,提高編程效率
16、。</p><p> Keil 51C是目前流行的單片機開發(fā)工具之一,它具有編譯、匯編、鏈接、實時操作系統(tǒng)、項目管理以及調(diào)試的功能,可以完成編輯、編譯、鏈接、調(diào)試、仿真等整個單片機開發(fā)流程。</p><p> 單片機系統(tǒng)軟件的開發(fā)總要和片內(nèi)、片外硬件設備息息相關,比如外部設備、鍵盤、引腳信號變化、AD轉(zhuǎn)換、液晶、串口等;同時還需根據(jù)設備信號輸出相應的控制信息。在沒有硬件仿真系統(tǒng)或在線調(diào)
17、試器,必須使用Keil 51C提供的軟件調(diào)試、仿真功能,它可以很方便地模擬單片機的運行以及模擬片內(nèi)和片外的外圍器件的工作。將Keil 51C調(diào)試器配置成純軟件模式,可以不需要實際的目標硬件就能夠模擬、仿真51系列單片機及外圍器件的很多功能。</p><p> 1 Keil 51C主要界面</p><p> Keil 51C輔助程序調(diào)試的窗口或界面主要有輸出窗口、反匯編窗口、Watch窗
18、口、Memory窗口、ToolBox按鈕、Serial窗口、性能分析儀等。他們使程序的調(diào)試更加方便、直觀且功能強大。</p><p> (1)Command頁:通過命令行的形式,向運行中的程序發(fā)出調(diào)試命令,如顯示變量、表達式、寄存器、CPU引腳、加載用戶調(diào)試函數(shù)、信號函數(shù)等,然后等待程序返回,以此來驗證目標程序的正確性。Keil 51C提供了大量的內(nèi)部調(diào)試命令,如BREAK、DIR、SIGNAL、DISPLAY
19、、INCLUDE等。命令行中輸入的命令是C語言的子集,大多數(shù)的C語句可以在此運行。另外, Keil 51C還可以將命令行中輸入的調(diào)試信息,即整個調(diào)試過程用log命令記錄在文本文件中。使用時再用INCLUDE命令加載該文件,使調(diào)試信息與目標程序同時運行,它們一個在前臺,另一個在后臺運行。</p><p> (2)Serial窗口:串口輸入輸出窗口可用于系統(tǒng)調(diào)試時的輸入和輸出窗口??梢酝ㄟ^該窗口輸入信息、響應用戶的
20、交互操作、輸出程序執(zhí)行中的一些變量值或信息。</p><p> (3)斷點編輯器:充分使用斷點,編輯各種斷點,使程序在需要時中止運行,以便控制整個目標程序的運行過程,監(jiān)視相關變量、寄存器或存儲區(qū)的變化。Keil 51C有豐富的斷點編輯功能和三種斷點類型:執(zhí)行斷點、條件斷點、以及存取斷點。</p><p> (4)CPU片內(nèi)設備界面:包括I/O口,定時器,串口等,它是具體硬件電路的輸入和
21、輸出窗口。在程序調(diào)試運行時,打開設備界面可以觀察到設備各參數(shù)值及其動態(tài)變化情況。同時,在需要輸入開關量的模擬中,可以直接修改界面上的各參數(shù)值進行仿真輸入。</p><p> (5)ToolBox按鈕:包含用戶配置的命令按鈕,單擊按鈕可以調(diào)用相關調(diào)試命令、信號函數(shù)或自定義函數(shù),可以完成命令行中所有的調(diào)試功能,提供給用戶良好的調(diào)試界面。</p><p> 1.3 單片機C語言的特點<
22、;/p><p> 單片機C語言是硬件設計人員的一種描述工具,硬件設計本身還是要人來完成的。單片機C語言被設計出來的目的是為了硬件設計,具有硬件的性質(zhì)。它用于描述電路系統(tǒng)的結(jié)構(gòu),接口,行為和功能,除了它具有的硬件特征的語句外,它的語言形式和描述風格,以及句法與一般的計算機高級語言相當類似,然而它又與軟件語言具有完全不同的性質(zhì)。</p><p> 單片機C語言主要用于設計數(shù)字系統(tǒng)的結(jié)構(gòu),行為,
23、功能和接口。除了含有許多具有硬件特征的語句外,單片機C語言的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。單片機C語言的程序結(jié)構(gòu)特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外部分的概念是單片機
24、C語言系統(tǒng)設計的基本點。應用單片機C語言進行工程設計的優(yōu)點是多方面的。</p><p> ?。?)與其他的硬件描述語言相比,單片機C語言具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。</p><p> (2)單片機C語言豐富的調(diào)用函數(shù)和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查
25、驗設計系統(tǒng)的功能可行性,隨時可對設計進行調(diào)試驗證。</p><p> ?。?)單片機C語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。</p><p> (4)對于用單片機C語言完成的一個確定的設計,可以利用單片機工具進行邏輯綜合和優(yōu)化,并自動的把單片機C語言描述設計
26、轉(zhuǎn)變成門級網(wǎng)表。 </p><p> (5)單片機C語言對設計的描述具有相對獨立性,設計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。</p><p> ?。?)單片機C語言的設計不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。</p><p> ?。?)單片機C語言是一個標準語言,為眾多的單片機廠商支持,移植性好。單片機C語言描述系統(tǒng)時,
27、一般有三種描述層次:行為描述、數(shù)據(jù)流描述 、結(jié)構(gòu)描述。行為級描述注重描述對象的功能,表示輸入與輸出之間的轉(zhuǎn)換行為;不包含結(jié)構(gòu)信息;數(shù)據(jù)流描述用邏輯方程描述對象的關系;結(jié)構(gòu)描述 (門級描述)直接給出實體實現(xiàn)的邏輯網(wǎng)表。</p><p> 1.4 單片機C語言的組成與優(yōu)點</p><p> 單片機C語言程序大致由函數(shù)說明、指針和指針變量、文件包含、及宏定義4 個部分組成。</p&g
28、t;<p> 單片機C語言的優(yōu)點:</p><p> ?。?)具有更強的行為描述能力,是系統(tǒng)設計領域最佳的硬件描述語言。</p><p> (2)具有豐富的自定義函數(shù)和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。</p><p> (3)單片機C語句的行為描述能力和程序結(jié)構(gòu)決定了它具有支持大規(guī)模設計的
29、分解和已有設計的再利用功能。該功能能滿足市場大規(guī)模系統(tǒng)高效、高速的需要,可替代多人甚至多個代發(fā)組共同工作。</p><p> (4)對于用單片機C語言完成的一個確定的設計,可以利用單片機工具進行邏輯綜合和優(yōu)化,并自動地將單片機C語言描述設計轉(zhuǎn)變成門級網(wǎng)表。</p><p> ?。?)單片機C語言對設計的描述具有相對獨立性,設計者可以不懂硬件結(jié)構(gòu),也不必管最終設計實現(xiàn)的目標器件是什么,而進
30、行獨立的設計。</p><p> 2 數(shù)控調(diào)頻發(fā)射器設計</p><p><b> 2.1 功能概述</b></p><p> 本設計的數(shù)控調(diào)頻發(fā)射器是能夠在80.0~109.9MHz的任意范圍內(nèi)設置發(fā)射頻率,可預置13個頻道,發(fā)射頻率調(diào)整最小值為0.1MHz,具有單聲道/立體聲控制,發(fā)射距離在20~50m范圍內(nèi),預期的目標是希望它能
31、夠廣泛應用于學校室內(nèi)無線廣播教學、電視現(xiàn)場導播等場所。</p><p> 為了實現(xiàn)調(diào)頻中心頻率的控制,本設計采用ROHM公司生產(chǎn)的調(diào)頻發(fā)射專用集成電路BH1415F,內(nèi)含立體聲信號調(diào)制,調(diào)頻廣播信號發(fā)射電路。</p><p> BH1415F內(nèi)有前置補償電路、限制器電路、低通濾波器電路等,具有良好的音色,而這些電路是由許多分立的無源元件組成的。BH1415F還內(nèi)置PLL系統(tǒng)調(diào)頻發(fā)射電路
32、,傳輸頻率非常穩(wěn)定,并且調(diào)頻發(fā)射頻率可用單片機通過串行口進行控制。</p><p> 本設計系統(tǒng)的硬件電路主要由單片機控制電路、調(diào)頻調(diào)制電路、電源電路組成。其中單片機控制器采用ATMEL公司的AT89C52,32個端口可滿足4位LED動態(tài)顯示、16(4X4)個操作按鍵的設計需要。調(diào)頻調(diào)制電路采用BH1415F芯片。電路電源采用單片機控制的數(shù)字調(diào)頻器功耗小,可用7805三端穩(wěn)壓塊分別對單片機和BH1415F電路單
33、獨供電,電源變壓器功率大于10w即可。實物圖如下:</p><p> 2.2 系統(tǒng)原理簡介</p><p> 為了實現(xiàn)調(diào)頻中心頻率的控制,本設計采用ROHM公司生產(chǎn)的調(diào)頻發(fā)射專用集成電路BH1415F,內(nèi)含立體聲信號調(diào)制,調(diào)頻廣播信號發(fā)射電路。</p><p> BH1415F內(nèi)有前置補償電路、限制器電路、低通濾波器電路等,具有良好的音色,而這些電路是由許多
34、分立的無源元件組成的。BH1415F還內(nèi)置PLL系統(tǒng)調(diào)頻發(fā)射電路,傳輸頻率非常穩(wěn)定,并且調(diào)頻發(fā)射頻率可用單片機通過串行口進行控制。</p><p> 本設計系統(tǒng)的硬件電路主要由單片機控制電路、調(diào)頻調(diào)制電路、電源電路組成。其中單片機控制器采用ATMEL公司的AT89C52,32個端口可滿足4位LED動態(tài)顯示、16(4X4)個操作按鍵的設計需要。調(diào)頻調(diào)制電路采用BH1415F芯片。電路電源采用單片機控制的數(shù)字調(diào)頻器
35、功耗小,可用7805三端穩(wěn)壓塊分別對單片機和BH1415F電路單獨供電,電源變壓器功率大于10w即可。</p><p> 2.3 系統(tǒng)原理分析</p><p> 單片機原理控制圖如下:</p><p> 單片機采用AT89C52,采用最小化應用系統(tǒng)設計,P0口和P2口作為共陽LED數(shù)碼管驅(qū)動用,P1口作為16鍵的鍵盤接口,其中T0—T3分別為百位、十位、個位
36、、小數(shù)位的頻率操作鍵,T4—T14為發(fā)射頻率預置鍵,T15為單聲道/立體聲控制鍵。 P3.0、P3.1、P3.2作為與HB1415的通訊端口,用于傳送發(fā)射頻率控制數(shù)據(jù),P3.3用于立體聲發(fā)射批示。采用12MHZ晶振,模擬串口通訊。</p><p> 調(diào)頻調(diào)制發(fā)射部分原理圖如下:</p><p> BH1415功能表如下:</p><p> 1 右聲道輸入端:通
37、過電容器與右聲道音頻信號相連 1/2VCC2 左音源輸入端:通過電容器與左聲道音頻信號相連 2,21 時間常數(shù)端:它連接一個電容為時間常數(shù)τ=22.7kΩC 3,20 LPF 時間常數(shù)端:這是15KHz LPF.它連接150P 電容 1/2VCC4 濾波器端:它是聲頻部份濾波器叁考電壓 1/2VCC5 立體聲復合信號輸出端:它連接到調(diào)頻調(diào)制器 1/2VCC6 接地端 GND7 PLL相位檢波器輸出端:它連接到PLL LPF
38、電路 -8 電源供給端 Vcc9 射頻振蕩器端:這是振蕩器基端,它連接振蕩時間常數(shù) 4/7Vcc10 射頻地端 GND11 射頻發(fā)送輸出端 Vcc-1.912 PLL電源供給端 Vcc13,14 X’tal 振蕩器端:它連接一個7.6MHz 晶振 -15 芯片授權(quán)端:連續(xù)輸入高電平數(shù)據(jù) 16 時鐘輸入端:帶數(shù)據(jù)和同步的時鐘在序列數(shù)據(jù)輸入。 17 數(shù)據(jù)輸入端 18 靜音端:0.8Vcc≤ Pin18 : Mute ON
39、 0.2VCC≥ Pin18 : Mute OFF 19 控制信號調(diào)節(jié)端 1/2Vcc</p><p> 采用Rohm公司最新生產(chǎn)的調(diào)頻發(fā)射專用集成電路BH1415F,內(nèi)含立體聲信號調(diào)制、調(diào)頻廣播信號發(fā)射電路,BH1415F內(nèi)有前置補償電路、限制器電路、低通濾波電路等,因此具有良好的音色,內(nèi)置PLL系統(tǒng)調(diào)頻發(fā)射電路,傳輸頻率非常穩(wěn)定。調(diào)頻發(fā)射頻率可用單片機通過串行口直接控制。</p><p
40、> BH1415芯片圖如下:</p><p> 本芯片供電一定要穩(wěn),可以7805穩(wěn)壓后饋入,單片機控制時的編程可用模擬串行通信的方式,用P1引腳控制.程序如下:</p><p> #include<reg52.h>#define uchar unsigned char#define uint unsigned int sbit MUTE
41、 = P1^0;sbit DI = P1^1; sbit CLK = P1^2; sbit CE = P1^3;sbit KEY_1= P1^4;sbit KEY_2= P1^5;sbit KEY_3= P1^6;sbit KEY_4= P1^7;void Send_16(uint ui_Date, uchar uc_MONO ,uchar uc_PD
42、); //發(fā)送數(shù)據(jù)函數(shù)void Key_Scan_1(void); //控制靜音void Key_Scan_2(void); //頻率步進 精度0.1MHZvoid Key_Scan_3(void); //頻率步退
43、精度0.1MHZvoid Key_Scan_4(void); //立體聲控制void Delay(void); uchar uc_Count_1;uchar uc_Cou</p><p><b> 發(fā)射板實物圖如下:</b></p><p> 2 數(shù)控調(diào)頻發(fā)射器
44、的設計實現(xiàn) </p><p><b> 2.1 設計思想</b></p><p> 本設計采用自頂向下的方法。首先從系統(tǒng)設計入手,在頂層進行功能方框圖的劃分;然后對個模塊進行設計并調(diào)試,在將其進一步綜合。本設計的調(diào)頻發(fā)射鐘基于Keil C51語言,用TOP-DOWN思想進行設計。具有延時子函數(shù)、LED動態(tài)掃描、頻率數(shù)據(jù)進制轉(zhuǎn)換、控制命令合成子函數(shù)、BH1415
45、F字節(jié)寫入、4╳4查鍵函數(shù)。設計時,首先用單片機C語言編寫各個功能模塊,分別在Keil C51編譯器開發(fā)環(huán)境下編譯、調(diào)試,然后在用頂層文件將各功能模塊連接起來。 </p><p><b> 2.4 軟件設計</b></p><p><b> 1.主要程序模塊:</b></p><p> 1)鍵盤掃描程序:采用4*4
46、行列式查詢法。</p><p> 2)顯示程序:采用動態(tài)掃描法顯示4位頻率數(shù)字值。</p><p> 3)串行通訊程序:由十進制BCD碼轉(zhuǎn)二進制程序、16位頻率控制字節(jié)合成程序、模擬異步串行發(fā)送程序組成。</p><p> 2.BH1415F串行通訊格式:</p><p> BH1415F的頻率控制碼為16位,其傳送格式如下圖,其中D
47、0—D10為頻率控制數(shù)據(jù),其值乘0.1即為BH1415F的輸出頻率(單位MHZ)。</p><p> D11—D15為控制位,其中D11(MONO)位為單聲道/立體聲控制位,當0時為單聲道發(fā)射模式,1時為立體聲發(fā)射模式。D12(PD0)、D13(PD1)位用于相位控制,通常為0,當分別為01和10時可使發(fā)射頻率在最低和最高處。D14(T0)和D15(T1)為測試模式控制用,通常為00,當為10時為測試模式。 以
48、下是單片機與BH1415F通訊用的控制字節(jié)發(fā)送源程序:</p><p> PUT: MOV R3,#8 ;發(fā)送8位控制</p><p> CLR C
49、 ;清C</p><p> PUT1: RRC A ;帶進位位右移(先發(fā)低位)</p><p> MOV
50、; P3.0,C ;低位送至P3.0口</p><p> NOP ;延時4微秒</p><p> NOP ;</p&g
51、t;<p> NOP ;</p><p> NOP ;</p><p> SETB P3.1
52、160;;鎖存數(shù)據(jù)(上升沿時鎖存數(shù)據(jù))</p><p> NOP ;延時4微秒</p><p> NOP ;</p><p> NOP
53、; ;</p><p> NOP ;</p><p> CLR P3.1 ;</p><p> DJNZ
54、0; R3,PUT1 ;8位未發(fā)完轉(zhuǎn)PUT1再發(fā)</p><p> RET ; 8位發(fā)完結(jié)束</p><p> 2.5 對系統(tǒng)程序的設計</p><p> 主函數(shù)先對系統(tǒng)初始化,開機時先顯示一下
55、“8888”,以檢查LED的段碼,然后預置發(fā)射頻率為100MHz,送入BH1415,最后進入查鍵和顯示函數(shù)的循環(huán)。主函數(shù)程序流程圖如下:</p><p><b> 延時子函數(shù):</b></p><p> 延時函數(shù)在本系統(tǒng)中主要用于1ms和2s的延時。</p><p> LED動態(tài)掃描子函數(shù):</p><p> 掃
56、描函數(shù)使用單片機的兩個接口,一個端口輸出段碼,一個端口進行列掃描,以實現(xiàn)LED的動態(tài)顯示。掃描函數(shù)執(zhí)行一次約為4 ms,在第二位LED顯示時點亮小數(shù)點。其程序流程圖如下:</p><p> 4. 頻率數(shù)據(jù)轉(zhuǎn)十進制BCD碼子函數(shù):</p><p> 頻率數(shù)據(jù)轉(zhuǎn)十進制BCD碼子函數(shù)用于將4位十進制換算成4個十進制BCD碼,分別用于顯示,當最高位位“0”時放入“熄滅”代碼OxOa,這樣當頻率
57、在99.9MHz以下時最高位不顯示0。</p><p><b> 控制命令合成子函數(shù)</b></p><p> BH1415F字節(jié)寫入子函數(shù):</p><p> 按照BH1415F字節(jié)傳送要求,按低位要求、低字節(jié)先送的原則。傳送的延時應精確,在延時中用了_nop_()庫函數(shù),程序流程圖如下:</p><p><
58、;b> 查鍵子函數(shù):</b></p><p> 系統(tǒng)采用4*4行列式鍵盤。查鍵方法是將鍵盤口的低4位置0,讀入鍵盤口高4位,看是否為全1,若為全1,說明無鍵按下,否則說明有鍵按下,應進行鍵碼的查詢。查詢方法依次對鍵盤口的低4位和高4位置0,再將二次讀入的高4位和低4位合成一個字節(jié),這個字節(jié)與每個按鍵有著唯一對應的關系,通過查對進行每一個按鍵的功能執(zhí)行。查鍵子函數(shù)程序流程圖如下:</p&
59、gt;<p><b> Y</b></p><p><b> N</b></p><p><b> 2.2 調(diào)試過程</b></p><p><b> 2.6 硬件調(diào)試</b></p><p> 硬件調(diào)試時先檢查印制板及焊接質(zhì)量情
60、況,在檢查無誤后可通電檢查。實驗室制作時可結(jié)合示波器對晶振及P0、P1、P2端口的波形情況進行綜合硬件測試分析。</p><p><b> 2.7 軟件調(diào)試</b></p><p> 軟件調(diào)試試用Keil C51編譯器,源程序編譯及仿真調(diào)試應分段或以子函數(shù)為單位一個一個進行,最后可結(jié)合硬件實時運行調(diào)試。</p><p> 2.8 發(fā)射
61、頻率的調(diào)試及性能分析</p><p><b> 發(fā)射頻率的調(diào)試:</b></p><p> 在調(diào)通程序及硬件的情況下,調(diào)頻發(fā)射器應基本能工作。在BH1415的11腳上接一段電線作為反射天線,在室內(nèi)應能收到調(diào)頻廣播。當發(fā)現(xiàn)頻率的最高端達不到110.0MHz時,應將振蕩電感減?。p小匝數(shù));而在低端的頻率達不到80. MHz時,應增加振蕩電感的匝數(shù)。若在調(diào)整電感后還是
62、沒有達到頻率覆蓋范圍,應考慮更換變?nèi)荻O管(換變?nèi)莘秶蟮模?。振蕩電感調(diào)整后應用蠟封好,防止發(fā)射器工作時因振蕩而產(chǎn)生頻率漂移。</p><p><b> 性能分析:</b></p><p> 用BH1415設計的小功率調(diào)頻發(fā)射器不僅設計簡單,而且頻率設定靈活,可有效地避開當?shù)氐恼{(diào)頻臺干擾,可應用于室內(nèi)廣播、電視伴音轉(zhuǎn)發(fā)等小范圍的無線調(diào)頻轉(zhuǎn)播。因為發(fā)散的頻率變化范
63、圍較大,其功率放大級沒有設計選頻回路,因此工作時功率管較熱,與市場上的單點調(diào)頻發(fā)射器相比,發(fā)射效率不是很高。</p><p><b> 3 控制源程序清單</b></p><p><b> 源程序如下:</b></p><p> /*******************************************
64、*********************/</p><p> //BH1415F調(diào)頻臺控制C源程序</p><p> //使用KeilC51</p><p> /****************************************************************/</p><p> //使用AT89C52
65、單片機,12MZ晶振。用共陽四位LED數(shù)碼管 P0口輸出緞碼,P2口掃描</p><p> #Programe sre(d:/aa.asm)</p><p> #include “reg52.h”</p><p> #include “intrins.h”</p><p> #define Disdata p0</p&
66、gt;<p> #define Discan p2</p><p> #define keyio p1</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit DA=p3~
67、0;</p><p> sbit CK=p3~1;</p><p> sbit CE=p3~2;</p><p> sbit DIN=p0~7;</p><p> sbit monnlamp=p3~3;</p><p><b> uint h;</b></p>&
68、lt;p><b> //</b></p><p><b> //</b></p><p><b> //</b></p><p> unchar code dis_7[12]={oxc0,oxA4,oxB0,ox99,ox92,ox82,oxF8,ox80,ox90,oxff,oxbf}
69、;</p><p> /*共陽LED段碼表 "0","1","2","3","4","5","6","7","8","9","不亮""-"*/</p><
70、p> Uchar code scan_con[4]={oxfe,oxfd,oxfb,oxf7};</p><p> Uint data f_data{ox00},f_data1;</p><p> Uchar data display[4]={ox00,ox00,ox00,ox00};</p><p> Uchar
71、 bdata condata=ox08;</p><p> Sbit mono=condata~3;</p><p> Uchar data concommand[2],keytemp;</p><p><b> //</b></p><p> /*********************
72、***********************************************/</p><p><b> //</b></p><p><b> //</b></p><p><b> //</b></p><p> /**************1u
73、s延時程序**********************/</p><p><b> //</b></p><p> Void delay (uint t)</p><p><b> { </b></p><p> for(;t>0;t--);</p><p&
74、gt;<b> }</b></p><p><b> //</b></p><p> /***************LED動態(tài)掃描函數(shù)****************/</p><p><b> scan( )</b></p><p> {char K ;&l
75、t;/p><p> for (k=0;k<4;k++)</p><p><b> { </b></p><p> distada=dis_7[display];</p><p> if(k==1){DIN[=0];}</p><p> discan=san_con[k];delay(
76、90);discan=0xff;</p><p><b> }</b></p><p><b> }</b></p><p><b> //</b></p><p><b> //</b></p><p> /******
77、***************頻率轉(zhuǎn)換為十進制BCD碼函數(shù)**********/</p><p> tnrn_ bcd ( )</p><p><b> {</b></p><p> display[3]=f_data/1000;if(display[3]==0){display[3]=10;}</p><p>
78、; f_data1=fdata%1000;</p><p> display[2]=f_data1/100;</p><p> f_data1=f_data%100;</p><p> display[1]=f_data1/10;</p><p> display[0]=f_data%10;</p><p>
79、<b> }</b></p><p> /***************控制合成字************************/</p><p> Command ( )</p><p><b> {</b></p><p> command( )</p><
80、;p><b> {</b></p><p> concommand[1]=f_data/256;</p><p> concommand[2]=f_data%256;</p><p> concommand[1]=concommand[1]+condata;</p><p><b> }<
81、/b></p><p> /*******************寫入1字節(jié)函數(shù)***************************/</p><p> write (uchar val)</p><p><b> {</b></p><p><b> uchar i;</b>&
82、lt;/p><p><b> CE=1;</b></p><p> for(i=8;i>0;i--)</p><p><b> {</b></p><p> DA=val&ox01;</p><p> _nop(); _nop(); _nop()
83、; _nop();</p><p><b> CK=1;</b></p><p> _nop();_nop();_nop();_nop();</p><p><b> CK=0;</b></p><p> val=val/2;</p><p><b
84、> }</b></p><p><b> CE=0;</b></p><p><b> }</b></p><p> /*************************控制字寫入1415函數(shù)*******************/</p><p> w_1415(
85、)</p><p><b> {</b></p><p> write(concomman[0]);</p><p> write(concomman[1]);</p><p><b> }</b></p><p><b> //</b><
86、;/p><p> /***********************頻率刷新***************************/</p><p><b> fup( )</b></p><p><b> {</b></p><p> turn_bcd( );</p><
87、;p> command( );</p><p> w_1415 ( );</p><p><b> }</b></p><p><b> //</b></p><p> /**********************查鍵程序***************************
88、*/</p><p> read_key( )</p><p><b> {</b></p><p> keyio=0xf0;</p><p> keytemp=(~keyio)oxfo;</p><p> if(keytemp!=0)</p><p><
89、;b> {</b></p><p> keytemp=keyio;</p><p> keyio=oxof;</p><p> keytemp=keytemp|keyio;</p><p> while(((~keyio)&oxox)!=0);</p><p> switch(ke
90、ytemp)</p><p><b> {</b></p><p> case238:{f_data++;if(f_data>1099;}fup();break;} //加0.1MHZ</p><p> case222:{f_data--;if(f_data<800;)fup();break;} //減0.
91、1MHZ</p><p> case190:{mono=~mono;if(mono){monolamp=1;fup();break;} //立體聲/單聲道切換</p><p> case126:{f_data=1090;fup();break;} //預置109.0MH</p><p> case237:{f_data=1070;f
92、up();break;} //預置107.0MHZ</p><p> case221:{f_data=1050;fup();break;} //預置105.0MHZ</p><p> case189:{f_data=1030;fup();break;} //預置103.0MHZ</
93、p><p> case125:{f_data=1000;fup();break;} //預置100.0MHZ</p><p> case235:{f_data=970;fup();break;} //預置97.0MHZ</p><p> case219:{f_data=950;fup();b
94、reak;} //預置95.0MHZ</p><p> case187:{f_data=930;fup();break;} //預置93.0MHZ</p><p> case123:{f_data=900;fup();break;} //預置90.0MHZ</p>
95、;<p> case231:{f_data=870;fup();break;} //預置87.0MHZ</p><p> case215:{f_data=850;fup();break;} //預置85.0MHZ</p><p> case183:{f_data=830;fup();break;
96、} //預置83.0MHZ</p><p> case119:{f_data=800;fup();break;} //預置80.0MHZ</p><p> default:{break;}</p><p><b> }</b></p><p&g
97、t;<b> }</b></p><p> keyio=oxff;</p><p><b> }</b></p><p><b> //</b></p><p><b> //</b></p><p> /*******
98、************主函數(shù)*********************************/</p><p> Main ( )</p><p><b> {</b></p><p> disdata=oxff; //初始化端?</p><p&
99、gt; discan=oxff;</p><p> keyio=oxff;</p><p> DA=0; //BH1415禁止</p><p><b> CK=0;</b></p><p> CE=0;
100、 </p><p> for(h=o;h<4;h++){diplay[h]=a;} //開機顯示“8888”</p><p> for(h=0;h<500;h++)</p><p> { scan( ); }
101、 //預置1000MHZ</p><p> f_data=1000; //開機立體聲燈點亮</p><p> monolamp=0; //頻率送入BH1415</p><p><b> fup( );</b></p>
102、<p> while( )</p><p><b> {</b></p><p> read_key(); //查鍵按鈕</p><p> scan(); //顯示4ms</p><p
103、><b> }</b></p><p><b> }</b></p><p><b> //</b></p><p> /**********************************************/</p><p><b> 結(jié)
104、 論</b></p><p> 通過這次數(shù)控調(diào)頻發(fā)射器的畢業(yè)設計,說明了設計單片機的基本方法和過程。用Keil C51語言實現(xiàn)單片機的設計過程,是一個以軟件設計為主,器件配置相結(jié)合的過程。這種軟件設計與硬件設計的結(jié)合,以一片器件代替由多片小規(guī)模集成數(shù)字電路組成的電路,其優(yōu)勢已經(jīng)越來越明顯。由此可見,在進行系統(tǒng)設計時,如果系統(tǒng)比較復雜,所需器件數(shù)目多,并要求體積小、速度快、功耗低時,首先應該考慮用Ke
105、il C51語言來進行系統(tǒng)程序設計,然后再進行整體設計。</p><p> 在這次畢業(yè)設計過程中,我從一個對Keil C51語言還不太懂,算是一個入門的新手,到現(xiàn)在可以基本讀懂程序,并會用Keil C51編譯器對錯誤程序進行基本修改的層次,這算是一種進步。通過對數(shù)控調(diào)頻發(fā)射器這個設計任務進行實際設計和調(diào)試,這使我產(chǎn)生了對Keil C51語言乃至單片機應用的濃厚興趣,相信這種興趣會在今后的學習工作中起到很大推動作
106、用,我也相信,在今后,我會更深一步的去接觸Keil C51及其相關的語言。</p><p> Keil C51是一種通用的標準硬件描述語言,融合并發(fā)展了眾多的硬件描述語言的各種優(yōu)點,支持層次化,能對單片機系統(tǒng)進行從基本到系統(tǒng)的描述。本文介紹Keil C51編譯系統(tǒng)的設計和實現(xiàn)技術,Keil C51編譯系統(tǒng)是Keil C51高層次綜合系統(tǒng)的前端,接受Keil C51語言源描述,編譯后生成供用戶使用的系統(tǒng)。<
107、/p><p> 還需要做的后續(xù)工作:</p><p> 1.在編譯系統(tǒng)提供的語言格式的基礎上,進行后續(xù)綜合系統(tǒng)的設計實現(xiàn),包括各種調(diào)度和分配流程的研究。</p><p> 2.綜合系統(tǒng)的前端,本編譯器還需不斷的完善和補充,程序見調(diào)用有出錯的地方,需要改進。</p><p> 3.錯誤處理程序相對簡單,需要改進。</p>&l
108、t;p> 4.程序運行中出現(xiàn)錯誤,和管腳接觸不當,需要改進。</p><p><b> 致 謝</b></p><p> 通過這次畢業(yè)設計,我更進一步地了解了Keil C51技術以及它的編寫語言C語言,在這里對我的指導教師*老師以及在運用Keil C51編譯器設計程序時提供很大幫助的*老師,還有實驗室的***老師致以最真誠的感謝。</p>
109、<p><b> 參 考 文 獻</b></p><p><b> 參考文獻:</b></p><p> [1] 陳小珊. 細節(jié)不容忽視——談當今的調(diào)頻發(fā)射系統(tǒng)[J]. 西部廣播電視 , 2006,(10) [2] 周志靈. 哈里斯Z10CD調(diào)頻發(fā)射機原理及維護[J]. 西部廣播電視 , 2005,(03) [3] 戚恩明
110、. TPF-Ⅲ型10kW調(diào)頻發(fā)射機的改造[J]. 西部廣播電視 , 1997,(S1) [4] 李忠海. 1kW調(diào)頻發(fā)射機固態(tài)改造[J]. 廣播與電視技術 , 2005,(04) [5] 馬仁清. 對10千瓦調(diào)頻發(fā)射機末級屏槽調(diào)諧的改進[J]. 視聽界 , 1997,(01) [6] 要忠. 調(diào)頻發(fā)射機房自動監(jiān)控報警器原理分析[J]. 聲屏世界 , 2005,(03) [7] 劉青, 劉洪峰. 移動發(fā)射車載設備的選擇和應用[J]
111、. 中國有線電視 , 2006,(Z2) [8] 律軍. 調(diào)頻發(fā)射機定時開關的改進與故障分析[J]. 電聲技術 , 2004,(11) [9] 10kW調(diào)頻發(fā)射機技術改造[J]. 西部廣播電視 , 1996,(01) [10] 張鳳良, 張隆. 調(diào)頻發(fā)射機高壓狀態(tài)顯示屏的設計與制作[J]. 電聲技術 , 1999,(04) </p><p> [11] 陳克軍. 調(diào)頻發(fā)射機控制臺的設計與實踐[J]. 西部
112、廣播電視 , 2003,(06) . [12] 黃勇,梁志剛. 無人值守同步調(diào)頻發(fā)射臺監(jiān)控系統(tǒng)[J]. 電聲技術 , 2004,(02) . [13] 張衛(wèi)強. 高精度鎖相環(huán)調(diào)頻電路[J]. 電聲技術 , 1998,(03) . [14] 張忠友,713800. 超高頻鎖相式頻率合成/調(diào)頻器的設計[J]. 電子技術應用 , 1997,(06) . [15] 趙學慶. 僅用兩只晶體管的調(diào)頻廣播接收電路[J]. 電子世界 , 200
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計--數(shù)字調(diào)頻發(fā)射器
- 無線調(diào)頻發(fā)射器的設計畢業(yè)設計論文
- 數(shù)字控制調(diào)頻發(fā)射器畢業(yè)設計
- 無線調(diào)頻發(fā)射器的設計畢業(yè)設計(含外文翻譯)
- 無線調(diào)頻發(fā)射器的設計
- 無線調(diào)頻發(fā)射器的設計論文資料
- 畢業(yè)論文范文——無線調(diào)頻發(fā)射器的設計
- 畢業(yè)設計---單片機紅外控制發(fā)射器設計
- 畢業(yè)設計---調(diào)頻發(fā)射機設計
- 藍牙無線發(fā)射器的設計.pdf
- 無線調(diào)頻發(fā)射機畢業(yè)設計論文
- 無線調(diào)頻發(fā)射機畢業(yè)設計論文
- 畢業(yè)設計--小功率調(diào)頻發(fā)射電臺設計與制作
- 通信原理課程設計---發(fā)射器電路設計
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機.doc
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機.doc
- 畢業(yè)設計190小功率調(diào)頻發(fā)射機.doc
評論
0/150
提交評論