《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 串行通信UART及PROTEUS仿真設計
串行通信UART及PROTEUS仿真設計
摘要: C51跟atmega64的串行通信。相關理論知識這里就不多說,只提幾個:51的UART所用的幾個寄存器
Abstract:
Key words :

  C51跟atmega64的串行通信。相關理論知識這里就不多說,只提幾個:

  51的UART所用的幾個寄存器

  SCON:SM0 SM1 SM2 REN RB8 TX8 RI TI

  PCON: SMOD --   --      --      ---    ---    PD IDLE

  T2CON: TF2 EXF2  RCLK  TCLK  EXEN2  TR2  C/_T  CP/_RL2

  TH2,TL2

  波特率為9600bps

  avr:atmega64的USART的兩個

  所用到的寄存器

  這里用的是uart0,所以初始化時應該設置相關的寄存器有:

  UCSR0A : RXC TXC UDRE FE DOR UPE U2X MPCM

  UCSR0C :--  UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL

  UBRR0H 、 UBRR0L、

  UCSR0B :RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8

  別問我這些都是代表什么含義,不懂自己翻書去。。

  PROTEUS仿真如下圖:

proteus仿真

  仿真結果如下圖所示:

仿真結果

  其中要注意的是:

  因為我在仿真中只能選擇atmega64的CKSEL Fuse中的8MHz,所以在AVR的程序中初始化波特率是按8MHz來計算的。所以仿真歸仿真,注意實際中應用。

  51單片機用定時器1來產生波特率時,看書據說模式2下,12MHz時最高只能到達4800bps。這里就只好用定時器2來。不過也挺好用的。。仿真時用的是8052核。。否則沒反應不要怪我哦。。

  最后把程序附上,里面有些變量聲明了沒有用到,當初只是實驗。。

  51的:

  #include "reg52.h"

  #define AA 0x61
#define commun_symbol 0x31
sbit LED="P2"^0;
unsigned char Tx[]={"my name is seven!"};
void uart_init(void)
{
  SCON   = 0x50;
  RCAP2H = 0xFF;
  RCAP2L = 0xD9;
  TH2    = 0xFF;
  TL2    = 0xD9;
  T2CON  = 0x34;
 
}

  void uart_send(unsigned char byData)
{
 TI=0;
 SBUF=byData;
 while(TI==0);
 TI=1;
}

  unsigned char uart_receive(void)
{
 RI=0;
 while(RI==0);
 RI=1;
 return(SBUF);
}

  void main()
{
 unsigned char byBuff,i;
 uart_init();
 uart_send(commun_symbol);
 while(1)
 {
 
 
  byBuff="uart"_receive();
  LED="1";
  if(byBuff==0x31)
  {
   for(i=0;i<20;i++)
  {
   P1=byBuff;
   uart_send(Tx[i]);
  }
  }
 }

  
}

  atmega64的程序:

  兩個文件,一個是將函數模塊化,別一個是主函數,調用(- -!最近習慣將程序模塊化。。。)

  //------------------uart.c---------------------

  //----這里將通信函數模塊化------------

  #include

