毕 业 论 文(设 计)用 纸
传递
DWE2 PUSH DPL PUSH DPH
MOV DPTR, #CRADD2 CWE201 MOVX A, @DPTR JB ACC.7, CWE201 MOV DPTR #CRADD2 MOV A DAT MOVX @DPTR, A POP DPH POP DPL RET END
·液晶驱动inclr.a51的内容: ;说明使用到的外部函数和外部变量
EXTRN CODE(CWE1,DWE1,CWE2,DWE2) EXTRN DATA(COM, DAT) ;定义全局函数INITAL(),CLEAR() PUBLIC INITAL,CLEAR ;清屏,即所有数据单元清0
CIEAR: MOV R4, #00H CLEAR1: MOV A, R4 ORL A, #0B8H MOV COM, A LCALL CWEI LCALL CWE2
MOV R3 #3CH LCALL CWE1 LCALL CWE2
佳木斯大学教务处
第 22 页
毕 业 论 文(设 计)用 纸
MOV DAT #00CH CLEAR2: MOV DAT #00H LCALL DWEI LCALL DWE2
DJNZ R3, CLEAR2 INC R4
CJNE R4, #04H, CLEAR1 RET END
·液晶字符显示程序disp.c的内容: //定义全局变量LINE,CLMN //LINE当前显示页,CLMN当前显示列 uchar LINE,CLMN;
bitAREA;/*控制区域,AREA =0,E1控制区:AREA=1,E2控制区*/ //说明使用到的外部变量
extern ucharCOM,DAT,NDIG; extern char xdata BUFFER[]; //…- //写一个字符 void onechar(charc) {
uchar i;
for(i=0;i<6;i++) {
DAT=CTAB[c-0x20][i]; if(AREA)DWE2(); else DWE1();
locate(LINE,CLMN+1);
佳木斯大学教务处 第 23
页
毕 业 论 文(设 计)用 纸
}
}
//写一个字符 void showr(void) {
uchar i;
for(i=0;i { onechar(BUFFER[i]); } } 此处的C51程序使用到了汇编函数。 3.3 行列键盘的输入 1.作用 计算机控制系统中,数据和控制信号的输入主要使用键盘。键盘接口,尤其是键入信号的软件处理方法是影响系统使用和操作性能的重要因素。键盘接口及其软件的任务主要包括 以下儿个方面: ·检测并判断是否有键按下。 ·按键开关的延时消抖功能。 ·计算并确定按键的键值。 ·程序根据计算出的键值进行一系列的动作处理和执行。 2.技术方案 根据第二节中对不同键盘的比较结果,在本设计中选择非编码式行列键盘作为便携式仪表的输入装置。 (1)行列式键盘的基本结构 行列式键盘中的键实际上就是一个机械开关,位于行线和列线的交点处,图3-10 佳木斯大学教务处 第 24 页 毕 业 论 文(设 计)用 纸 所示为本设计中使用的4行×4列的16键行列式键盘,当键被按下其交点的行线和列线接通,使相应行线或列线上的电平发生变化,根据电平变化情况确定被按下的键。 图3-10 4×4行列式键盘示意图 (2)键盘接口方式选择 常用的键识别方法有:行扫描法、线翻转法和利用8279键盘接口的中断法。前两种方法相当于查询法,需要反复查询按键的状态,会占用大量的CPU时间:后一种方法在有键按下时向CPU申请中断,平时并不需要占用CPU时间。 在本设计中,完全可以不使用中断法完成键盘接口,这是由系统的特殊性决定的。 首先,对于本系统而言,要实现便携式的设计,硬件电路使用的器件越少越好。 其次,被测信号由外中断引脚输入,未占用单片机4个并行I/O口中的任何一个,系统有足够的资源利用自身I/O口完成接口。 最后,只有当传感器输出信号频率为空载频率,系统处于空闲待测的状态下,才允许键盘输入,因此键盘识别占用的CPU时间不会对系统正常工作造成影响。因此直接利用单片机并行接口完成键盘的接口,采用线翻转法进行键盘识别。 佳木斯大学教务处 第 25 页 毕 业 论 文(设 计)用 纸 图3-11 4×4行列式键盘与单片机的连接 通常的线翻转法是将行线和列线分别接到两个不同的并行口,通过设置各并行口的状态改变行线和列线的输入输出工作方式,但这样过多地占用了系统的硬件资源,必须进行相应调整。选用如图3-10所示的4×4行列式键盘,将总共8根行线与列线直接与单片机的通用输入输出口P1口相连,连接方式见图3-11,高4位用于列控制,低4位用于行控制,通过软件中的逻辑运算控制使同一个并行口的不同管脚工作在不同的输入输出方式下,来实现线翻转法的键盘识别工作。 (3)键盘处理子程序流程 键盘上有很多键,每一个键对应一个键码,以便根据键码转到相应的键处理子程序,进一步实现数据输入和命令处理的功能。键盘识别的流程如图3-12所示采用线翻转法实现的具体方法如下。 ·判断是否有键按下。设置列线输出方式,行线输入方式;向所有列线输出低电平;读取P1口状态,并从P1口状态中分离出行线状态;若行线状态皆为高电平,则无键按下,若有低电平状态,则有键按下;当有键按下时,保留此时的行线状态。 ·去抖动。按键本身是机械开关,在触点闭合或断开的瞬间会出现电压抖动的现象,必须去除抖动的影响,才能正确识别被按下的键。为简单起见,使用软件方法消 佳木斯大学教务处 第 26 页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库毕业设计11说明书(6)在线全文阅读。
相关推荐: