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

正文內(nèi)容

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

2025-07-24 19:01 本頁面
 

【文章內(nèi)容簡介】 ata I/O7D0Data I/O15LCD+背光源正極8D1Data I/O16LCD背光源負(fù)極系統(tǒng)設(shè)計(jì)中充分考慮功耗問題,所以利用主控制器的一個(gè)管腳來控制SMC1602 LCD背光燈的開/關(guān),即系統(tǒng)在沒有任何操作一分鐘后就自動(dòng)關(guān)閉背光燈。因?yàn)橹骺仄鞯腎/O輸出電流太小無法實(shí)現(xiàn)對(duì)LCD背光燈的控制,所以利用三極管8550來實(shí)現(xiàn)電流放大。具體電路圖如圖6所示。圖6 SMC1602 LCD電路圖 系統(tǒng)電路仿真Proteus是世界上著名的EDA工具(仿真軟件)。這款仿真軟件可以從繪畫原理圖、載入程序代碼到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。基于先仿真后制作電路板的思想,模塊電路設(shè)計(jì)完后,在PC機(jī)上利用Proteus 7 軟件來進(jìn)行一些仿真,通過仿真可以分析電路各種性能和找出設(shè)計(jì)的不足,進(jìn)而修改,使得系統(tǒng)最終變得更加完美。具體仿真電路圖如圖7所示。圖7 proteus 7仿真電路圖4 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)軟件總體設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)采用模塊化的編程方式,即將一個(gè)大的程序劃分成若干個(gè)小的模塊,每個(gè)模塊具有自己相對(duì)的獨(dú)立性,模塊之間可以通過函數(shù)調(diào)用的方式相聯(lián)系。這種編程方式有助于程序的調(diào)試、修改和維護(hù)。在編程語言方面,系統(tǒng)軟件設(shè)計(jì)采用C語言,C語言最大的優(yōu)點(diǎn)就是程序結(jié)構(gòu)清晰、可讀性強(qiáng)和移植性好。系統(tǒng)軟件設(shè)計(jì)流程為:先在單片機(jī)開發(fā)平臺(tái)編寫好程序,然后編譯生成hex文件,再利用程序下載軟件進(jìn)行程序下載。通過反復(fù)修改和調(diào)試,最后完成設(shè)計(jì)。軟件設(shè)計(jì)包含到的環(huán)境名稱:PC機(jī)操作系統(tǒng)環(huán)境為Windows XP,單片機(jī)開發(fā)平臺(tái)為keil uVision3 IDE,程序下載軟件為Easy 51Pro 。系統(tǒng)設(shè)計(jì)要實(shí)現(xiàn)下位機(jī)與上位機(jī)的通信,所以根據(jù)系統(tǒng)要求自定義數(shù)據(jù)通信格式。系統(tǒng)具體數(shù)據(jù)通信格式如表5所示。1)上位機(jī)發(fā)送到下位機(jī)的數(shù)據(jù)(十六進(jìn)制)格式為:28個(gè)字節(jié)=0xFF+0xFE+卡類型(1字節(jié))+密碼(6字節(jié))+操作類型(1字節(jié))+地址(1字節(jié))+數(shù)據(jù)(16字節(jié))+備用(1字節(jié))2)下位機(jī)發(fā)送到上位機(jī)(返回值)的數(shù)據(jù)格式為:19個(gè)字節(jié)=0xFF+0xFE+命令字(1個(gè)字節(jié))+扇區(qū)中的數(shù)據(jù)(16個(gè)字節(jié))表5 系統(tǒng)通信數(shù)據(jù)格式功能上位機(jī)發(fā)送到下位機(jī)返回值連接操作類型=0x41成功:命令字=0x00失?。好钭?0xFF(無卡)讀卡操作類型=0x46成功:命令字=0x01失敗:命令字=0x03(密碼錯(cuò)誤)寫卡操作類型=0x47成功:命令字=0x02失?。好钭?0x03(密碼錯(cuò)誤)數(shù)值(加)操作類型=0x48成功:命令字=0x02失?。好钭?0x03(密碼錯(cuò)誤)失?。好钭?0x04(數(shù)據(jù)格式錯(cuò)誤)數(shù)值(減)操作類型=0x49成功:命令字=0x02失敗:命令字=0x03(密碼錯(cuò)誤)失?。好钭?0x04(數(shù)據(jù)格式錯(cuò)誤)格式化操作類型=0x51成功:命令字=0x02失?。好钭?0x03(密碼錯(cuò)誤)讀RC500序列號(hào)成功:命令字=0xAA系統(tǒng)主程序流程圖和功能流程圖如圖8和圖9所示。圖8 主程序流程圖圖9 功能流程圖 主要模塊軟件設(shè)計(jì) ZLG500B模塊軟件設(shè)計(jì)根據(jù)ZLG500B數(shù)據(jù)手冊上提供的操作說明,系統(tǒng)直接調(diào)用其標(biāo)準(zhǔn)庫函數(shù)。利用ZLG500B對(duì)MIFARE1 S50卡進(jìn)行讀/寫等操作的程序流程圖如圖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) 。 //證實(shí)密碼 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) 。 //證實(shí)密碼 if(mifs_write(_Adr,_Data)!=0) 。 //開始寫卡} 兩機(jī)通信軟件設(shè)計(jì)為了解決系統(tǒng)所需兩個(gè)串口的問題,系統(tǒng)硬件引進(jìn)了兩塊單片,在軟件上要實(shí)現(xiàn)其兩者的通信。根據(jù)主、從機(jī)的硬件連接圖,自定義通信協(xié)議。通信中數(shù)據(jù)發(fā)送、接收程序流程圖如圖11所示。圖11 數(shù)據(jù)發(fā)送、接收程序流程圖兩機(jī)通信具體實(shí)現(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)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1