基于atmega168的NT7538的液晶显示驱动开发.ppt
文本预览下载声明
基于atmega168的NT7538的液晶显示驱动开发 小组成员 王民航 马雪雷 刘艳丽 功能 汉字显示 英文滚动显示 NT7538介绍 132 x 65像素图形显示LCD控制器/驱动器的黑/白液晶 内存容量: 132 x 65 = 8580位 8位并行总线接口为8080和6800系列,4线串行外围接口( SPI ) 直接内存数据显示使用的显示数据RAM 。 (在正常显示时)当RAM的数据位是0 ,不显示,当RAM的数据位是1 时显示。 原理 NT7538支持大量命令,如读写display RAM、设置起始行列、打开关闭显示、串行并行模式设置,显示区域设置等等。这些命令均是根据D/I引脚、R/W引脚的状态,通过发送特定的8位二进制数据实现。据此原理,通过发送特定命令,设置LCM工作模式及display RAM的内容。 液晶显示原理: NT7538的 display RAM和LCD面板上的点一一对应,通过控制display RAM中的数据,即可控制显示的内容。 LCM工作时序图 作品电路图 流程图 程序部分代码 #include io.h #include string.h #include NT7538.h #include delay.h #define LCM_DI 5 //PC5 #define LCM_RW 4 //PC4 #define LCM_EN 3 //PC3 #define LCM_CMD_CON DDRC #define LCM_CMD_PORT PORTC #define LCM_DATA_CON DDRB #define LCM_DATA_PORT PORTB #define BLACK 1 #define WHITE 0 #define BIT(x) (1 (x)) #define uint8 unsigned char #define uint16 unsigned int #define uint32 unsigned long void lcm_send_cmd(uint8); //发送命令 void lcm_send_data(uint8);//发送数据 void lcm_init(void);//初始化LCM void lcm_enable(void);//使能LCM void lcm_disable(void);//关闭使能 void lcm_clr_di(void);//设置D/I=0 void lcm_set_di(void);//设置D/I=1 void lcm_clr_rw(void);//设置R/W=0 void lcm_set_rw(void);//设置R/W=1 void lcm_set_page_add(uint8);//设置页地址 void lcm_set_page_col(uint8);//设置列地址 void lcm_clr_screen(uint8);//用指定字符清屏 void lcm_write_char(uint8,uint8);//写一个字节 void lcm_write_string(uint8,uint8,uint8 *,uint8);//写英文字符串 void lcm_set_xy(uint8 x,uint8 y);//设置行列位置 void LCD_write_chinese_string(uint8 Pageaddress,uint8 columnaddress,uint8 ch_with,uint8 num,uint8 line,uint8 row); //写汉字 void main(void) { lcm_init(); lcm_clr_screen(BLACK);//将屏幕清为黑色背景 int i=0; while(1) { //滚动显示Welcome lcm_write_string(i++,1,“Welcome,WHITE); if(i==131) i=0; //显示汉字“嵌入式电子协会” LCD_write_chinese_string(3,24,12,7,0,0); _delay_ms(200); } } 谢谢收看! * * 用途 液晶显示器(LCD)作为重要的交互式设备,常用于展台、广告牌、自助设备等
显示全部