MOV R7 , # 12 ;延时子程序 CLR SCLK RLC A PUSH ACC MOV A ,B RLC A MOV B ,A POP ACC NOP
DJNZ R7 ,MAX1871 ACALL D134NS SETB CS RET
D134NS: MOV R7 , # 5 MOV A , # 0 ;A 累加器清零 MOV B , # 0
MAX1871:SETB SCLK; 串行数据输出 DJNZ R7 ,D134NS1 MOV C ,DOUT D134NS1:NOP RET
2.2.4 键盘处理部分方案论证
矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式键盘的按键识别方法:确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。其工作过程如下。判断键盘中有无键按下是将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线
12
位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图2-7给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。
在本系统中键盘采用矩阵式键盘并采用中断工作方式。键盘为4×4键盘,包括0、1、2、3、4、5、6、7、8、9、十个数字及确认和清除键等。采用中断工作方式提高了CPU的利用效率,没键按下时没有中断请求,有键按下时,向CPU提出中断请求,CPU响应后执行中断服务程序,在中断程序中才对键盘进行扫描。
图2-7 矩阵式按键分布图
2.3 显示电路选择部分
数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择。的组成有以下两种方案可供选择:一是 LED数码管显示,二是LCD液晶显示两种选择。在设计中选择LED显示。
13
3 系统硬件设计
3.1 微分处理器的发展
本电子皮带秤的控制系统精度较高,需要的I/O接口也比较多,因此采用AT89C51单片机作为本系统的微处理器。
AT89C51是一个低电压,高性能CMOS 8位单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),可以按照常规方法进行编程,也可以在线编程。器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。因此此单片机完全能满足温度控制系统的要求。
AT89C51的主要特性如下:
1、寿命达1000写/擦循环; 2、数据保留时间:10年; 3、全静态工作:0Hz-24MHz; 4、三级程序存储器锁定; 5、128×8位内部RAM; 6、32可编程I/O线;
7、2个16位定时器/计数器; 8、6个中断源; 9、可编程串行通道; 10、低功耗闲置和掉电模式; 11、片内振荡器和时钟电路。 89C51单片机的接法及引脚功能为:
VCC(40):接+5V电源。 GND(20):接地。
P0口(39-32):P0口为8位漏极开路双向I/O口,每个引脚可吸收8个TTL
门电流。
P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器
能接收和输出4个TTL门电流。
P2口(21-28):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接
收和输出4个TTL门电流。
P3口(10-17):P3口是8个带有内部上拉电阻器的双向I/O口,可接收和输
出4个TTL门电流,P3口也可作为AT89C51的特殊功能口。
14
RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电
平时间。
ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地
址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲。
PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取值期间,每
个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现。
EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000H-FFFFH)
不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。
3.2 X5045 EEPROM存储芯片介绍
X5045把四种常用的功能:上电复位、看门狗定时器、电源电压监控和块锁(BLOCK LOCKTM)保护的串行EEPROM存储器组成在一个封装之内,降低了系统成本、减少空间增加了可靠性。
1. X5045引脚功能介绍
X5045引脚功能如表3-1所示。
表3-1 X5045引脚功能 引脚号 1 2 3 4 5 6 7 8 引脚名 CS/WDI SO WP GND SI SCK RESET Vcc 说明 片选输入(低点平有效) 串行输出 E2PROM写保护输入 地 串行输入 串行时钟输入 复位信号输出 电源电压
由X5045引脚功能可知:CS/WDI引脚为双功能,看门狗定时器电路监测WDI的输入
15
来判断微处理器是否工作正常。在设定的定时器时间内,微处理器必须在WDI引脚上产生一个由高到低的电平变化,以清内部定时器,即“喂狗”;否则X5045将产生一个复位信号。在X5045内部的一个控制寄存器中有2位可编程位,决定了定时器时间的长短。微处理器可以通过指令来改变这2个位,从而改变看门狗定时时间的长短。其外部管脚图如图3-1所示。
图3-1 X5045管脚图
2. X5045内部部分功能介绍
(1) 看门狗
看门狗定时器对微处理器提供了独立的保护系统。当系统故障程序飞车,只要看门狗定时器计时达到其编程的超时极限,RESET 引脚立即自身产生高电平复位信号。 高电平变化(上升沿)将复位看门狗定时器。 (2) 电压监控
当电流电压Vcc降至最小转换点以下,芯片的RESET 引脚立即产生复信信号,这样电源接通和关断瞬间电源电压不稳定就不会造成系统死机,数据误写及误动作等故障。 (3) EEPROM 存储器
芯片内部的存贮器采用CMOS工艺的4096位串行EEPROM。它的内部按512×8组织。每个字节可擦写10万次以上,内部数据可保存100年以上.使用简单的3线总线串行外设接口(SPI),就可对芯片进行读写操作,一次最多写4个字节。
3. X5045芯片的工作原理
X5045内含一个8位的指令寄存器,对芯片的所有操作都需通过对指令寄存器写命令来完成,其指令集如表3-2所示。所有指令、地址和数据都是以高位(MSB)在前的方式串行传送,读和写指令的第3位包含了高地址位A8。
16