數(shù)控調(diào)頻發(fā)射器畢業(yè)設(shè)計(jì)_第1頁
數(shù)控調(diào)頻發(fā)射器畢業(yè)設(shè)計(jì)_第2頁
數(shù)控調(diào)頻發(fā)射器畢業(yè)設(shè)計(jì)_第3頁
數(shù)控調(diào)頻發(fā)射器畢業(yè)設(shè)計(jì)_第4頁
數(shù)控調(diào)頻發(fā)射器畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.1 本文研究的目的、背景和意義數(shù)控調(diào)頻發(fā)射器采用單片機(jī)控制芯片和鎖相環(huán)集成電路實(shí)現(xiàn)調(diào)頻立體聲信號的調(diào)制與發(fā)射,四位LED數(shù)碼管動(dòng)態(tài)掃描顯示功能,并且獨(dú)立設(shè)計(jì)該產(chǎn)品的顯示部分和發(fā)射部分,有效的增強(qiáng)了顧客的可操作性。FML數(shù)控調(diào)頻發(fā)射器實(shí)際上就是一個(gè)個(gè)人微型廣播電臺,能將Discman、MD、MP3(包括蘋果iPod)等各種便攜式音、視頻播放器中的音頻信號轉(zhuǎn)換成高保真的無線FM調(diào)頻立體聲信號發(fā)射出去,擴(kuò)展了現(xiàn)有播放器的應(yīng)用功能和應(yīng)用環(huán)境將播放器(MP3/CD/MD/PDA)的音頻信號用FM發(fā)射出去,讓所有在有效距離內(nèi)的FM接受設(shè)備能夠在指定頻段內(nèi)接受到發(fā)射器所發(fā)射的信號。具有功耗低、結(jié)構(gòu)美觀、

2、安裝方便等特點(diǎn)。本系統(tǒng)采用單片機(jī)和BH1415F作主控器件,通過單片機(jī)預(yù)置數(shù)據(jù)控制BH1415F,利用BH1415F內(nèi)部的PLL將頻率鎖定,所以頻率是很穩(wěn)定的。由于顯示采用了四位數(shù)碼管顯示,用鍵盤輸入所需頻率,使得操作非常方便直觀.。目前大多數(shù)高校校內(nèi)用的調(diào)頻廣播發(fā)射器,發(fā)射頻率固定單一,穩(wěn)定性差。本文設(shè)計(jì)了可在80.0MHZ至109 .0MHZ范圍內(nèi)任意設(shè)置發(fā)射頻率的數(shù)控調(diào)頻發(fā)射器,可預(yù)置 11 個(gè)頻道,具有單聲道/立體聲控制功能。 比傳統(tǒng)調(diào)頻臺應(yīng)用更靈活可靠,可廣泛應(yīng)用于學(xué)校無線廣播、電視現(xiàn)場導(dǎo)播、汽車航行、無線演說等1.2本文的具體工作1、利用AT89C52設(shè)計(jì)一個(gè)數(shù)控調(diào)頻發(fā)射器,數(shù)控調(diào)

3、頻發(fā)射器可在80.0MHz至109.9MHz范圍內(nèi)任意設(shè)置發(fā)射頻率,可預(yù)置11個(gè)頻道,發(fā)射頻率調(diào)整最小值位0.1MHz具有單聲道/立體聲控制;2、上網(wǎng)搜集資料,設(shè)計(jì)電路各模塊,分別有單片機(jī)模塊、鍵盤輸入模塊、顯示模塊、調(diào)頻發(fā)射模塊;3、使用PROTEL99 SE畫出電路原理圖,并畫出PCB;4、根據(jù)搜索的資料及設(shè)計(jì)電路的理解,編寫出該數(shù)控調(diào)頻發(fā)射器的程序,并進(jìn)行調(diào)試。第2章:數(shù)控調(diào)頻發(fā)射器的硬件設(shè)計(jì)2.1電路原理2.1.1數(shù)控調(diào)頻發(fā)射器組成該電路由舉證鍵盤模塊、調(diào)頻發(fā)射模塊、單片機(jī)模塊、顯示模塊組成,如圖1所示:單片機(jī)模塊矩陣鍵盤模塊調(diào)頻發(fā)射模塊顯示模塊圖1 數(shù)控調(diào)頻發(fā)射器組成矩陣鍵盤模塊采用

4、16*16矩陣鍵盤,接入P1口T4T15為發(fā)射頻率預(yù)置鍵,T16為單聲道/立體聲控制鍵。調(diào)頻發(fā)射模塊采用Rohm公司最新生產(chǎn)的調(diào)頻發(fā)射專用集成電路BH1415F,內(nèi)含立體聲信號調(diào)制、調(diào)頻廣播信號發(fā)射電路,BH1415F內(nèi)有前置補(bǔ)償電路、限制器電路、低通濾波電路等,因此具有良好的音色,內(nèi)置PLL系統(tǒng)調(diào)頻發(fā)射電路,傳輸頻率非常穩(wěn)定。調(diào)頻發(fā)射頻率可用單片機(jī)通過串行口直接控制,接單片機(jī)的。作為與HB1415的通訊端口,用于傳送發(fā)射頻率控制數(shù)據(jù),P3.3用于立體聲發(fā)射批示。采用12MHZ晶振,模擬串口通訊。單片機(jī)模塊采用AT89C52,采用最小化應(yīng)用系統(tǒng)設(shè)計(jì),P0口和P2口作為共陽LED數(shù)碼管驅(qū)動(dòng)用,P