void UART0_init(void)
{
 UCSR0B = 0x00; //disable while setting

baud rate
 UCSR0A = 0x00;
 UCSR0C = 0x06;
 UBRR0L = 0x33; //set baud rate lo
 UBRR0H = 0x00; //set baud rate hi
 UCSR0B = 0x18;
}

  
void uart0_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<;
/* Copy ninth bit to TXB8 */
UCSR0B &= ~(1<//if ( data & 0x0100 )
//UCSR0B |= (1</* Put data into buffer, sends the data */
UDR0 = data;
}

  unsigned char uart0_Receive( void )
{
/* 等待接收數據*/
while ( !(UCSR0A & (1<;
/* 從緩沖器中獲取并返回數據*/
return UDR0;
}

  //--------------main.c-----------

  //--------------------------------

  #include
#include "spi.h"
#define commun_symbol 0x31

  //-----------send a commun_symbol-----
//-----------receive a commun_symbol--
//      <--no,continue receive||||||yes-->receive the data and send
void main()
{
 unsigned char bybuff;
 DDRB=0xff;
 PORTB=0xff;
 uart0_init();
  {
 
  do
  {
  bybuff="uart0"_Receive();
  }
  while (bybuff!=commun_symbol);//commun_symbol);
  while(1)
  {
  
 uart0_Transmit(bybuff);
 bybuff=uart0_Receive();
 PORTB=(0xff|bybuff);
  }
 }
}

  ok,任務完成了,改天實驗一下!

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久免费国产精品| 国产精品理论片| 亚洲在线视频一区| 日韩香蕉视频| 亚洲精品免费观看| 亚洲欧洲三级电影| 亚洲国产精品传媒在线观看| 欧美一区二区私人影院日本 | 亚洲影院色无极综合| 一区二区三区四区在线| 日韩视频一区二区三区| 日韩一区二区电影网| 亚洲免费高清| 洋洋av久久久久久久一区| 日韩图片一区| 在线视频欧美日韩| 亚洲欧美成人一区二区三区| 亚洲专区一区| 欧美一区二区啪啪| 久久久久成人网| 久久综合久色欧美综合狠狠| 另类av一区二区| 欧美激情网友自拍| 欧美日韩免费区域视频在线观看| 欧美日韩在线免费视频| 国产精品久久久久久久午夜片| 欧美午夜性色大片在线观看| 国产精品日韩欧美综合| 国产欧美一区二区三区沐欲 | 激情综合久久| 亚洲日本在线观看| 一区二区91| 午夜亚洲福利| 亚洲黄一区二区三区| 亚洲美女色禁图| 亚洲私人影院| 西西裸体人体做爰大胆久久久| 欧美一区二区三区在线视频| 久久国产精品一区二区| 麻豆乱码国产一区二区三区| 欧美精品乱人伦久久久久久 | 久久国产精品一区二区三区| 亚洲激情网址| 一区二区三区精品在线| 亚洲制服欧美中文字幕中文字幕| 午夜天堂精品久久久久| 久久婷婷丁香| 欧美日韩高清在线一区| 国产精品嫩草影院av蜜臀| 韩国精品在线观看| 亚洲久久一区| 欧美一区影院| 中日韩美女免费视频网址在线观看 | 欧美一区二区三区在线免费观看| 亚洲精品国产精品国自产观看浪潮 | 欧美精品v国产精品v日韩精品 | 最近中文字幕mv在线一区二区三区四区 | 久久伊人亚洲| 欧美三级电影一区| 国产视频综合在线| 亚洲人成欧美中文字幕| 香蕉久久久久久久av网站| 亚洲区一区二| 欧美一区二区三区在线观看视频| 欧美成人蜜桃| 国产日韩欧美一区二区三区四区| 亚洲国内自拍| 午夜精品电影| aa亚洲婷婷| 久久久噜噜噜| 国产精品国产三级国产普通话蜜臀 | 欧美中文字幕在线视频| 一区二区高清在线观看| 久久免费精品视频| 国产精品v欧美精品∨日韩| 在线观看精品一区| 亚洲欧美日韩成人| 亚洲婷婷综合久久一本伊一区| 久久久欧美精品| 国产精品婷婷| 日韩亚洲在线| 亚洲激精日韩激精欧美精品| 午夜在线视频一区二区区别| 欧美日韩国产91| 在线日韩日本国产亚洲| 午夜影院日韩| 亚洲欧美影院| 欧美日韩国产综合视频在线观看中文| 国产综合网站| 午夜精品视频在线| 亚洲一级在线观看| 欧美另类videos死尸| 亚洲大胆女人| 久久狠狠一本精品综合网| 午夜欧美精品| 欧美午夜视频在线| 99re热这里只有精品视频| 亚洲欧洲日产国产综合网| 久久久久久精| 国产视频一区在线| 亚洲欧美日产图| 欧美亚洲在线播放| 国产精品美女999| 一区二区三区视频在线看| 99在线精品免费视频九九视| 欧美mv日韩mv国产网站app| 国产亚洲成av人在线观看导航 | 欧美一区二区高清在线观看| 午夜精品福利一区二区三区av| 欧美日韩免费观看一区=区三区| 亚洲国产精品va| 亚洲国产高清视频| 久久久天天操| 国语精品一区| 欧美综合国产| 久久嫩草精品久久久久| 国语自产精品视频在线看| 久久精品官网| 久久综合国产精品台湾中文娱乐网| 黑人一区二区| 亚洲激情综合| 欧美成人一品| 亚洲精品久久久久久久久久久| 亚洲精品久久久蜜桃| 欧美国产先锋| 亚洲理伦电影| 亚洲中字黄色| 国产麻豆综合| 久久国产一区二区三区| 老司机免费视频一区二区| 在线日韩欧美| 99精品欧美一区| 欧美日韩免费在线观看| 亚洲视频在线看| 欧美影片第一页| 国产亚洲精品资源在线26u| 欧美一区二区| 开元免费观看欧美电视剧网站| 激情小说亚洲一区| 亚洲理论电影网| 欧美视频在线观看| 亚洲一区国产| 久久久国产91| 亚洲黄色在线视频| 亚洲一区二区三区四区五区午夜| 国产精品久久久久免费a∨| 欧美亚洲自偷自偷| 蜜臀久久99精品久久久画质超高清| 亚洲国产精品一区二区尤物区 | 一区二区三区在线不卡| 99xxxx成人网| 国产精品美腿一区在线看 | 欧美色视频一区| 午夜精品久久久久久| 猫咪成人在线观看| 亚洲精品自在在线观看| 欧美一级视频免费在线观看| 国产在线不卡精品| 日韩视频免费在线| 国产精品免费一区二区三区在线观看 | 亚洲欧洲综合另类在线| 亚洲主播在线播放| 国产综合av| 中文国产成人精品久久一| 国产欧美一区二区精品婷婷 | 国产一区二区三区观看| 亚洲精品乱码久久久久久按摩观 | 亚洲日本欧美天堂| 欧美一二三区在线观看| 1024国产精品| 亚洲欧美激情在线视频| 影音先锋久久| 亚洲免费一区二区| 影音先锋亚洲电影| 亚洲综合国产精品| 影音先锋在线一区| 亚洲欧美电影在线观看| 亚洲第一天堂av| 午夜视频在线观看一区| 亚洲高清视频一区| 午夜日韩福利| 亚洲日本激情| 久久久久欧美精品| 在线亚洲高清视频| 免费不卡在线观看| 亚洲免费在线视频| 欧美激情精品久久久久久| 午夜精品一区二区三区在线播放| 欧美精品首页| 亚洲丰满在线| 国产欧美日韩综合一区在线观看 | 今天的高清视频免费播放成人| 亚洲一区在线看| 亚洲国产精品va在线看黑人| 欧美一区二区日韩| 一本久道久久久| 欧美大片在线看免费观看| 欧美一级专区| 国产精品区一区| 一个色综合av|