?? main._c
字號:
/*
實驗十八:
LCD12864液晶屏顯示實驗。
1、LCD12864顯示實驗。顯示AVR開發網及網址信息。
2、內部1 M晶振,程序采用單任務方式,軟件延時。
3、進行此實驗需要接上外置LCD12864液晶顯示屏。
4、RW1用于調節顯示屏的對比度。
AVR mega128學習板
www.iccavr.com 阿發
16:22 2007-10-18
*/
#include <iom128v.h>
#include "font.h"
#include "lcd12864.h"
/*IO口初始化函數*/
void io_init(void) {
DDRA = 0xFF; /*方向輸出*/
PORTA = 0xFF; /*高電平*/
DDRB = 0x00; /*方向輸入*/
PORTB = 0xFF; /*打開上拉*/
DDRC = 0xFF; /*不用的IO口建議設置為輸入帶上拉*/
PORTC = 0x00;
DDRD = 0x00;
PORTD = 0xFF;
DDRE = 0x00;
PORTE = 0xFF;
DDRF = 0x00;
PORTF = 0xFF;
DDRG = 0x00;
PORTG = 0xFF;
}
unsigned int get_ad(void) {
unsigned int i;
ADMUX = (1 << REFS0); /*基準AVCC、通道0*/
ADCSRA = (1 << ADEN) | (1 << ADSC) /*使能、開啟*/
| (1 << ADPS1) | (1 << ADPS0); /*8分頻*/
while(!(ADCSRA & (1 << ADIF))); /*等待采樣結束*/
i = ADC; /*讀取AD結果*/
ADCSRA &= ~(1 << ADIF); /*清標志*/
ADCSRA &= ~(1 << ADEN); /*關閉轉換*/
return i; /*返回結果*/
}
void main(void) {
int t;
io_init(); /*IO口初始化*/
disp_init(); /*LCD初始化*/
disp_clear(0, 128, 0); /*清除四行顯示*/
disp_clear(0, 128, 2);
disp_clear(0, 128, 4);
disp_clear(0, 128, 6);
disp_myself(0,0,124);
disp_myself(0,1,124);
disp_myself(0,2,124);
disp_myself(0,3,124);
disp_myself(0,4,124);
disp_myself(0,5,124);
disp_myself(0,6,124);
disp_myself(0,7,124);
disp_myself(8,0,124);
disp_myself(8,1,124);
disp_myself(8,2,124);
disp_myself(8,3,124);
disp_myself(8,4,124);
disp_myself(8,5,124);
disp_myself(8,6,124);
disp_myself(8,7,124);
disp_myself(112,0,124);
disp_myself(112,1,124);
disp_myself(112,2,124);
disp_myself(112,3,124);
disp_myself(112,4,124);
disp_myself(112,5,124);
disp_myself(112,6,124);
disp_myself(112,7,124);
disp_myself(120,0,124);
disp_myself(120,1,124);
disp_myself(120,2,124);
disp_myself(120,3,124);
disp_myself(120,4,124);
disp_myself(120,5,124);
disp_myself(120,6,124);
disp_myself(120,7,124);
disp_myself(0,5,123);
t=get_ad();
disp_to_bcd(1000);
disp_char_str(58, 0, "m"); /*顯示網址信息*/
while (1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -