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

正文內(nèi)容

基于zlg500的射頻識別系統(tǒng)硬件平臺設(shè)計(編輯修改稿)

2025-07-24 19:01 本頁面
 

【文章內(nèi)容簡介】 ata I/O7D0Data I/O15LCD+背光源正極8D1Data I/O16LCD背光源負極系統(tǒng)設(shè)計中充分考慮功耗問題,所以利用主控制器的一個管腳來控制SMC1602 LCD背光燈的開/關(guān),即系統(tǒng)在沒有任何操作一分鐘后就自動關(guān)閉背光燈。因為主控器的I/O輸出電流太小無法實現(xiàn)對LCD背光燈的控制,所以利用三極管8550來實現(xiàn)電流放大。具體電路圖如圖6所示。圖6 SMC1602 LCD電路圖 系統(tǒng)電路仿真Proteus是世界上著名的EDA工具(仿真軟件)。這款仿真軟件可以從繪畫原理圖、載入程序代碼到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計?;谙确抡婧笾谱麟娐钒宓乃枷?,模塊電路設(shè)計完后,在PC機上利用Proteus 7 軟件來進行一些仿真,通過仿真可以分析電路各種性能和找出設(shè)計的不足,進而修改,使得系統(tǒng)最終變得更加完美。具體仿真電路圖如圖7所示。圖7 proteus 7仿真電路圖4 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件總體設(shè)計系統(tǒng)軟件設(shè)計采用模塊化的編程方式,即將一個大的程序劃分成若干個小的模塊,每個模塊具有自己相對的獨立性,模塊之間可以通過函數(shù)調(diào)用的方式相聯(lián)系。這種編程方式有助于程序的調(diào)試、修改和維護。在編程語言方面,系統(tǒng)軟件設(shè)計采用C語言,C語言最大的優(yōu)點就是程序結(jié)構(gòu)清晰、可讀性強和移植性好。系統(tǒng)軟件設(shè)計流程為:先在單片機開發(fā)平臺編寫好程序,然后編譯生成hex文件,再利用程序下載軟件進行程序下載。通過反復(fù)修改和調(diào)試,最后完成設(shè)計。軟件設(shè)計包含到的環(huán)境名稱:PC機操作系統(tǒng)環(huán)境為Windows XP,單片機開發(fā)平臺為keil uVision3 IDE,程序下載軟件為Easy 51Pro 。系統(tǒng)設(shè)計要實現(xiàn)下位機與上位機的通信,所以根據(jù)系統(tǒng)要求自定義數(shù)據(jù)通信格式。系統(tǒng)具體數(shù)據(jù)通信格式如表5所示。1)上位機發(fā)送到下位機的數(shù)據(jù)(十六進制)格式為:28個字節(jié)=0xFF+0xFE+卡類型(1字節(jié))+密碼(6字節(jié))+操作類型(1字節(jié))+地址(1字節(jié))+數(shù)據(jù)(16字節(jié))+備用(1字節(jié))2)下位機發(fā)送到上位機(返回值)的數(shù)據(jù)格式為:19個字節(jié)=0xFF+0xFE+命令字(1個字節(jié))+扇區(qū)中的數(shù)據(jù)(16個字節(jié))表5 系統(tǒng)通信數(shù)據(jù)格式功能上位機發(fā)送到下位機返回值連接操作類型=0x41成功:命令字=0x00失敗:命令字=0xFF(無卡)讀卡操作類型=0x46成功:命令字=0x01失?。好钭?0x03(密碼錯誤)寫卡操作類型=0x47成功:命令字=0x02失?。好钭?0x03(密碼錯誤)數(shù)值(加)操作類型=0x48成功:命令字=0x02失?。好钭?0x03(密碼錯誤)失?。好钭?0x04(數(shù)據(jù)格式錯誤)數(shù)值(減)操作類型=0x49成功:命令字=0x02失敗:命令字=0x03(密碼錯誤)失?。好钭?0x04(數(shù)據(jù)格式錯誤)格式化操作類型=0x51成功:命令字=0x02失敗:命令字=0x03(密碼錯誤)讀RC500序列號成功:命令字=0xAA系統(tǒng)主程序流程圖和功能流程圖如圖8和圖9所示。圖8 主程序流程圖圖9 功能流程圖 主要模塊軟件設(shè)計 ZLG500B模塊軟件設(shè)計根據(jù)ZLG500B數(shù)據(jù)手冊上提供的操作說明,系統(tǒng)直接調(diào)用其標準庫函數(shù)。利用ZLG500B對MIFARE1 S50卡進行讀/寫等操作的程序流程圖如圖10所示。圖10 ZLG500B模塊讀/寫流程圖void Read_Card(uchar _Adr,uchar idata *_Data)//讀卡子函數(shù){ unsigned char i。 while(mifs_request(IDLE,databuf)!=MI_OK)。 //等待有RFID卡的到來 if(mifs_cascanticoll(ANTICOLL1,0,card_snr)!=MI_OK) 。//多層防碰撞 if(mifs_cascselect(ANTICOLL1,card_snr,amp。i)!=MI_OK) 。 if(iamp。0x04) //多層選擇 { if(mifs_cascanticoll(ANTICOLL2,0,card_snr+4)!=MI_OK) 。 if(mifs_cascselect(ANTICOLL2,card_snr+4,amp。i)!=MI_OK) 。 } if(mifs_authentication(KEYA,_Adr/4)!=0) 。 //證實密碼 if(mifs_read(_Adr,_Data)!=0) 。 //開始讀卡} void Write_Card(uchar _Adr,uchar idata *_Data) // 寫卡子函數(shù){ unsigned char i。 while(mifs_request(IDLE,databuf)!=MI_OK)。 //等待有RFID卡的到來 if(mifs_cascanticoll(ANTICOLL1,0,card_snr)!=MI_OK) 。//多層防碰撞 if(mifs_cascselect(ANTICOLL1,card_snr,amp。i)!=MI_OK) 。 if(iamp。0x04) //多層選擇 { if(mifs_cascanticoll(ANTICOLL2,0,card_snr+4)!=MI_OK) 。 if(mifs_cascselect(ANTICOLL2,card_snr+4,amp。i)!=MI_OK) 。 } if(mifs_authentication(KEYA,_Adr/4)!=0) 。 //證實密碼 if(mifs_write(_Adr,_Data)!=0) 。 //開始寫卡} 兩機通信軟件設(shè)計為了解決系統(tǒng)所需兩個串口的問題,系統(tǒng)硬件引進了兩塊單片,在軟件上要實現(xiàn)其兩者的通信。根據(jù)主、從機的硬件連接圖,自定義通信協(xié)議。通信中數(shù)據(jù)發(fā)送、接收程序流程圖如圖11所示。圖11 數(shù)據(jù)發(fā)送、接收程序流程圖兩機通信具體實現(xiàn)函數(shù)如下:void ie0(void) interrupt 0 using 0 //利用外部中斷來接收數(shù)據(jù){ EX0=0。//關(guān)外部中斷0 redat[tt]=dat_io。 //讀取數(shù)據(jù)并存放到相應(yīng)數(shù)據(jù)中 tt++。 //數(shù)據(jù)指針加一 get_ack=0。 //發(fā)送應(yīng)答位 Delay_1ns(2)。 get_ack=1。 // 恢復(fù)原來的電位 EX0=1。//開外部中斷0 }void Send_Dat_Muc(uchar m,uchar *dat) //發(fā)送數(shù)據(jù){ uchar j=0。 Send_Byte(0xFF)。 Send_Byte(0xFE)。 //先發(fā)送引導(dǎo)碼(0xFF+0xFE)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1