关于单片机向串口发送AD转换结果的程序

关于单片机向串口发送AD转换结果的程序,第1张

兄弟:不知道你玩不玩32 ,有个32 的在工程上用过,直接刷程序,串口连接电脑就可以输出AD 转换的结果。如果不玩32 的话。

首先第一步排查: 排查单片机能不能正确显示 你测试到的 AD 信号,显示正确不?

比如给他 3V 电压 ,用数码管显示出来。

第二: 串口发送,找个能正确发送数据的代码 ,直接把 ,你检查的数值给这个变量,让串口发送,

一步一步找问题,你绝对能解决的。我把AD0809 的代码给你用数码管测试

#include <reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code LEDData[]=

{

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

}

sbit OE = P1^0

sbit EOC = P1^1

sbit ST = P1^2

sbit CLK = P1^3

void DelayMS(uint ms)

{

uchar i

while(ms--)

{

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

}

}

void Display_Result(uchar d)

{

P2 = 0xf7

P0 = LEDData[d%10]

DelayMS(5)

P2 = 0xfb

P0 = LEDData[d%100/10]

DelayMS(5)

P2 = 0xfd

P0 = LEDData[d/100]

DelayMS(5)

}

void main()

{

TMOD = 0x02

TH0 = 0x14

TL0 = 0x00

IE = 0x82

TR0 = 1

P1 = 0x3f

while(1)

{

ST = 0

ST = 1

ST = 0

while(EOC == 0)

OE = 1

Display_Result(P3)

OE = 0

}

}

void Timer0_INT() interrupt 1

{

CLK = !CLK

}

这个是数电的课程设计,很简单其实就是adc测一个模拟输出传感器然后按地址读取rom值然后显示,只是rom需要写入内容

1、直接用lm35比较好,max6675需要前端接热电偶

2、三个运放都可以,只是一般都要双电源,接起来烦

3、tm7707精度太高了没有必要,adc0809就好了


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

原文地址: http://outofmemory.cn/yw/12050668.html

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

发表评论

登录后才能评论

评论列表(0条)

保存