⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 软件可以监控两个文件夹
💻 C
字号:
/*========================================================
	ProjectName:	ATD_TEST_V
	Description:	a ATD test program for 9S12XS128,CW4.7
	Author     :	lucev
	Date	   :	09.2.14
	Notes	   :	2.15	改为均值显示
==========================================================*/


#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"



void ATD_Init( void );				//ATD初始化函数
void DelayV( unsigned int x );		//延时控制	

void main(void)
{ 
	DDRB	= 0xFF;		//B口输出
	PORTB	= 0xFF;		//灭灯
	
	ATD_Init();			//初始化
	
	while( 1 )
	{
//		显示均值
		while( !ATD0STAT0_SCF );			//等待一个序列结束
		PORTB	= ~( ( byte ) (( ATD0DR0 + 
								 ATD0DR1 + 
								 ATD0DR2 + 
								 ATD0DR3 ) / 4 ) );//显示转换结果【序列均值】
		DelayV( 10 );						//延时,看的清楚些	
								
//		显示一次的结果								
//		while( ATD0STAT2_CCF0 == 0 );		//等待,直到一次转换结束
//		PORTB 	= ~ ( byte ) ATD0DR0;		//显示转换结果
//		DelayV( 10 );						//这样看的清楚些

	}

}


void ATD_Init( void )
{
	ATD0CTL1 = 0x00;	//8位精度,不放电
	ATD0CTL2 = 0x40;	//快速清除标志位,禁止外部触发,不使能中断
	ATD0CTL3 = 0xA2;	//右对齐,每序列4次转换,不用FIFO,进入FreezeMode完成当前转换
	ATD0CTL4 = 0x03;	//采样用4个ATD周期,F(ATD)=1MHz[bus clock为8MHz]
	ATD0CTL5 = 0x20;	//scan模式,单通道,通道0
	ATD0DIEN = 0x00;	//禁止数字输入	
}


void DelayV( unsigned int x )
{
	unsigned int i,j;
	for( i=0;i<=x;i++ )
		for( j=0;j<=10000;j++ )
			;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -