找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3386|回复: 1
打印 上一主题 下一主题
收起左侧

[求助]一个AVR新新新新新手,求助

[复制链接]
跳转到指定楼层
楼主
ID:44349 发表于 2012-9-3 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我想用单片机按键控制AD转换,然后用另一个按键控制,按一下向上位机传送一个AD转换数据。可是我实在是太新了,真心求助。我的代码很乱,都是我各种拼凑的。如果有师傅给个例程最好不过,没有例程的话也希望大家能给指点一下,拜谢。


#include<iom16v.h>
#include<macros.h>
unsigned char data_receive = 0,i=0;
unsigned char num[10];
unsigned char tx[1000];
unsigned int value,a=0,j=0,flag0=1,flag1,n,c=0,m;
void port_init(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0xff;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
}
void uart0_init(void)
{
UCSRB=0X00;
UCSRA=0X00;
UCSRC=BIT(URSEL) | 0X06;
UBRRL = 0X67;
UBRRH = 0X00;
UCSRB = 0XD8;
}

#pragma interrupt_handler int1_isr:3
void int1_isr(void)
{
 flag0=1;
  flag1=1;
}
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
num[c]=value;
c++;
if(c==10)
c=0;
}
#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr(void)
{
value=ADCL;
value|=(int)ADCH<<8;
}
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
data_receive = UDR;
}

#pragma interrupt_handler uart0_tx_isr:iv_USART0_TXC
void uart0_tx_isr(void)
{
delay(100);
if(flag1==1)
{
transmit(num[i++]);
flag1=0;
}
}
void adc_init(void)
{
ADCSR = 0X00;
ADMUX = 0X40;
ACSR = 0X80;
ADCSR = 0XEF;
SFIOR=0x40;
}
void init_devices(void)
{
CLI();
port_init();
adc_init();
uart0_init();
MCUCR = 0x0a;
GICR  = 0xc0;
TIMSK = 0x00;
SEI();
}
void delay(void)
{
int a=0,b=0;
for(a=0;a<30000;a++)
for(b=0;b<20;b++);
}
void transmit(unsigned char data_tx)
{
while(!(UCSRA&(1<<UDRE)));
UDR = data_tx;
}
void main(void)
{
init_devices();
DDRA=0xff;
DDRB=0xff;


while(1)
{if(flag0==1)
{
transmit(num[0]);
flag0=2;
//transmit(tx[j]);
//j++;

}
if(i>=10)
{
i=0;
}
PORTA= data_receive;
//tx[a]= data_receive;
//for(n=0;n<30000;n++)
//for(m=0;m<20;m++);
//a++;
//if(a==1000)
//a=0;
}
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:44349 发表于 2012-9-3 16:05 | 只看该作者
 不知道怎么办,传不了我板子的照片。我的板子是ATmega16的,A口连接8个小灯,B口是数码管
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表