1、 PIC 单片机单片机课程设计课程设计 学生姓名: 学 号: 学 部:信息科学技术部 专业班级: 电信 1 指导教师: 2014 年 7 月 4 日 单片机课程设计报告 - 1 - 一一、课程课程设计目的设计目的 本课程设计是在PIC单片机原理及应用及单片机C语言编程课程的基 础上,通过硬件设计、软件编程及仿真调试的实践,进一步掌握PIC单片机的应 用方法, 熟练掌握PICC C语言程序的编写与调试, 是毕业设计前的一次重要实践实践, 为今后走上工作岗位打下坚实的单片机应用基础。 单片机课程设计报告 - 2 - 二二、设计题目及要求设计题目及要求 2.1 设计题目: 基于基于PIC16F877
2、PIC16F877单片机单片机与与DS18B20DS18B20的的温度采集与显示温度采集与显示 2.2 功能实现: 实时温度显示,并具有超限报警功能。输出显示采用LCD1602。 2.3 设计要求: 自己设计硬件和程序编程,画出完整的电路原理图,用Multisim或Proteus 仿真,最终可实现脱机运行。 单片机课程设计报告 - 3 - 三、设计原理说明三、设计原理说明 3.2 显示模块 如用LCD1602作为显示设备,要求显示屏分两行显示,第一行显示日期(年- 月-日)和星期,第二行显示时间(时:分:秒)和温度。显示秒由00一直加到 59,分钟数也由00加到59,小时采用24小时制,由00
3、加到23,如此循环显示。 3.3 按键模块 按键用来作为时间调整。要求至少设计4个按键,按键1作为设置键;按键2、 按键3分别为增加、减少键,在设置键按下时,此两个按键方有效;按键4是确定 键,在设置键按下时方才有效。 3.4 温度采集模块 DS18B20是美国DALLAS公司推出的单总线数字温度传感器。DS18B20内部集成 了温敏元件、数据转换芯片、存储器芯片和计算机接口芯片等多功能模块。其主 要技术特点有:具有独特的单线接口方式;可以通过数据线供电,具有超低功耗 工作方式;测温范围为-55125,测温精度为0.5;温度转换精度912 位可编程,直接将温度转换值以二进制数码的方式串行输出。
4、 单片机课程设计报告 - 4 - 四、硬件四、硬件原理图原理图 (含原理图、电路仿真图) 图 2 电路仿真图 单片机课程设计报告 - 5 - 五、软件设计五、软件设计 (含流程图、带注释的程序清单) 程序设计流程图 是 初始化pic 否 是否为正数 Ds18b20 复位, 是否应答 验证,开始温度转 换并读取 显示 取补码,加 1 否 是 单片机课程设计报告 - 6 - 主文件主文件 hehe /*/ #include _CONFIG(0x3B31); /芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关, 加密,4M 晶体 HS 振荡 /宏定义 #define DQ RC1 /温度数据
5、口 #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“; /各种申明 单片机课程设计报告 - 7
6、- 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