無線動物識別和跟蹤管理系統的設計
主要模塊底層驅動設計
鍵盤驅動設計
鍵盤驅動設計以防止鍵盤抖動為主,否則會出現誤判情況。本設計中采用軟件延時的方式消除抖動,逐行進行掃描,無鍵按下時返回十六進制數0x00。
鍵盤驅動設計以防止鍵盤抖動為主,否則會出現誤判情況。本設計中采用軟件延時的方式消除抖動,逐行進行掃描,無鍵按下時返回十六進制數0x00。
串口通信模塊驅動設計
在讀寫器與PC機的串口通信中,主要通過中斷方式實現,需要完成的任務有UART模塊初始化,包括個寄存器的設置、波特率的選擇及中斷使能、數據發送與接收函數的編制。
在讀寫器與PC機的串口通信中,主要通過中斷方式實現,需要完成的任務有UART模塊初始化,包括個寄存器的設置、波特率的選擇及中斷使能、數據發送與接收函數的編制。
UART模塊初始化函數:
int initialize_uart1(unsigned int br)
{ unsigned short Fdiv;
PINSEL0|=((0x0116)|(0x0118)
);
U1LCR = 0x83; // DLAB=1,允許設置波特率
Fdiv = (Fpclk / 16) / br; // 設置波特率
U1DLM = Fdiv / 256;
U1DLL = Fdiv % 256;
U1LCR = 0x03;
U1FCR = 0x01; // 使能FIFO,并設置觸發點為1字節
U1IER = 0x01; // 使能中斷
VICIntSelect = 0x00000000; // 設置所有的通道為IRQ中斷
VICVectCntl1 = 0x20 | 0x07; // UART1分配到IRQ slot1,
VICVectAddr1 =(unsigned long int)irq_uart1; // 設置UART1向量地址
上位機信息交換以及數據庫存儲的軟件設計
int initialize_uart1(unsigned int br)
{ unsigned short Fdiv;
PINSEL0|=((0x0116)|(0x0118)
);
U1LCR = 0x83; // DLAB=1,允許設置波特率
Fdiv = (Fpclk / 16) / br; // 設置波特率
U1DLM = Fdiv / 256;
U1DLL = Fdiv % 256;
U1LCR = 0x03;
U1FCR = 0x01; // 使能FIFO,并設置觸發點為1字節
U1IER = 0x01; // 使能中斷
VICIntSelect = 0x00000000; // 設置所有的通道為IRQ中斷
VICVectCntl1 = 0x20 | 0x07; // UART1分配到IRQ slot1,
VICVectAddr1 =(unsigned long int)irq_uart1; // 設置UART1向量地址
上位機信息交換以及數據庫存儲的軟件設計
動物識別和跟蹤管理系統將日常所涉及的各種信息、記錄和報表等資料完全實現計算機自動化處理,從而節省人力消耗,避免錯誤操作,可提高工作效率。上位機中的數據管理,除了動物的生長、防疫、疾病等基本信息之外,還包括人員的信息。管理軟件圖如圖6,各模塊功能介紹如下:

動物基本信息模塊。此模塊的主要功能是建立動物基本信息檔案,記錄飼養場名稱和編號、動物編號、動物名稱、出生日期、重量、以及所經手人員的姓名和編號等基本信息。同時生成動物基本信息文件。
飼料管理模塊。此模塊的重要功能是記錄動物飼料喂養信息。包括飼料廠家名稱、飼料類型、飼料批號、喂養人、投料時間等信息。












評論