单片机 模数转换。用数码管显示
来源:百度知道 编辑:UC知道 时间:2024/06/15 04:35:59
哎哟。还这么多问题啊、用51单片机,数码管共阴,正负5V直流,。写一个C程序最好。不管咋做。弄出这结果就行。谢谢再次!!!
你用什么类型的单片机(51、avr、pic),还有模数转换器的型号等(也可以是单片机自带转换器以及转换的分辨率,转换速率),数码管的类型(有共阴的,共阳的),采集的是5v的直流还是交流等等
一看就是新手,首先你说你要进行数模转换,你是要用哪一款单片机呢,是要用内部带有AD的呢还是外接一个AD。比如你用的是P87C591单片机,而又采用的是他内部带的AD转换器的话,程序就可以这样
#include <REG591.h>
#include <stdio.h>
#define V_REF 5
unsigned Read_ADC( unsigned char channel )
{
ADCON &= ~0x07; /* Clears the input channels */
ADCON |= 0x07 & channel; /* Loads Channel to sampled */
ADCON |= 0x8; /* Starts Conversion */
while( (ADCON & 0x8) ); /* Waits for Conversion to end */
return( ( ( (unsigned) ADCH << 8) | ADCON ) >> 6 );
}
unsigned int reading[8];
void main( void )
{
unsigned int i;
S0CON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 221; /* TH1: reload value for 1200 baud