freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì)-閱讀頁

2024-12-24 05:45本頁面
  

【正文】 塊 遙控器硬件由 CPU、無線模塊和按鍵組成,用來控制主板的 LED。 本設(shè)計(jì)共有四個(gè)按鍵,每個(gè)按鍵分別接到單片機(jī)的 I/O 口,利用單片機(jī)I/O 口讀取的電平高低來判斷是否有鍵按下。目前的技術(shù)有硬件 去抖動(dòng)和軟件去抖動(dòng)。電路圖如附錄 3所示。 電源模塊 電路所需的電源主要是 +5V 電源 ,原理圖如圖 36 所示。 78L05 具有: 三端集成穩(wěn)壓電源內(nèi)部由 基準(zhǔn)電壓回路、恒流源、過流保護(hù)、過壓保護(hù)和短路保護(hù)回路等 8 部分組成,具有低功耗,高效率,紋波系數(shù)小,輸出電壓穩(wěn)定等優(yōu)點(diǎn)。要開始這項(xiàng)配置,就必須調(diào)用一個(gè)頭文件 ,而這個(gè)頭文件是在開發(fā)文具中無法找到的,因而得自己定義它,這個(gè)頭文件的作用是將一些特殊的操作碼、指令或者是特殊的表達(dá)式等用比較容易記的助記符來表示,這樣既提高了程鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明 書 ( 2021) 15 序的直觀性也提高了可讀性。在頭文件的定義結(jié)束處有一些外部函數(shù)定義,這部分的功能是告訴現(xiàn)在正在使用的文件這部分函數(shù)是已經(jīng)存在的函數(shù),在其他文件中可以直接調(diào)用這部分函數(shù)完成相應(yīng)的功能,而不需要再次定義。為此,在 CC1100 程序源文件中加入了一個(gè)初始化數(shù)據(jù)定義。 CPU 利用 SPI 接口讀、寫 CC1100 的寄存器。而 halSpiWriteReg()函數(shù)的作用是通過 SPI 端口對(duì) CC1100 的寄存器進(jìn)行單一寫,單片機(jī)通過 SPI寫寄存器的時(shí)候,必須先寫寄存器的地址,然后再往該地址中寫入數(shù)據(jù),最后 CC1100 根據(jù)寄存器中所存儲(chǔ)的數(shù)據(jù)執(zhí)行相應(yīng)的操作。 程序清單 41: void halSpiWriteBurstReg(unsigned char addr,unsigned char *buffer,unsigned char count) { unsigned char i,temp。 CS_CC1100 = 0。 SpiReadWrite(temp)。icount。 } CS_CC1100 = 1。接下來的函數(shù)是對(duì) CC1100 進(jìn)行命令輸入,在配置 CC1100 的命令寄存器時(shí),只需要輸入一個(gè)字節(jié)的命令即可完成對(duì) CC1100 的一個(gè)寄存器的配置。 while (GDO0)。 //寫入命令 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 16 CS_CC1100 = 1。這些寄存器配置只需要從 SPI 口輸入即可。 收發(fā)數(shù)據(jù) CC1100 芯片接收時(shí),天線接收的射頻信號(hào)經(jīng)過低噪聲放大器和 I/Q 下變頻處理,混合 I/Q 信號(hào)再經(jīng)過濾波、放大、 A/D變換和自動(dòng)增益控制、數(shù)字調(diào)解和擴(kuò)頻,最終恢復(fù)出傳輸?shù)恼_數(shù)據(jù),發(fā)射時(shí),要發(fā)送的數(shù)據(jù)先被送入發(fā)送緩存器,根據(jù)相應(yīng)的協(xié)議標(biāo)準(zhǔn), 經(jīng)過擴(kuò)頻和 A/D 變換后,經(jīng)過低通濾波和上變頻的混頻后的射頻信號(hào)最終被調(diào)制到需要的頻段,并經(jīng)放大后送到天線發(fā)射出去。 狀態(tài)之間的轉(zhuǎn)換如圖 41 所示。 CC1100 發(fā)送數(shù)據(jù) ,首先從 SPI 口寫入要發(fā)送數(shù)據(jù)的字節(jié)數(shù),然后寫入想要發(fā)送的數(shù)據(jù),最后再寫入發(fā)送使能命令, CCll00 便開始發(fā)送數(shù)據(jù)。如果在一定時(shí)問內(nèi), GD02 上沒有任何動(dòng)作,表示發(fā)送失敗。程序見附錄。此時(shí),讀出 CC1100 接收數(shù)據(jù)緩 沖的第 1 個(gè)字節(jié)的數(shù)據(jù),這個(gè)數(shù)據(jù)就是現(xiàn)在 CC1100 接收到的數(shù)據(jù)長度。最后再把 CC1100 的兩個(gè)狀態(tài)寄存器談出 (RSSI 和 LQI),一個(gè)狀態(tài)寄存器為接收信號(hào)強(qiáng)度指示寄存器,另一個(gè)為鏈接質(zhì)量寄存器。程序見附錄。掃描程序用開關(guān)語句,將 tt值與 case后面的 值進(jìn)行比較,匹配就執(zhí)行其后的語句,即寫入要顯示的數(shù)據(jù)。 程序清單 43: void Timer0_IR(void) interrupt 3 { static unsigned char WM = 0。 SelWM(WM)。 //數(shù)碼管顯示 if(++WM == 6) WM = 0。首先打開 PWM 功能,并初始化其時(shí)鐘和端口。然后根據(jù)每一個(gè)音符的頻率算出 PWM 的時(shí)鐘提供定時(shí)器的初始值,這樣就可以產(chǎn)生一定頻率的脈沖,從而產(chǎn)生一定頻率的音樂。 PWM 初始化見程序清單 44。 //允許 PCA 計(jì)數(shù)定時(shí)器工作、 PCA0MD = 0X04。 //允許 PCA 比較功能, 8 位 PWM 允許 PCA0CPL1 = 0X80。 //占空比為 50% 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 18 } 無線遙控器 主程序接收遙控器的按鍵盤信號(hào),然后處理按鍵信號(hào),其他功能都在定時(shí)器中斷 1 里完成。當(dāng)有按鍵按下的時(shí)候,外部中斷使 CPU 從休眠模式中喚醒,然后 CPU 屏蔽掉外部中斷(避免誤觸發(fā)中斷),開始掃描鍵盤,之后把當(dāng)前的按鍵發(fā)送出去,等到按鍵放開之后,CPU 打開外部中斷后再次進(jìn)入休眠模式。 在處理按鍵信號(hào)時(shí),運(yùn)用 while 循環(huán)語句,先判斷后執(zhí)行,并加入條件語句,判斷收到的信號(hào),然后執(zhí)行相應(yīng)語句控制歌曲暫?;虿シ?。 在最后要加入普通延時(shí)函數(shù),見程序清單 45。 for(i=0。i++)。in。 for(i=0。i++)。in。 for(i=0。i++)。in。 } 5 編譯調(diào)試 程序編譯用的是 keil C51 軟件。打開安裝光盤,進(jìn)入 steup 目錄,單擊 進(jìn)行安裝。在一個(gè)項(xiàng)目中,可以把已編寫好的文件加入項(xiàng)目中,也可以直接在項(xiàng)目中創(chuàng)建新的文件。現(xiàn)在可以編寫程序了,光標(biāo)已出現(xiàn)在文本編輯窗口中,等待程序文體的輸入。 圖 52項(xiàng)目初始界面 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 20 圖 53新建項(xiàng)目命名 圖 54 選擇芯片 在如圖 55 所示圖中的屏幕左邊的 Source Groupl 文件夾圖標(biāo)上右擊,彈出快捷菜單,在這里可以做在項(xiàng)目中增加減少文件等操作。 source Group 1,彈出文件窗口,選擇剛剛保存的文件,單擊 Add 按鈕,關(guān)閉對(duì)話框,程序文件已加到項(xiàng)目中了。 鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明 書 ( 2021) 21 圖 55 增添文件 圖 56 新建程序文件 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 22 C 程序文件已被加到了項(xiàng)目中了,下面就是編譯運(yùn)行。 6 結(jié)束語 拿到課題后,開始著手設(shè)計(jì)。將 系統(tǒng) 分為主板部分 和遙控器部分。遙控器硬件由 CPU、無線模塊和按鍵組成。 完成了電路圖的繪制,就開始寫說明書,將之前所查閱資料的重點(diǎn)內(nèi)容寫入說明,并進(jìn)行排版,進(jìn)行多次修改終于完成說明書。從選擇課題之后,老師便給我提供了完成畢業(yè)設(shè)計(jì)制作的方向。當(dāng)我完成電路的硬件部分的制作之后,老師在軟件的制作上給我提供了很大的幫助。所以 在此,我要特別感謝惠為君導(dǎo)師在這一個(gè)學(xué)期中給我提供的所有幫助,感謝導(dǎo)師給我的悉心指導(dǎo)和啟發(fā)。 halSpiWriteReg( CCxxx0_FSCTRL1,)。 halSpiWriteReg( CCxxx0_FREQ2,)。 halSpiWriteReg( CCxxx0_FREQ0,)。 halSpiWriteReg( CCxxx0_MDMCFG3,)。 halSpiWriteReg( CCxxx0_MDMCFG1,)。 halSpiWriteReg( CCxxx0_CHANNR,)。 halSpiWriteReg( CCxxx0_FREND1,)。 halSpiWriteReg( CCxxx0_MCSM0,)。 halSpiWriteReg( CCxxx0_BSCFG,)。 halSpiWriteReg( CCxxx0_AGCCTRL1,)。 halSpiWriteReg( CCxxx0_FSCAL3,)。 halSpiWriteReg( CCxxx0_FSCAL1,)。 halSpiWriteReg( CCxxx0_FSTEST,)。 halSpiWriteReg( CCxxx0_TEST1,)。 halSpiWriteReg( CCxxx0_IOCFG2,)。 halSpiWriteReg( CCxxx0_PKTCTRL1,)。 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 26 halSpiWriteReg( CCxxx0_ADDR,)。 halSpiWriteReg( CCxxx0_FSCTRL1,)。 halSpiWriteReg( CCxxx0_FREQ2,)。 halSpiWriteReg( CCxxx0_FREQ0,)。在不設(shè)置手動(dòng)校準(zhǔn)模式( =0)的情況下, SCAL能從空閑模式濾波 0x34 SRX 啟用 RX。若=1首先運(yùn)行校準(zhǔn)。如果可用則關(guān)斷頻率合成器并離開電磁波激活( wakeonradio)模式 0x37 SAFC 運(yùn)行頻率合成器的 AFC調(diào)節(jié) 0x38 SWOR 運(yùn)行自動(dòng) RX選舉序列 0x39 SPWD 當(dāng) CSn為 高時(shí)進(jìn)入功率降低模式 0x3A SFRX 刷新 RX FIFO緩沖 0x3B SFTX 刷新 TX FIFO緩沖 0x3C SWORRST 重新設(shè)置真實(shí)時(shí)間時(shí)鐘 0x3D SNOP 無操作。 //變量定義 鹽城工學(xué)院本科生畢業(yè)設(shè)計(jì)說明 書 ( 2021) 29 unsigned char gq。 extern unsigned char music。 //歌曲運(yùn)行與否 //函數(shù)名: void delay(unsigned int n) //功能描述:普通延時(shí)函數(shù) void delay(unsigned int n) { INT16U i。in。 for(i=0。i++)。in。 for(i=0。i++)。in。 for(i=0。i++)。 PCA0MD amp。 //關(guān)閉看門狗 PORT_Init() //I/O 口初始化 internal_Crystal()。 //初始化定時(shí)器 0 Init_CC1100()。 PWMInit()。 run = 1。 DisplayBuf[1] = NOP。 //O DisplayBuf[3] = 27。 // DisplayBuf[5] = gq+1。 TR1 = 1。 music = 0。 DisplayBuf[5] = gq+1。 music = 0。 DisplayBuf[5] = gq+1。 CR = 0。 //停在三極管截止?fàn)顟B(tài) DisplayBuf[1] = 0。 //F DisplayBuf[3] = 0x10。 CR = 1。 //空顯示 DisplayBuf[2] = 0。 //N } } delay(60000)。 switch( tt) { case 0: SpiReadWrite(0xdf)。 case 1: SpiReadWrite(0xef)。 case 2: SpiReadWrite(0xf7)。 case 3: SpiReadWrite(0xfb)。 case 4: SpiReadWrite(0xfd)。 case 5: SpiReadWrite(0xfe)。 case 6: SpiReadWrite(0xff)。 } LATCH_595 = 1。 p1 = 0。 P1 = SegmentCode[DisplayBuf[WM]]。 } //函數(shù)名: void PWMInit(void) //功能描述: PWM 初始化 單片機(jī)無線數(shù)據(jù)傳輸應(yīng)用設(shè)計(jì) 32 void PWMInit(void) { PCA0CN = 0X40。 PCA0CPM1 = 0X42。 PCA0CPH1 = 0X80。 //停頓 break。 //低音 5 TH0 = 195。 TR0 = 1。 case 2: TR0 = 0。 TL0 = 202。 //低音 6 break。 TH0 = 208。 TR0 =
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1