求个单片机程序,高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:37:14
单片机89C52和DAC0832构成模数转换,DAC0832双极性电压输出,通过单片机P3.2按健控制DAC0832输出±5V电压中的某一值,DAC0832的Vref=1V.WR1和WR2接P3.6 CS接P2.7
DAC0832输出是±0.5V电压,Vref=1V

P1.0 "+,-" P1.1"V+" P1.2"V-" P1.3"确定"
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ulint unsigned long int
#define data P0
sbit CS=P2^7;
sbit WR1=P2^6;
bit sign=0;
uchar value=0x80;
uchar keyscan()
{
if(P1^0==0)
sign=!sign;
if(P1^1==0)
{value++;if(value==0xc0)value=0xc0;}
if(P1^2==0)
{value--;if(value==0x40)value=0x40;}
if(P1^3==0)
return value;
}
void int_0(void)interrupt 0 using 2
{
CS=0;
data=keyscan();
CS=1;
}
void main()
{
EX0=1;
EA=1;
WR=0;
while(1);
}