LM016L的显示程序--精选文档

上传人:人*** 文档编号:475313668 上传时间:2023-02-19 格式:DOC 页数:8 大小:28KB
返回 下载 相关 举报
LM016L的显示程序--精选文档_第1页
第1页 / 共8页
LM016L的显示程序--精选文档_第2页
第2页 / 共8页
LM016L的显示程序--精选文档_第3页
第3页 / 共8页
LM016L的显示程序--精选文档_第4页
第4页 / 共8页
LM016L的显示程序--精选文档_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《LM016L的显示程序--精选文档》由会员分享,可在线阅读,更多相关《LM016L的显示程序--精选文档(8页珍藏版)》请在金锄头文库上搜索。

1、#include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P27 ; /定义DS18B20端口DQ void reset(); /DS18B20复位函数 void write_byte(uchar val); /DS18B20写命令函数 uchar read_byte(void); /DS18B20读1字节函数 void read_temp(); /温度读取函数 void work_temp(); /温度数据处理函数 sbit BEEP=P25 ; /蜂鸣器驱动线 bit presence ;

2、sbit LCD_RS = P35 ; sbit LCD_RW = P36 ;sbit LCD_EN = P37 ;uchar code cdis1 = SETTEMP: 50.C ;uchar code cdis2 = TESTTEMP: . C ;uchar code cdis3 = DS18B20 ERR0R ;uchar code cdis4 = PLEASE CHECK ;unsigned char data temp_data2 = 0x00,0x00 ;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ;unsigned

3、 char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ;void beep() ; unsigned char code mytab8 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ;#define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;/*/void delay1(int ms)unsigned char y ; while(ms-) for(y = 0

4、; y250 ; y+) _nop_() ; _nop_() ; _nop_() ; _nop_() ; /*/*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */*/ bit lcd_busy() bit result ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P1&0x80) ; LCD_EN = 0 ; return(result) ; /*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */*/void

5、 lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P1 = cmd ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /*/*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P1 = dat

6、 ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD初始化设定 */*/void lcd_init() delay1(15) ; lcd_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(0x0c) ; /显示开,关光标 delay1(5) ; lcd_wcmd(0x06) ; /移动光标 dela

7、y1(5) ; lcd_wcmd(0x01) ; /清除LCD的显示内容 delay1(5) ;/* 设定显示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80) ; /数据指针=80+地址变量 /*自定义字符写入CGRAM */*/void writetab() unsigned char i ; lcd_wcmd(0x40) ; /写CGRAM for (i = 0 ; i 0 ; i-) DQ = 0 ; / 给脉冲信号 dat = 1 ; DQ = 1 ; / 给脉冲信号 if(DQ) dat |= 0x80 ; Delay(4) ; return (dat) ;/* 写一个字节

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 人力资源管理师

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号