/***********************************************************
* 函数库说明:ATMEGE8 AD模数转换
* 版本: v1.0
*
* 说明: 中断方式AD采集
*
* 版本更新: 详见readme.txt
*
************************************************************
*注意: res PC5
* CE PB0
* RST PB1
* DC PB2
* SDIN PB3
* SCLK PB4
***********************************************************/
#include "includes.h"
/***********************************************************
** 名 称:void AD_Init(void)
** 功 能:AD初始化
** 入口参数:无
** 出口参数:无
** 使用说明:无
**********************************************************/
void AD_Init(void)
{
//参考电压AREF,左对齐,ADC5单端输入
ADMUX |= (1 << ADLAR) | (1 << MUX2) | (1 << MUX0);
//AD使能, 连续转换,中断使能,32分频, 6M / 32 = 187.5khz
ADCSRA |= (1 << ADEN) | (1 << ADFR) | (1 << ADIE) | (1 << ADPS2) | (1 << ADPS0);
//AD开始转换
ADCSRA |= (1 << ADSC);
}
int main(void)
{
//LCD初始化
LCD_Init();
//AD初始化
AD_Init();
LCD_Write_Chinese_String(0, 0, 12, 5, Chinese_Font, 0, 0);
//开总中断
sei();
while(1)
{
}
return 0;
}
int result = 0;
char buf[] = "5.00V";
SIGNAL(SIG_ADC)
{
result = ADCH;
result = result * 500.0 / 255;
//数据更新
buf[0] = result / 100 + '0';
buf[2] = result / 10 % 10 + '0';
buf[3] = result % 10 + '0';
//数据显示
LCD_Write_English_String(0, 3, buf);
}
上一篇:让atmega8可以和飞思卡尔xs128一样对IO引脚进行定义
下一篇:atmega8 例程: 查询方式AD采集
推荐阅读最新更新时间:2024-03-16 15:27
设计资源 培训 开发板 精华推荐
- 瑞萨电子最新触控微控制器R7F0C208入门套件免费申请,参与申请还能赢好礼!
- ADI有奖下载活动之6 ADI基于IEC61850的智能电子设备(IED)系统解决方案
- 有奖体验TouchGFX,开启你的创意GUI之旅
- 有奖直播:当代物联网智能天线设计趋势
- 了解并观看是德科技汽车电子、物联网(IOT)精彩专题,下载技术文章送好礼!
- EEWorld 芯积分兑换年度回馈来袭~多种赚积分捷径曝光+礼品兑换剧透
- 英飞凌ADAS解决方案,确保您每一次安全出行 参与赢好礼!
- 有奖直播:MPS新一代微功率隔离电源模块MIE系列产品介绍
- 抢先体验:恩智浦最新LPC1500开发板,速来!
- 【EEWORLD中秋国庆专辑】你身边的电子牛人秀