基于51单片机的人机接口的设计 一、功能描述 人机接口是人与机器之间传递、交换信息的媒介和对话接口,是单片机系统的重要组 成部分。是指人和单片机系统在信息交换和功能上接触或相互影响的领域。人机接口的 应用无处不在,如在温度的测试及监控系统中,人通过键盘输入要设定的温度值,系统 通过数码管或液晶显示当前的温度。这样就通过人机接口完成了人与单片机之间的信息 交流。正因为人机接口运用如此广泛及它在实现人机交流的地位的不可或缺,故设计一 个高性能的人机接口具有巨大的意义。此设计是基于51单片机的人机接口,通过51单片 机和12864液晶来实现人机信息交流。利用51单片机的IO口实现键盘输入,通过串行通信 控制液晶显示。在没有按键按下时显示"16",在有键按下的时显示被按下的键值。系统 的设计结构框图如图一。 二、接口定义 基于51单片机的人机接口的接口定义见表一。 "表一、基于51单片机的人机接口接口定义表格 " " "对 象 "功能/定义 " " " " " "I/O口 " " " " "P1.0~P1.7"键盘行输出列输入 " " "P2.0 "12864的数据输入口 " " "P2.1 "12864的时钟输入口 " "定时器 "TO "初始值为50000,定时50ms " "中断 "T0中断 "计时到50ms产生中断,用于更新液晶显示 " 三、硬件结构图 图二、基于51单片机的人机接口的硬件结构图 四、程序流程图 五、基于51单片机的人机接口的程序设计清单 #include
#include #define KeyROCISegCodeO P1 /*定义键盘行输出列输入*/ #define NumRow 4 /*定义键盘行数为4*/ #define NumColumn 4 /*定义键盘列数为4*/ #define unit unsigned int #define uchar unsigned char sbit SID=P2^0; sbit SCLK=P2^1; void delay(uchar time) /*延时函数*/ { uchar i,j; for (i=0;i