5、1口作為16鍵的鍵盤接口。顯示模塊采用4位數(shù)碼管動(dòng)態(tài)顯示,數(shù)據(jù)接入P0口,位控制接入P2口用于顯示發(fā)射頻率值。2.1.2基于MCS51的數(shù)控調(diào)頻發(fā)射器電路原理圖(詳見附錄I)圖2基于MCS51的數(shù)控調(diào)頻發(fā)射器電路原理圖2. 基于MCS51的數(shù)控調(diào)頻發(fā)射器PCB圖3基于MCS51的數(shù)控調(diào)頻發(fā)射器PCB2.2顯示電路2.2.1 LED數(shù)碼管的原理LED數(shù)碼顯示器由發(fā)光二極管(LED)構(gòu)成“日”字型或“田”字型,發(fā)光二極管由磷砷化鎵或碳化硅等材料制成,當(dāng)給發(fā)光二極管的PN結(jié)兩端施加正向電壓時(shí),電流加大,由于電子和空穴復(fù)合時(shí)釋放出的熱量而發(fā)光。LED數(shù)碼顯示器字體高度有、等多種規(guī)格;其發(fā)光顏色有紅、橙

6、、黃、綠、桔紅等幾種。2.2.2 MCS-51單片機(jī)與LED數(shù)碼管的硬件連接圖由于單片機(jī)復(fù)位后,各個(gè)引腳輸出都為高電平,因此選用共陰極的LED數(shù)碼管。每個(gè)數(shù)碼管的使能端com1,com2,com3,com4分別接到P3.0,P3.1,P3.2,P3.3,當(dāng)向使能端輸出低電平,即可選通相對應(yīng)的數(shù)碼管。74LS244為三態(tài)輸出的八組緩沖器和總線驅(qū)動(dòng)器,選用的四位八段數(shù)碼管本身已經(jīng)集成了譯碼器,這樣既簡化了線路的連接,又降低了錯(cuò)誤發(fā)生的概率。圖3為LED部分。圖4 LED部分2.3矩陣鍵盤電路鍵盤是微機(jī)系統(tǒng)中最常用的人機(jī)對話出入設(shè)備。鍵盤有兩種基本類型:編碼鍵盤跟非編碼鍵盤。在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤

7、掃描只是CPU的工作內(nèi)容之一。CPU對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過多占用CPU的工作時(shí)間。通常,鍵盤的工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。8051單片機(jī)鍵盤接線圖9如下:圖5 矩陣式鍵盤接線圖2.4單片機(jī)模塊2.4.1時(shí)鐘源電路單片機(jī)內(nèi)部具有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳Xl和X2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu)如圖5中Y2、C28、C29選擇12MHz的石英晶體,補(bǔ)償電容通常選擇30pF左右的瓷片電容。2.4.2復(fù)位電路單片機(jī)小系統(tǒng)采

8、用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位。其結(jié)構(gòu)如圖5中R16、C30和S18。上電自動(dòng)復(fù)位通過電容C30充電來實(shí)現(xiàn)。手動(dòng)按鍵復(fù)位是通過按鍵將電阻R16與GND接通來實(shí)現(xiàn)。圖6 單片機(jī)模塊2.5調(diào)頻發(fā)射模塊2.5.1 BH1415F概要BH1415F是一種無線音頻傳輸集成電路,它可以將計(jì)算機(jī)聲卡、游戲機(jī)、CD、DVD、MP3、調(diào)音臺等立體聲音頻信號進(jìn)行立體聲調(diào)制發(fā)射傳輸,配合普通的調(diào)頻立體聲接收機(jī)就可實(shí)現(xiàn)無線調(diào)頻立體聲傳送。適合用于生產(chǎn)立體聲的無線音箱、無線耳機(jī)

9、、CD、MP3、DVD、PAD、筆記本計(jì)算機(jī)等的無線音頻適配器開發(fā)生產(chǎn)。這個(gè)集成電路是由提高信噪比(S/N)的預(yù)加重電路、防止信號過調(diào)的限幅電路、控制輸入信號頻率的低通濾波電路(LPF)、產(chǎn)生立體聲復(fù)合信號的立體聲調(diào)制電路、調(diào)頻發(fā)射的鎖相環(huán)電路(PLL)組成。1、特點(diǎn):1)將預(yù)加重電路、限幅電路、低通濾波電路(LPF)一體化,使音頻信號的質(zhì)量比分立元件的電路(如:BA1404、NJM2035等)有很大改進(jìn)。2)導(dǎo)頻方式的立體聲調(diào)制電路。3)采用了鎖相環(huán)鎖頻并與調(diào)頻發(fā)射電路一體化,合發(fā)射的頻率非常穩(wěn)定。4)采用了MCU 數(shù)據(jù)直接頻率設(shè)定,可設(shè)定70-120MHz頻率,使用上非常方便。2、結(jié)構(gòu)圖:

10、圖7BH1415結(jié)構(gòu)圖3、允許的最大值:(Ta=25基本電路測量)項(xiàng)目符號范圍單位條件電源電壓Vcc+7v VPin8、12輸入電壓VIN-DPin15、16、17、18相位比較器輸出電壓VOUT-DPin7功率Pd450mW工作溫度范圍Tstg-55+1254、工作范圍:(Ta=25)項(xiàng)目符號數(shù)值單位條件工作電源電壓VccPin8、12工作溫度Topr-4085音頻輸入電平VIN-A-10dBVPin1、22音頻輸入頻率fIN-A2015K HzPin1、22預(yù)加重延時(shí)PRE155secPin2、21發(fā)射頻率fTXPin9、11高電平電壓標(biāo)準(zhǔn)(H)VIH0.8VccVccPin15、16、1

11、7、18低電平電壓標(biāo)準(zhǔn)(L)VILPin15、16、17、185、電性能特征(Ta=25Vcc=5.0V 輸入信號為400Hz)項(xiàng)目符號最小標(biāo)準(zhǔn)最大單位條件工作電流IQ142028mAVin=20dBVLandR分離度Sep2540dBVin=20dBVL+R失真度THD%Vin=20dV L+R平衡度-20+2dBVin=20dBVL+R音頻增益GV-20+2dBVin=20dBVL+R調(diào)制度MP121518%Vin=20dBVPin5副載比SCR-30-20dBVin=20dBVL+R預(yù)加重延時(shí)P RE405060sVin=20dBVL+R輸入電平VIN-16-13-10dBV輸出電平為1

12、dB低通頻率fC121518KHzVo=-3dBV2、21腳為空發(fā)射電平VTX9699102dBV輸出頻率為時(shí)“H”電流IIHA第15、16、17、18腳5V“L”電流IILA第15、16、17、18腳0V“H”電壓VOHV第7腳輸出電流為“L”電壓VOLV第7腳輸出電流為“OFF”電流IOFF1100nA第7腳輸出電壓5V“OFF”電壓IOFF2-100nA第7腳輸出電壓0V6、元件的尺寸及其封裝圖8 BH1415元件尺寸及其封裝2.5.2 電路應(yīng)用說明1、預(yù)加重電路預(yù)加重電路是一個(gè)非線性音頻放大器,它的內(nèi)部工作點(diǎn)為1/2 Vcc,因?yàn)樗欠蔷€性放大器,所以輸入阻抗取決為內(nèi)部電阻R3=43K

13、,預(yù)加重時(shí)間取決于內(nèi)部電阻R2=22.7K 和外部電容C1=2200p。圖9預(yù)加重電路時(shí)間常數(shù)=C1R2 ,R1=1K 是一個(gè)限流電阻,防止自激的產(chǎn)生。2、限幅電路圖10 限幅電路限幅電路是由二極管限幅的反相放大器組成,它的內(nèi)部工作點(diǎn)為1/2 Vcc。3、低通濾波電路低通濾波電路是由二階低通反饋放大電路組成,它的分頻點(diǎn)為15KHz。圖11低通濾波電路具體的公式如下:、0=1.274 、fc=15KHzR1=R2=R3=Rf=100KCf=1/0 Rf=1/(2)C1=3Q Cf =3X0.577X83.28pF=144pF150pFC2=Cf/3Q=83.28p/(3X0.577)=4850p

14、F4、立體聲調(diào)制電路音頻信號從第1腳和第22腳輸入后通過預(yù)加重電路、限幅電路和低通濾波電路后送到混合器(MPX)中,另外由第13、14腳接入晶體的振蕩電路通過200分頻后產(chǎn)生的38KHz副載波信號,同時(shí)38KHz副載波通2分頻產(chǎn)生的19KHz導(dǎo)頻信號。音頻信號和38KHz的副載波信號被多路復(fù)合器進(jìn)行了平衡調(diào)制,產(chǎn)生了一個(gè)主信號(L+R)和一個(gè)通過DSB 調(diào)制的38KHz 副載波信號(L-R),并與19KHz導(dǎo)頻信號組成復(fù)合信號從第5腳輸出。圖12立體聲調(diào)制電路5、FM發(fā)射電路FM發(fā)射電路采用穩(wěn)定頻率的鎖相環(huán)系統(tǒng)。這一部分由高頻振蕩器、高頻放大器及鎖相環(huán)頻率合成器組成。調(diào)頻調(diào)制由變?nèi)荻O管組成的

15、高頻振蕩器實(shí)現(xiàn),高頻振蕩器是一個(gè)鎖相環(huán)的VCO,立體聲復(fù)合信號通過它直接進(jìn)行調(diào)頻調(diào)制。圖13FM發(fā)射電路高頻振蕩器是由第9腳外部的LC 回路與內(nèi)部電路組成,振蕩信號經(jīng)過高頻放大器從11腳輸出,同時(shí)輸送到鎖相環(huán)電路進(jìn)行比較后從第7腳輸出一個(gè)信號對高頻振蕩器的值進(jìn)行修正,確保頻率穩(wěn)定。一但頻率超過鎖相環(huán)設(shè)定的頻率,第7 腳將輸出的電平變高;如果是低于設(shè)定頻率,它將輸出的電平變低;相同的時(shí)候,它的電平將不變。6、各腳位內(nèi)部電路2.5.3調(diào)頻發(fā)射模塊電路原理圖圖14調(diào)頻發(fā)射模塊電路原理圖第3章:軟件設(shè)計(jì)3.1數(shù)控調(diào)頻發(fā)射器的鍵盤掃描程序3數(shù)控調(diào)頻發(fā)射器的鍵盤掃描程序設(shè)計(jì)本程序采用4X4行列式查詢法,其

16、方法是對P1.0P1.3行線口分別為0然后讀入P1口高4位的值。若不為1111則說明有鍵按下根據(jù)P1口值與鍵號表進(jìn)行查表對照從而取得按鍵的鍵號值,并跳轉(zhuǎn)至鍵功能程序。鍵盤掃描程序流程圖如圖15所示:圖15鍵盤掃描程序流程圖3數(shù)控調(diào)頻發(fā)射器鍵盤掃描程序START:LCALL CLEARMEN;上電初始化MAIN:LCALL KEYWORK ;調(diào)查鍵子程序LCALL DISPLAY;LED顯示一次AJMPMAIN;轉(zhuǎn)MAIN循環(huán)NOP;PC出錯(cuò)處理NOP;AJMP START;重新初始化KEYWORK:MOV P1,#0FFH;置P1口為輸入狀態(tài)CLR P1.0;掃描第1行(第一行為0)MOV A

17、,P1;讀入P1口值A(chǔ)NL A,#0F0H;低3位為0CJNE A,#0F0H,KEYCON;高4位不全位1(有鍵按下)轉(zhuǎn)KEYCONSETB P1.0;掃描第二行(第二行位0)CLR P1.1;MOV A,P1;讀入P1口值A(chǔ)NL A,0F0H;低4位位0CJNE A,#0F0H,KEYCON;高4位不全位1(uou鍵按下)轉(zhuǎn)KEYCONSETB P1.1;掃描第三行(第三行位0)CLR P1.2;MOV A,P1;讀入P1口值A(chǔ)NL A,#0F0H;低4位位0CJNE A,#0F0H,KEYCON;高4位不全位1(有鍵按下)轉(zhuǎn)KEYCONSETB P1.2; 掃描第三行(第三行位0)CLR

18、 P1.3;MOV A,P1;讀入P1口值A(chǔ)NL A,#0F0H;低4位為0CJNE A,#0F0H,KEYCON;4位不全位1(uou鍵按下)轉(zhuǎn)KEYCONSETB P1.3;結(jié)束行掃描RETKEYCON:LCALL DL10MS;消抖處理MOV A,P1;再讀入P1口值A(chǔ)NL A,#0F0H;低4位位0CJNE A,#0F0H,KEYCHE;高四位不全位1,確有鍵按下,轉(zhuǎn)KEYCHEKEYOUT:RET;干擾,子程序返回KEYCHE:MOV A,P1;讀P1口值MOV KEYWORD,A;放入23H暫存CJLOOP:LCALL DISPLAY;調(diào)顯示子程序MOV A,P1;讀P1口值A(chǔ)NL

19、 A,#0F0H;低4位位0CJNE A,#0F0H,CJLOOP;高4位全為1(鍵還按著),轉(zhuǎn)CJLOOP等待釋放MOV R7,#00H;鍵釋放,置R7位#00好(查表次數(shù))MOV DPTR,#KEYTAB;取鍵表首地址CHEKEYLOOP:MOV A,R7;查表次數(shù)入AMOVC A,A+DPTR;查表XRL A,KEYWORD;查表值與P1口讀入值比較JZ KEYOK;為0(相等)轉(zhuǎn)KEYOKINC R7;不等,查表次數(shù)加1CJNE R7,#10H,CHEKEYLOOP;查表次數(shù)不超過16次轉(zhuǎn)CHEKEYLOOP再查16次RET;退出;KEYOK:MOV A,R7;查表次數(shù)入A(即鍵號值)

20、MOV B,A;放入BRL A;左移ADD A,B;相加MOV DPTR,#KEYFUNTAB;取鍵功能散表首地址JMP A+DPTR; 查表KEYFUNTAB:LJMP KEYFUN00;鍵功能散轉(zhuǎn)表。跳至0好鍵功能LJMP KEYFUN01;跳至01號鍵功能程序LJMP KEYFUN02;跳至02號鍵功能程序LJMP KEYFUN03LJMP KEYFUN04LJMP KEYFUN05LJMP KEYFUN06LJMP KEYFUN07LJMP KEYFUN08LJMP KEYFUN09LJMP KEYFUN10LJMP KEYFUN11LJMP KEYFUN12LJMP KEYFUN13

