您的位置 首页 测评

根据Proteus仿真的AVR单片机串口程序

以前在Proteus上做过51的串口仿真没有成功,昨天再次尝试atmega16的串口仿真居然成功了;当然仿真是最简单的,实际做事的时候需要加上max232芯片,但仿真时就不需要了,程序功能

  曾经在Proteus上做过51的串口仿真没有成功,昨日再次测验atmega16的串口仿真竟然成功了;当然仿真是最简略的,实践干事的时分需求加上max232芯片,但仿真时就不需求了,

  程序功用:由串口帮手向单片机发送一组数据“I LOVE YOU—–SBILY1988”,单片机收到数据后发送回串口帮手,

  数据传输方向:计算机——>单片机; 单片机——>计算机;

  现送上仿真图和程序:

  

 

  #include

  #include

  void init();

  void send(unsigned char);

  unsigned char receive();

  void main()

  {unsigned char i=0,a=300;

  init();

  while(1)

  {

  i=receive();

  send(i);

  }

  }

  void init() //初始化函数

  {

  UCSRB=BIT(4)|BIT(3); //使能发送和接纳器

  UCSRC=BIT(7)|(3<<1); //设置数据帧格局(8数据位)

  UBRRH=0; //设置波特率为8MHZ晶振下 9600bps

  UBRRL=51;

  }

  void send(unsigned char data) //数据发送

  {

  while(!(UCSRA&BIT(5))); //等候发送缓冲器预备结束

  UDR=data;

  while(!(UCSRA&BIT(6))); //等候发送结束

  UCSRA&=BIT(6);

  }

  unsigned char receive() //数据接纳

  {unsigned char data=0;

  while(!(UCSRA&BIT(7))); //等候数据接纳结束

  data=UDR;

  return data;

  }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/285334.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部