조정 가능한 저항기는 아날로그 온도 입력으로 전압 값을 조정하는 데 사용됩니다. 온도가 30 C 미만이면 긴 경고음과 광경보가 발생하고, 온도가 60 C 를 초과하면 짧은 경고음과 광경보가 발생합니다. 측정 온도 범위는 0-99 ℃입니다.
2.? 도식 회로도
(그림) 그림을 참조하십시오.
3.? 시스템 보드의 하드웨어 케이블 연결?
A)? 8 셀 플랫 케이블을 사용하여 단일 칩 마이크로 컴퓨터 시스템 영역의 P 1.0-P 1.7 을 동적 디지털 디스플레이 영역의 ABCDEFGH 포트에 연결합니다. -응?
B)? 8 셀 케이블을 사용하여 단일 칩 마이크로 컴퓨터 시스템 영역의 P2.0-P2.7 과 동적 디지털 디스플레이 영역의 s 1s 2s 3s 5s 6s 7s 8 을 연결합니다. -응?
C)? 단일 칩 마이크로 컴퓨터 시스템 영역의 P3.0 을 모듈 변환 모듈 영역의 ST 터미널에 와이어로 연결합니다. -응?
D)? 와이어로 단일 칩 시스템 영역의 P3. 1 을 모듈 변환 모듈 영역의 OE 터미널에 연결합니다. -응?
E)? 단일 칩 마이크로 컴퓨터 시스템 영역의 P3.2 를 모듈 변환 모듈 영역의 EOC 터미널에 와이어로 연결합니다. -응?
F)? 단일 칩 마이크로 컴퓨터 시스템 영역의 P3.3 을 모듈 변환 모듈 영역의 CLK 터미널에 와이어로 연결합니다. -응?
G)? A/D 변환 모듈 섹션의 터미널 A2A 1A0 을 와이어로 전원 모듈 섹션의 터미널 GND 에 연결합니다. -응?
H)? A/D 변환 모듈 섹션의 IN0 터미널을 와이어를 사용하여 3 방향 조정 가능 전압 모듈 영역의 VR 1 터미널에 연결합니다. -응?
나)? 8 셀 케이블을 사용하여 단일 칩 마이크로 컴퓨터 시스템 영역의 P0.0-P0.7 을 아날로그-디지털 변환 모듈 영역의 터미널 d0d 1 2d 3d 4d 6d 7 에 연결합니다. -응?
J)? 단일 칩 마이크로 컴퓨터 시스템 영역의 P3.6 및 P3.7 을 각각 8 방향 LED 지시등 모듈 영역의 L 1 및 L2 에 와이어로 연결합니다. -응?
K)? 단일 칩 마이크로 컴퓨터 시스템 영역의 P3.5 를 오디오 확대 모듈 영역의 SPK 에 와이어로 연결합니다. 항구에서. -응?
L)? SPK 를 "오디오 확대 모듈" 영역에 넣으시겠습니까? 오디오 스피커를 바깥쪽으로 연결합니다. -응?
4.c 언어 소스 코드
# 포함? & ltAT89X52. H>
서명되지 않았습니까? 샤일? 코드? Dispbitcode [] = {0xfe,0xfd,0xfb,0xf7,
0xef, 0xdf, 0xbf, 0x7f };;
서명되지 않았습니까? 샤일? 코드? Dispcode [] = {0x3f,0x06,0x5b,0x4f,0x66,
0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00};
서명되지 않았습니까? 샤일? Dispbuf[8]={ 10, 10, 10, 10,/kloc
서명되지 않았습니까? 샤일? Dispcount
서명되지 않았습니까? 샤일? Getdata
서명되지 않았습니까? Int? 온도;
서명되지 않았습니까? 샤일? 나;
Sbit? St = P3 0;
Sbit? Oe = P31;
Sbit? Eoc = P3 2;
Sbit? Clk = P3 3;
Sbit? Led1= P3 6;
Sbit? Led 2 = P3 7;
Sbit? Spk = P3 5;
비트? Lowflag
비트? Highflag
서명되지 않았습니까? Int? 분류: cnta
서명되지 않았습니까? Int? Cntb
비트? Alarmflag
무효화? 기본 (부적합)
{
ST = 0;;
OE = 0;;
Tmod = 0x12;
Th0 = 0x216;
Tl0 = 0x216;
Th1= (65536-500)/256;
Tl1= (65536-500)% 256;
Tr1=1;
Tr0 =1;
Et0 =1;
Et1=1;
Ea =1;
St =1;
ST = 0;;
While( 1)
{
If((lowflag== 1)? & amp& amp(highflag==0))
{
Led1= 0;
Led 2 =1;
}
그렇지 않으면요? If((highflag== 1)? & amp& amp? (lowflag==0))
{
Led1=1;
Led 2 = 0;;
}
기타
{
Led1=1;
Led 2 =1;
}
}
}
무효화? T0(void)? 끊어? 1? 사용할까요? 0
{
CLK = ~ CLK;;
}
무효화? T 1(void)? 끊어? 3? 사용할까요? 0
{
Th1= (65536-500)/256;
Tl1= (65536-500)% 256;
If(EOC== 1)
{
Oe =1;
Getdata = P0
OE = 0;;
Temp = getdata * 25
Temp = temp/64;;
I = 6;;
Dispbuf [0] =10;
Dispbuf [1] =10;
Dispbuf [2] =10;
Dispbuf [3] =10;
Dispbuf [4] =10;
Dispbuf [5] =10;
Dispbuf [6] = 0;
Dispbuf [7] = 0;
While(temp/ 10)
{
Dispbuf [I] = temp%10;
Temp = temp/10;
I++;+;
}
Dispbuf [I] = temp;
If(get data & lt;; 77) 을 참조하십시오
{
Lowflag =1;
Highflag = 0;
}
그렇지 않으면요? If(get data & gt;; 153)
{
Lowflag = 0;
Highflag =1;
}
기타
{
Lowflag = 0;
Highflag = 0;
}
St =1;
ST = 0;;
}
P1= dispcode [dispbuf [dispcount]];
P2 = dispbitcode [dispcount];
Dispcount++;
If(dispcount==8)
{
Dispcount = 0;;
}
If((lowflag== 1)? & amp& amp? (highflag==0))
{
Cnta++;+;
(cnta==800) 인 경우
{
Cnta = 0;;
Alarmflag = ~ alarmflag
}
If(alarmflag== 1)
{
SPK = ~ SPK;;
}
}
그렇지 않으면요? If((lowflag==0)? & amp& amp? (highflag== 1))
{
CNT b++;+;
(cntb==400) 인 경우
{
Cntb = 0;;
Alarmflag = ~ alarmflag
}
If(alarmflag== 1)
{
SPK = ~ SPK;;
}
}
기타
{
Alarmflag = 0;
Cnta = 0;;
Cntb = 0;;
}
}