日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)串行外圍接口電路的三線式結(jié)構(gòu)設(shè)計(jì)

單片機(jī)串行外圍接口電路的三線式結(jié)構(gòu)設(shè)計(jì)

關(guān)鍵字:串行 SPI 作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:3

SPI總線接口芯片為完成單片機(jī)的常規(guī)外圍電路擴(kuò)展設(shè)計(jì)帶來了機(jī)遇,可擴(kuò)展的外圍電路包括A/D與D/A轉(zhuǎn)換器、顯示、時(shí)鐘、存儲(chǔ)器、監(jiān)視復(fù)位、I/O、顯示等。本文利用國內(nèi)目前較為流行的I2C,SPI串行通信協(xié)議實(shí)現(xiàn)單片機(jī)外圍電路的A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、時(shí)鐘、I/O擴(kuò)展、E2PROM以及LED驅(qū)動(dòng)器件的擴(kuò)展功能,實(shí)現(xiàn)了單片機(jī)系統(tǒng)功能模塊化,電路集成化的目的。

1 SPI集成接口芯片功能及應(yīng)用

1.1 A/D轉(zhuǎn)換器

單片機(jī)應(yīng)用系統(tǒng)中典型的應(yīng)用模式是通過傳感器采集現(xiàn)場的微弱信號(hào)參數(shù),經(jīng)過濾波放大處理后再通過A/D模數(shù)轉(zhuǎn)換送至單片機(jī)系統(tǒng)實(shí)現(xiàn)各種工業(yè)調(diào)節(jié)和控制,在此過程中A/D轉(zhuǎn)換電路的設(shè)計(jì)尤其重要。早期的A/D轉(zhuǎn)換器與CPU接口一般采用并行總線方式,新型A/D轉(zhuǎn)換器采用I2C,SPI總線方式可節(jié)省CPU的I/O資源,使產(chǎn)品小型化。本文中選用的A/D轉(zhuǎn)換器為SPI串行總線接口的10位模數(shù)轉(zhuǎn)換器TLC1549。

1.2 D/A轉(zhuǎn)換器

D/A轉(zhuǎn)換器的種類繁多,從接口形式而言,有串口和并口之分。目前新型的D/A轉(zhuǎn)換器大都采用了串行總線協(xié)議。D/A芯片的輸出形式有電流型和電壓型兩種,由于電流輸出形式在實(shí)際電路中必須將輸出轉(zhuǎn)換成電壓輸出。為了簡化電路和提高可靠性,本文選用電壓型的SPI串行總線接口TLC5615 D/A轉(zhuǎn)換器。

1.3 驅(qū)動(dòng)顯示器接口芯片

目前廣泛使用的顯示器件主要有LED(二極管顯示管)、LCD(液晶顯示器)和VFD(真空熒光管)等。LCD和VFD顯示器顯示成本較高,而LED顯示器造價(jià)低廉,與單片機(jī)接口方便靈活,技術(shù)上易于實(shí)現(xiàn),通常用于顯示阿拉伯?dāng)?shù)字和少數(shù)字符。本文選用LED作為顯示器件。串行總線方式的LED顯示器接口芯片與并行方式相比,僅占有CPU的少數(shù)幾根I/O口線便可實(shí)現(xiàn)LED功能,因此本設(shè)計(jì)中采用了SPI串行接口顯示驅(qū)動(dòng)芯片MAX7219。

1.4 看門狗芯片X5045

單片機(jī)應(yīng)用系統(tǒng)(或產(chǎn)品)在運(yùn)行中會(huì)受到各種各樣的干擾,導(dǎo)致系統(tǒng)內(nèi)部數(shù)據(jù)出錯(cuò)或嚴(yán)重影響程序的運(yùn)行。因此,單片機(jī)應(yīng)用系統(tǒng)的開發(fā)要考慮系統(tǒng)的可靠性設(shè)計(jì)。“看門狗”是系統(tǒng)可靠性設(shè)計(jì)中的重要一環(huán)。所謂“看門狗”是指在單片機(jī)程序設(shè)計(jì)中采用的一種程序監(jiān)視技術(shù),當(dāng)單片機(jī)受到干擾失控導(dǎo)致程序跑飛或陷入死循環(huán)時(shí),通過采取一定的軟硬件措施使程序脫離死循環(huán)或重新運(yùn)行。本文中選用多功能芯片X5045。

1.5 I/O擴(kuò)展芯片PCF8574

