- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[单片机实验3-1:《ds18b20温度测控实验指导书》150423[单片机实验3-1:《ds18b20温度测控实验指导书》150423
实验7:芯片控制《ds18b20温度测控》
硬件设计:据附录1:《ds18b20温度测试》电路图,在Protues软件中绘出硬件仿真电路。
2、填空:软件设计,将附录2给出的《ds18b20温度测试》程序补充完整。
3、仿真:编译程序,完成仿真。
4、增加控制功能:当温度低于200C时,控制低温超限电机启动;当温度高于300C时,控制高温超限电机启动,并添加高、低、正常三种温度的LED指示电路及程序。
附录1:《ds18b20温度测试》电路图
附录2:给出的《ds18b20温度测试》程序【填空】
/*********************************************
DS18B20温度测量
*********************************************/
#include reg51.h
#define uchar unsigned char
#define uint unsigned int
【 】 DQ=P3^0; //单数据总线
【 】 p20=P2^0; //位码C 【-88.C】
【 】 p21=P2^1; //位码8.【-88.C】
【 】 p22=P2^2; //位码8 【-88.C】
【 】p23=P2^3; //位码 负号-【-88.C】)
code 【 】tab[]={ 0XC0,0XF9,0XA4,0XB0,0X99, //0~9共阳段码
0X92,0X82,0XF8,0X80,0X90};
code【 】tab1[]={0X40,0X79,0X24,0X30,0X19, //0~9共阳段码带小数点
0X12,0X02,0X78,0X00,0X10};
uchar a,b,t,h;
uchar bai,shi,ge,xiao;
////////////////////////////////////////////////
【 】delay(unsigned int i)
{
while(【 】);
}
/******************复位函数******************
1。 初始化:单总线操作从初始化开始:
1)请求: 【单片机发送启动(复位)负脉冲:DQ=0,480us后,DQ=1】进入Rx接收模式
操作:DQ : 1 - 0(480us+) - 1
2)响应: 【单片机接收应答信号:收DQ=1(15~60us) - 响应DQ=0(60~240us),说明有单线器件在线】
操作:DS18B20检测到DQ上升沿后, 延时15~60us, 通过拉低总线60~240us,产生应答脉冲.
DQ: 1(15~60us) - 0(60~240us) 【DQ=0,初始化完成,即可2.ROM操作】
*********************************************/
bit int_DS18B20(void) //初始化函数【合理简化协议】
{
unsigned char x=0;
【 】 = 1; //1)请求: 【单片机发送启动负脉冲:DQ=0,480us】
delay(8); //延时480us
【 】 = 0; //单片机拉低DQ --- ---
delay(80); //延时480us(略大于) |480us|
【 】 = 1; //拉高总线DQ -----
delay(14); //84us
x=【 】; //延时片刻后读,如果x=0则初始化成功,x=1则初始化失败
delay(20);
return x; //返回x=DQ
}
/******************************************
1。写时隙【DQ=下降沿时产生】:
数据线DQ送出下降沿时, 产生写时隙(必须60us,各写时隙间保证1us的恢复时间)
写1 【DQ=0,15us后DQ=1】: 主机将数据线DQ先拉低, 然后释放15us后, 将数据线DQ拉高;
写0 【DQ=0,60us】: 主机将DQ拉低并至少保持60us以上.
******************************************/
//写一个字节
void Write(unsigned char dat) //dat=要写到DQ的8位数
{
unsigned char i=0;
for (i=8; i0; i--) //写8位
{
您可能关注的文档
- WIWD-19 螺母拉铆作业操作指导书WIWD-19 螺母拉铆作业操作指导书.doc
- WLAN总体建设方案WLAN总体建设方案.ppt
- Word2003综合模拟题大全Word2003综合模拟题大全.doc
- word2007艺术字word2007艺术字.ppt
- WORD EXCIL 试题WORD EXCIL 试题.doc
- word2007排版。页面设置word2007排版。页面设置.ppt
- Word提示” 是否也保存对文档模板的更改“的解决方法Word提示” 是否也保存对文档模板的更改“的解决方法.doc
- WordPressWordPress.ppt
- Word文字处理--编辑Word文档Word文字处理--编辑Word文档.ppt
- word教学课件(免费)word教学课件(免费).ppt
文档评论(0)