《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 串行通信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| 欧美日韩国产综合新一区| 欧美 日韩 国产 一区| 久久午夜电影网| 久久久久久久久综合| 欧美中文字幕在线观看| 欧美一区二区三区另类| 欧美在线短视频| 欧美有码在线视频| 欧美在线地址| 久久午夜电影网| 免费亚洲电影| 欧美黄色影院| 91久久国产综合久久| 精品动漫3d一区二区三区免费| 狠狠色噜噜狠狠色综合久| 狠狠色丁香久久婷婷综合丁香 | 亚洲精品乱码久久久久| 最新国产成人av网站网址麻豆| 久久精品一区二区三区不卡| 午夜精品久久久久久久白皮肤| 在线亚洲精品| 亚洲午夜久久久| 亚洲综合视频一区| 亚洲欧美日本精品| 欧美在线观看一二区| 久久久精彩视频| 久久爱另类一区二区小说| 久久九九有精品国产23| 久久久久久黄| 欧美 日韩 国产 一区| 欧美激情小视频| 欧美日韩三级一区二区| 国产精品久久看| 国产欧美婷婷中文| 一区二区三区我不卡| 亚洲日本电影| 中文在线一区| 久久激情中文| 夜夜嗨一区二区三区| 午夜精品av| 久久深夜福利免费观看| 欧美成人午夜影院| 欧美性片在线观看| 国产专区欧美精品| 亚洲日本成人网| 午夜精品久久久久| 亚洲人成网站精品片在线观看| 亚洲一级在线观看| 久久精品亚洲热| 欧美mv日韩mv国产网站| 欧美一区精品| 亚洲一区二区欧美| 久久精品国产清高在天天线| 9久草视频在线视频精品| 亚洲欧美日韩爽爽影院| 久久综合给合| 欧美日精品一区视频| 国产一在线精品一区在线观看| 亚洲黑丝一区二区| 亚洲女人av| 亚洲精品视频免费观看| 亚洲一区二区在线免费观看视频 | 欧美另类69精品久久久久9999| 国产精品裸体一区二区三区| 一区二区在线看| 亚洲特级毛片| 亚洲精品一区二区三区av| 午夜老司机精品| 欧美成人免费全部观看天天性色| 国产精品卡一卡二| ●精品国产综合乱码久久久久| 亚洲在线视频| 日韩一级大片| 久久综合给合| 国产乱码精品一区二区三| 日韩视频免费| 91久久夜色精品国产九色| 欧美一区精品| 欧美午夜精品理论片a级大开眼界| 伊人一区二区三区久久精品| 一区二区三区精品在线| 亚洲精品一品区二品区三品区| 久久国产精品毛片| 国产精品二区二区三区| 亚洲人体一区| 亚洲日韩中文字幕在线播放| 久久精品99国产精品日本| 欧美三级网址| 亚洲国产日韩欧美一区二区三区| 欧美在现视频| 午夜精品视频| 欧美天堂亚洲电影院在线播放| 亚洲第一精品久久忘忧草社区| 先锋影音一区二区三区| 亚洲自拍偷拍麻豆| 欧美日韩精品免费观看视一区二区 | 亚洲高清电影| 久久国产日本精品| 欧美在线视频一区二区三区| 国产精品高潮粉嫩av| 99精品国产99久久久久久福利| 亚洲精品久久久久久下一站| 老司机成人网| 国内精品写真在线观看| 欧美亚洲免费| 影音先锋亚洲一区| 亚洲国产天堂久久综合网| 久久精品国产77777蜜臀| 欧美专区日韩专区| 国产精品乱码一区二三区小蝌蚪 | 久久精品国产99国产精品| 国产精品日韩专区| 在线一区二区三区四区| 亚洲视频一区二区在线观看| 欧美精品在线播放| 亚洲经典自拍| 亚洲精品在线观| 欧美精品一级| 夜夜嗨av一区二区三区| 亚洲一区国产一区| 欧美涩涩视频| 国产精品99久久久久久有的能看| 亚洲一区二区影院| 国产精品剧情在线亚洲| 午夜精品国产精品大乳美女| 久久精品亚洲热| 影音先锋亚洲视频| 亚洲免费电影在线观看| 欧美喷水视频| 一区二区成人精品| 欧美一级午夜免费电影| 国产一区二区在线观看免费| 久久se精品一区二区| 欧美fxxxxxx另类| 亚洲日本欧美| 亚洲一区二区三区高清| 国产精品久久久久久影院8一贰佰| 亚洲无线视频| 久久国产福利| 在线播放精品| 一区二区久久久久久| 国产精品乱码人人做人人爱| 欧美亚洲一区| 欧美成年人在线观看| 亚洲免费不卡| 欧美在线观看一区| 亚洲电影免费在线| 亚洲一区二区高清视频| 国产日韩欧美三区| 亚洲日韩视频| 国产精品日本欧美一区二区三区| 欧美专区第一页| 欧美精品激情blacked18| 亚洲一区成人| 久久亚洲欧美| 亚洲精品小视频| 欧美亚洲综合在线| 伊人久久婷婷色综合98网| 一二三区精品| 国产日本欧美一区二区| 亚洲日本久久| 国产精品丝袜久久久久久app| 久久gogo国模裸体人体| 欧美欧美全黄| 久久gogo国模裸体人体| 欧美日韩视频在线一区二区| 香蕉成人啪国产精品视频综合网| 欧美激情第9页| 亚洲免费在线精品一区| 欧美插天视频在线播放| 一区二区三区四区在线| 久久这里有精品视频| 日韩视频在线观看| 久久久噜噜噜久久久| 亚洲免费观看高清完整版在线观看熊| 欧美在线观看网站| 亚洲精品午夜精品| 久久久久免费视频| 一区二区三欧美| 免费视频亚洲| 亚洲欧美影音先锋| 中文在线资源观看网站视频免费不卡 | 在线观看成人av电影| 欧美在线观看一区二区| 免费成人黄色片| 亚洲一区精品在线| 欧美国产亚洲另类动漫| 香蕉久久精品日日躁夜夜躁| 欧美日韩国产a| 久久国产一区| 国产精品女主播在线观看| 亚洲剧情一区二区| 国产日产亚洲精品| 亚洲无人区一区|