avr單片機的AD轉(zhuǎn)換實驗
AD轉(zhuǎn)換實驗。
1、AD轉(zhuǎn)換實驗。程序進行周期AD轉(zhuǎn)換,在并轉(zhuǎn)換值顯示在數(shù)碼管上。
2、使用內(nèi)部1 M晶振。
3、進行此實驗需要插上:JP1的所有8個短路塊、JP9(A/D)。
4、此實驗采用項目化管理,主要文件有ADC、DISP、主程序。
1、AD轉(zhuǎn)換實驗。程序進行周期AD轉(zhuǎn)換,在并轉(zhuǎn)換值顯示在數(shù)碼管上。
2、使用內(nèi)部1 M晶振。
3、進行此實驗需要插上:JP1的所有8個短路塊、JP9(A/D)。
4、此實驗采用項目化管理,主要文件有ADC、DISP、主程序。
*/
#include "iom16v.h"
#include macros.h>
#include "iom16v.h"
#include macros.h>
#include macros.h>
#include "iom16v.h"
#include macros.h>
extern unsigned char get_ad(void);/*AD采樣函數(shù)*/
extern void Disp_Init(void);/*顯示初始化*/
extern unsigned char led_buf[];/*顯示緩存*/
extern void Disp_Init(void);/*顯示初始化*/
extern unsigned char led_buf[];/*顯示緩存*/
/*延時函數(shù),頻率1MHz,單位mS*/
void delay_ms(unsigned char i) {
void delay_ms(unsigned char i) {
unsigned char a, b;
for (a = 1; a i; a++) {
for (b = 1; b; b++) {
;
}
}
}
void main(void) {
for (a = 1; a i; a++) {
for (b = 1; b; b++) {
;
}
}
}
void main(void) {
unsigned char i;
DDRA = 0x00;/*方向輸入*/
PORTA = 0x7F;/*打開上拉*/
DDRB = 0xFF;/*方向輸出*/
PORTB = 0xFF;/*電平設置*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0x00;
PORTD = 0xFF;
delay_ms(200);/*加入延時*/DDRA = 0x00;/*方向輸入*/
PORTA = 0x7F;/*打開上拉*/
DDRB = 0xFF;/*方向輸出*/
PORTB = 0xFF;/*電平設置*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0x00;
PORTD = 0xFF;
Disp_Init();/*電平設置*/
while (1) {
delay_ms(100);/*周期控制*/
i = get_ad();/*獲取電壓*/
led_buf[3] = 0;/*數(shù)值轉(zhuǎn)換*/
led_buf[2] = i / 100;
led_buf[1] = (i % 100) / 10;
led_buf[0] = (i % 10);
}
} 蜂鳴器相關文章:蜂鳴器原理 晶振相關文章:晶振原理
評論