• mhwlgg
    了解作者
  • C51
    开发工具
  • 34KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2017-08-26 08:31
    上传日期
此程序为18b20开发程序,用51单片机控制,并将采集的温度通过12864显示
18b20.zip
  • 18b20
  • 18b20.LST
    4KB
  • main.c
    584B
  • mk_Opt.Bak
    1.5KB
  • 12864.c
    1.8KB
  • delay.OBJ
    905B
  • mk.Opt
    1.9KB
  • mk.M51
    17.7KB
  • STARTUP.A51
    5KB
  • delay.LST
    1.2KB
  • STARTUP.lst
    11.5KB
  • delay.h
    150B
  • mk.plg
    4.4KB
  • mk
    13.3KB
  • mk_Uv2.Bak
    2.1KB
  • 18b20.c
    1.8KB
  • 18b20.h
    210B
  • delay.c
    235B
  • STARTUP.obj
    860B
  • 18b20.OBJ
    4.5KB
  • main.LST
    1.8KB
  • 12864.OBJ
    4.7KB
  • 12864.LST
    3.8KB
  • mk.Uv2
    2.1KB
  • 12864.h
    496B
  • main.OBJ
    3.5KB
  • mk.hex
    3.8KB
内容介绍
#include "12864.h" #include <reg52.h> #define Lcd_Bus P0 //数据总线 //LCD接口定义 sbit RS = P2^7;//模式位,为0输入指令,为1输入数据 sbit RW = P2^6;//读写位,为0读,为1写 sbit E = P2^5;//使能位 sbit LCM_psb = P2^4;//此处可去掉,直接接高电平 sbit LCM_rst = P2^3;//此处可去掉,直接接高电平 //LCD驱动(DY12864CBL液晶显示屏并口驱动程序) /******************************************************************************/ void chk_busy() {//检查忙位(底层) RS=0; RW=1; E=1; Lcd_Bus=0xff; while((Lcd_Bus&0x80)==0x80); E=0; } /******************************************************************************/ void write_com(unsigned char cmdcode) {//写命令到LCD(底层) chk_busy(); RS=0; RW=0; E=1; Lcd_Bus=cmdcode; E=0; } /******************************************************************************/ void write_data(unsigned char Dispdata) { //写数据到LCD(底层) chk_busy(); RS=1; RW=0; E=1; Lcd_Bus=Dispdata; E=0; } /******************************************************************************/ void lcm_init() {//初始化LCD屏(被调用层) write_com(0x30); //选择8bit数据流 write_com(0x0c); //开显示(无游标、不反白) write_com(0x01); //清除显示,并且设定地址指针为00H } /*****************************************************************************/ void LCM_WriteString(unsigned char *s) {//向LCM发送一个字符串,长度64字符之内。(被调用层) while(*s>0) { //应用:LCM_WriteString("您好!"); write_data(*s); s++; } } /******************************************************************************/ void LCM_WriteDatOrCom(bit i,unsigned char word) {//写指令或数据(被调用层) if(i == 0) { write_com(word);//写指令或数据(0,指令) }else{ write_data(word);//写指令或数据(1,数据) } } void lcm_clr(void){//清屏函数 LCM_WriteDatOrCom(0,0x01); }
评论
    相关推荐