📄 main.c
字号:
#include "aduc842.h"
#include "Display.h"
#include "stdio.h"
#include "ZLG7290.h"
/***********************************************************
函数:Delay()
功能:延时
***********************************************************/
/*void Delay(int n)
{
int i=0;
while(n--)
{
for(i=0;i<5000;i++);
}
}
*/
/****************************************
*函数名称:Serial_Init(void)
*函数功能:串口初始化设置
*输入参数:无
*还 回 值:无
*说 明:无
****************************************/
void Serial_Init(void)
{
PLLCON = 0x00; //16.777MHz
T3CON = 0x83;
T3FD = 0x09;
SCON = 0x052;
}
/****************************************
*函数名称:unsigned int ADC(unsigned char channel)
*函数功能:这里完成ADC的转换,共8个通道可以选择
*输入参数:channel,通道选择参数
*还 回 值:(ADCDATAH&0x0F)*256+ADCDATAL,AD转换后的数字量
*说 明:无
****************************************/
unsigned int ADC(unsigned char channel)
{
ADCCON2 = channel; //选择通道
SCONV = 1; //启动转换
while(SCONV); //等待转换完成
return((ADCDATAH&0x0F)*256+ADCDATAL);
}
/****************************************
*函数名称:DAC0(unsigned int DaData)
*函数功能:这里完成DAC0的转换
*输入参数:DaData,送DA转换的数字量
*还 回 值:无
*说 明:无
****************************************/
void DAC0(unsigned int DaData)
{
DAC0H=DaData>>8;
DAC0L=DaData;
}
/****************************************
*函数名称:DAC1(unsigned int DaData)
*函数功能:这里完成DAC1的转换
*输入参数:DaData,送DA转换的数字量
*还 回 值:无
*说 明:无
****************************************/
void DAC1(unsigned int DaData)
{
DAC1H=DaData>>8;
DAC1L=DaData;
}
void delay(long N)
{
while(N!=0) N--;
}
/**********************************************************
main函数
***********************************************************/
void main()
{
Serial_Init();
ADCCON1 = 0xAC; //ADC上电,内部基准,clk 8分频
DACCON = 0x1F; //DAC采用内部ref做基准
//这两个寄存器跟dac无关
I2CCON = 0xa8;
DispInit();
IT1 = 1;EX1 = 1; // ZLG7290中断方式
EA = 1;
DispClr(0,8);
while(1)
{
collect();
if(keyFlag)
{
//keyFlag = 0;
u=KeyScan();
}
if(u==1)
{
num=100*num0+10*num1+num2;
ZLG7290_SegOnOff(38,0);
}
if(u==2)
{
num=0-(100*num0+10*num1+num2);
ZLG7290_SegOnOff(38,1);
}
if(u==3)
{
num0++;
if(num0>9)
num0=0;
//ZLG7290_Download(5,0,0,num0);
display(num0,num1,num2);
}
if(u==4)
{
num1++;
if(num1>9)
num1=0;
//ZLG7290_Download(6,1,0,num1);
display(num0,num1,num2);
}
if(u==5)
{
num2++;
if(num2>9)
num2=0;
//ZLG7290_Download(7,0,0,num2);
display(num0,num1,num2);
}
if(u==6)
{
num0=0;
num1=0;num2=0;
num=0;
ZLG7290_SegOnOff(38,0);
display(num0,num1,num2);
}
while(u==7)
{
if(keyFlag)
{
keyFlag=0;
u0=KeyScan();
}
if(u0==6)
{
u=0;
num0=0;
num1=0;
num2=0;
num=0;
}
collect();
if(num-da>=5)
{
//forward();
back();
delay(65535);
stop();
}
if(da-num>=5)
{
//back();
forward();
delay(65535);
stop();
}
if(num-da<5&&da-num<5)
{
stop();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -