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

红外发射程序键值在LCD1602上显示实例程序

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

LCD1602显示键值程序:

#include #include

#define uchar unsigned char #define uint unsigned int

#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

void delay(uchar x); //x*0.14MS void delay1(int ms); void beep();

sbit IRIN = P3^3; //紅外接收器數據線 sbit BEEP = P1^5; //蜂鳴器驅動線 sbit RELAY= P1^4; //繼電器驅動線

uchar IRCOM[7];

sbit LCD_RS = P2^3; sbit LCD_RW = P2^4; sbit LCD_EN = P2^5;

uchar code cdis1[ ] = {%uchar code cdis2[ ] = {\

/*******************************************************************/

/* */ /**/

/*lcd_busy爲1時,忙,等待。lcd-busy爲0時,閑,可寫指令與數據。 */

/* */

/*******************************************************************/

bit lcd_busy()

{ bit result; LCD_RS = 0; LCD_RW = 1;

LCD

LCD_EN = 1; delayNOP();

result = (bit)(P0&0x01); LCD_EN = 0; return(result); }

/*******************************************************************/

/* */ /**/

LCD

/*RS=L,RW=L,E=高脈衝,D0-D7=指令碼。 */

/* */

/*******************************************************************/

void lcd_wcmd(uchar cmd)

{ while(lcd_busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); cmd

=

((cmd&0x01)<<7)|((cmd&0x02)<<5)|((cmd&0x04)<<3)|((cmd&0x08)<<1)|((cmd&0x10)>>1)|((cmd&0x20)>>3)|((cmd&0x40)>>5)|((cmd&0x80)>>7); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; }

/*******************************************************************/

/* */

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