衡阳派盒市场营销有限公司

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>無線通信>

硬件電路設(shè)計 - 基于nRF24L01的2.4GHz無線通信系統(tǒng)設(shè)計

2017年12月15日 15:00 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  硬件電路設(shè)計

  電源、復(fù)位和晶振電路設(shè)計

  為了縮短開發(fā)周期 ,設(shè)計中由交流 220 V 轉(zhuǎn)直流 12 V 的部分由市場上的電源模塊來代替。雖然ATmega8L 可工作在 2. 7~5. 5 V 寬電壓 ,但是由于PTR6000 工作在 1. 9~3. 6 V ,超出這個電壓范圍就有被燒壞的可能 ,因此在用三端穩(wěn)壓管 7805 將 12 V轉(zhuǎn)換為 5 V 后 ,還要用 1117 將 5 V 的直流電轉(zhuǎn)換到3.3 V ,這樣 PTR6000 和 Atmega8L 都能正常工作。此外 ,為了適應(yīng)移動測試的需要 ,設(shè)計的電路上還配備了電池槽 ,以便用 2 節(jié)干電池為系統(tǒng)提供 3 V 直流電壓。

  設(shè)計采用簡單的阻容復(fù)位電路 ,由于 ATmega8L是低電平復(fù)位 ,電源經(jīng) 1 K電阻和 22μF 電解電容接地 , 復(fù) 位 線 從 電 阻 和 電 容 之 間 引 出 , 接 到ATmega8L 的復(fù)位引腳。

  為了獲得較高的振蕩頻率 ,設(shè)計采用了外接8 MHz晶體振蕩器。由于 AVR 單片機(jī)獨(dú)特的熔絲位設(shè)置 ,很容易造成單片機(jī)的鎖死現(xiàn)象 ,因此在設(shè)置有關(guān)時鐘的相關(guān)位時要格外小心。當(dāng)然 ,即便是鎖死了一般情況下還是可以通過外接有源晶振來解鎖 ,并重新燒寫正確的熔絲位。

  鍵盤和顯示電路設(shè)計

  設(shè)計的鍵盤采用 3 ×3 的矩陣式鍵盤 ,3 條行線接到 ATmega8L 的 PC3、PC4、PC5 ,3 條列線分別接到PC0、PC1、PC2 ,并且 3 條列線帶有上拉電阻。在每個上拉電阻的下面引出一條線 ,接到三輸入與門74HC11 的輸入口 ,然后輸出口接到單片機(jī)的外中斷1 引腳 ,這樣設(shè)置的目的是用中斷的方法來進(jìn)行鍵盤的掃描讀取。這一功能的實(shí)現(xiàn)主要還依靠軟件的設(shè)計 ,使得在有按鍵按下時 ,能夠通過 74HC11 產(chǎn)生一個中斷信號 ,通知單片機(jī)現(xiàn)在有鍵按下。然后單片機(jī)會進(jìn)入預(yù)先編寫好的鍵盤處理程序進(jìn)行鍵盤掃描 ,判斷鍵值 ,并執(zhí)行相應(yīng)的操作。

  顯示電路使用 2 個 8 段數(shù)碼管 ,通過串轉(zhuǎn)并的動態(tài)顯示來實(shí)現(xiàn) ,并且通過 2 個 I/ O 口控制 2 個三極管來分別進(jìn)行驅(qū)動和控制。用 SPI 口進(jìn)行顯示數(shù)據(jù)的串行輸出是一個比較方便的方法 ,但是考慮到PTR6000 通過單片機(jī) SPI 口接收數(shù)據(jù) ,有與顯示沖突的可能。因此 ,設(shè)計時利用了 PD1、PD4 兩個普通的 I/ O 口來分別作為數(shù)據(jù)線和時鐘線 ,模擬時序來實(shí)現(xiàn)數(shù)據(jù)的串轉(zhuǎn)并顯示。

  軟件設(shè)計

  主程序設(shè)計

  設(shè)計采用的是匯編語言 ,內(nèi)存不能自動分配 ,在主程序的開始 ,首先對 ATmega8L 的堆棧指針進(jìn)行設(shè)置。在 I/ O 空間 ,地址為 3E ( 005E) 和 3D( 005D)的 2 個 8 位寄存器構(gòu)成了一個 16 位寬的堆棧指針寄存器 SP ,單片機(jī)上電復(fù)位后 ,堆棧寄存器的初始值為 SPH = 00、SPL = 00。AVR 的堆棧是向下生長的 ,即新數(shù)據(jù)推入堆棧時 ,堆棧指針的數(shù)值將減小。所以系統(tǒng)程序一開始就對堆棧指針寄存器進(jìn)行了初始化 , 將 SP 的 值 設(shè) 在 數(shù) 據(jù) 存 儲 器(SRAM) 空間的最高處。設(shè)置堆棧指針后的程序中 ,對各 I/ O 口的存儲器進(jìn)行配置 ,包括數(shù)據(jù)寄存器PORTx、數(shù)據(jù)方向寄存器 DDRx 。

  隨后的初始化設(shè)置中 ,對外中斷的觸發(fā)方式進(jìn)行相應(yīng)的設(shè)置。最初設(shè)計采用的是低電平觸發(fā)方式 ,但是由于低電平容易造成重復(fù)觸發(fā) ,造成鍵值讀取錯誤 ,因此在后續(xù)的程序設(shè)計中將其改成了下跳沿觸發(fā) ,這樣只要鍵盤消抖工作做好 ,就能解決重復(fù)觸發(fā)的問題。

  在點(diǎn)對點(diǎn)和點(diǎn)對多點(diǎn)的短距離通信中 ,每一方隨時 都 有 發(fā) 送 數(shù) 據(jù) 的 可 能 , 所 以 在 主 程 序 的PTR6000 初始化部分中設(shè)置為接收方式 ,并對其相關(guān)地址通道進(jìn)行了開通和自動應(yīng)答設(shè)置 ,并配置了其地址的的長度且按指定長度對地址進(jìn)行了配置。在主程序中還設(shè)置了 PTR6000 的中斷允許標(biāo)志位 ,當(dāng)有數(shù)據(jù)接收中斷、發(fā)送完成中斷、最大發(fā)送次數(shù)中斷產(chǎn)生時 ,在 PTR6000 的 IRQ 引腳產(chǎn)生一個低電平 ,觸發(fā)單片機(jī)外中斷 0 ,進(jìn)行相應(yīng)的處理。

  鍵盤程序設(shè)計

  由硬件電路設(shè)計可知 ,鍵盤程序是放在中斷服務(wù)程序中的 ,而且是下降沿觸發(fā)中斷 ,這一點(diǎn)有關(guān)的I/ O 口設(shè)置和寄存器有關(guān)位設(shè)置在主程序中完成 ,在此不再作具體說明。在外中斷 1 服務(wù)程序的開始 ,首先對鍵盤延時消抖 ,判斷是否真的有鍵按下 ,如果判斷確實(shí)有鍵按下則向下執(zhí)行鍵值判斷程序 ,否則 ,判定為錯誤中斷 ,中斷返回。

  該部分鍵盤判斷程序是通過線反轉(zhuǎn)法完成的 ,首先 3 行送高電平 ,3 列送低電平 ,延時一個時鐘周期后 ,讀取管腳電平(PINC) ,并且對讀取的數(shù)據(jù)進(jìn)行保存 ;然后 3 列送高電平 ,3 行送低電平 ,延時一個時鐘周期后 ,讀取管腳電平(PINC) ,并且對讀取的數(shù)據(jù)進(jìn)行保存。然后兩次讀到的數(shù)據(jù)只保留低 6 位 ,高位全部清零 ,因?yàn)殒I盤只用到了低 6 位。然后再把 2 個鍵進(jìn)行位或 ,得到一個數(shù)值 ,通過對這個數(shù)值的判斷來判定是哪一個鍵按下了。

  顯示程序設(shè)計

  顯示程序設(shè)計總的思想是首先串行傳送轉(zhuǎn)換后的十位顯示數(shù)碼 ,然后選通十位 ,再進(jìn)行適當(dāng)延時后關(guān)閉。再串行傳送轉(zhuǎn)換后的個位顯示數(shù)碼 ,然后選通個位 ,進(jìn)行適當(dāng)延時后關(guān)閉。

  具體串行顯示是這樣實(shí)現(xiàn)的 :首先把要顯示碼寄存器進(jìn)行帶進(jìn)位移位 ,然后判斷進(jìn)位標(biāo)志位 C 來向串行數(shù)據(jù)輸出口送 0 或 1 ,進(jìn)行適當(dāng)延時后 ,向串行時鐘口送低電平 ,適當(dāng)延時后送高電平 ,目的是產(chǎn)生一個上跳沿 , 把串行數(shù)據(jù)口的電平狀態(tài)移入74HC164。這樣連續(xù)傳送 8 次 ,就將 8 位顯示碼送出。

