久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

MEGA16單片機_AD轉換程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年09月01日   【字體:

 

 
AD轉換,編程的寄存器有:
ADMUX:多工選擇寄存器。參考電壓、對齊方式、模擬通道及增益選擇位
ADCSR(A):使能、中斷標志、中斷使能、預分頻值等
ADCL、ADCH:數據寄存器
SFI0R:特殊功能寄存器
////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef __AD_H__
#define __AD_H__
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
extern uint mega16_ad(void);
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////
#include "ad.h"
uint mega16_ad(void)
{
    uint addata;
  DDRA&=~BIT(PA0);
  PORTA&=~BIT(PA0);
  ADMUX=0x00;
  ADCSR=0X80;
  ADCSR|=BIT(ADSC);
  while(!(ADCSR&(BIT(ADIF))));//即:while(!(ADCSR&0x10));
    addata=ADCL;
  addata=addata+ADCH*256;
  return addata;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "ad.h"
#include "smg.h" 
void main(void)
{
  DDRA&=~BIT(PA0);//選定模擬通道0
  PORTA&=~BIT(PA0);
  SystemInit();
  SystemInit();
   while(1)
   {
   Show(mega16_ad()/1000,0);
   Show(mega16_ad()%1000/100,1);
   Show(mega16_ad()%100/10,2);
   Show(mega16_ad()%100%10,3);
   }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
/*MCU:ATMEGA16
晶振頻率:8MHZ
功能:數碼管動態掃描程序
*/
#ifndef __SMG_H__
#define __SMG_H__
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
extern const  table[];
//**********1ms基準延時程序**********************************   
void DelayMs(unsigned int ms);
void SystemInit(void);
void Show(unsigned char ddata,unsigned char num);
#endif
///////////////////////////////////////////////////////////////////////////////////////////////////////
/*MCU:ATMEGA16
晶振頻率:8MHZ
功能:數碼管動態掃描程序
*/
#include "smg.h"
#pragma data:code //共陽數碼管斷碼表
const  table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
                0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xb6};
//**********1ms基準延時程序**********************************   
void DelayMs(unsigned int ms)
{
    unsigned int j;
 while(--ms)
 {
    for(j=1141;j>0;--j);//1141
    }
}
void SystemInit(void)
{
  DDRA |= (1<<2)|(1<<3)|(1<<4)|(1<<6);
 DDRB |= 0xFF;
 
 PORTA |= (1<<2)|(1<<6);
 PORTB = 0xFF; 
 PORTA &= (~(1<<2))&(~(1<<6));
}
void Show(unsigned char ddata,unsigned char num)
{
  PORTA |= (1<<3);
 PORTB = table[ddata];
 PORTA &= ~(1<<3);
  
 PORTB = 0x00;
 PORTA |= (1<<4);
 PORTB = (1<<num);   
 PORTA &= ~(1<<4); 
 DelayMs(2);   
}
 
關閉窗口
主站蜘蛛池模板: 99亚洲综合 | 国产 日韩 欧美 在线 | 亚洲天堂中文字幕 | 国产激情视频在线观看 | 亚洲成人精品 | 国产精品久久精品 | 国产精品久久精品 | 亚洲国产精品网站 | 国产精品视频yy9299一区 | 人妖一区 | 国产精品视频yy9299一区 | 亚洲精品久久久久久一区二区 | 美女久久久| 日韩在线 | 日韩免费视频一区二区 | 精品一区二区三区在线观看国产 | 国产精品九九视频 | 色婷婷综合久久久中字幕精品久久 | 久久国产成人精品国产成人亚洲 | 国产精品精品视频一区二区三区 | 亚洲精品久久久一区二区三区 | 亚洲视频一区在线 | 久久精品伊人 | 亚洲永久免费 | 99热都是精品 | av免费网址 | 日韩精品视频一区二区三区 | 一级欧美 | 亚洲免费在线观看av | 97caoporn国产免费人人 | 日本不卡一区 | 一区 | 99久久精品免费看国产四区 | 天天干亚洲 | 人操人免费视频 | 欧美另类视频 | 97色在线观看免费视频 | 婷婷综合久久 | 老头搡老女人毛片视频在线看 | 特黄毛片视频 | 欧美v在线观看 |