单片机课程设计基于PIC16F877单片机与DS18B20温度采集与显示.docVIP

单片机课程设计基于PIC16F877单片机与DS18B20温度采集与显示.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计基于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口为普

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档