目前,在單片機(jī)應(yīng)用系統(tǒng)的外圍串行擴(kuò)展接口器件中,除了上述SPI總線以外,還有I2C總線。I2C總線提供了較完善的總線協(xié)議和最簡單的串行連接方式,并提供了總線操作的狀態(tài)處理軟件包。本文在設(shè)計(jì)中加入常用的I2C總線的I/O擴(kuò)展片PCF8574,用他來增加單片機(jī)的I/O口,提高單片機(jī)的外掛器件的能力。PCF8574具有低的電流損耗并有輸出鎖存功能,能輸出大電流,可直接驅(qū)動(dòng)LED發(fā)光管。

2 硬件設(shè)計(jì)

本次設(shè)計(jì)所有的接口芯片均采用串行方式,串行方式通信有單線、兩線、三線等多種方式,其中以兩線、三線最為流行。在本次設(shè)計(jì)中,主要采用三線方式,即SPI(SerialPeripheral Interface,串行接口)。設(shè)計(jì)中所用的接口器件包括A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、實(shí)時(shí)時(shí)鐘、存儲(chǔ)器、看門狗、I/O、LED顯示器。在本次設(shè)計(jì)中采用的是51系列的單片機(jī)作為主CPU,而他不具有SPI接口系統(tǒng),故不可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)的SPI外圍器件直接接口。為了解決這一難題,在本設(shè)計(jì)中使用軟件來模擬SPI系統(tǒng)中的4條線:串行時(shí)鐘總線SCK、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MOSO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線/CS。用P2.1模擬CPU的數(shù)據(jù)輸出端(MOSI),P2.0模擬CPU的數(shù)據(jù)輸入端(MOSO),P2.2模擬CPU的SCK輸出端。外圍接口芯片公用這三條控制線,但在這種方式下,每次只能驅(qū)動(dòng)執(zhí)行一片芯片。鑒于SPI與I2C總線電路設(shè)計(jì)、時(shí)序和程序設(shè)計(jì)的不同,又在本次設(shè)計(jì)中加入了一片I2C總線接口的I/O擴(kuò)展芯片,用P1.0來模擬SDA,用P1.1來模擬SCL,以便了解兩者的截然不同之處。硬件框圖如圖1所示。

3 軟件設(shè)計(jì)

用PCF8574來擴(kuò)展I/O端口,低四位為燈,高四位為小開關(guān),通過中斷的方法讀入I/O的狀態(tài)。經(jīng)過取高四位,打到低四位,以點(diǎn)亮或熄滅相應(yīng)的指示燈。整個(gè)系統(tǒng)在工作中,只要按下任意一個(gè)鍵都將使PCF8574產(chǎn)生中斷申請信號(hào),使CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序中,CPU根據(jù)按鍵的狀態(tài)控制程序轉(zhuǎn)移。按下鍵1,調(diào)用A/D轉(zhuǎn)換子程序;按下鍵2,調(diào)用顯示子程序;按下鍵3,調(diào)用D/A轉(zhuǎn)換子程序,用示波器觀察其輸出波形;按下鍵4,調(diào)用看門狗芯片X5045的工作子程序,進(jìn)行單字節(jié)的寫、讀。軟件總體流程框圖見圖2。

4 結(jié) 語

目前,單片機(jī)應(yīng)用系統(tǒng)的外圍擴(kuò)展已從并行方式為主過渡到以串行方式為主的時(shí)代。許多新型外圍器件都帶有UART的移位寄存器方式,MOTOROLA公司的SPI、NS公司的Microwire、Dallas公司的1-wire和Philips公司的I2C總線等,他們都提供了較完善的總線協(xié)議,連接方式簡單,在擴(kuò)展外圍器件設(shè)計(jì)中得到廣泛的應(yīng)用。本文通過在設(shè)計(jì)中使用MCS-51的I/O口來模擬總線接口,實(shí)現(xiàn)了單片機(jī)與串行總線接口器件的數(shù)據(jù)傳輸,該方案已通過調(diào)試,整個(gè)單片機(jī)系統(tǒng)運(yùn)行良好。試驗(yàn)表明MCS-51的I/O口來模擬總線接口的方法在設(shè)計(jì)中可行有效。

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

大兴区| 昔阳县| 喀什市| 湛江市| 当阳市| 许昌市| 奉新县| 陈巴尔虎旗| 竹北市| 始兴县| 无棣县| 常山县| 河曲县| 固原市| 连云港市| 微博| 泰安市| 车致| 北流市| 肥乡县| 沙洋县| 乌鲁木齐市| 曲沃县| 河池市| 大兴区| 青冈县| 武冈市| 泸州市| 永州市| 赤水市| 子洲县| 龙南县| 万盛区| 武陟县| 姜堰市| 浮山县| 繁峙县| 美姑县| 开平市| 平顺县| 商洛市|