⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main._c

📁 atmega128 adc LCD
💻 _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 + -