微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR单片机的CD纹机的自动控制程序

基于AVR单片机的CD纹机的自动控制程序

时间:12-01 来源:互联网 点击:

DDRC|=0xff;
PORTC|=0xff; //配置PC口为输入,有上拉电阻
DDRC&=0x00;
t1=Mega16_ad(0X40); //启动一次通道0的AD转换
t2=Mega16_ad(0X41); //启动一次通道1的AD转换
t3=Mega16_ad(0X42); //启动一次通道2的AD转换
t4=Mega16_ad(0X43); //启动一次通道3的AD转换
/////////以下while中为按键扫描程序//////////////////////////////////////////////
while(1)
{
////////////启动按钮/////////////////////////////////////////////////////////////////////////
if(!(PINC&BIT(0)))//qidong
{
delay(10);
if(!(PINC&BIT(0)))//qidong
{
while(!(PINC&BIT(0)));
s0out;s0L;gg=1;
}
}
/////////////停止按钮/////////////////////////////////////////////////////////////////////////////
if(!(PINC&BIT(4)))
{
s0out;s0H;
s1out;s1H;
s2out;s2H;
s3out;s3H;
tt1=0;tt2=0;tt3=0;
tt4=0;gg=0;jj=0;xx=0;
}
/////////工作模式判断///车CD纹///高光/////////////////////////////////////////////
if(t1{
if(!(PINC&BIT(2))){ gg=0;tt1=0;s0out;s0H;}
else if(!(PINC&BIT(3)))
{
if(!(PINC&BIT(1))) {gg=0;tt1=0;s1out;s1L;}
}
}
///////////////行程开关/////////////////////////////////////////////////////////////////////////////////
if(!((PINC&BIT(5))|(PINC&BIT(1)))) jj=1;
//////////////////////////////////////////////////////////////////////////////////////////////////////////
if(t2//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(t3////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
////////////定时器0的中断程序////刷新AD转换的值和刷新液晶屏用///////////
#pragma interrupt_handler timer0:10
void timer0(void)
{
uint ff;
TCNT0=0X00;
ff++;
if(ff==10000);
{ff=0;adc_lcd();}
}
////////////定时器1的中断程序///给继电器定时用////////////////////////////////////////
#pragma interrupt_handler timer1:9
void timer1(void)
{
TCNT1H=0xff;
TCNT1L=0x03;
if(gg)tt1++;
if(jj)tt2++;
if(xx)tt3++;
}

///完成!!!!!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top