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

📄 adc.c

📁 AD converter by using PICf458
💻 C
字号:
#include<p18f458.h>// Zegar TMR1 liczy do wartosci zadanej przez przetwornik A/C*
void Init_PORTD();
void Init_TMR1();
void Init_AC();
void main()
{
	unsigned int liczba_AC, Temp;
	Init_PORTD();
	Init_TMR1();
	Init_AC();
	while (1)
	{
	ADCON0bits.GO=1;//start konwersji AC
	while	(ADCON0bits.GO)//oczekiwanie na koniec konwersji
		;
	liczba_AC= ADRESH;
    liczba_AC=liczba_AC<<8;//przesuni阠ie zestarszych bit體
	liczba_AC=liczba_AC+ADRESL;//przes砤nie wyniku konwersji
	liczba_AC=0xF00F-liczba_AC;// dope硁ienie do 2^16
	Temp=liczba_AC;
	TMR1H=liczba_AC>>8;//przesuni阠ie starszego bajtu na w砤渃iwe miejsce
	TMR1L=Temp;//wpisanie m硂dszego bajtu na w砤渃iwe miejsce
	PIR1bits.TMR1IF=0;
	T1CONbits.TMR1ON=1;//start zegara
	while (!PIR1bits.TMR1IF)
	;
	T1CONbits.TMR1ON=0;//stop zegara
	PORTD=!(PORTD);//Negacja wyj滄 portu D
	}
}
void Init_TMR1()
{
	TMR1H=0;
	TMR1L=0;
	T1CON=0b10001011;
}
void Init_AC()
{
	ADCON0=0b10000001;
	ADCON1=0b10000000;//wyr體nanie do prawej
	ADCON0bits.GO=1;//start konwersji AC
	while(ADCON0bits.GO)
	;
}
void Init_PORTD()
{
	PORTD=0;
	TRISD=0;//PORTD pracuje jako wyj渃ie
} 

	

⌨️ 快捷键说明

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