當前位置:編程學習大全網 - 編程軟體 - 跪求!ADC0809CCN轉換器 89c52單片機 C語言程序 主要想要0809的時鐘振蕩程序 我想要個AD時鐘為500KHZ的程

跪求!ADC0809CCN轉換器 89c52單片機 C語言程序 主要想要0809的時鐘振蕩程序 我想要個AD時鐘為500KHZ的程

#include "reg52.H"

#include "string.h"

#include "intrins.h"

#define uint unsigned int

#define uchar unsigned char

//模擬量測量::ADC0809

#define ADC P0

sbit ALE = P2^7;

sbit ENABLE = P2^5;

sbit START = P2^4;

sbit EOC = P3^7;

sbit CLK = P3^4;

uchar ADC0809(void)//模擬量采集

{

uchar adc=0;

ALE=1;_nop_();ALE=0;//地址鎖存

START=1;_nop_();START=0;//啟動轉換

wait:if(EOC==0)goto wait;//等待轉換結束

_nop_();ENABLE=1;_nop_();//讀數據

adc=ADC;_nop_();ENABLE=0;

return adc;//返回轉換值

}

void Time0(void) interrupt 1 using 0//ADC0809時鐘信號

{

CLK=~CLK;

}

void Timer0Init(void)//定時器T0初始化

{

TMOD = 0x02;

TH0 = 0xce;

TL0 = 0xce;

ET0 = 1;

TR0 = 1;

}

定時器采用模式2,8位自動重裝初值方式。

初值計算方法:

時鐘頻率設計為500kHz,則定時時間t=1/f=1/500k=50us

采用12M晶振,機器周期為1us

根據公式:定時時間t=(2^8-x)*1us

計算初值x=2^8-50/1=256-50=206=0xce

改程序是已經實現過的,希望可以幫助妳。

  • 上一篇:移動l1l2l3考試分別是什麽
  • 下一篇:遊戲開發培訓需要多少錢
  • copyright 2024編程學習大全網