|
本帖最后由 npn 于 2016-6-26 20:40 編輯
用STC單片機(jī)制作世界上最簡單的AM/FM發(fā)射電路 可同時(shí)發(fā)射 無需調(diào)試 無需任何外圍模塊 新手制作100%成功!
軟件:
USB轉(zhuǎn)TTL驅(qū)動(dòng) (用于讓轉(zhuǎn)換器正常運(yùn)行,不同型號(hào)轉(zhuǎn)換器有不同驅(qū)動(dòng),根據(jù)型號(hào)到正規(guī)網(wǎng)站進(jìn)行下載安裝)。
STC-ISP (STC系列單片機(jī)程序燒寫軟件,官方網(wǎng)站提供免費(fèi)下載最新版本,無需安裝即可運(yùn)行)。
WinHex 漢化破解版 (16進(jìn)制文件編輯器,可修改任何文件的數(shù)據(jù),各大網(wǎng)站均有免費(fèi)下載安裝)。
Goldwave 漢化破解版 (強(qiáng)大的音頻處理軟件,支持格式多,功能強(qiáng)大,各大網(wǎng)站均有免費(fèi)下載安裝)。
Keil 漢化破解版 (單片機(jī)C源碼編譯軟件,所有的C51系列指令集單片機(jī)C語言編譯大部分使用該軟件完成)。
硬件:
USB轉(zhuǎn)TTL轉(zhuǎn)換器。
單片機(jī) STC15F104E。
若干米導(dǎo)線,用于制作天線。
連接導(dǎo)線若干根或印刷PCB。
包含電壓比較器的話筒模塊或者帶自動(dòng)增益控制器的模數(shù)轉(zhuǎn)換器并且取最高位(可選,可省略GoldWave和WinHex軟件)
信號(hào)放大電路(可選,用于增加覆蓋范圍)
硬件連接:
P3.4接若干米長天線并且懸空即可。
P3.0連接話筒模塊的數(shù)字信號(hào)輸出端(若用電腦輸出音頻信號(hào)則連接串口即可)。
連接VCC與GND(電壓越高信號(hào)覆蓋距離越遠(yuǎn),強(qiáng)烈建議使用大功率放大電路進(jìn)行放大避免電壓高導(dǎo)致芯片壽命縮短)。
編譯失敗或出現(xiàn)警告可能的原因:
缺少頭文件,下載該頭文件并且復(fù)制到同一個(gè)目錄即可完成編譯。
Keil 破解存在不完整,重新下載破解補(bǔ)丁以及注冊(cè)機(jī)即可解決。
存在全角字符,刪除所有全角符號(hào)等無關(guān)字符重新嘗試編譯。
缺少括號(hào),源碼復(fù)制不完整,重新復(fù)制一次源碼即可成功編譯。
無高頻信號(hào)輸出可能的原因:
固件版本過低 。
該I/O口已損壞。
無相關(guān)特殊功能寄存器。
晶振頻率不在范圍內(nèi)。
解決方法:更換另一片單片機(jī)并且合理調(diào)整內(nèi)部晶振頻率進(jìn)行重新嘗試。
可配合有電壓比較器的話筒模塊使用,也可通過串口直接發(fā)送音頻,修改音頻需用到goldwave軟件。
發(fā)送波特率115200,每秒可發(fā)送11520字節(jié),音頻采樣率修改為單聲道11520hz 8bit,晶振頻率高的和硬件支持的可嘗試使用更高的波特率。
去除音頻的所有自動(dòng)偏移效果最佳,并且將音頻信號(hào)整形為數(shù)字信號(hào),最后另存為snd格式,用winhex檢測只包含0x00和0xFF為止。
或者將0x00~0x7F數(shù)據(jù)替換為0x00,0x80~0xFF全部替換為0xFF,即可通過串口直接送出,否則其他位的數(shù)據(jù)都會(huì)被串口送出,就可能會(huì)是噪音
。
信號(hào)輸出口連接P3.0,采用IRC_CLKO寄存器實(shí)現(xiàn)直接輸出晶振的振蕩信號(hào),P3M0寄存器用于增加發(fā)射功率,成功率最高的無線電發(fā)射電路。
由于使用方波作為載波,方波包含豐富的寄次諧波成分,使用AM/FM收音機(jī)均可接收,同時(shí)寄次諧波會(huì)覆蓋多個(gè)頻率進(jìn)行發(fā)射。
P3.0口高電平,P3.4等于IRC頻率,P3.0口低電平,P3.4等于IRC頻率/2。
若其他芯片沒有該功能寄存器或晶振頻率過高會(huì)無法輸出信號(hào)。
P3.4分別與LED的VCC和GND連接(兩邊同時(shí)連接需要加電阻),如果與兩邊接都會(huì)亮說明該口已有高頻振蕩信號(hào),P3.4口功能由硬件寄存
器決定,不同型號(hào)芯片可能會(huì)有不同,無法直接修改。
電路起振后將天線接在P3.4并且懸空,長度等于晶振頻率的波長/4或波長/8效果最佳。
打開串口和收音機(jī),用串口隨便發(fā)送一些數(shù)據(jù),用收音機(jī)接收到效果最佳的聲音為止,最后向串口發(fā)送音頻數(shù)據(jù)即可。
也可使用該功能代替有源晶振為其他單片機(jī)起振,XTAL1接地或懸空,XTAL2接本芯片的P3.4。
下面是源碼(用Keil直接編譯即可):
#include "STC15F104E.h"
#include "intrins.h"
sbit r=P3^0; //信號(hào)輸入口
void main(){ //入口函數(shù)
P3M0=0xFF; //配置IO口模式
IRC_CLKO|=0x80; //開啟內(nèi)部IRC輸出到外部P3.4口功能
while(1){ //進(jìn)入死循環(huán)
if(r==0){ //輸入低電平
IRC_CLKO|=0x08; //輸出二分頻
} else { //輸入高電平
IRC_CLKO&=0xF7; //輸出無分頻
}
}
}
|
評(píng)分
-
查看全部評(píng)分
|