非常好我支持^.^

(2) 66.7%

不好我反對

(1) 33.3%

( 發(fā)表人:李倩 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      大连百家乐商场| 多台百家乐官网的玩法技巧和规则| 24山向与周天360度关系示意图| 六合彩图| 百家乐投注心态| 百家乐官网3带厂家地址| 免费百家乐缩水软件| 蓝盾百家乐官网赌场娱乐网规则| 德州扑克术语| 百家乐分析绿色版| 百家乐官网巴厘岛娱乐城| 威尼斯人娱乐城骗子| 大上海百家乐官网的玩法技巧和规则 | 星河百家乐的玩法技巧和规则| 曼哈顿百家乐官网娱乐城| 百家乐官网庄闲局部失衡| 大发888葡京下载地址| 百家乐浴盆博彩通排名| 线上百家乐官网赢钱| 娱网棋牌大厅下载| 百家乐高手的心得| 百家乐官网连长| bet365体育| 百家乐试玩1000元| 太阳百家乐官网破解| 六合彩开奖查询| 百家乐软件辅助器| 百家乐官网透明发牌机| 真让百家乐官网游戏开户| 视频棋牌游戏| 玩百家乐新2娱乐城| 百家乐官网现金网信誉排名| 金尊娱乐| 百家乐猪仔路| 百家乐有多少局| 历史百家乐官网路单图| 盈丰国际博彩网| 微信百家乐群资源| 百家乐视频计牌器| 百家乐官网大路小路三珠路| 百家乐官网的如何玩|