#include <reg52.h>
#include <function.h>//详见第六章第8讲
#include <timer.h> //详见第八章第11讲
#include <lcd.h> //详见第十一章第3讲
#include <adc.h>
u8 flag300ms=0;
void
main()
{
u8 val,key,volt;
u8 str[10];
EA = 1;
KEY_Init();
InitLcd1602();
TIM0_Init(10000,11);
LcdShowStr(6, 0,
"AIN3"
);
while
(1)
{
if
(flag300ms)
{
flag300ms = 0;
val = GetADCValue(3);
ValueToString(str, val);
LcdShowStr(6, 1, str);
}
key=KEY_Scan(0,500);
if
(key==4)
{
if
(volt<25)volt++;
SetDACOut(volt*255/25);
}
if
(key==12)
{
if
(volt>0)volt--;
SetDACOut(volt*255/25);
}
}
}
void
TIM0_IRQHandler() interrupt 1
{
static
u8 tmr300ms = 0;
TH0 = T0RH;
TL0 = T0RL;
tmr300ms++;
if
(tmr300ms >= 30)
{
tmr300ms = 0;
flag300ms = 1;
}
}