小白,求助!下面是我的编程上出现的问题:程序 uchar code dis1={"temp:"}; uchar code dis2={"humi:"};

小白,求助!下面是我的编程上出现的问题:程序 uchar code dis1={"temp:"}; uchar code dis2={"humi:"};,第1张

:UCHAR码DIS={“1234567890”码胡}报错的问题:错误C247:non-address/-constant的初始化程序,错误C100:不可打印的字符写起来就是0xD7跳过饥孙,错误C100:不可打印性格0xB4跳过,错误C100:不可打印字迟肢拦符0xAC跳过,

通过谷歌翻译得到的,具体情况不太清楚

#include <reg51.h>//51寄存器文件

#include <intrins.h>

typedef unsigned char BYTE//用BYTE代替unsigned char

typedef unsigned int WORD//WORD代替unsigned int

typedef bit BOOL //用BOOL代替bit

sbit rs = P2^6//复位端

sbit rw = P2^5//写数据

sbit ep = P2^7//使能端

BYTE code dis1[] = {"welcome!,I'm Tom"}

//LCD侧忙函数

BOOL lcd_bz()

{

BOOL result

rs = 0

rw = 1

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

result = (BOOL)(P0 &0x80)//检测P0最高位是否为1

ep = 0

return result//返回侧忙结果

}

// 写入指令数据到LCD

lcd_wcmd(BYTE cmd)

{

while(lcd_bz())

rs = 0

rw = 0

ep = 0

_nop_()

_nop_()

P0 = cmd//将8位指令通过P0口传给碧袜1602

_nop_()

_nop_()//用于产生一个脉冲宽度

_nop_()

_nop_()

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

ep = 0

}

//设定显示位置

lcd_pos(BYTE pos)

{

lcd_wcmd(pos | 0x80)

}

//写入字符显示数据到LCD

lcd_wdat(BYTE dat)

{

while(lcd_bz())

rs = 1

rw = 0

ep = 0

P0 = dat//将8位数据通过P0口传给1602

_nop_()

_nop_()

_nop_()//用于产蔽唯生一个脉冲宽度

_nop_()

ep = 1

_nop_()

_nop_()

_nop_()

_nop_()

ep = 0

}

//LCD初始化设定

lcd_init()

{

lcd_wcmd(0x38) ////16*2显示,5*7点阵,8位数据

lcd_wcmd(0x0c) //显示开,关光标

lcd_wcmd(0x06) //移动光标

lcd_wcmd(0x01) //清除LCD的显示内宏慧培容

}

main()

{

BYTE i

lcd_init() //初始化LCD

lcd_pos(4) //设置显示位置为第一行的第5个字符

i = 0

while(dis1[i] != '\0')

{ //显示字符"welcome!"

lcd_wdat(dis1[i])

i++

}

while(1)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12297531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存