《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > AT89C5131在接口設計中的應用
AT89C5131在接口設計中的應用
摘要: AT89C5131是一個基于52內核的單片機。在存儲器方面,其內部集成了32KB的Flash存儲器用于代碼的存儲,1KB的EEPROM存儲器用于用戶數據的存儲,用戶可以使用片上的Bootloader或Flash API通過USB接口或者其他接口(如UART和I2C總線)對Flash存儲器和EEPROM存儲器進行ISP或者IAP編程。 此外AT89C5131還集成了10位的ADC、I2C總線接口和PCA模塊等豐富的外設。
Abstract:
Key words :

  AT89C5131是一個基于52內核的單片機。在存儲器方面,其內部集成了32KB的Flash存儲器用于代碼的存儲,1KB的EEPROM存儲器用于用戶數據的存儲,用戶可以使用片上的Bootloader或Flash API通過USB接口或者其他接口(如UART和I2C總線)對Flash存儲器和EEPROM存儲器進行ISP或者IAP編程。 此外AT89C5131還集成了10位的ADC、I2C總線接口和PCA模塊等豐富的外設。

  AT89C5131的USB2.0全速從接口的結構如圖3所示,其包括USB D+/D-的接口緩沖,數字鎖相環,串行接口引擎(SIE)和通用功能接口(UFI)。其中數字鎖相環以單片機的時鐘為輸入,產生了USB接口其他部分所需的48MHz時鐘。串行接口引擎完成USB通信物理層NRZI碼的編碼與解碼,CRC生成以及校驗與糾錯。通用功能接口包含了一個雙端口的數據存儲器,其一端與串行接口引擎鏈接,另一端通過數據總線與單片機相連接,使單片機可以通過特殊功能寄存器完成對USB2.0從接口的控制與通信。

  1 系統硬件設計

  基于AT89C5131的通信和控制模塊主要完成以下功能:在通信方面,通過USB實現與計算機的通信,接收計算機對設備的控制命令和計算機發送的數據,并將設備的工作狀態發送給計算機,同時將計算機傳來的控制命令和數據通過SPI接口傳送到其他設備模塊,并收集其他設備模塊的狀態信息;在控制方面,AT89C5131負責收集設備控制顯示面板的控制命令,更新設備顯示狀態等。由于采用USB通信系統,AT89C5131除了能夠根據控制面板控制設備的運行,也能根據計算機的命令控制設備的運行,實現了對設備的雙重控制。該系統中AT89C5131的外圍連接如圖1所示。 

  1.1 AT89C5131的鍵盤端口特性及鍵盤設計

  AT89C5131擁有一個允許與8×n矩陣鍵盤連接的鍵盤接口,其輸入均具有高或低電平可編程中斷能力。鍵盤接口與C51內核的通信通過3個特殊功能寄存器實現,分別是鍵盤電平選擇寄存器(KBLS)、鍵盤中斷使能寄存器(KBE)和鍵盤標志寄存器(KBF)。

  AT89C5131的鍵盤輸入被設計為分享同一個中斷向量的8個獨立的中斷源,寄存器IEN1中的中斷使能位KBD允許鍵盤中斷全局的使能及不使能,根據KBLS每一位的值,每一個鍵盤輸入都有檢測出可編程電平的能力,然后鍵盤檢測就被反應到KBF中,而通過軟件使用KBE可以屏蔽中斷標志KBF.正是這樣的結構使得鍵盤排列可以從1×n延伸至8×n的矩陣,同時還使得P1輸入用于其他用途。

  在該設計中,將4個鍵盤端口(P1.O,P1.2,P1.3,P1.4)及2個外部中斷端口(P3.2,P3.3)與控制面板上的6個按鍵相連;實現系統的內外、啟停、暫停繼續控制及參數組的選擇等功能。這6個端口都采用低電平觸發產生中斷。

  1.2 USB各端口的特性及USB通信設計

  AT89C5131的USB2.0全速從接口包含了7個終端點,其中0號終端點被配置成為默認的控制終端點。其他1~6號終端點都可以通過特殊寄存器配置為控制(Control),突發(Bulk),中斷(Interrupt)和周期性(Isochronous)模式。由于每一個終端點都由一組獨立的寄存器對該終端點進行控制、狀態識別和數據的存取,則如果將這些寄存器直接映射到51單片機的特殊功能寄存器地址空間顯然是容納不下的。因此,這7個終端點的7組寄存器在單片機的地址空間中其實使用的是同一組寄存器的地址,而通過一個特殊功能寄存器(UEPNUM)來選擇當前該組寄存器實際選擇的是哪個終端點的寄存器組,這樣就大大節省了所占用的地址空間,為集成其他特殊外設提供了可能。

  在該設計中,PC機將數據通過USB傳給AT89C5131,傳輸完一次后AT89C5131向PC機回傳數據傳輸正確與否的標志,PC機可以根據收到的標志進行相應的操作。PC機向AT89C5131傳輸的數據主要是參數和控制命令兩種類型。為將其區分開來,使用USB的端口4和端口6接收這兩種數據。其中,端口4用來接收控制命令;端口6用來接收參數。相應地,控制命令的回傳使用端口5;參數的回傳使用端口3.為簡單起見,端口3~端口6均被配置為批量類型;端口3、端口5為IN端口;端口4、端口6為OUT端口。

  1.3 SPI端口特性及SPI通信設計

  SPI(Serial Peripheral Interface--串行外設接口)總線系統是一種同步串行外設接口,它可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR,狀態寄存器SPSR,數據寄存器SPDR.外圍設置FLASHRAM、網絡控制器、LCD顯示驅動器、A/D轉換器和MCU等。SPI總線系統可直接與各個廠家生產的多種標準外圍器件直接接口,該接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI和低電平有效的從機選擇線SS(有的SPI接口芯片帶有中斷信號線INT、有的SPI接口芯片沒有主機輸出/從機輸入數據線MOSI)。SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。

  AT89C5131的SPI模塊允許在McU和其他外圍設備之間實現全雙工、同步、串行通信,它能以配置為主或者從兩種操作模式提供可編程極性和相位串行時鐘,同時還提供8個可編程的主機時鐘率。SPI模塊包括4個端點(MOSI,MISO,SCK,SS),MOSI和MISO都是用來傳輸數據的,且每次只能傳輸1個字節的數據。不同的是,MOSI將數據由主機輸出從機輸入,而MISO正好相反。SCK信號用以使通過MOSI和MI-SO的數據輸人/輸出設備同步,它可以由主機驅動產生8個時鐘周期,用以完成一個字節在串行通道上的交換。SS用于從機的選擇,低有效。SPI模塊的配置和初始化可以通過寄存器SPCON完成,而數據的交換則需要使用寄存器SPSTA和SPDAT兩個寄存器,在軟件編寫過程中,SPI能否正常工作主要取決于對上述3個寄存器的操作。

  在該設計中,SPI被配置為主機模式;SS端口處于無效狀態;AT89C5131通過MOSI端口向DSP傳輸參數及控制命令;DSP通過軟件設置P1.1(SS)端口的狀態表明數據是否正確接收,即若正確接收,則置P1.1為1,否則置P1.1為0;AT89C5131通過檢測P1.1的值來決定是否重傳數據。

  2 系統實現

  要使得上述設計在工程應用中得以實現,在硬件設計的基礎上。還需對接口進行軟件設計。AT89C5131的軟件設計主要是USB固件程序的設計,軟件設計采用C語言編程,最后軟件通過FLIP下載到AT89C5131芯片中。這里所采用的編譯環境為KeilμVision 3軟件設計平臺。在具體的工程實現過程中,也遇到了一些問題,但經過反復的修改及調試,這些問題都得到了很好的解決,其中主要有以下幾個方面:

  按鍵功能實現控制面板按鍵的功能是通過電平觸發中斷實現的。在設計之初,手動按下一次按鍵總會觸發多次中斷,對應的LED顯示總會很快的跳變,不能滿足按一次按鍵就顯示一個狀態的要求,于是筆者就在按鍵功能實現的程序中添加了等待函數,即每發生完一次中斷,就等待一段時間,經過調試,上面的問題沒有再出現。

  USB通信系統系統要求USB能夠快速、高效地實現通信,對于速度問題可以通過Ping-pong模式得以解決。系統還要求USB實現雙向通信,為使其接收和發送數據互不干擾,所以選用了幾個端口實現不同數據的傳輸。

  SPI端口通信 SPI端口工程實現的關鍵是速度和工作模式的匹配。在設計之初,AT89C5131的SPI工作于從機模式,其數據傳輸受到DSP的控制,由于其傳輸速度遠遠低于DSP中SPI端口的處理速度,所以每通過AT89C5131的SPI傳輸一組數據時,DSP總需要通過軟件控制等待很長一段時間,既便如此也不能保證數據得到正確接收。于是,后來就將AT89C5131的SPI工作模式修改為主機模式,由AT89C5131主動控制數據的傳輸。然而實現雙向通信的關鍵是對SS信號的控制,在上述工作模式下,SS必須無效,Slave才能較可靠地向發送寄存器寫數。

  3 結 語

  AT89C5131宜于構成低成本的USB控制和通信系統,能實現計算機與設備的通信,并可靈活選擇多種通信協議。文中介紹基于AT89C5131的接口設計,主要是實現PC機與MCU以及MCU與DSP的通信,該設計已經在工程實際中得到應用。經過實踐檢驗,證明其合理且操作靈活,具有一定的實用意義。在設計過程中,深切體會到硬件設計與軟件設計的極大不同。編譯正確且邏輯沒有問題的程序源代碼,將其燒寫至芯片后,硬件電路并不一定能完全地實現所要求的功能,所以必須經過反復的修改程序、燒寫、調試,直至正確實現功能。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产视频一区在线观看一区免费| 亚洲青色在线| 欧美高清在线| 久久久久国产精品午夜一区| 亚洲欧美区自拍先锋| 亚洲最新视频在线播放| 亚洲国产成人av好男人在线观看| 亚洲欧美中文另类| 亚洲午夜性刺激影院| 洋洋av久久久久久久一区| 亚洲片国产一区一级在线观看| 一区二区三区在线不卡| 国产亚洲毛片在线| 国产精品一区二区在线观看| 国产精品国产福利国产秒拍 | 久久精品在线观看| 欧美一区二视频| 性久久久久久久久| 欧美亚洲视频一区二区| 午夜亚洲性色福利视频| 午夜精品国产更新| 香蕉久久a毛片| 欧美一区二视频| 欧美在线欧美在线| 久久精品国产亚洲aⅴ| 欧美在线高清| 久久亚洲不卡| 久久婷婷综合激情| 欧美jizz19性欧美| 欧美激情亚洲另类| 欧美日韩国产精品一区| 欧美视频一区二| 国产精品黄色| 国产欧美日韩视频一区二区| 国产一区二区av| 精品av久久707| 亚洲激情欧美激情| 亚洲最新视频在线播放| 亚洲无玛一区| 先锋影音一区二区三区| 欧美一区二区三区在线免费观看| 久久激情视频久久| 亚洲欧洲精品一区二区三区 | 欧美美女福利视频| 欧美性猛交xxxx乱大交蜜桃| 国产精品视频男人的天堂 | 国产视频自拍一区| 狠狠色丁香久久婷婷综合_中| 在线欧美亚洲| 日韩小视频在线观看| 亚洲一二三区精品| 久久国产精品一区二区| 亚洲精品午夜| 亚洲淫片在线视频| 久久久999精品视频| 欧美高清不卡在线| 国产精品免费久久久久久| 国产日韩在线一区| 亚洲人成网站在线播| 亚洲一区二区精品| 亚洲电影免费观看高清完整版在线 | 欧美a级大片| 欧美视频二区| 国产资源精品在线观看| 91久久在线播放| 亚洲一区欧美激情| 亚洲国产精品视频一区| 亚洲一区二区三区精品在线观看| 久久久久久久久蜜桃| 欧美另类69精品久久久久9999| 国产精品久久久久av| 亚洲成色www久久网站| 亚洲视频1区| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲午夜精品网| 老司机67194精品线观看| 国产精品福利网| 亚洲第一网站| 亚洲欧美日韩国产综合在线 | 一区二区三区欧美在线观看| 久久精品视频va| 亚洲与欧洲av电影| 欧美激情1区| 国产亚洲电影| 一本大道av伊人久久综合| 亚洲成人在线视频网站| 亚洲男人的天堂在线aⅴ视频| 欧美不卡在线视频| 国产亚洲综合在线| 一区二区91| 99re8这里有精品热视频免费 | 国产精品福利片| 亚洲经典自拍| 久久不射电影网| 亚洲免费在线精品一区| 欧美精品自拍| 精品成人国产| 午夜精品三级视频福利| 亚洲图片你懂的| 欧美激情一区二区三区在线 | 性做久久久久久| 亚洲专区一区二区三区| 欧美精品日韩综合在线| 一区二区亚洲| 欧美一区二区视频在线观看2020| 亚洲女性喷水在线观看一区| 欧美激情视频给我| 悠悠资源网亚洲青| 久久疯狂做爰流白浆xx| 午夜宅男久久久| 国产精品成人v| 一本色道久久精品| 一区二区黄色| 欧美理论电影在线播放| 亚洲欧洲一区二区天堂久久| 亚洲激情啪啪| 免费在线欧美视频| 尹人成人综合网| 久久国产综合精品| 久久久91精品国产一区二区三区| 国产精品一区二区久久精品| 亚洲一区二区伦理| 亚洲欧美综合网| 国产精品久久久亚洲一区| 一区二区三区免费在线观看| 国产精品99久久久久久久久久久久| 欧美精品一区二区视频| 亚洲伦理一区| 一区二区三区精品国产| 欧美日本精品| 日韩一级黄色片| 在线一区二区三区四区| 欧美视频不卡| 亚洲一区二区成人在线观看| 欧美一进一出视频| 国产亚洲aⅴaaaaaa毛片| 久久成人在线| 男女精品网站| 亚洲国产精品va在看黑人| 亚洲精品偷拍| 欧美日精品一区视频| 正在播放欧美一区| 欧美一区二区精品| 国产偷久久久精品专区| 欧美在线一区二区三区| 久久一区二区视频| 亚洲国产高潮在线观看| 日韩一级成人av| 欧美日韩在线三级| 亚洲一二三区在线| 久久精品国产清自在天天线| 精品成人在线| 亚洲精选大片| 欧美日韩一区高清| 亚洲欧美另类在线| 久久天天躁夜夜躁狠狠躁2022 | 亚洲国产高清视频| 亚洲色图综合久久| 国产美女精品视频| 久久精品视频99| 欧美人与禽性xxxxx杂性| 一本色道久久综合亚洲91 | 久久精品卡一| 亚洲国产精品福利| 亚洲一区二区欧美日韩| 国产欧美日韩另类一区| 91久久久国产精品| 欧美午夜精品久久久久久孕妇 | 亚洲国产精品尤物yw在线观看| 一本色道**综合亚洲精品蜜桃冫| 欧美系列一区| 久久大逼视频| 欧美日韩直播| 欧美一级一区| 欧美韩日视频| 亚洲欧美日韩一区在线观看| 男女激情久久| 亚洲一区二区综合| 欧美 日韩 国产一区二区在线视频| 日韩一二三在线视频播| 久久精品在线视频| 99ri日韩精品视频| 久久久久久久久久久成人| 亚洲乱码国产乱码精品精98午夜| 久久不见久久见免费视频1| 亚洲经典视频在线观看| 欧美一区二区三区日韩视频| 亚洲高清二区| 欧美影院成年免费版| 亚洲黄一区二区三区| 欧美伊人久久| 亚洲精品视频免费| 久久亚洲精选| 在线亚洲国产精品网站| 嫩模写真一区二区三区三州| 亚洲综合大片69999| 欧美精品精品一区| 久久国产免费| 国产精品嫩草久久久久| 日韩午夜在线观看视频|