搜索
bottom↓
回复: 0

LGT ADC中断连续转换模式测试程序

[复制链接]

出0入0汤圆

发表于 2012-8-30 21:38:11 | 显示全部楼层 |阅读模式
看了很多的ADC都采用查询方式读取ADC  今天也测试了下中断模式读ADC 以下是我的程序
PA0单端采样 使用LGT内部16MHZ  串口发送ADC值(字符形式显示)
  1. #include <avr/io.h>
  2. #include <lgt.h>      //lgt头文件
  3. #include <avr/interrupt.h>
  4. #define F_CPU 16000000
  5. #include <util/delay.h>

  6. #define uchar unsigned char
  7. #define uint  unsigned int
  8. #define ulong unsigned long
  9. #define BIT(X)  (1<<X)
  10. uint dat;
  11. void usart_init(ulong buad)
  12. {
  13.         UCSR0A=0X00;
  14.         UBRR0H=(F_CPU/(16*buad)-1)/256;
  15.         UBRR0L=(F_CPU/(16*buad)-1)%256;
  16.         UCSR0B=0X18;
  17.         UCSR0C=0X06;
  18. }
  19. void usart_t(uchar dat)
  20. {
  21.         while(!(UCSR0A&0X20));
  22.         UDR0=dat;
  23. }
  24. void initadc()
  25. {
  26.         DDRA&=~BIT(0);   
  27.         PORTA&=~BIT(0);
  28.         ADMUX=0X80; //内部1.25V参考电压
  29.         ADCSRA=0Xee;//中断使能 64分频采样率250K 输入端PA0
  30.         ADCSRB=0x00;//连续转换模式
  31.         DIDR0=0XFF; //数字输入禁止
  32.         SREG|=0X80; //开全据中断
  33. }
  34. SIGNAL(ADC_vect)
  35. {
  36.         dat=ADC;
  37. }
  38. int main(void)
  39. {
  40.         CLKPR=0X80;
  41.         CLKPR=0X80; //内部16MHz
  42.         initadc();        //初使化ADC
  43.         usart_init(9600);  //初使化串口  波特率9600
  44.         ADCSRA|=0X40;      //开ADC第一次转换
  45.         while(1)
  46.         {                //串口发送ADC值       
  47.                         usart_t(0x30+dat/1000);   
  48.                         usart_t(0x30+dat%1000/100);
  49.                         usart_t(0x30+dat%100/10);
  50.                         usart_t(0x30+dat%10);
  51.                         usart_t(0x0D);
  52.                         usart_t(0x0A);
  53.                         _delay_ms(1000);
  54.         }
  55. }
复制代码
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 06:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表