|
今天终要学AVR了,买了本《深入浅出AVR-从ATMega48/88/168开始》回来了!
本来对51就有一定的基础!所以先试试串口试验!但没想到见到难题了!
我是按照光盘上的线路图做了一个串口试验版!把ADO也接好了!
芯片=M8
电平芯片=max232cpe
max232cpe电容用的是103P
接AD0,
接ISP(用USB做的那个,M8做芯片)
取电:直接用ISP,USB 5V电源
代码用光盘中的代码
/*********************************************************/
/* */
/* 第2篇第8章 串口校准发送测试 源程序 */
/* */
/* 编写:江海波 */
/* */
/* 2007-03 V1.0 */
/* */
/* 提示 : 本程序仅随本书使用,保留版权 */
/* 实例代码用于工程时应谨慎! */
/* */
/* E-mail : soundman@sohu.com */
/* */
/*********************************************************/
#include "iom48v.h"
#include "macros.h"
void uart0_init(void)
{
UCSR0A = 0x02; //使用波特率倍增,不使用多从机模式
UCSR0C = 0x06; //异步串口模式,禁止奇偶校验,1位停止位,8-bit帧模式
UBRR0L = 0x0C; //设置波特率,9600
UBRR0H = 0x00;
UCSR0B = 0x98; //允许接收完成中断使能,禁止发送完成中断,禁止发送寄存器空中断,允许接收,允许发送
}
void Delay_ms(unsigned int Time)
{
unsigned char n=0;
while(Time>0)
{
for (n=1;n<187;n++)
{
NOP();
}
Time--;
}
}
void main (void)
{
unsigned char SendData = 0xFF;
uart0_init();
do
{
while(!(UCSR0A&(1<<UDRE0)));
UDR0 = SendData;
SendData--;
}
while(SendData != 0xFF);
while(1);
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|