?? ad574.c
字號:
/////////////////////////////////////////////////////////////
// 文件:AD574調(diào)試 //
// 環(huán)境:iccavr7 //
// 硬件:ATMEGA16芯片 //
// 日期:2007.08.30 //
// 功能:AD轉(zhuǎn)換 //
/////////////////////////////////////////////////////////////
//cs:pc3 a0:pc2 r/c:pc1 ce:pc0
#include <iom16v.h>
#include <macros.h>
#define F_CPU 8000000
#include <delay.h>
#include <AVR_XQV12.h>
/*******************************************************/
/****** 函數(shù)名稱: conver_start() ******/
/****** 功 能: 啟動AD轉(zhuǎn)換 ******/
/****** ******/
/****** 參 數(shù): 無 ******/
/****** 返回值 : 無 ******/
/*******************************************************/
void conver_start()
{
PORTC|=BIT(0);
PORTC&=~BIT(1);
PORTC&=~BIT(2);
PORTC&=~BIT(3);
}
/*******************************************************/
/****** 函數(shù)名稱: ******/
/****** 功 能: ******/
/****** ******/
/****** 參 數(shù): ******/
/****** 返回值 : ******/
/*******************************************************/
void eight_out()
{
PORTC|=BIT(0);
PORTC|=BIT(1);
PORTC&=~BIT(2);
PORTC&=~BIT(3);
PORTC&=~BIT(7);
}
/*******************************************************/
/****** 函數(shù)名稱: ******/
/****** 功 能: ******/
/****** ******/
/****** 參 數(shù): ******/
/****** 返回值 : ******/
/*******************************************************/
void four_out()
{
PORTC|=BIT(0);
PORTC|=BIT(1);
PORTC|=BIT(2);
PORTC&=~BIT(3);
PORTC&=~BIT(7);
}
/*******************************************************/
/****** 函數(shù)名稱: void port_int() ******/
/****** 功 能: I/O端口設(shè)置 ******/
/****** ******/
/****** 參 數(shù): 無 ******/
/****** 返回值 : 無 ******/
/*******************************************************/
void port_int()
{
DDRC&=~BIT(6);
PORTC|=BIT(6);
DDRB=0xFF;
DDRA=0xFF;
DDRD=0x00;
DDRC|=BIT(0);
DDRC|=BIT(1);
DDRC|=BIT(2);
DDRC|=BIT(3);
DDRC|=BIT(7);
}
/*******************************************************/
/****** 函數(shù)名稱: conver_vo() ******/
/****** 功 能: 轉(zhuǎn)換數(shù)據(jù) ******/
/****** ******/
/****** 參 數(shù): 無 ******/
/****** 返回值 : 無 ******/
/*******************************************************/
void conver_vo()
{
if(!(PINC&BIT(6)))
{
unsigned int ADHI,ADLO,VO,middle;
unsigned char VOO[5];
unsigned char i;
eight_out();
ADHI=PIND;
four_out();
ADLO=PIND;
VO=((ADHI<<4)+ (ADLO & 0x0f));
middle=VO;
for(i=0;i<5;i++)
{
VOO[i]=middle%10;
middle=middle/10;
}
for(i=0;i<5;i++)
{
Display_One_SMG(i,VOO[i]);
}
conver_start();
}
}
/*******************************************************/
/****** 函數(shù)名稱:void main() ******/
/****** 功 能:主 ******/
/****** ******/
/****** 參 數(shù):無 ******/
/****** 返回值 :無 ******/
/*******************************************************/
void main()
{
port_int();
conver_start();
while(1)
{
conver_vo();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -