AVR6_液晶显示控制.pptVIP

  • 5
  • 0
  • 约2.22千字
  • 约 20页
  • 2018-03-05 发布于河南
  • 举报
AVR6_液晶显示控制

AVR单片机技术 AVR Microcontroller 开课班级:08微电子 开课时间:星期五(567) 主讲教师:王静霞 温馨提示 学习目标 函数调用语句 函数调用语句——lcd.h 函数调用语句——lcd.h 函数调用语句——lcd.h 训练任务 任 务 1 在液晶的指定位置显示指定字符 在液晶的第一行第五列显示字符“A” 在液晶的第二行第六列显示字符“B” 任 务 2 在LCD上显示字符串“welcome” 任 务 3 程序开始执行,lcd显示“A”,当Key1键按下时,则LCD上显示‘K’。当键松开时,lcd仍然显示“A”。 电路原理图 单片机与键盘接口 单片机与键盘接口 任 务 4 任 务 5 采用软件延时的秒表设计 加上控制按键,暂停、清零、开始等 任 务 6 采用软件延时的24小时实时时钟设计 * * 请穿上实训服 按照第一次课的座位入座 下课后请把电源拔掉,把设备放回原处 字符型LCD显示控制 函数调用 库函数 C:\CVAVR2\inc 提供了很多库函数的头文件,delay.h void delay_us(unsigned int n) ; void delay_ms(unsigned int n); 函数声明格式 函数返回值类型 函数名(形式参数表); void delay_ms (unsigned int n) ; 函数调用格式 函数名(实际参数表); delay_ms(1000); void表示函数没有返回值,空类型; 实际参数表与形式参数表的数据类型和顺序必须一致 在包含头文件前你必须声明哪一个口与LCD模块通讯。 例子: /* 使用PORTC 连接LCD模块 */ #asm .equ __lcd_port=0x15 #endasm LCD模块与单片机口线连接方式如下: [LCD] [AVR Port] RS (pin4) ------ bit 0 RD (pin 5) ------ bit 1 EN (pin 6) ------ bit 2 DB4 (pin 11) --- bit 4 DB5 (pin 12) --- bit 5 DB6 (pin 13) --- bit 6 DB7 (pin 14) --- bit 7 你还需要连接LCD的电源和亮度控制电压。 编写主函数 定义PB位输出,并输出全0 初始化lcd unsigned char lcd_init(unsigned char lcd_columns); 初始化LCD模块,清屏并把显示坐标设定在0 列0 行。LCD模块的列必须指定(例如:16)。这时不显示光标。在使用其它高级LCD函数前,必须先调用此函数。 显示定位 void lcd_gotoxy(unsigned char x, unsigned char y) ; 设定显示坐标在x 列y行。列、行由0 开始。 显示字符 void lcd_putchar(char c) - 在当前坐标显示字符c 。 显示字符串(可选) void lcd_puts(char *str) - 在当前坐标显示SRAM 中的字符串str 。例如: unsigned char ch[]=“Hi”; lcd_puts(ch); void lcd_putsf(char flash *str) - 在当前坐标显示FLASH 中的字符串str,例如字符串常量等 。 lcd_putsf(“Hello”); //显示字符串常量 定义全局变量: flash unsigned char ch[]=HI AVR; lcd_putsf(ch); 任务1:显示指定字符 任务2:一个按键控制显示字符 任务3:多个按键控制显示字符 任务4:显示字符串 任务5:软件延时秒表设计 任务6:软件延时实时时钟设计 独立式按键 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。 矩阵式按键 行 设置为输入 PA0~PA3 列 设置为输出 PA4~PA7 0 0 0 0 把这四个按键作为独立式按键使用 按键的去抖 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后

文档评论(0)

1亿VIP精品文档

相关文档