/***********************************************************
* 函数库说明: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 << ADPS2) | (1 << ADPS0);
//AD开始转换
ADCSRA |= (1 << ADSC);
}
int main(void)
{
int result = 0;
char buf[] = "5.00V";
LCD_Init();
AD_Init();
LCD_Write_Chinese_String(0, 0, 12, 5, Chinese_Font, 0, 0);
while(1)
{
while((ADCSRA & (1 << ADIF)) == 0);
//读取转换值
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);
}
return 0;
}
设计资源 培训 开发板 精华推荐
- 追更有惊喜:解救被FSM折磨过的你,justd0解析LSM6DSOX有限状态机官方例程
- #Micropython大作战#第一弹:动起来,大家一起来DIY
- Microchip 有奖直播|满足汽车电池管理系统 (BMS) 不断发展的安全标准
- TE 《新趋势报告: 如何有效应对当下测试测量领域的挑战》下载最新趋势报告
- 免费试用Atmel MCU开发板,抢“鲜”体验优越性能,更有大奖等你拿!
- ADI & 世健 新基建系列第三期——5G 仪器仪表和测试 答题赢好礼!
- LPC4370重磅来袭 有奖问答赢好礼!
- 3小时实战+剖析:TI工程师手把手带你全面入门MSP430(限量售$4.3开发套件,助你参与动手实验)
- 激情六月!手把手教你用WEBENCH
- MPS有奖活动|梦想设计闪亮登场,便携式多功能电工台诞生啦!