21、LJMP KEYFUN14LJMPKEYFUN15;跳至15號鍵功能程序RET;散轉(zhuǎn)出錯(cuò)返回;鍵號對應(yīng)P1k偶數(shù)值表(同時(shí)按下兩鍵位無效操作)KEYTAB:DB 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DHDB 0EBH,0DBH,0BBH,0E7H,0D7H,0B7H,77H,0FFH,0FFH;0號鍵功能程序KEYFUN00:INC 29H;百位數(shù)加1MOV A,29H;入ACLR C;清進(jìn)位標(biāo)志CJNE A,02H,FUN00;FUN00:JC FUN00OUT;百位小于2轉(zhuǎn)FUN00OUTFUN00OUT:MOV A,29H;判斷百位是0還是1XRL A,

22、#01H;JNZ F00OUT1;若百位為0轉(zhuǎn)F00OUT1MOV 28H,#00H;若百位位1,十位為0AJMP F00OUT;F00OUT1:MOV 28H,#08H;若百位為0,十位數(shù)改為8F00OUT:LCALL DISPUTDAT;寫入控制芯片RET;01號鍵功能程序KEYFUN01:INC 28H;十位數(shù)加1MOV A,28H;入ACLR C;清進(jìn)位標(biāo)志CJNE A,#0AH,FUN01;判斷是否小于10FUN01:JC FUN01OUT;十位數(shù)小于10轉(zhuǎn)FUN01OUTMOV 28H,#00H;半段百位數(shù)試0不是1XRL A,#01H;JNZ F01OUT;MOV 28H,#00

23、H;百位數(shù)位1時(shí),十位數(shù)為0AJMP F001OUT;FUN01OUT:MOV A,#29;判斷百位數(shù)是0不是1XRL A,#01H;JNZ F01OUT;MOV 28H,#00H;百位是1時(shí),十位數(shù)是0AJMP F001OUT;F01OUT:MOV A,28H;百位為0時(shí),十位數(shù)只能是8或9XRL A,#08H;判斷是不是8JZ F001OUT;十位數(shù)是8轉(zhuǎn)F001OUTMOV A,28H;XRL A,#09H;判斷是不是9JZ F001OUT;十位數(shù)是9轉(zhuǎn)F001OUTMOV 28H,#08H;不是8也不是9,十位賦值為8F001OUT:LCALL DISPUTDAT;寫入控制芯片RET;

24、返回;02號鍵功能程序KEYFUN02:INC 27H;個(gè)位數(shù)加1MOV A,27H;CLR C;CJNE A,#0AH,FUN02;判斷是否小于10FUN02:JC FUN02OUT;小于10轉(zhuǎn)FUN02OUTMOV 27H,#00H;大于或等于10清為0FUN02OUT:LCALL DISPUTDAT;寫入控制芯片RET;03號鍵功能程序KEYFUN03:INC 26H;個(gè)位加1MOV A,26H;CLR C ;CJNE A,#0AH,FUN03;判斷事發(fā)后小于10FUN03:JC FUN03OUT;小于10轉(zhuǎn)FUN03OUTMOV 26H,#00H;大于或等于10清為0FUN03OUT:

25、LCALL DISPUTDAT;寫入控制芯片RET;04號功能鍵程序(頻率預(yù)置)MOV 28H,#00HMOV 27H,#09HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;05號功能鍵程序(頻率預(yù)置)MOV 28H,#00HMOV 27H,#08HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;06號功能鍵程序(頻率預(yù)置)MOV 28H,#00HMOV 27H,#05HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;07號功能鍵程序(頻率預(yù)置)MOV 28H,#00HMOV 27H,#00HMOV 26H,

26、#00HLCALL DISPUTDAT;寫入控制芯片RET;08號功能鍵程序(頻率預(yù)置)MOV 28H,#09HMOV 27H,#08HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;09號功能鍵程序(頻率預(yù)置)MOV 28H,#09HMOV 27H,#06HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;10號功能鍵程序(頻率預(yù)置)MOV 28H,#09HMOV 27H,#04HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;11號功能鍵程序(頻率預(yù)置)MOV 28H,#09HMOV 27H,#02HMOV

27、26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;12號功能鍵程序(頻率預(yù)置)MOV 28H,#09HMOV 27H,#00HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;13號功能鍵程序(頻率預(yù)置)MOV 28H,#08HMOV 27H,#08HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;014號功能鍵程序(頻率預(yù)置)KEYFUN14:MOV 29H,#00H ;預(yù)置80MHz發(fā)射頻率MOV 28H,#08HMOV 27H,#00HMOV 26H,#00HLCALL DISPUTDAT;寫入控制芯片RET;15號

28、鍵功能程序(立體聲/單聲道設(shè)置鍵)KEYFUN15:CPL 03H;立體/單聲標(biāo)志取反JNB 03H,MONO;為0轉(zhuǎn)單聲道MONOCLR P3.3;為1開立體聲只是燈LCALL PUTBIT;發(fā)送控制字至BH1415FRETMONO:SETB P3.3;關(guān)立體聲指示燈LCALL PUTBIT;發(fā)送控制字至BH1415FRET3.2基于51單片機(jī)的數(shù)碼管顯示程序3數(shù)碼管的動(dòng)態(tài)掃描動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個(gè)鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送

29、出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。 3數(shù)碼管的動(dòng)態(tài)顯示程序設(shè)計(jì)本程序采用動(dòng)態(tài)掃描法顯示4位頻率數(shù)值,數(shù)碼管動(dòng)態(tài)掃描顯示程序流程圖如圖16所示:圖16 數(shù)碼管動(dòng)態(tài)掃描顯示程序流程圖3 數(shù)碼管動(dòng)態(tài)掃描顯示程序;顯示程序;共陽LED顯示,P0口輸出斷碼,P2口輸出掃描字DISPLAY:MOV R1,#26;顯示首地址MOV R5,#0FEH;沒掃描字PLAY:MOV A,R5;放入AMOV P2,A;P2口輸出MOV A,R1;取顯示數(shù)據(jù)MOV DPTR,#T

30、AB;取段碼首地址MOVC A,A+DPTR;查段碼MOV P0,A;從P0輸出MOV A,R5;讀入掃描字JB ACC.1,PLAY1;不試視為LED,不顯示小數(shù)點(diǎn)CLR P0.7;試十位,顯示小數(shù)PLAY1:LCALL DL1MS;點(diǎn)亮1msINC R1;指向下一顯示數(shù)據(jù)JNB ACC.3,ENDOUT;是第4位LED,退出RL A;不是,左移一位MOV R5,A;放回R5SETB P0.7;關(guān)小數(shù)點(diǎn)AJMP PLAY;轉(zhuǎn)PLAY循環(huán)ENDOUT:MOV P2,#0FFH;顯示結(jié)束,關(guān)顯示輸出口MOV P0,#0FFH;RET;3.3數(shù)控調(diào)頻發(fā)射器的頻率控制3.3.1 51單片機(jī)與BH14

31、15的通信A、數(shù)據(jù)信號發(fā)送方式:B、數(shù)據(jù)內(nèi)容說明:3.3.2單片機(jī)與BH1415通信程序設(shè)計(jì)與BH1415通信采用串行通信,P3.0、P3.1、P3.2作為與HB1415的通訊端口,用于傳送發(fā)射頻率控制數(shù)據(jù),P3.3用于立體聲發(fā)射批示。采用12MHZ晶振,模擬串口通訊。程序設(shè)計(jì)流程圖如圖17所示:圖17 單片機(jī)與BH1415通信程序流程圖3.3.3單片機(jī)與BH1415通信程序一、將BCD碼轉(zhuǎn)為十六進(jìn)制數(shù)程序;將BCD碼轉(zhuǎn)為十六進(jìn)制數(shù)程序BCDB:MOV CONBITL,#00H;控制字清MOV CONBITH,#00H;控制字清MOV CONBITL,26H;小數(shù)位數(shù)放入控制子低8位MOV A

32、,27H;個(gè)位數(shù)乘10操作MOV B,#10LCALL MULLOOP;調(diào)乘法子程序MOV ,28H;十位數(shù)乘100財(cái)足以MOV B,#100LCALL MULLOOP;調(diào)乘法子程序MOV A,29H;JNZ ADD3E8;百位數(shù)位1轉(zhuǎn)ADD3E8(加1000操作)RET;百位數(shù)為0退出ADD3E8:CLR C;清進(jìn)位檔標(biāo)志MOV A,#0E8H;低8位加法ADD A,CONBITL;累加MOV CONBITL,A;放回CONBITLMOV A,03H;高8位加法ADDC A,CONBITH;控制字高8位處理RET;乘法累加處理程序(將四位顯示的十進(jìn)制BCD碼轉(zhuǎn)位1個(gè)二進(jìn)制數(shù))MULLOOP:

33、MUL AB;乘法CLR C;清進(jìn)位標(biāo)志ADD A,CONBITL;積低8位與CONBITL相加MOV CONBITL,A;放回CONBITLMOV A,CONBITH;ADDC A,B; 積高8位與CONBITH帶進(jìn)位累加MOV CONBITH,A;放回CONBITHRET;頻率控制數(shù)據(jù)與5位控制碼合成BH1415F控制字CONCOMMAND:ANL CONBITH,#07H;高4位為0MOV A,20H;控制字放入AORL A,CONBITH;合成控制字MOV CONBITH,A;放回CONBITHRET二、發(fā)送控制字節(jié)子程序;發(fā)送控制字節(jié)子程序;PUTBIT:MOV A,CONBITL;

34、低8位控制字入ASETB P3.2;BH1415F使能LCALL PUT;發(fā)送8位MOV A,CONBITH;高8位控制字入ALCALL PUT;發(fā)送8位CLR P3.2;BH1415F寫禁止CLR P3.0;復(fù)位CLR P3.1;復(fù)位RET;字節(jié)發(fā)送子程序PUT:MOV R3,#8;發(fā)送8位控制CLR C;清CPUT1:RRC A;帶進(jìn)位位右移(先發(fā)低位)NOP;延時(shí)4usNOP;NOP;NOP;SETB P3.1;鎖存數(shù)據(jù)(上升沿時(shí)鎖存數(shù)據(jù))NOP;延時(shí)4usNOPNOPNOPCLR P3.1;DJNZ R3,PUT1;8位未發(fā)完轉(zhuǎn)PUT1再發(fā)RET;8位發(fā)完結(jié)束;513us延時(shí)子程序DL

35、513:MOV R3,#0FFHDL513LOOP:DJNZ R3,DL513LOOPRET;1ms延時(shí)子程序(LED點(diǎn)亮用)DL1MS:MOV R4,#02HDL1MSLOOP:LCALL DL513DJNZ R4,DL1MSLOOPRET;10ms延時(shí)子程序(消抖用)DL10MS:MOV R6,#0AHDL10MSLOOP:LCALL DL1MSDJNZ R6,DL10MSLOOPRET;3.4 數(shù)控調(diào)頻發(fā)射器程序;數(shù)控調(diào)頻發(fā)射器控制器;26H29H存放顯示小數(shù)位、個(gè)位、十位、百位BCD碼數(shù),24H25H存放頻率控制數(shù)據(jù)(16進(jìn)制);CONBITL EQU 21H ;頻率控制字節(jié)低8位CO

36、NBITH EQU 22H ;頻率控制字節(jié)高8位KEYWORD EQU 23H ;存放鍵掃描試P1口值;ORG 0000H;程序開始地址LJMP START;轉(zhuǎn)STAR執(zhí)行ORG 0003H;RETI;不用中斷程序ORG 000BH;RETI;不用中斷程序ORG 0013H;RETI;不用中斷程序ORG 001BH;RETI;不用中斷程序ORG 0023H;RETI;不用中斷程序ORG 002BH;RETI;不用中斷程序;初始化程序CLEARMEN:MOVR0,#20H;20H29H循環(huán)清0MOV R1,#0AH;CLEARLOOP:MOVR0,#00H;INC R0;DJNZ R1,CLEA

37、RLOOP;MOV P0,#0FFH;4端口置1MOV P1,#0FFH;MOV P2,#0FFH;MOV P3,#0FFH;CLR P3.0;BH1415禁止操作CLR P3.1;CLR P3.2;LCALL KEYFUN15;置立體聲發(fā)射方式CLEAR1:MOV PCON,#00H;控制寄存器清0MOV 29H,#00H;置初始值位88MHZ(顯示為088.0)MOV 28H,#08H;MOV 27H,#08H;MOV 26H,#00H;LCALL DISPUTDAT;寫入BH1415芯片(修改發(fā)射頻率)RET;子程序返回;主程序START:LCALL CLEARMEN;上電初始化MAIN

38、:LCALL KEYWORK ;調(diào)查鍵子程序LCALL DISPLAY;LED顯示一次AJMPMAIN;轉(zhuǎn)MAIN循環(huán)NOP;PC出錯(cuò)處理NOP;AJMP START;重新初始化KEYWORK:MOV P1,#0FFH;置P1口為輸入狀態(tài)CLR P1.0;掃描第1行(第一行為0)MOV A,P1;讀入P1口值A(chǔ)NL A,#0F0H;低3位為0CJNE A,#0F0H,KEYCON;高4位不全位1(有鍵按下)轉(zhuǎn)KEYCONSETB P1.0;掃描第二行(第二行位0)CLR P1.1;MOV A,P1;讀入P1口值A(chǔ)NL A,0F0H;低4位位0CJNE A,#0F0H,KEYCON;高4位不全位

39、1(uou鍵按下)轉(zhuǎn)KEYCONSETB P1.1;掃描第三行(第三行位0)CLR P1.2;MOV A,P1;讀入P1口值A(chǔ)NL A,#0F0H;低4位位0CJNE A,#0F0H,KEYCON;高4位不全位1(有鍵按下)轉(zhuǎn)KEYCONSETB P1.2; 掃描第三行(第三行位0)CLR P1.3;MOV A,P1;讀入P1口值A(chǔ)NL A,#0F0H;低4位為0CJNE A,#0F0H,KEYCON;4位不全位1(uou鍵按下)轉(zhuǎn)KEYCONSETB P1.3;結(jié)束行掃描RETKEYCON:LCALL DL10MS;消抖處理MOV A,P1;再讀入P1口值A(chǔ)NL A,#0F0H;低4位位0C

40、JNE A,#0F0H,KEYCHE;高四位不全位1,確有鍵按下,轉(zhuǎn)KEYCHEKEYOUT:RET;干擾,子程序返回KEYCHE:MOV A,P1;讀P1口值MOV KEYWORD,A;放入23H暫存CJLOOP:LCALL DISPLAY;調(diào)顯示子程序MOV A,P1;讀P1口值A(chǔ)NL A,#0F0H;低4位位0CJNE A,#0F0H,CJLOOP;高4位全為1(鍵還按著),轉(zhuǎn)CJLOOP等待釋放MOV R7,#00H;鍵釋放,置R7位#00好(查表次數(shù))MOV DPTR,#KEYTAB;取鍵表首地址CHEKEYLOOP:MOV A,R7;查表次數(shù)入AMOVC A,A+DPTR;查表XR

41、L A,KEYWORD;查表值與P1口讀入值比較JZ KEYOK;為0(相等)轉(zhuǎn)KEYOKINC R7;不等,查表次數(shù)加1CJNE R7,#10H,CHEKEYLOOP;查表次數(shù)不超過16次轉(zhuǎn)CHEKEYLOOP再查16次RET;退出;KEYOK:MOV A,R7;查表次數(shù)入A(即鍵號值)MOV B,A;放入BRL A;左移ADD A,B;相加MOV DPTR,#KEYFUNTAB;取鍵功能散表首地址JMP A+DPTR; 查表KEYFUNTAB:LJMP KEYFUN00;鍵功能散轉(zhuǎn)表。跳至0好鍵功能LJMP KEYFUN01;跳至01號鍵功能程序LJMP KEYFUN02;跳至02號鍵功能

42、程序LJMP KEYFUN03LJMP KEYFUN04LJMP KEYFUN05LJMP KEYFUN06LJMP KEYFUN07LJMP KEYFUN08LJMP KEYFUN09LJMP KEYFUN10LJMP KEYFUN11LJMP KEYFUN12LJMP KEYFUN13LJMP KEYFUN14LJMPKEYFUN15;跳至15號鍵功能程序RET;散轉(zhuǎn)出錯(cuò)返回;鍵號對應(yīng)P1k偶數(shù)值表(同時(shí)按下兩鍵位無效操作)KEYTAB:DB 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DHDB 0EBH,0DBH,0BBH,0E7H,0D7H,0B7H,77H,

43、0FFH,0FFH;0號鍵功能程序KEYFUN00:INC 29H;百位數(shù)加1MOV A,29H;入ACLR C;清進(jìn)位標(biāo)志CJNE A,02H,FUN00;FUN00:JC FUN00OUT;百位小于2轉(zhuǎn)FUN00OUTFUN00OUT:MOV A,29H;判斷百位是0還是1XRL A,#01H;JNZ F00OUT1;若百位為0轉(zhuǎn)F00OUT1MOV 28H,#00H;若百位位1,十位為0AJMP F00OUT;F00OUT1:MOV 28H,#08H;若百位為0,十位數(shù)改為8F00OUT:LCALL DISPUTDAT;寫入控制芯片RET;01號鍵功能程序KEYFUN01:INC 28H

44、;十位數(shù)加1MOV A,28H;入ACLR C;清進(jìn)位標(biāo)志CJNE A,#0AH,FUN01;判斷是否小于10FUN01:JC FUN01OUT;十位數(shù)小于10轉(zhuǎn)FUN01OUTMOV 28H,#00H;半段百位數(shù)試0不是1XRL A,#01H;JNZ F01OUT;MOV 28H,#00H;百位數(shù)位1時(shí),十位數(shù)為0AJMP F001OUT;FUN01OUT:MOV A,#29;判斷百位數(shù)是0不是1XRL A,#01H;JNZ F01OUT;MOV 28H,#00H;百位是1時(shí),十位數(shù)是0AJMP F001OUT;F01OUT:MOV A,28H;百位為0時(shí),十位數(shù)只能是8或9XRL A,#0

45、8H;判斷是不是8JZ F001OUT;十位數(shù)是8轉(zhuǎn)F001OUTMOV A,28H;XRL A,#09H;判斷是不是9JZ F001OUT;十位數(shù)是9轉(zhuǎn)F001OUTMOV 28H,#08H;不是8也不是9,十位賦值為8F001OUT:LCALL DISPUTDAT;寫入控制芯片RET;返回;02號鍵功能程序KEYFUN02:INC 27H;個(gè)位數(shù)加1MOV A,27H;CLR C;CJNE A,#0AH,FUN02;判斷是否小于10FUN02:JC FUN02OUT;小于10轉(zhuǎn)FUN02OUTMOV 27H,#00H;大于或等于10清為0FUN02OUT:LCALL DISPUTDAT;寫入控制芯片RET;03號鍵功能程序KEYFUN03:INC 26H;個(gè)位加1MOV A,26H;CLR C ;CJNE A,#0AH,FUN03;判斷事發(fā)后小于10FUN03:JC FUN03OUT;小于10轉(zhuǎn)FUN03OUTMOV 26H,#00H;大于或等于10清為0FUN03OUT:LCALL DISPUTDAT;寫入控制芯片RET;04號功能鍵程序(頻率預(yù)置)MOV 28H,#00HMOV 27H,#0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論