Chat
Danh mục
Một số code C đo nhiệt độ ADC0809 + LM35 + AT89C51

Một số code C đo nhiệt độ ADC0809 + LM35 + AT89C51

Số lượng:
Thêm vào giỏ
Một số code C đo nhiệt độ ADC0809 + LM35 + AT89C51 đã được thêm vào giỏ hàng

Hình ảnh chỉ mang tính minh họa, và cũng ná ná như thế ^^

Code 1:

#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=0;i<120;i++);
}
}

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;
}



Code 2: 

#include <REGX51.H>
#define START P3_0
#define ALE P3_1
#define A P3_2
#define B P3_3
#define C P3_4
#define dtlcd P2
#define adc P1

unsigned char code MA7D[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x90,0x8 0};
unsigned char nd;


void delay( unsigned int t)
{ while( t--); }

unsigned char docadc(unsigned char kenh)
{
A=kenh&(0x04);
B=kenh&(0x02);
C=kenh&(0x01);
START=ALE=1;
START=ALE=0;
delay(100);
return docadc;
}

void ht_nd()
{
nd=docadc(7);
delay(100);
P2=MA7D[nd/10]; P0_3=0; delay(100); P0_3=1;
P2=MA7D[nd%10]; P0_2=0; delay(100); P0_2=1;

}

void main()
{
while(1)
{ht_nd();
}
}

( Mô Phỏng Protues đang update)

EchipKool.com - Điện Tử | Tin Học - Chia sẻ kiến thức - Kết nối đam mê điện tử