版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#in elude < reg51.h >#i nclude < in tri ns.h >#defi ne uchar un sig ned char#defi ne uint un sig ned intsbit DQ = P1A2 ; 定义 DS18B20 端口 DQsbit BEEP=PM3 ; /蜂鸣器驱动线bit prese nee ;sbit LCD_RS =卩2八2 ;sbit LCD_RW =卩2八3 ;sbit LCD_EN =卩2八4 ;uchar code cdis1 = " welcome to JLDZ " ;/ 嘉乐电子
2、缩写uchar code cdis2 = " WENDU: . C "uchar code cdis3 = " DS18B20 ERROR "uchar code cdis4 = " PLEASE CHECK "un sig ned char data temp_data2 = 0x00,0x00;un sig ned char data display5 = 0x00,0x00,0x00,0x00,0x00;un sig ned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x
3、04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ;/*小数位表,四舍五入 */void beep(;unsigned char code mytab8 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00; #defi ne delayNOP(;匕no p_( ;_no p_( ;_nop_( ;_n op_( ;/*/ void delay1(i nt msun sig ned char y ;while(ms-for(y = 0 ; y<250 ; y+_nop_(;_nop_(;_nop_(;_nop_(
4、;*/*检查LCD忙状态*/ /*lcd_busy为1时,忙,等待。Icd-busy为0时,闲,可写指令 与数据。*/*/bit lcd_busy(bit result ;LCD_RS = 0 ;LCD_RW = 1 ;LCD_EN = 1 ;delayNOP(;result = (bit(P0&0x80 ;LCD_EN = 0 ;retur n( result ;/*写指令数据到LCD */ /*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*/*/ void lcd_wcmd(uchar cmdwhile(lcd_busy(;LCD_RS = 0 ;LCD_RW = 0 ;L
5、CD_EN = 0 ;_nop_(;_nop_(;P0 = cmd ;delayNOP(;LCD_EN = 1 ;delayNOP(;LCD_EN = 0 ;/* / /*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。*/*/ void lcd_wdat(uchar datwhile(lcd_busy(;LCD_RS = 1 ;LCD_RW = 0 ;LCD_EN = 0 ;P0 = dat ;delayNOP(;LCD_EN = 1 ;delayNOP(;LCD_EN = 0 ;/* LCD初始化设定*/*void ledn it(delay1(15 ;lcd_
6、wcmd(0x01 ; 清除LCD的显示内容lcd_wcmd(0x38 ; 16*2 显示,5*7 点阵,8 位数据 delay1(5 ;lcd_wcmd(0x38 ;delay1(5 ;lcd_wcmd(0x38 ;delay1(5 ;lcd_wcmd(OxOc ; /显示开,关光标delay1(5 ;lcd_wcmd(0x06 ; / 移动光标delay1(5 ;lcd_wcmd(OxO1 ; 清除LCD的显示内容delay1(5 ;/*设定显示位置*/*/ void lcd_pos(uchar poslcd_wcmd(pos | 0x80 ; /数据指针=80+地址变量/*自定义字符写入
7、 CGRAM */*/ void writetab(un sig ned char i ;Icd_wcmd(0x40 ; /与 CGRAMfor (i = 0 ; i< 8 ; i+lcd_wdat(mytab i ;/*us级延时函数*/*/void Delay (un sig ned int numwhile( -num ;/* 初始化 ds1820 */*/ I nit_DS18B20(voidDQ = 1 ; DQ 复位Delay(8 ; 稍做延时DQ = 0 ; /单片机将DQ拉低Delay(90 ; 精确延时大于480usDQ = 1 ; /拉高总线Delay(8 ;pres
8、e nee = DQ ; /如果=0则初始化成功=1则初始化失败Delay(100 ;DQ = 1 ;return(presenee ; /返回信号,0=presence,1= no presenee/*读一个字节*/*/ Read On eChar(voidun sig ned char i = 0 ;un sig ned char dat = 0 ;for (i = 8 ; i > 0 ; i-DQ = 0 ; /给脉冲信号dat >>= 1 ;DQ = 1 ; /给脉冲信号if(DQdat |= 0x80 ;Delay(4 ;return (dat ;/*写一个字节*/
9、*/ Write On eChar( un sig ned char datun sig ned char i = 0 ;for (i = 8 ; i > 0 ; i-DQ = 0 ;DQ = dat&0x01 ;Delay(5 ;DQ = 1 ;dat>>=1 ;/*读取温度*/*/ Read_Temperature(voidIn it_DS18B20(;WriteO neChar(0xCC ; /跳过读序号列号的操作Write On eChar(0x44 ; / 启动温度转换In it_DS18B20(;WriteO neChar(0xCC ; 跳过读序号列号的操
10、作Write On eChar(0xBE ; 读取温度寄存器temp_data0 = Read On eChar(;温度低 8 位temp_data1 = Read On eChar(;温度高 8 位/*数据转换与温度显示*/ /*/Disp_Temperature( display4=temp_data0&0x0f ; display0=ditabdisplay4+0x30 ; / 查表得小数位的值 display4=(temp_data0&0xf0»4|(temp_data1&0x0f<<4 ; display3=display4/100+0x
11、30 ; display1=display4%100 ; display2=display1/10+0x30 ; display1=display1%10+0x30 ; if(display3=0x30 display3=0x20 ; if(display2=0x30 display2=0x20 ; Icd_pos(0x48 ; lcd_wdat(display3 ; lcd_pos(0x49 ; lcd_wdat(display2 ; lcd_pos(0x4a ; lcd_wdat(display1 ; lcd_pos(0x4c ; lcd_wdat(display0 ; /*蜂鸣器响一声*
12、/void beep( un sig ned char y ; for (y=0 ;y<100 ;y+ Delay(60 ; BEEP=!BEEP ; /BEEP 取反 BEEP=1 ; /关闭蜂鸣器Delay(40000 ; /次高位为0,不显示高位为0,不 显示百位数显示/十位数显示个位数显示小数位数显示/* DS18B20 OK 显示菜单 */*/void Ok_Menu ( uchar m ; lcd_init( ; / 初始化 LCD lcd_pos(0 ; m=0;while(cdis1m != '0' Icd_wdat(cdis1m; m+ ; Icd_po
13、s(0x40 ; m=0;while(cdis2m != '0' Icd_wdat(cdis2m; m+ ; writetab( ; delay1(5 ; lcd_pos(0x4d ; lcd_wdat(0x00 ; /设置显示位置为第一行的第 1个字符显示字符/设置显示位置 为第二行第1个字符显示字符自定义字符写入CGRAM /显示自定义字符/*DS18B20 ERROR 显示菜单 */*/void Error_Menu ( uchar m ; lcdnit(; / 初始化 LCD lcd_pos(0 ; m=0; while(cdis3m != '0' Icd_wdat(cdis3m ; m+ ; / 设置显示位置为第一行的第 1 个 字符显示字符 lcd_pos(0x40 ; m=0; while(cdis4m != '0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年淮南市凤台县邮政分公司投递外包岗位公开招聘考试备考试题及答案解析
- 2026年福建莆田市城厢区霞林学校初中部编外教师招聘若干人考试备考试题及答案解析
- 2026年烟台市青年干部人才“菁英计划”选聘(山东农业大学)考试备考试题及答案解析
- 2026浦发银行成都分行科技发展部社会招聘考试参考题库及答案解析
- 2026深圳那曲市巴青县消防救援大队面向社会招录政府专职消防员2人考试参考题库及答案解析
- 2026云南德宏州兵役登记考试参考题库及答案解析
- 2026学年上海市闵行区七宝第三中学第二批教师与教辅人员招聘考试参考题库及答案解析
- 2025广西河池市大化瑶族自治县招聘县属国有企业领导班子人员计划取消考试参考题库及答案解析
- 2026年山东理工职业学院春季学期代课教师招聘考试备考题库及答案解析
- 2026年合肥海恒控股集团有限公司公开招聘18人笔试参考题库及答案解析
- 2025-2030电子特气行业纯度标准升级对晶圆制造良率影响深度分析报告
- 2025年九江职业大学单招《职业适应性测试》模拟试题(基础题)附答案详解
- 防御性驾驶安全培训内容
- 除夕年夜饭作文600字9篇范文
- 青年积分培养管理办法
- CJ/T 43-2005水处理用滤料
- 市级应急广播管理制度
- 2025年河北石家庄印钞有限公司招聘13人笔试参考题库附带答案详解
- DB37T 4839-2025电化学储能电站验收规范
- 第四单元 《辨识媒介信息》公开课一等奖创新教案统编版高中语文必修下册
- 眼科屈光科护士年终总结
评论
0/150
提交评论