无线动物识别和跟踪管理系统的设计
主要模块底层驱动设计
键盘驱动设计
键盘驱动设计以防止键盘抖动为主,否则会出现误判情况。本设计中采用软件延时的方式消除抖动,逐行进行扫描,无键按下时返回十六进制数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,各模块功能介绍如下:

动物基本信息模块。此模块的主要功能是建立动物基本信息档案,记录饲养场名称和编号、动物编号、动物名称、出生日期、重量、以及所经手人员的姓名和编号等基本信息。同时生成动物基本信息文件。
饲料管理模块。此模块的重要功能是记录动物饲料喂养信息。包括饲料厂家名称、饲料类型、饲料批号、喂养人、投料时间等信息。
评论