?? example._c
字號:
/*********************************************************************
微 雪 電 子 WaveShare http://www.waveShare.net
功能目的: 建立使用LCD1602的示例程序
目標系統: 基于AVR單片機
應用軟件: ICCAVR
版 本: Version 1.0
圓版時間: 2005-03-01
開發人員: SEE
說 明: 若用于商業用途,請保留此段文字或注明代碼來源
深 圳 市 微 雪 電 子 有 限 公 司 保 留 所 有 的 版 權
*********************************************************************/
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
版本更新記錄:
----------------------------------------------------------------------
接入模塊:
接口說明:
----------------------------------------------------------------------
注意事項:
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#include <iom16v.h>
#include "D:\ICC_H\CmmICC.H"
/* lcd control and data port direction */
#define LCD_DDR_OUT {DDRA|= 0xF0;DDRD |= 0xE0;}
/* control port */
#define SET_RS sbi(PORTD,5)
#define CLR_RS cbi(PORTD,5)
#define SET_RW sbi(PORTD,6)
#define CLR_RW cbi(PORTD,6)
#define SET_E sbi(PORTD,7)
#define CLR_E cbi(PORTD,7)
/* data port */
#define SET_D4 sbi(PORTA,4)
#define CLR_D4 cbi(PORTA,4)
#define SET_D5 sbi(PORTA,5)
#define CLR_D5 cbi(PORTA,5)
#define SET_D6 sbi(PORTA,6)
#define CLR_D6 cbi(PORTA,6)
#define SET_D7 sbi(PORTA,7)
#define CLR_D7 cbi(PORTA,7)
/* busy port */
#define GET_BF gbi(PINA,7)
#define OUT_BF sbi(DDRA,7)
#define IN_BF cbi(DDRA,7)
#include "D:\ICC_H\LCD1602_.H"
#define OUT_BUZ sbi(DDRB,3) //PB3
#define BUZ_ON sbi(PORTB,3)
#define BUZ_OFF cbi(PORTB,3)
#define OUT_USERLED sbi(DDRB,2) //PB2
#define USERLED_ON sbi(PORTB,2)
#define USERLED_OFF cbi(PORTB,2)
#define LED_DDR DDRC
#define LED_PORT PORTC
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 ledDisp()
{
uint8 i,j;
LED_PORT = 0XFF;
delay50ms(5);
LED_PORT = 0X00;
delay50ms(5);
LED_PORT = 0XFF;
delay50ms(5);
LED_PORT = 0X00;
delay50ms(5);
LED_PORT = 0XAA;
delay50ms(5);
LED_PORT = 0X55;
delay50ms(5);
LED_PORT = 0XAA;
delay50ms(5);
LED_PORT = 0X55;
delay50ms(5);
LED_DDR=0XFF;
for(i=0;i<4;i++)
{
LED_PORT^=0xFF;
delay50ms(5);
}
j=0x01;
for(i=0;i<8;i++)
{
j<<=1;
LED_PORT=j;
delay50ms(5);
}
j=0x80;
for(i=0;i<8;i++)
{
j>>=1;
LED_PORT=j;
delay50ms(5);
}
}
/*--------------------------------------------------------------------
函數全稱:
函數功能:
注意事項:
提示說明:
輸 入:
返 回:
--------------------------------------------------------------------*/
void main()
{
LCD_DDR_OUT;
LCD1602_init();
OUT_BUZ;
OUT_USERLED;
LED_DDR = 0XFF;
while(1)
{
LCD1602_setCmd("CLR_SCR");
delay50ms(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");
delay50ms(10);
LCD1602_puts(0xC2,"wavesahre.net");
delay50ms(10);
LCD1602_setCmd("CLR_SCR");
delay50ms(10);
LCD1602_puts(0xC2,"wavesahre.net");
delay50ms(10);
LCD1602_setCmd("CLR_SCR");
delay50ms(10);
LCD1602_puts(0xC2,"wavesahre.net");
delay50ms(10);
ledDisp();
BUZ_ON;
delay50ms(20);
BUZ_OFF;
delay50ms(20);
BUZ_ON;
delay50ms(20);
BUZ_OFF;
delay50ms(20);
USERLED_ON;
delay50ms(20);
USERLED_OFF;
delay50ms(20);
USERLED_ON;
delay50ms(20);
USERLED_OFF;
delay50ms(20);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -