单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...

1《单片机原理应用》课程设计指导书2010-6-8

《单片机原理与应用》课程设计指导书

一、课程设计的基本任务

本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程方法,学生在DP-51DPROC单片机综合仿真实验仪的平台环境下,完成一个简单的单片机温度检测系统。

二、设备及器件

PC机 一台

DP-51PROC单片机综合仿真实验仪 一台

导线若干

三、课程设计的基本要求

设计题目:数字温度计

(1)编写程序,通过单片机的P3.3口控制一个DS18B20完成数字温度的采集,然后用程序处理采集到的数据结果。(2)编写程序,通过I2C总线器件ZLG7290实现温度数据的输出显示。(3)结合以上两部分程序,编程实现数字式温度计的程序设计。要求熟练掌握单总线方式器件的应用,熟悉I2C总线协议,学习I2C器件的使用方法。

(上述设计完成的同学可以选做万年历时钟设计)

四、课程设计的基本步骤

数字温度计的设计步骤:

(1)安装B4区JP12接口上的短路帽,将B4区的DQ与A2区INT1 (P3.3)相连。

(2)安装D5区JP1接口上的短路帽,将D5区的SDA. SCL分别与A2区的P17, P16相连。

(3)将D5区的RST_L针接上高电平。

(4)运行编写好的软件程序,观察D5区数码管显示的温度数据。然后改变DS18B20的表面温度,查看显示的温度数据是否有变化,并调整实验程序使测量值更准确。

五、设计题目中部分单元电路

1、B4区数字温度采集区

B4区上面是一片DS18B20单总线数字温度传感器,可在上面进行单总线和温度采集等相关实验,电路图如下图,DQ为控制信号输入端,JP12为电源控制(使用前先短接,做完实验后断开)

图1 单总线数字温度采集电路

2、D5区IIC实验区

D5区上面是IIC实验区,有3个芯片,分别是键盘LED驱动芯ZLG7290、EEPROM(256个字节)CAT24WC02、实时时钟芯片(RTC> RCF8563T,可以在上面进行各种相关的IIC实验。电路如图2所示

如图2所示SCL和SDA为IIC控制信号端,RST_L和INT_KEY为ZLG7290的复位控制和键盘中断接口,CLKOUT和INT_RTC为PCF8563T的时钟输出和中断接口,JP1为电源控制(使用前先短接,做完实验后断开)。另外ZLG7290芯片同时驱动了8个数码管和16个按键(键值为0X01- OX10)。

图2 IIC实验电路

六、设计参考程序

TEMPER_L EQU 36H ;存放读出温度低位数据

TEMPER_H EQU 35H ;存放读出温度高位数据

TEMPER_NUM EQU 37H ;存放转换后的温度值

FLAG1 BIT 00H

DQ BIT P3.3 ;单总线控制端口

SDA BIT P1.7 ;I2C 总线定义

SCL BIT P1.6

MTD EQU 40H ;发送数据缓冲器

MRD EQU 49H ;接收数据缓冲区

;定义器件地址,变量

ZLG7290 EQU 70H ;ZLG7290 的器件地址

ACK BIT 10H ;应答标志位

SLA DATA 50H ;器件的从地址

SUBA DATA 51H ;器件的子地址

NUMBYTE DATA 52H ;读/写的字节数变量

ORG 8000H

LJMP MAIN

ORG 8100H

;温度计主程序如下:

MAIN:

MOV SP,#70H

DISP_LOOP:

LCALL GET_TEMPER ;从 DS18B20 读出温度数据

LCALL TEMPER_COV ;转换读出的温度数据并保存

LCALL DELAY

MOV MTD,#60H

MOV MTD+1,TEMPER_NUM ;温度值低位

ANL MTD+1,#0FH

MOV SLA,#ZLG7290 ;指定器件地址

MOV SUBA,#07H ;指定子地址

MOV NUMBYTE,#02H ;发送 2 字节数据

LCALL IWRNBYTE ;调用写 2 字节数据程序

MOV MTD,#61H

MOV A,TEMPER_NUM

SWAP A

ANL A,#0FH

MOV MTD+1,A ;温度值高位

MOV SLA,#ZL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值