avr uart仿真实验 PROTEUS virtual terminal
#include
#include
//#include
//#include "skey.c"
#define uchar unsigned char
#define uint unsigned int
#define MCLK 8000000
uchar str[]="http://hi.baidu.com/282280072/blog";
void delay(uint ms)
{
uint i,j;
for(i=0;i
}
void uart_init(uint baud)
{
UCSRB=0x00;
UCSRA=0x00; //控制寄存器清零
UCSRC=(1
baud=MCLK/16/baud-1; //波特率最大为65K
UBRRL=baud&0xff;
UBRRH=(baud>>8)&0X0F; //设置波特率
UCSRB=(1
//SREG=BIT(7); //全局中断开放
DDRD|=BIT(1); //配置TX为输出(很重要)
}
void uart_sendB(uchar data)
{
while(!(UCSRA&BIT(UDRE)));//等待数据reg为空
UDR=data;//写数据
while(!(UCSRA&BIT(TXC)));//等待数据发送结束
UCSRA|=BIT(TXC);//清除发送结束标志
}
void uart_sentString(uchar *s)
{
while(*s)
{
uart_sendB(*s++);
}
}
void main()
{
uchar i=4;
uchar j=a;
uart_init(19200);
for(i=0;i<20;i++)
{
uart_sendB(j+i);
uart_sendB(j+i);
//delay(15);
//下面两条命令输出换行
uart_sendB(0x0d);
uart_sendB(0x0a);
//delay(15);
}
uart_sentString(str);
//uart_sendB(j);
//uart_sendB(j+1);
//uart_sendB(j+2);
}
avruart仿真实 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)