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

正文內(nèi)容

測控技術(shù)與儀器畢業(yè)論文 基于單片機汽車防盜報警系統(tǒng)設(shè)計(文件)

2025-06-25 03:47 上一頁面

下一頁面
 

【正文】 碼,每一步執(zhí)行什么動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。單片機進入低功耗狀態(tài),等待中斷。開始配置NRF2401的SPI讀寫寄存器配置NRF2401為發(fā)射模式按鍵是否按下NY數(shù)據(jù)打包單片機和NRF2401進行SPI通信 發(fā)送數(shù)據(jù)圖54 NRF2401遙控發(fā)射程序流程圖GSM撥打電話程序流程如圖55所示。排除的方法是首先將焊接的電路板認真對照原理圖,看兩者是否一致。   每次在通電前,都一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞,這方面我都很小心,加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,單片機在5V~4.9V之間屬正常。圖62 NRF2401遙控發(fā)射程序編譯圖遙控發(fā)射調(diào)試程序如圖63所示。反匯編即是指將這些執(zhí)行文件反編譯還原成匯編語言或其他高級語言。通過軟件的設(shè)計,熟悉了Keil軟件編程,對SPI同步串口通信理解更加深刻,在調(diào)試軟件時,需要相當大的耐心,才能達到預(yù)期的功能。經(jīng)過這一次調(diào)試,對硬件電路理解的更加透徹,對軟件的糾錯能力也有了進一步的提高,并且熟悉了Keil C51的編程,對SPI串口通信和無線射頻原理認識更加深刻。[4]王寶:《NRF2401數(shù)據(jù)手冊》[OL], Intersil公司出品,第213頁。[8],2010[OL]。 EX0=1。 delay_ms(500)。else TR1=0。 if(Time_Count==20) { Time_Count=0。 }}NRF2401遙控發(fā)射通信/**************************************************/include include define uchar unsigned char/***************************************************/define TX_ADR_WIDTH 5 // 5字節(jié)寬度的發(fā)送/接收地址define TX_PLOAD_WIDTH 4 // 數(shù)據(jù)通道有效數(shù)據(jù)寬度define LED P0uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}。uchar DATA = 0x01。sbit MAX_RT = sta^4。 // SPI時鐘置低 IRQ = 1。 for(i=0。 j = i8。 // 低一位移位到最高位 SCK = 1。 // 返回讀出的一字節(jié)}/**************************************************//**************************************************函數(shù):SPI_RW_Reg()描述: 寫數(shù)據(jù)value到reg寄存器/**************************************************/uchar SPI_RW_Reg(uchar reg, uchar value){ uchar status。 // 然后寫數(shù)據(jù)到該寄存器 CSN = 1。 // CSN置低,開始傳輸數(shù)據(jù) SPI_RW(reg)。 // 返回寄存器數(shù)據(jù)}/**************************************************//**************************************************函數(shù):SPI_Read_Buf()描述: 從reg寄存器讀出bytes個字節(jié),通常用來讀取接收通道 數(shù)據(jù)或接收/發(fā)送地址/**************************************************/uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes){ uchar status, i。 ibytes。 // 返回狀態(tài)寄存器}/**************************************************//**************************************************函數(shù):SPI_Write_Buf()描述: 把pBuf緩存中的數(shù)據(jù)寫入到nRF24L01,通常用來寫入發(fā) 射通道數(shù)據(jù)或接收/發(fā)送地址/**************************************************/uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes){ uchar status, i。 ibytes。 // 返回狀態(tài)寄存器}/**************************************************//**************************************************函數(shù):RX_Mode()描述: 這個函數(shù)設(shè)置nRF24L01為接收模式,等待接收發(fā)送設(shè)備的數(shù)據(jù)包/**************************************************/void RX_Mode(void){ CE = 0。 // 使能接收通道0 SPI_RW_Reg(WRITE_REG + RF_CH, 40)。 // CRC使能,16位CRC校驗,上電,接收模式 CE = 1。 // 寫入發(fā)送地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH)。 // 使能接收通道0 SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x0a)。 // CRC使能,16位CRC校驗,上電 CE = 1。 // 選擇射頻通道0x40 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 // 寫數(shù)據(jù)包到TX FIFO SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。/**************************************************/void TX_Mode(uchar * BUF){ CE = 0。 // 接收通道0選擇和發(fā)送通道相同有效數(shù)據(jù)寬度 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 // 接收設(shè)備接收通道0使用和發(fā)送設(shè)備相同的發(fā)送地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 // 逐個字節(jié)寫入nRF24L01 CSN = 1。 // CSN置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg)。 // 逐個字節(jié)從nRF24L01讀出 CSN = 1。 // CSN置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg)。 // 然后從該寄存器讀數(shù)據(jù) CSN = 1。 // 返回狀態(tài)寄存器}/**************************************************//**************************************************函數(shù):SPI_Read()描述: 從reg寄存器讀一字節(jié)/**************************************************/uchar SPI_Read(uchar reg){ uchar reg_val。 // CSN置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg)。 // 讀MISO到byte最低位 SCK = 0。 0x80)。 }}函數(shù):SPI_RW()描述: 根據(jù)SPI協(xié)議,寫一字節(jié)數(shù)據(jù)到nRF24L01,同時從nRF24L01 讀出一字節(jié)uchar SPI_RW(uchar byte){ uchar i。 i++) { j = // 關(guān)閉指示燈}函數(shù):delay_ms()描述: 延遲x毫秒/**************************************************/void delay_ms(uchar x){ uchar i, j。 // 待機 CSN = 1。sbit RX_DR = sta^6。uchar TX_BUF[TX_PLOAD_WIDTH]。 beep=!beep。 TL0=(6553520000)%256。 flag=1。 if(sign==0) { TR0=1。[10]李鳳霞:《C語言程序設(shè)計教程》[M],北京理工大學出版社 2001年,第36123頁。[6]何道清、張禾:《傳感器與傳感器技術(shù)》 [M],科學出版社 2008年,第656頁。[2]晃陽:《單片機MCS51原理及應(yīng)用開發(fā)教程》[M],清華大學出版社2007,第376385頁。通過對傳感器的進一步了解,雖然沒有具體使用,但熟悉了各類傳感器的使用和特性。7 總結(jié)硬件部分自設(shè)計,電路簡單,每焊接好一小部分就用萬用表仔細檢查電路的通短情況,不過焊接和測試中還是遇到很多的麻煩,例如走錫、飛線的干擾、電源和地的分配和擴張、焊接防止燒壞器件等。圖64 程序調(diào)試 反匯編就是把可執(zhí)行的二進制文件轉(zhuǎn)為匯編代碼,進而可以研究該程序,我們平時寫程序用的都是這樣那樣的語言,將二進制代碼轉(zhuǎn)換成原來的程序語句。程序的調(diào)試占了相當重要的一部分,包括程序的編譯、調(diào)試、生成目標代碼、下載目標代碼等等。(2)排除元器件失效   在保證安裝無誤后,可以通過用替換方法排除錯誤,或者通過測試元器件相連接的元器件是否工作來排除錯誤。配置NRF2401為接收模式單片機和NRF2401進行SPI通信 主系統(tǒng)NRF2401接收到數(shù)據(jù)?YN定時器T0停止計數(shù),LED燈滅,蜂鳴器停止鳴叫結(jié)束圖56停止報警程序程序圖6 系統(tǒng)調(diào)試與分析 硬件焊接步驟與調(diào)試流程框圖如圖61所示Y功電源電路焊接指示燈亮?成功第一步 :N功檢查測試晶振起振發(fā)射模塊和主機接收系統(tǒng)和的單片機焊接第二步 : 輸出電平測試傳感器模塊焊接第三步 :檢測鍵盤路測,遙控顯示布防測試NRF2401發(fā)射接收模塊焊接第四步 :51單片機燒寫程序模塊焊接聲光警報電路焊接第五步 :檢查測試GSM與主控模塊進行TTL電平連接接。STARTP1,P2,P3口復(fù)位初始化nrf2401定時器/計數(shù)器1方式2選擇,設(shè)初值置開外中斷1開總中斷允許返回初始化uart串口初始化GSMSTART調(diào)用初始化程序進入低功耗空閑節(jié)電方式有中斷?硬件退出低功耗空閑方式NY 圖51 初始化子程序 圖52 主程序流程圖中斷服務(wù)程序如圖53所示。 本設(shè)計采用Keil C51軟件進行編程,Keil C51 軟件是眾多單片機應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM 語言和 C 語言的程序設(shè)計,界面友好,易學易用,給我在設(shè)計者帶來很大的方便。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序,其靈活性特備的強。串行通信是將數(shù)據(jù)按順序一位一位的傳送出去或接收進來的通信方式,在某一時刻只能傳送—個位。無短信息,
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1