- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于PIC16F877单片机与DS18B20的温度采集与显示
《PIC单片机课程设计》
学生姓名:
学 号:
学 部:信息科学技术部
专业班级: 电信1
指导教师:
2014年 7 月 4 日
一、课程设计目的
本课程设计是在《PIC单片机原理及应用》及《单片机C语言编程》课程的基础上,通过硬件设计、软件编程及仿真调试的实践,进一步掌握PIC单片机的应用方法,熟练掌握PICC C语言程序的编写与调试,是毕业设计前的一次重要实践,为今后走上工作岗位打下坚实的单片机应用基础。
二、设计题目及要求
2.1 设计题目:
基于PIC16F877单片机与DS18B20的温度采集与显示
2.2 功能实现:
实时温度显示,并具有超限报警功能。输出显示采用LCD1602。
2.3 设计要求:
自己设计硬件和程序编程,画出完整的电路原理图,用Multisim或Proteus仿真,最终可实现脱机运行。
三、设计原理说明
3.2 显示模块
如用LCD1602作为显示设备,要求显示屏分两行显示,第一行显示日期(年-月-日)和星期,第二行显示时间(时:分:秒)和温度。显示秒由00一直加到59,分钟数也由00加到59,小时采用24小时制,由00加到23,如此循环显示。
3.3 按键模块
按键用来作为时间调整。要求至少设计4个按键,按键1作为设置键;按键2、按键3分别为增加、减少键,在设置键按下时,此两个按键方有效;按键4是确定键,在设置键按下时方才有效。
3.4 温度采集模块
DS18B20是美国DALLAS公司推出的单总线数字温度传感器。DS18B20内部集成了温敏元件、数据转换芯片、存储器芯片和计算机接口芯片等多功能模块。其主要技术特点有:具有独特的单线接口方式;可以通过数据线供电,具有超低功耗工作方式;测温范围为-55℃~125℃,测温精度为0.5℃;温度转换精度9~12位可编程,直接将温度转换值以二进制数码的方式串行输出。
四、硬件原理图
(含原理图、电路仿真图)
图2电路仿真图
五、软件设计
(含流程图、带注释的程序清单)
程序设计流程图
主文件 he
//**********************************************/
#includepic.h
__CONFIG(0x3B31);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
//宏定义
#define DQ RC1 //温度数据口
#define DQ_HIGH() TRISC1=1
#define DQ_LOW() TRISC1=0;DQ=0
#define uchar unsigned char
#define uint unsigned int
#define RS RA0 //LCD功能选择位
#define RW RA1 //读写选择
#define EN RA2 //使能
//变量定义
int temper;
char f = 0 ;
uchar a1,a2,a3,a4;
uchar Prompt[]=P1ress K1 - K3 To Start Demo Prog;
//各种申明
void init();
void DelayMS(uint ms);
uchar Busy_Check();
void Write_LCD_Command(uchar cmd);
void Write_LCD_Data(uchar dat);
void Initialize_LCD();
void ShowString(uchar x,uchar y,uchar *str);
void Showword0(uchar x,uchar y,char word );
void Showword1(char word );
void write_shuzi(uchar num1,uchar num2,uchar num3,uchar num4);
//18b20
void delay(uint x);
void delayus(uint,uchar);
void init();
void write_byte(uchar date);
uchar read_byte();
void get_tem();
//***子函数****************************************/
//系统初始化函数
void init()
{
ADCON1=0X07; //设置A口为普
您可能关注的文档
最近下载
- 跨学科主题作业设计.docx
- 2023年北京首都师大附中英语九上期末质量检测模拟试题含解析.doc VIP
- 第18课《我的白鸽》习题教学设计-2024-2025学年统编版语文七年级上册(2024).docx
- 5.1质量守恒定律-九年级化学人教版(2024)上册.pptx
- 2024如何高质量开好“经营分析会”培训课件分享.pdf
- AP宏观经济学 2010年真题 (选择题+问答题) AP Macroeconomics 2010 Released Exam and Answers (MCQ+FRQ).pdf VIP
- AP微观经济学 2010年真题 (选择题+问答题) AP Microeconomics 2010 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 高中数学单元教学设计(9篇).docx VIP
- 16BJ7-1 楼梯平台栏杆及扶手.pdf
- 多维阅读第9级A-Bag-in-the-Jungle-公开课课件.pptx
文档评论(0)