《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > AVR單片機ATmega16與計算機串行通信的實現
AVR單片機ATmega16與計算機串行通信的實現
來源:微型機與應用2012年第14期
韋曉茹, 蔡志堅, 居戩之
(蘇州大學 信息光學工程研究所, 江蘇 蘇州215006)
摘要: 介紹AVR單片機ATmega16和計算機的串行通信的軟、硬件設計,采用Visual Basic6.0中的MSComm通信控件實現計算機與單片機ATmega16之間的串行通信。文章詳細闡述了程序的設計流程,并給出了部分程序代碼。實驗證明該系統可以實現ATmega16與計算機之間的通信。
Abstract:
Key words :

摘  要:介紹AVR單片機ATmega16計算機串行通信的軟、硬件設計,采用Visual Basic6.0中的MSComm通信控件實現計算機與單片機ATmega16之間的串行通信。文章詳細闡述了程序的設計流程,并給出了部分程序代碼。實驗證明該系統可以實現ATmega16與計算機之間的通信。
關鍵詞: ATmega16;計算機;串行通信;Visual Basic6.0

    AVR單片機[1]是美國ATMEL公司的精簡指令集單片機,大多數是單周期指令,運行速度快。AVR單片機帶有Flash程序存儲器,擦寫方便,支持ISP(串行在線下載),便于產品的調試、開發和更新。ATmega16是AVR單片機家族中的高檔產品,是目前占主流、高信價比的AVR芯片之一。ATmega16的主要特點有:功耗低,在正常模式下只有1.1 mA;最高工作頻率可達16 MHz;具有可擦寫的16 KB的可編程Flash;內含8路10 bit ADC;具有高度靈活的串行通信設備USART,使用時只需設置相關的寄存器參數就可以實現串行通信。
    EIA-232是常用的串行通信[2]技術標準之一,是目前通信工業中應用最廣泛的一種串行接口,這是由于工業領域對產品的可靠性和穩定性的要求更高,EIA標準下的串行通信技術完全可以滿足人們對工業設備傳輸的各種性能要求,使得EIA串口通信在系統控制[3-5]的范疇中一直占據著極其重要的地位。計算機和單片機的EIA-232串行通信是許多測控系統常用的一種通信解決方案。本文介紹了計算機和單片機ATmega16之間EIA-232串行通信的實現。計算機作為上位機,單片機作為下位機。
1 硬件設計
    圖1為EIA-232串行通信系統的結構框圖。

    EIA-232用正、負電壓來表示邏輯狀態,有效負電平的狀態為邏輯1,有效正電平的狀態為邏輯0;而單片機使用的TTL電平是以高、低電平表示1和0兩種邏輯狀態,因此將兩者相連必需進行電平邏輯關系的變換。圖1中的芯片MAX232就是將TTL和RS232電平相互轉換的器件。
    圖2為EIA-232串行通信電原理圖。電壓VCC可采用5 V供電。

    圖2中的D Connector9是用于連接計算機串行口的接插件,5腳是接地端,3腳是發送端TXD,2腳是接收端RXD。TXD端的電平經MAX232轉換為TTL電平后送給單片機的接收端;單片機發送出的TTL電平的數據經MAX232轉換為RS232電平經RXD傳送給計算機。ATmega16工作時使用系統內部時鐘8 MHz,不需外接晶振,只需在燒錄程序時設置相關參數即可使用內部時鐘。圖2中標號為UP的是一個10腳的接插件,通過這個接插件與程序燒錄器相連即可實現單片機程序的燒錄操作,方便產品升級。
2 上位機程序設計
    上位機程序的編寫采用Visual Basic6.0的編程環境。使用Visual Basic6.0的MSComm串行通信控件,非常容易實現串口通信,使用時要對串行通信的信息格式和協議進行設置。每個通信控件對應一個串口, 如果要訪問多個通信口, 則要設計多個通信控件。
    計算機與單片機之間的通信采用查詢的工作方法,計算機作為上位機,單片機作為下位機。計算機主要負責發送控制命令以及數據的發送、接收、處理、計算和顯示等功能。計算機的程序設計包括界面設計以及程序代碼的編寫。圖3為設計的程序界面,圖3中含有發送數據的輸入框、接收數據的顯示框和命令控件按鈕。用鼠標點擊“發送/接收”按鈕后程序開始運行,接收數據與發送數據一致時說明通信成功,否則失敗。

    圖4為程序設計的流程圖。具體的程序代碼包括串口的初始化及數據的發送與接收。初始化代碼主要對串行通信的信息格式和協議進行設置,串口的初始化代碼如下:
    MSComm1. CommPort = 1            //使用COM1串口
    MSComm1. Settings="9600,n,8,1"
                        //數據格式:波特率9600 b/s,無奇偶
                       校驗,8 bit數據位,1 bit停止位
     MSComm1. OutBufferCount = 0        //清空發送緩沖區
     MSComm1. InBufferCount = 0          //清空接收緩沖區
     MSComm1. InputMode = 1      //以二進制形式取回數據
     MSComm1. InputLen=0    //一次讀取緩沖區內全部數據
      If MSComm1.PortOpen = False Then
     MSComm1.PortOpen = True
     End If                                   //打開串口
    數據的發送和接收主要用到下面兩句代碼:
         MSComm1.Output = outdata
         backdata = MSComm1.Input
  由于篇幅的限制,其他代碼不再給出。
3 下位機程序設計
  Atmega16內部的USART是一個通用的同步和異步串行接收器和發送器,其高度靈活,使用非常方便。與USART相關的寄存器有:UDR、UCSRA、UCSRB、UCSRC、UBRRH和UBRRL。UDR是USART發送數據和接收數據共享的數據寄存器,將數據寫入UDR時實際操作的是通過UDR發送數據,讀UDR時實際返回的是UDR中的數據。UCSRA、UCSRC和UCSRB為控制和狀態寄存器,串行口的通信模式的設置可通過對UCSRA和UCSRB的相關數據位進行寫操作來實現。數據幀包含的數據位數也是由UCSRB來確定,并與上位機保持一致。UBRRH和UBRRL為波特率寄存器,UBRRH和UBRRL是16位寄存器UBRR的高8位和低8位。UBRR的值是用于確定串行通信的波特率,對于異步正常模式(由UCSRA和UCSRB確定),波特率的計算公式為,對于9 600 b/s的波特率(和上位機一致),在fosc=8 MHz的情況下,通過計算得UBRR的值為51。對UBRR進行寫操作時注意要先寫高8位UBRRH,后寫低8位UBRRL,否則寫入無效。
   程序流程如圖5所示。判斷接收是否結束依據UCSRA中的標志位RXC,當RXC=1時表示接收沒有結束,繼續接收;當RXC=0時表示接收結束,可以從UDR中讀出接收到的數據。判斷發送是否結束依據UCSRA中的標志位TXC,當TXC=1時表示發送沒有結束;當TXC=0時表示發送結束。

 

 

    程序的編寫環境采用ATMEL公司的AVRstudio軟件。初始化部分程序代碼如下:
    LDI   r16,0x20
  OUT  UCSRA,r16                  //設置串口通信模式
  LDI   r17,0x00    
  OUT  UBRRH,r17
  LDI   r16,0x33
  OUT  UBRRL,r16                //設置串口通信的波特率      LDI   r16,0x86    
  OUT  UCSRC,r16              //設置串口通信的數據格式
  LDI   r16,0x18
    OUT  UCSRB,r16                               //使能串口通信
    判斷UCSRA的標志位RXC和TXC采用跳轉指令SBIS,具體語句為:
    SBIS  UCSRA,RXC
    SBIS  UCSRA,TXC
    將編寫好的程序燒錄進單片機,硬件連接完成后運行上位機程序即可實現串行通信,在圖3的程序界面可以查看結果。如果需要重新燒錄程序,可以進行在線燒錄,而不需要把單片機ATmega16從電路上取下來。因此,可以采用SMD封裝,有利于產品微型化。
    本文采用查詢的工作方式,通過電平轉換器MAX232實現了單片機ATmega16與計算機之間的EIA-232串行通信。雖然目前USB的應用很廣泛,但由于工業設備一般連接好以后很少進行重復插拔,USB的優越性不能得到很好的體現,使得工業領域使用USB接口的產品并不多,EIA串行通信仍占據重要地位,因此研究EIA串行通信是很必要的。
參考文獻
[1] 耿德根,宋建國,馬潮,等. AVR高速嵌入式單片機原理與應用[M]. 北京:北京航空航天大學出版社,2001.
[2] 謝瑞和. 串行技術大全[M].北京:清華大學出版社,2003.
[3] 張艷玲,黃??? 基于VB的機房計算機電源監控系統[J].微型機與應用,2004,23(1):41-44.
[4] 王平,張新東. 基于智能儀表的數據采集系統設計[J]. 自動化與儀表,2009,24(4):9-10.
[5] 柳劍,陳於學,楊曙年. 基于編程口的三菱PLC與PC機串行通信實現[J]. 自動化儀表,2010,31(10):31-37.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产视频直播| 在线观看日韩精品| 欧美成人小视频| 亚洲一区二区三区精品在线观看| 亚洲视频在线观看网站| 先锋亚洲精品| 久久在线精品| 亚洲男人的天堂在线aⅴ视频| 欧美精选在线| 欧美午夜精品久久久久久超碰| 小黄鸭精品aⅴ导航网站入口| 亚洲高清免费在线| 鲁大师成人一区二区三区| 老司机免费视频久久| 欧美黑人多人双交| 久久久视频精品| 一级日韩一区在线观看| 亚洲欧美综合一区| 日韩亚洲成人av在线| 亚洲国产精品日韩| 国产精品地址| 亚洲精品欧美一区二区三区| 亚洲精品国产品国语在线app| 欧美日韩在线亚洲一区蜜芽| 国产精品白丝av嫩草影院| 久久久青草婷婷精品综合日韩| 狠狠色综合网站久久久久久久| 欧美日韩成人精品| 欧美mv日韩mv国产网站app| 国产欧美一区二区精品婷婷| 午夜在线精品偷拍| 久久夜色精品国产| 亚洲手机成人高清视频| 999在线观看精品免费不卡网站| 欧美一级大片在线免费观看| 欧美在线一二三| 黑丝一区二区三区| 欧美三级电影精品| 99国产精品国产精品久久| 亚洲——在线| 国产乱码精品一区二区三区忘忧草| 一本一本久久a久久精品综合麻豆| 亚洲男人天堂2024| 欧美激情中文字幕在线| 日韩五码在线| 亚洲欧美日韩国产另类专区| 亚洲日本aⅴ片在线观看香蕉| 欧美在线91| 欧美日韩a区| 欧美亚洲视频在线看网址| 亚洲欧美日韩综合国产aⅴ| 欧美大香线蕉线伊人久久国产精品| 亚洲国产一区二区三区高清| 一区二区三区四区五区精品| 久久精品免视看| 亚洲欧洲日韩综合二区| 亚洲一区二区精品视频| 欧美日韩一级片在线观看| 开元免费观看欧美电视剧网站| 亚洲四色影视在线观看| 欧美久久久久| 国产精品久久久久秋霞鲁丝| 久久在线免费视频| 亚洲在线国产日韩欧美| 欧美日韩福利在线观看| 国产日韩高清一区二区三区在线| 亚洲欧洲在线观看| 欧美高清在线精品一区| 有码中文亚洲精品| 国产女人aaa级久久久级| 欧美日韩综合精品| 欧美xxx在线观看| 国产精品久久久久久av福利软件| 久久久99免费视频| 欧美在线www| 牛夜精品久久久久久久99黑人| 亚洲第一精品福利| 国产精品一区二区三区观看| 国产毛片一区二区| 欧美国产日韩二区| 亚洲一区二区成人在线观看| 欧美一区二区在线视频| 老司机成人在线视频| 亚洲精品乱码久久久久久| 欧美噜噜久久久xxx| 欧美一区日本一区韩国一区| 欧美天堂亚洲电影院在线观看| 欧美午夜片欧美片在线观看| 欧美日韩一区二区在线观看视频| 久久疯狂做爰流白浆xx| 亚洲国产三级网| 欧美在线影院| 一区二区三区在线观看欧美| 国产精品任我爽爆在线播放| 久久久久看片| 亚洲国产精品一区二区三区| 在线成人激情黄色| 亚洲毛片一区二区| 欧美成人精品激情在线观看| 麻豆精品在线视频| 午夜性色一区二区三区免费视频| 亚洲免费伊人电影在线观看av| 亚洲国产高清一区二区三区| 国产精品v欧美精品v日韩精品| 久久综合亚州| 在线日本高清免费不卡| 国产一区二区高清| 国产欧美精品日韩精品| 国产精品久久久久久久午夜片| 欧美一区二区三区视频在线观看| 亚洲小说区图片区| 影音先锋久久资源网| 一区二区成人精品| 日韩视频二区| 久久久精品一区二区三区| 国内外成人免费激情在线视频| 精品1区2区| 欧美日韩精品在线视频| 国产精品美女久久久久久2018| 国产精品日日摸夜夜添夜夜av| 在线天堂一区av电影| 欧美午夜不卡在线观看免费| 久久免费视频观看| 亚洲第一区中文99精品| 美女国内精品自产拍在线播放| 国产欧美日韩高清| 亚洲午夜av在线| 午夜精品久久久久| 亚洲最新在线| 亚洲精品系列| 久久久国产亚洲精品| 欧美亚韩一区| 久久综合色综合88| 久久精品视频99| 一区二区欧美激情| 老司机凹凸av亚洲导航| 亚洲国产91精品在线观看| 国产欧美日韩另类视频免费观看| 欧美私人网站| 亚洲区国产区| 国产日韩欧美一区在线| 亚洲欧美精品在线观看| 亚洲视频国产视频| 欧美日韩综合视频| 亚洲视频一区在线| 99综合电影在线视频| 亚洲国产视频直播| 欧美三级资源在线| 国产一区二区三区黄视频| 日韩一二三在线视频播| 亚洲午夜在线观看视频在线| 欧美一区二区三区成人| 亚洲视频欧洲视频| 久久综合伊人77777麻豆| 久久久久久一区二区| 国产农村妇女精品一二区| 久久精品一区中文字幕| 国外成人在线视频网站| 国产精品一区在线观看你懂的| 久久精品国产69国产精品亚洲| 欧美特黄一级| 极品尤物av久久免费看| 久久久人成影片一区二区三区观看| 亚洲高清不卡在线观看| 一区二区三区在线免费播放| 久久久久久久综合狠狠综合| 亚洲精品看片| 久久久免费精品视频| 国产精品国产三级国产aⅴ入口| 欧美国产一区在线| 1024成人网色www| 亚洲丶国产丶欧美一区二区三区| 国产精品初高中精品久久| 亚洲欧美在线x视频| 欧美黑人国产人伦爽爽爽| 亚洲午夜免费视频| 久久精品女人的天堂av| 亚洲国产导航| 欧美日韩国产高清| 欧美激情中文字幕在线| 久久成人免费日本黄色| 亚洲国语精品自产拍在线观看| 久久综合影视| 欧美国产三区| 亚洲婷婷在线| 国产自产女人91一区在线观看| 久久精品国产精品亚洲| 午夜精品视频在线| 欧美一区二区高清在线观看| 99国产精品久久久| 欧美一乱一性一交一视频| 国产香蕉久久精品综合网| 在线免费观看欧美| 玖玖玖国产精品| 久久综合伊人77777| 亚洲欧美日韩视频二区| 国产精品入口日韩视频大尺度| 久久久天天操| 在线欧美视频| 欧美国产日韩在线| 亚洲精品色婷婷福利天堂| 国产精品国产自产拍高清av王其| 国内精品**久久毛片app| 国产伦精品一区二区三区四区免费| 小辣椒精品导航| 日韩亚洲国产欧美| 欧美人与禽猛交乱配视频| 国产精品亚洲综合一区在线观看| 国产亚洲一区二区三区在线播放| 国模私拍一区二区三区| 亚洲欧洲一区二区三区| 一区二区三区国产| 国产专区精品视频| 国产精品福利久久久| 亚洲国产成人久久综合| 欧美精品乱人伦久久久久久| 亚洲黄色性网站| 午夜日韩激情| 国产精品夜色7777狼人| 欧美α欧美αv大片| 欧美日韩国产精品一卡| 亚洲国产高清在线观看视频| 亚洲黄页一区| 亚洲婷婷综合久久一本伊一区| 一本色道久久综合亚洲精品婷婷| 一区二区三区高清在线观看| 欧美高清日韩| 久久免费精品日本久久中文字幕| 国产精品久久久久一区二区| 在线成人www免费观看视频| 最新国产成人av网站网址麻豆| 国产精品久久久久久五月尺| 国产精品丝袜91| 亚洲国产视频a| 国内成人在线| 榴莲视频成人在线观看| 麻豆成人在线| 国产精品日韩精品欧美精品| 日韩一级二级三级| 久久久久久国产精品mv| 欧美激情欧美狂野欧美精品| 亚洲一区在线看| 久久亚洲春色中文字幕久久久| 欧美国产一区二区| 免费成人av资源网| 亚洲欧美日韩在线观看a三区| 亚洲欧美视频在线观看视频| 性色av香蕉一区二区| 欧美在线free| 亚洲综合成人在线| 亚洲欧美成人一区二区三区| 国产精品九九久久久久久久| 欧美一区在线看| 麻豆91精品91久久久的内涵| 亚洲成色www8888| 亚洲人成在线影院| 久久久精品视频成人| 国产精品毛片高清在线完整版| 欧美护士18xxxxhd| 在线看成人片| 韩国美女久久| 亚洲欧美变态国产另类| 国产日韩欧美夫妻视频在线观看| 亚洲资源av| 欧美成人在线网站| 99这里只有精品| 一本综合精品| 久久成人国产| 亚洲尤物在线| 欧美亚洲三区| 欧美视频一区二区三区在线观看| 欧美福利视频| 欧美劲爆第一页| 国产亚洲精品久久久久动| 国产视频一区在线观看一区免费| 国产精品午夜在线观看| 欧美日本一道本| 久久色在线播放| 欧美日韩成人一区二区| 国产美女一区| 欧美日韩不卡合集视频| 免费观看成人www动漫视频| 欧美性感一类影片在线播放| 国产精品福利网| 国内外成人免费激情在线视频网站| 国内精品久久久久久久97牛牛| 在线一区二区视频| 国产精品日韩在线播放| 亚洲电影免费观看高清完整版在线观看| 亚洲视频一区| 欧美日韩综合在线免费观看| 欧美国产一区视频在线观看| 欧美日韩一区在线视频| 欧美在线影院在线视频| 欧美第一黄网免费网站| 久久一区亚洲| 欧美精品一区二区三| 有码中文亚洲精品| 欧美一区二区三区免费大片| 国产精品视频专区| 久久亚洲精品一区二区| 亚洲精品日韩精品| 久久亚洲国产精品日日av夜夜| 先锋影音一区二区三区| 麻豆av福利av久久av| 国产精品一区视频网站| 欧美福利视频| 日韩视频在线免费观看| 久久精品免视看| 亚洲男人第一av网站| 欧美亚洲免费在线| 久久精彩视频| 欧美中文字幕在线观看| 亚洲综合欧美| 99国产精品一区| 国产一区二区三区在线观看免费视频| 国产精品国产三级欧美二区| 欧美1区视频| 国产三区二区一区久久| 国产中文一区二区| 国产精品成人一区二区网站软件| 最近看过的日韩成人| 久久久精品tv| 久久天天综合| 久久国内精品视频| 亚洲日本中文| 毛片一区二区三区| 亚洲天堂成人在线观看|