?? 0806c.c
字號(hào):
#include <reg51.h> //外接芯片來(lái)實(shí)現(xiàn)外圍電機(jī)的選擇
#include <stdio.h>
#define DAC0832Addr0 0X7FFF //0832地址1
#define uchar unsigned char //單個(gè)字節(jié)無(wú)符號(hào)數(shù)
#define uint unsigned int // 輸出口初始化
sbit p10=P1^0 ;
sbit p12=P1^2 ;
sbit p14=P1^4;
sbit p16=P1^6 ;
bit flag;
uchar keynumber;
uchar i,j;
void Delay ();
void TransformData ( uint DAC0832,uchar c0832data); //轉(zhuǎn)換數(shù)據(jù)
void ST();
void TR();
//void SQ();
//void SIN();
main ()
{
P0=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P1=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P2=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P3=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
Delay();
EX0=1;
IT0=1;
EA=1;
while(1)
{
switch(keynumber)
{
case 1: ST();
break;
case 0: TR();
break;
}
}
}
void ST()
{
TransformData( DAC0832Addr0,i) ;
i++;
}
void TR()
{
TransformData( DAC0832Addr0,j) ;
if((j==255)|( j==0)) //g=關(guān)系或
{flag=~flag;}
if (flag==1)
{
j++;
}
if (flag==0)
{
j--;
}
}
void int0() interrupt 0 using 0
{
if (p10==0)
keynumber=0;
if (p12==0)
keynumber=1;
if (p14==0)
keynumber=3;
if (p16==0)
keynumber=4;
}
void TransformData( uint DAC0832,uchar c0832data)//轉(zhuǎn)換數(shù)據(jù)
{
*((uchar xdata *)DAC0832)=c0832data; //向0832輸出待轉(zhuǎn)換數(shù)字量c0832data
/* 在C語(yǔ)言中 訪問外部寄存器時(shí)要先進(jìn)行類型轉(zhuǎn)換。用(uchar xdata *)轉(zhuǎn)化位指針型數(shù)據(jù),再間接尋址*/
}
void Delay ()
{
;
;
}
/*
#include <reg51.h> //外接芯片來(lái)實(shí)現(xiàn)外圍電機(jī)的選擇
#include <stdio.h>
#define DAC0832Addr0 0X7FFF //0832地址1
#define uchar unsigned char //單個(gè)字節(jié)無(wú)符號(hào)數(shù)
#define uint unsigned int // 輸出口初始化
sbit p10=P1^0 ;
sbit p12=P1^2 ;
sbit p14=P1^4;
sbit p16=P1^6 ;
bit flag;
uchar keynumber;
uchar i,j;
void Delay ();
void TransformData ( uint DAC0832,uchar c0832data); //轉(zhuǎn)換數(shù)據(jù)
void ST();
void TR();
//void SQ();
//void SIN();
main ()
{
P0=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P1=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P2=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
P3=0xff; //端口初始化,其實(shí)不用 上電后自動(dòng)置高
Delay();
EX0=1;
IT0=1;
EA=1;
while(1)
{
if(keynumber==1)
{
ST();
}
if(keynumber==2)
{
TR();
}
}
}
void ST()
{ uchar i;
i=0;
while(1)
{
TransformData( DAC0832Addr0,i) ;
i++;
Delay();
}
}
void TR()
{
uchar i;
i=0;
flag=0;
/* while(1)
{
TransformData( DAC0832Addr0,i) ;
if((i==255)|( i==0)) //g=關(guān)系或
{flag=~flag;}
if (flag==1)
{
i++;
}
if (flag==0)
{
i--;
}
Delay();
} */
//}
/*void int0() interrupt 0 using 0
{
if (p10==0)
keynumber=1;
if (p12==0)
keynumber=2;
if (p14==0)
keynumber=3;
if (p16==0)
keynumber=4;
}
void TransformData( uint DAC0832,uchar c0832data)//轉(zhuǎn)換數(shù)據(jù)
{
*((uchar xdata *)DAC0832)=c0832data; //向0832輸出待轉(zhuǎn)換數(shù)字量c0832data
/* 在C語(yǔ)言中 訪問外部寄存器時(shí)要先進(jìn)行類型轉(zhuǎn)換。用(uchar xdata *)轉(zhuǎn)化位指針型數(shù)據(jù),再間接尋址*/
// }
/*
void Delay ()
{
;
;
}
*/
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -