24、嵌入式系统中的LCD驱动与网络协议实现

嵌入式系统中的LCD驱动与网络协议实现

1. LCD驱动

1.1 LCD数据传输

LCD的四个数据位和两条选择线(读写线和寄存器选择线)都位于端口D(以太网地址总线)上。为了方便操作,创建了一个位域结构体并将其映射到该端口,代码如下:

struct {
    BYTE data:4;
    BYTE regsel:1;
    BYTE read:1;
} LCD_PORT;
#BYTE LCD_PORT       = 8
#BIT    LCD_E        = PORTA.5
#define LCD_RD       LCD_PORT.read
#define LCD_RS       LCD_PORT.regsel
#define LCD_DATA     LCD_PORT.data

字节以两个四位半字节的形式传输到LCD。传输完成后,微控制器数据端口恢复为输入状态,以便总线可被其他设备使用。为简化接口,使用了粗略的时间延迟来分隔字节事务。以下是相关函数:

/* Send a command byte to the LCD as two nybbles */
void lcd_byte(BYTE &b)
{
    lcd_nybble(b >> 4);
    lcd_nybble(b);
    DATA_FROM_LCD;
    delay_us(40);
}
/* Send a byte to the LCD as two nybbles */
void lcd_nybb
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值