编辑: sunny爹 | 2013-06-07 |
.EA/Vpp:片外程序存储器使用信号引脚/编程电源输入引脚.RST/VPD:复位/备用电源引脚外围扩展并行接口8155,程序存储器EPROM2764,模数转换器ADC0809等芯片. ????由图1可见,在P2.0=0和P2.1=0时,8155选中它内部的RAM工作;
在P2.0=1和P2.1=0时,8155选中它内部的三个I/O端口工作.相应的地址分配为: 0000H?-?00FFH?????8155内部RAM 0100H?命令/状态口 0101H?????A?口0102H?????B?口0103H?????C?口0104H?定时器低8位口 0105H????定时器高8位口 ????8155A芯片是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并行I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路.8155有三种基本工作方式,三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个部分,上半部分随PA口称为A组,下半部分随PB口称为B组.其中PA口可工作与方式
0、1和2,而PB口只能工作在方式0和1.8155共有40个引脚,采用双列直插式封装,各引脚功能如下:D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息.CS:片选信号线,低电平有效,表示芯片被选中.RD:读出信号线,低电平有效,控制数据的读出.WR:写入信号线,低电平有效,控制数据的写入.Vcc:+5V电源.A0--PA7:A口输入/输出线.PB0--PB7:B口输入/输出线.PC0--PC7:C口输入/输出线.RESET:复位信号线.A
1、A0:地址线,用来选择8155内部端口.GND:地线. 8155用作键盘/LED显示器接口电路.图2中键盘有30个按键,分成六行(L0-L5)五列(R0-R4),只要某键被按下,相应的行线和列线才会接通.图中30个按键分三类:一是数字键0-9,共10个;
二是功能键18个;
三是剩余两个键,可定义或设置成复位键等.为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示.A口和所有LED的八段引线相连,各LED的控制端G和8155C口相连,故A口为字形口,C口为字位口,8031可以通过C口控制LED是否点亮,通过A口显示字
三、硬件电路设计 1.温度检测和变送器 (1).热敏电阻温度转换原理 热敏电阻是近年来发展起来的一种新型半导体感温元件,由于它具有灵敏度高、体积小、重量轻、热惯性小、寿命长以及价格便宜等优点,因此应用非常广泛.热敏电阻与普通热电阻不同,它具有负的电阻温度特性,当温度升高时,电阻值下降,其特性曲线如图6所示. 图6 热敏电阻特性曲线 热敏电阻的阻值-温度特性曲线是一条指数曲线,非线性度较大,因此,在使用时要进行线性化处理.线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂.为此,在要求不高的一般应用中,常常作出在一定的温度范围内温度与阻值成线性关系的假定,以简化计算.使用热敏电阻是为了感知温度,给热敏电阻通以恒定电流,电阻两端就可测到一个电压,然后通过下面公式求得温度: ―被测温度;
―与热敏特性有关的温度参数;
―热敏电阻有关的系数;
―热敏电阻两端的电压. 根据这一公式,如能测得热敏电阻两端的电压,再知道参数和参数,则可计算出热敏电阻的环境温度,也就是被测得温度.这样,就把电阻随温度的变化关系转化为电压随温度的变化关系了.数字式电阻温度计设计工作的主要内容,就是把热敏电阻两端电压值经A/D转换变成数字量,然后通过软件方法计算出温度值,再进行显示等处理.所以采取ADC0809芯片来读取电压值, 图1 单片机温度检测系统电路原理图 图2?LED显示器接口电路 图3 温度控制系统 第3节 软件的设计 硬件平台结构一旦确定,大的功能框架即形成.软件在硬件平台上构筑,完成各部分硬件的控制和协调.系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大.因此,软件是本系统的灵魂.软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性.同时,对软件进行全面测试也是检验错误排除故障的重要手段.由于编程多涉及到数值运算,比较复杂,还有LCD的菜单界面设计都是需要多重选择判断,这里我们选用了移值性好、结构清晰、我使用汇编语言来实现编程. 3.1 软件总体流程图 软件总体设计主要完成各部分的软件控制和协调.本系统主程序模块主要完成的工作是对系统的初始化,包括扫描键盘和液晶的初始化,启动无线接收模块,发送显示数据,同时对键盘进行扫描,等待外部中断,程序的流程图如4所示 图4 流程图 3.2部分程序如下 ED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H TCNTA EQU 36H TCNTB EQU 37H H_TEMP EQU 38H ;