如何编写程序让红外遥控器在stm32的lcd显示键值

如何编写程序让红外遥控器在stm32的lcd显示键值,第1张

用sprintf函数啊,把数字“打印”到一个数组里,然后用LCD-showstring来显示就可以了。

char buf[30]

sprintf(buf,"Frequency=%dHz",Frequency)

你现在看到的这两个函数LCD_ShowString()ChineseChar()是你在上层调用的,具体的函数定义你要去看底层是怎么实现的。我先简单介绍下着两个函数

LCD_ShowString(12,60,colors[0],colors[7],"-")应该是讲屏幕上x=12,y=60的地方显示一个“-”字符,字符颜色应该是你定义的colors[0],TFT屏的背景颜色是colors[7],这两个是你函数库自己定义的,可以改。

ChineseChar(20,60,1,colors[0],colors[7],1) //带 这个函数和上面那个函数大致相同,至于为什么会显示“带”,是因为最后那个1,这个程序你应该定义一个数组,在这个数组里面对你所要显示的字全部编码并存在这个数组中,最后你只需用想调用数组下标那样调用这个汉子。

至于你想显示班级、姓名 只需用把班级姓名进行编码就可以调用这个ChineseChar()函数进行显示

其实很简单的,只需用该几步就可以达到你想要的,不难~~

光看代码你是不能了解它的使用历程的,最好看看使用手册,下面的代码是用1602液晶

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar code table[]="I LIKE MCU!"

uchar code table1[]="www.TXMCU.COM"

sbit lcden=P3^4

sbit lcdrs=P3^5

sbit dula=P2^6

sbit wela=P2^7

uchar num

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void write_com(uchar com)

{

lcdrs=0

P0=com

delay(5)

lcden=1

delay(5)

lcden=0

}

void write_data(uchar date)

{

lcdrs=1

P0=date

delay(5)

lcden=1

delay(5)

lcden=0

}

void init()

{

dula=0

wela=0

lcden=0

write_com(0x38)

write_com(0x0e)

write_com(0x06)

write_com(0x01)

write_com(0x80+0x10)

}

void main()

{

init()

for(num=0num<11num++)

{

write_data(table[num])

delay(20)

}

// write_com(1)

write_com(0x80+0x53)

for(num=0num<13num++)

{

write_data(table1[num])

delay(20)

}

for(num=0num<16num++)

{

write_com(0x18)

delay(20)

}

while(1)

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存