第一范文网 - 专业文章范例文档资料分享平台

基于STM32的温湿度远程监控系统凯 - 图文 

来源:用户分享 时间:2025/5/20 16:41:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1)&0XFF); } }

void LCD_Display_Dir(u8 dir) {

if(dir==0) {

//竖屏

lcddev.dir=0; //竖屏 lcddev.width=240; lcddev.height=320;

if(lcddev.id==0X9341||lcddev.id==0X6804) {

lcddev.wramcmd=0X2C; lcddev.setxcmd=0X2A; lcddev.setycmd=0X2B; if(lcddev.id==0X6804) { }

lcddev.width=320; lcddev.height=480;

} }

else {

//横屏

lcddev.dir=1; //横屏 lcddev.width=320; lcddev.height=240;

44

}

if(lcddev.id==0X9341) {

lcddev.wramcmd=0X2C; lcddev.setxcmd=0X2A; lcddev.setycmd=0X2B;

} }

LCD_Scan_Dir(DFT_SCAN_DIR); //默认扫描方向

void LCD_DrawPoint(u16 x,u16 y,u16 c) { }

u16 LCD_ReadPoint(u16 x,u16 y) {

u16 r=0,g=0,b=0;

if(x>=lcddev.width||y>=lcddev.height)return 0; //超过了范围,直接返回

LCD_SetCursor(x,y);

//设置光标位置

LCD_WriteRAM_Prepare(); //开始写入GRAM LCD->LCD_RAM=c;

LCD_SetCursor(x,y);

if(lcddev.id==0X9341)LCD_WR_REG(0X2E);//9341/6804/3510 发送读GRAM指令

//dummy Read

if(LCD->LCD_RAM)r=0; Delay(2);

r=LCD->LCD_RAM; //实际坐标颜色

45

if(lcddev.id==0X9341) { }

}

b=b;//防止编译器报警 return g; Delay(2); b=LCD->LCD_RAM; g=r&0XFF; g<<=8;

//9341/NT35310/NT35510要分2次读出

//对于9341,第一次读取的是RG的值,R在前,G在后,各占8位

void LCD_DisplayOn(void)//开显示 { }

void LCD_DisplayOff(void)//关显示 { }

void LCD_Clear(u16 color) {

/* 开背光 */

GPIO_SetBits(GPIOB, GPIO_Pin_0);

/*关背光 */

GPIO_ResetBits(GPIOB, GPIO_Pin_0);

u32 index=0;

u32 totalpoint=lcddev.width; totalpoint*=lcddev.height;

//得到总点数

LCD_SetCursor(0x00,0x0000); //设置光标位置 LCD_WriteRAM_Prepare();

//开始写入GRAM

46

}

for(index=0;index

LCD->LCD_RAM=color;

void LCD_DrawxXx(u32 x ,u32 y,u16 backColor,u16 color,const u8 *ch ,u16

size_bits,u16 size_line) {

int x0,y0; u32 dat; int i;

for(y0=0;y0

{ //0x10,0x02 0x1000 | 0x02 = 0x1002 节

{

dat = *ch++;

for(x0=0;x0<8;x0++) //换列 {

//画点

if(dat&0x80) //从最高开描点,只须判断一位

LCD_DrawPoint(x+(x0+i*8),y+y0,color); //描字符颜色

//汉字宽度为16,由两个字节组成一个16位数据

for(i=0;i

else { }

LCD_DrawPoint(x+(x0+i*8),y+y0,backColor); //描背景颜色

47

}

}

}

}

dat<<=1; //将次高位,提升为最高位

void Draw_Text_8_16_Str(u32 x,u32 y,u16 backColor,u16 color,const unsigned

char *chs) {

}

} chs+=2;

if ((*chs == hz_index[i*2]) && (*(chs+1) == hz_index[i*2+1])) { }

LCD_DrawxXx(x,y,backColor,color,&hz[32*(i)],16,16); x +=16; break;

u32 i=0;

while (*chs != '\\0') {

if (*chs > 0xa0) {

for (i=0 ;i < GB16_NUM();i++) {

if(x>235){x=0;y=y+16;}

//汉字内码都是大于0xa0

48

基于STM32的温湿度远程监控系统凯 - 图文 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c02ysf6zpty7dd7d92wae4uc568cqcf01a3z_10.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top