ad0832和51单片机比较电压值,帮我写下程序

ad0832和51单片机比较电压值,帮我写下程序,第1张

#include "reg51.h"

#include "intrins.h"

#define uchar unsigned char

#define uint unsigned int

sbit CLK = P3^4

sbit CS = P3^3

sbit D1 = P1^2

uint outdata=0//电压

/*******************子程序***********************/戚芦

void Delay(uchar t)

void AD_init(void)

uint AD_read()

/*******************主运行程源悔序*******************/

void main(void)

{

while(1)

{

AD_init()

outdata=AD_read()

outdata=outdata*4.9/255//电压计算值,后面采用if来比较,雹仔正下面比较简单了你自己写把。

}

}

/*****************延时子程序********************/

void Delay(uchar t)

{

uchar i

while(t--!=0)

{

for(i=0i<55i++)

{}

}

}

/******************AD0832初始化***************/

void AD_init(void)

{

CS=1//开始禁止芯片工作

CLK=0//初始到0,芯片还没工作,没影响

CS=0//开始芯片工作

D1=1

CLK=1

D1=1

CLK=0

CLK=0//延时用

CLK=1

D1=1

CLK=0

CLK=0//延时用

CLK=1

D1=0

CLK=0

_nop_()

}

/*****************AD0832值计算***************/

uint AD_read()

{

uchar i

uchar outdata0=0

uchar outdata1=0

for(i=0i<8i++)

{

CLK=1

_nop_()

outdata0=outdata0<<1

if(D1 == 1)

{

outdata0|=0x01

}

else

{

outdata0|=0x00

}

CLK=0

_nop_()

}

CS=1

return

(outdata0)

}

void Timer3_Init()

{

TMR3CN = 0x02

TMR3R = -44236//定时2ms

TMR3= 0xffff

EIE2 &= ~0x01

TMR3CN |= 0x04

}

void ADC0_Init(void)

{

AMX0SL=0x00//选择通道0

AMX0CF=0x00//选择AIN0和AIN1为独立输入

REF0CN=0x03//选择外部的电压液薯衫为基准电压

ADC0CF=(SYSCLK/2500000)<<3//时钟手拿为 ,增益为1

ADC0CN=0x84//ADC0使能且为ADCBUSY的开启方式

EIE2|=0x02//开启ADC0的中断

}

void ADC0_ISR() interrupt 15

{

static unsigned int_dec=INT_DEC

static long accumulator=0L

AD0INT = 0 // 清 ADC 中断标志位

accumulator += ADC0 // 累加ADC采样数据

int_dec-- // 指针减1

if (int_dec == 0) /闹腔/ 累加完了吗?

{

int_dec = INT_DEC // 指针复位

result = accumulator >>8

accumulator = 0L // 累加和变量清0

t=1

}

}ADC0转换,定时器3开启的方式

这是图纸是硬件组态

下面是程序

    CALL  FC   117

     IN0 :=PIW8  调速杆1       0-10V 对应 0-27648

     IN1 :=27648

     IN2 :=0

     IN3 :=20

     IN4 :=-20

     OUT5:=MW304

   汪歼 NOP   0

该程序将调速杆迅陵亮1的位置信号0-10V转换为 -20到20的数亩宽值


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12395030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存