060537
级别: 新手上路
精华:
0
发帖: 8
威望: 19 点
金钱: 281 VI
贡献值: 1 点
技术积分: 0 点
在线时间:11(小时)
注册时间:1970-01-01
最后登录:2008-03-29
|
LCD1602的例子
实验内容: 初始化、读写Lcd1602。 ---------------------------------------------------------------------- 硬件连接: 将Lcd1602插入主板的“Lcd1602”插槽 使用连接线将LCD1602的引针接口连接到MCU: //LCD1602,4位接口,即使用D4-D7数据口,D0-D3不接入MCU //PIN1 --- GND //PIN2 --- VCC //PIN3 --- V0 //PIN4 --- RS --- PB5 //PIN5 --- R/W --- PB6 //PIN6 --- E --- PB7 //PIN7 --- D0 //PIN8 --- D1 //PIN9 --- D2 //PIN10 --- D3 //PIN11 --- D4 --- PD4 //PIN12 --- D5 --- PD5 //PIN13 --- D6 --- PD6 //PIN14 --- D7 --- PD7 //PIN15 --- VCC //PIN16 --- GND ---------------------------------------------------------------------- 注意事项: (1)若有加载库函数,请将光盘根目录下的“库函数”下的“ICC_H”文件夹拷到D盘
---------------------------------------------------------------------- 10101010101010101010101010101010101010101010101010101010101010101010*/
#include <iom16v.h> #include "D:\ICC_H\CmmICC.H"
/* lcd control and data port direction */ #define LCD_DDR_OUT {DDRD|= 0xF0;DDRB |= 0xE0;}
/* control port */ #define SET_RS sbi(PORTB,5) #define CLR_RS cbi(PORTB,5) #define SET_RW sbi(PORTB,6) #define CLR_RW cbi(PORTB,6) #define SET_E sbi(PORTB,7) #define CLR_E cbi(PORTB,7)
/* data port */ #define SET_D4 sbi(PORTD,4) #define CLR_D4 cbi(PORTD,4) #define SET_D5 sbi(PORTD,5) #define CLR_D5 cbi(PORTD,5) #define SET_D6 sbi(PORTD,6) #define CLR_D6 cbi(PORTD,6) #define SET_D7 sbi(PORTD,7) #define CLR_D7 cbi(PORTD,7)
/* busy port */ #define GET_BF gbi(PIND,7) #define OUT_BF sbi(DDRD,7) #define IN_BF cbi(DDRD,7)
#include "D:\ICC_H\LCD1602_.H"
const uint8 userCh0[8]={0x10,0x1f,0x01,0x02,0x04,0x08,0x10,0x1f}; const uint8 userCh1[8]={0x00,0x08,0x0f,0x01,0x02,0x04,0x08,0x0f}; const uint8 userCh2[8]={0x00,0x00,0x04,0x07,0x01,0x02,0x04,0x07};
/*-------------------------------------------------------------------- 函数全称: 函数功能: 注意事项: 提示说明: 输 入: 返 回: --------------------------------------------------------------------*/ void main() { LCD_DDR_OUT; LCD1602_init();
while(1) { LCD1602_puts(0xC6,"Sleeping"); delay50ms(5); LCD1602_setCmd("CLR_SCR"); delay50ms(5); LCD1602_puts(0xC6,"Sleeping"); delay50ms(5); LCD1602_setCmd("CLR_SCR"); delay50ms(5); LCD1602_puts(0xC6,"Sleeping"); delay50ms(5);
LCD1602_setCGRAM(CGRAM0,userCh0); //Set CGRAM0' data LCD1602_setCGRAM(CGRAM1,userCh1); //Set CGRAM1' data LCD1602_setCGRAM(CGRAM2,userCh2); //Set CGRAM2' data LCD1602_putc(0x84,CGRAM2); //putc to 0x84 by CGRAM2' data delay50ms(10); LCD1602_putc(0x83,CGRAM1); //putc to 0x83 by CGRAM1' data delay50ms(12); LCD1602_putc(0x82,CGRAM0); //putc to 0x84 by CGRAM0' data delay50ms(14);
LCD1602_setCmd("CLR_SCR"); } }
描述:hex文件
附件:
Lcd1602.rar (99 K) 下载次数:102
|
|
|
|
[楼 主]
|
Posted: 04-14 19:06 |
| |