单总线和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
单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...相关推荐
- 数字积分法插补c语言程序,数字积分法插补原理
<数字积分法插补原理>由会员分享,可在线阅读,更多相关<数字积分法插补原理(19页珍藏版)>请在人人文库网上搜索. 1.3单元 数字积分法插补原理,掌握数字积分法插补基本原理 ...
- 基于at89c51单片机的led数字倒计时器设计c语言,基于AT89C51单片机的LED数字倒计时器设计1.docx...
基于AT89C51单片机的LED数字倒计时器设计1 单片机原理及其应用课程设计课 题: 基于AT89C51单片机的LED数字倒计时器设计专 业: 电工程及其自动化班 级: 2013 级 4班学 号: ...
- 输入48个数字从低到高c语言程序,计算机应用基础选择精选100题
选择题精选 1. 目前人们普遍使用的电子计算机是() A.数字电子计算机 B.模拟电子计算机 C.数字模拟混合电子计算机 D.优化电子计算机 2. 20世纪50年代到60年代,3. 电子计算机的功能元 ...
- 52单片机总线控制c语言程序,C52单片机的应用(连接、编程、测试) - 全文
一.连接单片机板 MPU6050 电路图,参看:MPU6050开发 -- 初识 从电路图上看了引出四根线:电源.GND.SCL.SDA. 连接单片机板. 单片机部分电路图: 思考:SCL.SDA应该接 ...
- c语言输出数字菱形北京理工大学,C语言程序的设计—北京理工大学MOOC提交作业.docx...
第一周作业 [练习 11 HelloWorld 成绩 0 开启时间 2014年10月21日星期二08:00 折扣 0.8 折扣时间 2014年12月7 E1星期日23:55 允许迟交 否 关闭时间 2 ...
- c51数字钟c语言程序,51单片机电子时钟C语言程序
51最基础简单易懂的单片机,差不多一个月的时间,断断续续地学习,终于算是学完了,下个目标是飞思卡尔s12x和k60 也就是ARM crotex-M4架构. 51最核心的部分,我觉得是中断的使用,一个项 ...
- 基于STM8的数字温度计设计
基于STM8的数字温度计设计 这是在2021年12月初完成的一次课程设计,全程自己设计组装完成,现作为记录存档发布,大家也可以借鉴本文来完成自己的课程设计.(建议使用电脑阅读) 课程设计目录 基于ST ...
- matlab设计理想数字带通滤波器,基于matlab的数字带通滤波器课程设计报告
基于matlab的数字带通滤波器课程设计报告 1 西安文理学院机械电子工程系 课程设计报告 专业班级 08级电子信息工程1班 题 目 基于 MATLAB 的数字带通滤波器 学 号 学生姓名 指导教师 ...
- matlab采样序列幅频特性,数字信号处理课设计指导书20130530.doc
数字信号处理课设计指导书20130530 数字信号处理 -课程设计指导 杨亚东 工程技术系 2013.5 数字信号处理课程设计内容.基本要求及评分标准 课程设计内容: 从以下二十一个题目中任选其中一个 ...
最新文章
- 近期活动盘点:基于雷达图像预测未来降水参赛经验分享、大数据基础设施讲座、药品行业分析及大数据应用思享会(11.22-11.29)
- 每日一皮:代码出现Bug的三种表情!
- MFC下的MessageBox使用_附带CBUTTON
- #1413 : Rikka with String 后缀自动机 + 二级差分
- 《C++语言基础》程序阅读——和对象找感觉
- 无线路由器在手机上如何连接服务器,192.168.10.1路由器手机怎么设置? | 192路由网...
- Spring计划列表
- Custom Depth in Unreal Engine 4
- Form验证之简单应用
- before和after怎么区分_深入理解::before/:before和::after/:after的使用
- 工作中常用知识点、工具总结
- IE11离线安装总是提示“获取更新”的解决方法
- 21种常见产品的电磁兼容检测项目与检测标准
- COCO数据集之gt_overlaps之分析
- C++继承问题(白兰花例)
- gnuplot:散点图
- Android 模拟器中的menu键
- 自旋锁与适应性自旋锁
- 详说TCP/IP协议
- windows系统安装PhotoshopCS6出现error16问题的解决办法
热门文章
- 多对多查询总结resultType和resultMap
- GTD时间管理(3)---梳理总结
- 用户控件页为什么找不到.ClientScript.RegisterClientScriptBlock原因
- javascript数字补零
- .net知识和学习方法系列(四)继承中方法的隐藏和重写
- [转载] 递归函数python基例_python递归函数详解 python 递归函数使用装饰器
- PTA 7-2 深入虎穴 (30 分)
- Springboot 使用wangEditor3.0上传图片
- mybatis 调用存储过程
- ODOO从哪里开始??OpenERP的第一根线头儿