第四章 温湿度测控系统软件设计
4.7 A/D转换器TLC549程序设计
TLC549可方便地与具有串行外围接口的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。其采样程序框图如图4-5所示,实际应用程序清单如下。 TLC549:
SETB CS549
CLR SCLK ; SETB CS549 ; LCALL DELAY8
LCALL SPIR ; MOV 31H,A ; SETB CS549 ; LCALL DELAY8
LCALL SPIR ; MOV 31H,A ; RET
SPIR: CLR CS549 ; NOP NOP NOP NOP
MOV C,DOUT ; RLC A NOP NOP
MOV R0,#07 ;SPIIN: SETB SCLK NOP NOP
初始化时钟电平 初始化片选信号 调用SPI总线的模拟读子程序 保存采样数据 初始化片选信号 调用SPI总线的模拟读子程序 保存采样数据 选中TLC549 接受第一位数据 置循环次数 - 32 -
第四章 温湿度测控系统软件设计
CLR SCLK ;产生有效沿,以便从器件锁存数据 NOP NOP
MOV C,DOUT ;接受下一位数据(从最高位开始) RLC A
DJNZ R0,SPIIN ;8 CLR SCLK NOP NOP SETB SCLK NOP NOP CLR SCLK
SETB CS549 ; RET DELAY8: MOV R7,#40 ; DJNZ R7,$ RET
位数据未接收完,则继续接收下一位结束SPI总线操作,关闭从器件 延时子程序 - 33 -
第四章 温湿度测控系统软件设计
初始化:CS为高;I/O CLOCK为低选中T LC549, CS置低4μs后,读第一位数据置循环次数7产生CLOCK有效沿读DOUT口数据否是否到第七位 是保存,结束
图4-5 TLC549程序流程图
- 34 -
第五章 系统仿真
第五章 系统仿真
5.1 系统的硬件调试
本设计使用Proteus 软件进行单片机系统仿真,Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。
用Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
硬件系统设计调试包括单片机与各外围电路的接线,各子模块接线(包括单片机时钟电路,复位电路,温度传感器DS18B20,AD转换器TLC549,数码管显示,设置键盘,控制电路和报警电路)。
在Proteus中画电路图应注意以下几点:
(1)LED显示器要根据汇编程序选择是共阴极还是共阳极。 (2)网络标号要认真核对,不可错标、漏标。 (3)三极管PNP和NPN的选择也是根据程序正确选用。
(4)在元器件库中选择元件,要细致耐心,认真排查,选择正确最优的。 硬件电路图如图5-1所示。
- 35 -
第五章 系统仿真
图5-1 调试电路图
5.2 系统的软件调试
本设计通过汇编软件KEIL进行源程序编写、编译调试,将源程序生成目标代码文件:*.HEX。
利用KEIL开发和调试系统软件流程大致如下: (l)启动Vision3,进入KEIL软件的集成开发环境; (2)利用KEIL内置的文本编辑器进行程序源文件的编辑;
(3)建立工程,指定针对哪种单片机进行开发,指定对源程序的编译、链接参数,指定调试方式,然后对工程进行相关设置;
(4)设置好工程后即可进行编译、链接。当编译无错误后即可在工程文件夹中生成HEX文件。在Proteus电路仿真图中双击图中AT89C51单片机,出现可以添加程序文件的对话框,然后将HEX文件添加进去。添加hex文件的对话框如图5-3所示。
(5)最后点击Proteus仿真图中的PLAY键就可以看到图5-4的效果。 KEIL调试图如图5-2所示。
- 36 -