/***************************************************************************/
/*串口0测试程序                                          */
/*目标器件:ATmega168                                  */
/*晶振:RC 8MHZ                                       */

/***************************************************************************/
/*********************************包含头文件********************************/
#include<_iom88to328v.h>
#include<macros.h>
/***********************************宏定义**********************************/
#define fosc 8000000  //晶振8MHZ
#define baud 2400  //波特率

void uart0_init(void)
{
 UCSR0B = 0x00;                     //关闭UART00
 UCSR0A = 0x00;                      //不使用倍速发送(异步)
 UCSR0C =(1<<UCSZ01)|(1<<UCSZ00);    //数据位为8位
 UBRR0L=(fosc/16/(baud+1))%256;      //异步正常情况下的计算公式
 UBRR0H=(fosc/16/(baud+1))/256;
 UCSR0B =(1<<RXEN0)|(1<<TXEN0);      //接收使能和发送使能
}

void putchar0(unsigned char c)
 {  
       while (!(UCSR0A&(1<<UDRE0)));//表明发送器已经准备就绪
    UDR0=c;    //将要发送的数据装入UDR0寄存器
 }

unsigned char getchar0(void)
   {
    while(!(UCSR0A& (1<<RXC0)));//表明已经接收完毕
       return UDR0;
 }

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();
 }
}

完整资料打包(含仿真):

AVR单片机开发1-5程序及仿真合集-单片机文档类资源-CSDN下载

AVR单片机开发5——串口通信仿真相关推荐

  1. AVR单片机开发2——流水灯及仿真

    用ICCAVR编写流水灯程序,所用单片机为ATMega168: //PD口流水灯实验 #include<_iom88to328v.h> #include <AVRdef.h> ...

  2. 单片机 串口编程之串口通信仿真实验

    单片机 串口编程之串口通信仿真实验 一.简述        记--简单的使能串口,串口收发数据的例子.(使用Proteus仿真+虚拟串口调试)        代码,仿真文件打包:链接: https:/ ...

  3. AVR单片机开发1——IO口的输入和输出

    所用环境为iccavr,检测单片机的输入输出.proteus仿真如下: #include<_iom88to328v.h> #define uchar unsigned char #defi ...

  4. AVR单片机开发3——定时器T0 查询方式

    用定时器0控制PB0的电平变化. 定时器0和2(均为八位的定时计数器)有四种工作模式,此例是工作在普通模式. 在此模式下,计数器不断的累加,当计数到最大值0xff后返回到0x00重新开始,在TCNT0 ...

  5. AVR单片机开发4——定时器T0 中断方式

    /*定时器T0测试程序                                      */ /*目标器件:ATmega168                                 ...

  6. AVR单片机开发8——EEPROM操作

    所用单片机ATmega168: //当单片机型号选错时,出现的错误都是莫名其妙,比如delay函数的注释 #include<_iom88to328v.h> #include <AVR ...

  7. AVR单片机开发10——Nrf2401 模拟spi

    //外部晶振8m,烧写时选择时钟8分频 #include <_iom88to328v.h> #include "nrf.h" typedef unsigned char ...

  8. 基于51单片机的双机串口通信排队叫号系统(LCD显示)设计

    基于51单片机的双机串口通信排队叫号系统(LCD显示)设计 1 开发环境 视频讲解 2 功能说明介绍 3 仿真图 4 程序 5 原理图 6 视频讲解 7 设计报告 7.1 设计目的 7.2 设计要求及 ...

  9. 单片机 多机通讯c语言,单片机多机串口通信.doc

    单片机多机串口通信 摘要 本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理.实现方法和相应的通信硬件.软件设计.该设计是由单片机与单片机组成的主从控制系统,其中单片 关键词: 单 ...

最新文章

  1. 如何从0-1构建自己的”pytorch“(自己专属的深度学习框架)——part02
  2. 借助液态金属传感器和AI,这次机械手可能真的找到感觉了
  3. Spark Shuffle 解析
  4. xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决
  5. 《移动应用开发》作业——HTML、CSS
  6. 你准备好了在云中工作吗?
  7. 将python程序打包为exe及一些问题
  8. sklearn 下的 SVM 及其参数
  9. 关于Spring.net+NHibernate的事务控制
  10. vue2.0 实现导航守卫(路由守卫)
  11. python实现水仙花数
  12. CAD导入arcgisMap进行shp导出异常现象
  13. 鲜花销售管理系统jsp全部代码_[内附完整源码和文档] 基于JSP网上花店销售系统的设计与实现...
  14. 关于2020年全国大学生数学建模竞赛——我的感想
  15. 第jiu届蓝桥杯单片机省赛真题_2018第九届蓝桥杯省赛真题 C语言B组 第二题
  16. 无法修改计算机睡眠,win7不能睡眠怎么办,通过两个步骤的设置轻松解决
  17. python卸载库命令_python常用删除库的方法
  18. 【独家专访】李飞飞团队、康奈尔Weinberger团队、密歇根大学最新CVPR热点论文作者解读
  19. 达芬奇机器人变身‘模仿达人’,通过看视频模仿手术缝合、穿针、打结等动作...
  20. 智云通CRM:如何发现高附加值客户,让他们直接按原价购买?

热门文章

  1. linux mail工具收发邮件
  2. 基于vue3 安装axios(新手向)
  3. Java中的全角和半角
  4. iOS蓝牙开发 --- 唯一标识问题
  5. mooc付费视频下载
  6. STM32构建BootLoader实现多系统OTA
  7. 机器视觉,运动控制,C#联合雷赛运动控制卡
  8. 3dmax软件许可证检出失败错误20 彻底解决方法
  9. Spring Boot项目application.yml文件数据库配置密码加密
  10. Zynq-linux PL与PS通过DMA数据交互