/***************************************************************************/
/*串口0测试程序 */
/*目标器件:ATmega168 */
/*晶振:RC 8MHZ */
/***************************************************************************/
/*********************************包含头文件********************************/
#include<_iom88to328v.h>
#include
/***********************************宏定义**********************************/
#define fosc 8000000 //晶振8MHZ
#define baud 2400 //波特率
void uart0_init(void)
{
UCSR0B = 0x00; //关闭UART00
UCSR0A = 0x00; //不使用倍速发送(异步)
UCSR0C =(1<
UBRR0H=(fosc/16/(baud+1))/256;
UCSR0B =(1<
void putchar0(unsigned char c)
{
while (!(UCSR0A&(1<
}
unsigned char getchar0(void)
{
while(!(UCSR0A& (1<
}
void puts0(char *s)
{
while (*s)
{
putchar0(*s);
s++;
}
putchar0(0x0a);//回车换行
putchar0(0x0d);
}
void delay()
{
unsigned int i;
for(i=0;i<65000;i++)
;
}
void main(void)
{
unsigned char i;
uart0_init();//UART0初始化
puts0("HELLO!");
while(1)
{
puts0("Haha!");
//putchar0(0x30) ;
delay();
}
}
完整资料打包(含仿真):