亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于proteus的C51單片機(jī)I2C總線的實(shí)現(xiàn)

        2017-09-03 07:58:08王九龍鄭貴金
        綏化學(xué)院學(xué)報(bào) 2017年8期
        關(guān)鍵詞:綏化字節(jié)時(shí)序

        王九龍 鄭貴金

        (綏化學(xué)院電氣工程學(xué)院 黑龍江綏化 152061)

        基于proteus的C51單片機(jī)I2C總線的實(shí)現(xiàn)

        王九龍 鄭貴金

        (綏化學(xué)院電氣工程學(xué)院 黑龍江綏化 152061)

        I2C總線是由Philips公司設(shè)計(jì)的一款具有兩根接口的總線,其中一個(gè)接口為SCL,為時(shí)鐘信號(hào),另一個(gè)接口為SDA,是數(shù)據(jù)信號(hào),這種總線具有很多有優(yōu)點(diǎn),如:接口線的數(shù)量少,通信速度比較快等。由于80C51系列單片機(jī)并沒有配置I2C總線接口,給I2C總線的使用帶來了不便。文章分別通過C語言與匯編語言分別對(duì)I2C時(shí)序進(jìn)行編程,模擬了I2C總線在芯片間的通信。并在proteus軟件上進(jìn)行了讀寫仿真驗(yàn)證。

        I2C 總線;proteus;數(shù)據(jù)傳輸;AT24C04

        一、I2C總線的架構(gòu)

        I2C總線是能夠自動(dòng)找尋從器件的地址、使得較高速率設(shè)備與較低速率的設(shè)備之間實(shí)現(xiàn)同步傳輸和優(yōu)化的挑選需要的從器件進(jìn)行高性能數(shù)據(jù)傳送的總線。這種總線是以串行的方式在主期間與從器件之間進(jìn)行數(shù)據(jù)傳送的。I2C總線有兩根可以進(jìn)行雙向數(shù)據(jù)傳送的端口,一個(gè)端口是SDA,另一個(gè)端口是SCL[1-2]。其中,SCL負(fù)責(zé)時(shí)鐘信號(hào)的輸入,用來控制數(shù)據(jù)雙向傳送的時(shí)間順序,SDA負(fù)責(zé)數(shù)據(jù)的串行輸入,互相連接設(shè)備的所有數(shù)據(jù)端口均懸掛在此線上。圖1為所示I2C的架構(gòu)。

        圖1 I2C總線的架構(gòu)

        二、I2C總線的時(shí)序及程序?qū)崿F(xiàn)

        (一)I2C總線的典型信號(hào)及實(shí)現(xiàn)。I2C總線的數(shù)據(jù)傳輸有嚴(yán)格的時(shí)序要求,但主要包括以下四種典型信號(hào):1)起始信號(hào) S,2)終止信號(hào) P,3)發(fā)送應(yīng)答信號(hào)(0),4)發(fā)送非應(yīng)答信號(hào)(1)[3-4]。如圖2所示。

        圖2 起始信號(hào)、終止信號(hào)、發(fā)送應(yīng)答信號(hào)、發(fā)送非應(yīng)答信號(hào)時(shí)序

        1.起始信號(hào)S。起始信號(hào)是用來啟動(dòng)該總線的,為了保證起始信號(hào)有效,需要嚴(yán)格按照?qǐng)D2所示的時(shí)間順序進(jìn)行,其中兩種信號(hào)的持續(xù)時(shí)間,均不能低于圖中所標(biāo)示的時(shí)間。實(shí)現(xiàn)程序如下:

        2.終止信號(hào)P。終止信號(hào)是用來釋放該總線的,為了保證終止信號(hào)有效,需要嚴(yán)格按照?qǐng)D2所示的時(shí)間順序進(jìn)行,其中兩種信號(hào)的持續(xù)時(shí)間,均不能低于圖中所標(biāo)示的時(shí)間。實(shí)現(xiàn)程序如下:

        3.發(fā)送應(yīng)答信號(hào)(0)。從器件通過接受應(yīng)答信號(hào)通知主器件,一個(gè)字節(jié)的數(shù)據(jù)已被成功接受。只有嚴(yán)格按照?qǐng)D中所標(biāo)示的時(shí)間順序進(jìn)行且兩種信號(hào)的持續(xù)時(shí)間均不低于所標(biāo)注的時(shí)間,發(fā)送應(yīng)答信號(hào)才有效。實(shí)現(xiàn)程序如下:

        4.發(fā)送非應(yīng)答信號(hào)(1)。從器件通過接受非應(yīng)答信號(hào)通知主器件,一個(gè)字節(jié)的數(shù)據(jù)接受失敗。只有嚴(yán)格按照?qǐng)D中所標(biāo)示的時(shí)間順序進(jìn)行且兩種信號(hào)的持續(xù)時(shí)間均不低于所標(biāo)注的時(shí)間,發(fā)送非應(yīng)答信號(hào)才有效。實(shí)現(xiàn)程序如下:

        (二)I2C總線的讀寫傳輸格式。

        1.主機(jī)的寫操作格式。首先,主機(jī)會(huì)先發(fā)出起始信號(hào)S,從而使得I2C總線啟動(dòng);之后進(jìn)行從器件的選擇,會(huì)下發(fā)一個(gè)控制字節(jié);剛才被選中的從器件在進(jìn)行確認(rèn)地址后,會(huì)在SDA線上發(fā)送一個(gè)應(yīng)答信號(hào),以回復(fù)主器件。主機(jī)接收到應(yīng)答信號(hào)后開始數(shù)據(jù)傳送。傳送數(shù)據(jù)開始后,主機(jī)發(fā)送一個(gè)字節(jié)內(nèi)容以確認(rèn)寫入地址,當(dāng)主機(jī)接收到從器件發(fā)送回來的應(yīng)答信號(hào)之后,主機(jī)開始一個(gè)個(gè)發(fā)送需要傳送的字節(jié)的每一位(從高位到低位)。每完成一個(gè)數(shù)據(jù)需等待一個(gè)回答。當(dāng)主機(jī)發(fā)送了P信號(hào)后,總線的控制權(quán)將被交出,終止操作[5]。如圖3。

        圖3 主機(jī)寫操作格式

        2.主機(jī)的讀操作格式。對(duì)從機(jī)進(jìn)行讀出時(shí),主機(jī)須先發(fā)送一個(gè)對(duì)該從器件的控制字節(jié)即“偽寫”。偽寫的目的是選擇讀出從器件,從器件確認(rèn)是自己的地址后,在總線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為響應(yīng)。隨后,主機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)以確定讀出首地址,主機(jī)收到從器件的應(yīng)答信號(hào)后,重復(fù)一次起始信號(hào),并將數(shù)據(jù)傳送方向確定為“讀出”。收到應(yīng)答信號(hào)后開始讀取各字節(jié)。每讀取一個(gè)字節(jié),主機(jī)都要回復(fù)應(yīng)答信號(hào)。直到所有的數(shù)據(jù)讀取完后,主機(jī)將返回一個(gè)“非應(yīng)答信號(hào)(0)”,以通知從器件所有的數(shù)據(jù)均以讀取完畢,隨后,主機(jī)將會(huì)發(fā)出一個(gè)P信號(hào),總線的控制權(quán)將被交出,結(jié)束操作[6]。如圖4。

        圖4 主機(jī)讀操作格式

        三、89C51單片機(jī)的I2C總線硬件搭建

        為了模擬I2C總線在89C51系列單片機(jī)背景下芯片間的通信。本文在proteus上搭建了AT89C51單片機(jī)與AT24C04C的通信模型[7]。AT24C04 E2PROM是典型的I2C總線接口器件,容量為512B[8-9]。仿真電路模型如圖5所示。

        圖5 AT89C51與AT24C04C通信仿真電路

        仿真電路包含復(fù)位電路、晶振電路、I2C通訊部分電路與輸出電路四部分。利用P1.4口輸出SCL時(shí)鐘信號(hào),利用P1.5口輸出SDA數(shù)據(jù)信號(hào)[10-11]。

        四、AT89C51單片機(jī)模擬I2C的仿真運(yùn)行

        在上文給出的通信仿真電路上,模擬AT89C51與AT24C04C通信[12-13]。

        (一)模擬AT89C51單片機(jī)向AT24C04C內(nèi)寫入數(shù)據(jù)。通過控制SCL時(shí)鐘線與SDA信號(hào)線,預(yù)將16個(gè)十六進(jìn)制數(shù)分別寫入AT24C04C的0x00~0x0f單元中。對(duì)應(yīng)單元的內(nèi)容見表1。

        表1 16個(gè)單元內(nèi)的16個(gè)數(shù)據(jù)對(duì)照表

        仿真運(yùn)行后,AT24C04C0x00~0x0f單元的數(shù)據(jù)見圖6。

        圖6 仿真后AT24C04C中0x00~0x0f單元的數(shù)據(jù)

        由此可見,AT24C04C的0x00~0x0f單元內(nèi)的數(shù)據(jù)與預(yù)寫入數(shù)據(jù)內(nèi)容一致,AT89C51單片機(jī)向AT24C04C內(nèi)寫入數(shù)據(jù)仿真成功。

        (二)模擬AT89C51單片機(jī)從AT24C04C內(nèi)讀出數(shù)據(jù)。將剛剛寫入的16個(gè)數(shù)據(jù)從AT24C04C內(nèi)部讀入89C51單片機(jī)[14],并由P2.0口輸出,驅(qū)動(dòng)共陽極的8個(gè)LED等閃爍,根據(jù)讀出數(shù)據(jù)可知,將產(chǎn)生流水燈的效果。P2口的字節(jié)地址為0xa0,當(dāng)然,也可從C51的特殊功能寄存器(SFR)內(nèi)讀該數(shù)據(jù)。如圖7、如圖8所示。

        圖7 P2口輸出0x04時(shí),對(duì)應(yīng)的仿真現(xiàn)象

        圖8 89C51單片機(jī)SFR的0xa0中同一時(shí)刻數(shù)據(jù)

        經(jīng)過仿真驗(yàn)證,89C51單片機(jī)所讀數(shù)據(jù)與所寫數(shù)據(jù)一致,AT89C51單片機(jī)向AT24C04C內(nèi)讀出數(shù)據(jù)仿真成功。

        五、總結(jié)

        本文通過proteus搭建了AT89C51單片機(jī)與AT24C04C芯片進(jìn)行I2C通信的仿真電路,經(jīng)proteus仿真通信模型驗(yàn)證后,表明數(shù)據(jù)的寫入與讀取均能順利完成。在C51系列單片機(jī)沒有I2C總線的情況下,成功模擬出I2C總線在芯片間的通信。并使用C語言與匯編語言編寫出I2C的4種典型時(shí)序及其數(shù)據(jù)的讀寫格式。經(jīng)驗(yàn)證,程序簡(jiǎn)潔有效。

        [1]李全利.單片機(jī)原理及接口技術(shù)[M].北京:高等教育出版社,2009.

        [2]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.

        [3]馬忠梅,等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2007.

        [4]伍馮潔.Proteus虛擬仿真技術(shù)在I2C總線通信中的應(yīng)用[J].太赫茲科學(xué)與電子信息學(xué)報(bào),2015(4):675-678.

        [5]黃鑫,王玉林,謝靜.基于I2C總線的單片機(jī)系統(tǒng)設(shè)計(jì)與虛擬仿真[J].儀器儀表用戶,2010(4):44-46.

        [6]劉文光,張銘銘.51單片機(jī)I2C總線接口仿真研究[J].電子制作,2012(10):1-2.

        [7]張遠(yuǎn)輝,張鼎,許昌,等.基于Proteus的XY數(shù)控工作臺(tái)仿真模型設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2015(3):133-136.

        [8]趙輝,董德存.I2C總線技術(shù)及其應(yīng)用實(shí)例[J].微型電腦應(yīng)用,2005(4):61-63+66.

        [9]石宗義.I2C總線時(shí)序分析及其模擬[J].太原理工大學(xué)學(xué)報(bào),2004(1):53-56.

        [10]劉心紅,郭福田,孫振興,等.Proteus仿真技術(shù)在單片機(jī)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2007(3):96-98+102.

        [11]汪寧.Proteus軟件的單片機(jī)仿真方法[J].山東輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2007(1):24-27.

        [12]周靈彬,張靖武.PROTEUS的單片機(jī)教學(xué)與應(yīng)用仿真[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(1):76-79.

        [13]葉建波,朱雙東.基于Proteus的單片機(jī)電路的虛擬仿真[J].電子工程師,2008(11):23-24+67.

        [14]陳知紅,王錦蘭.Proteus仿真軟件在電工學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2014(2):93-95+128.

        [責(zé)任編輯 鄭麗娟]

        TP273

        A

        2095-0438(2017)08-0151-05

        2017-02-02

        王九龍(1988-),男,陜西寶雞人,綏化學(xué)院電氣工程學(xué)院助教,碩士,研究方向:嵌入式開發(fā)設(shè)計(jì)。

        猜你喜歡
        綏化字節(jié)時(shí)序
        時(shí)序坐標(biāo)
        何藩紀(jì)實(shí)攝影創(chuàng)作中的主觀因素研究
        基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        綏化天氣雷達(dá)系統(tǒng)建設(shè)實(shí)施過程的關(guān)鍵點(diǎn)回顧
        黑龍江氣象(2021年2期)2021-11-05 07:07:08
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        新聞評(píng)論應(yīng)注意在“度”和“點(diǎn)”上著力——《綏化日?qǐng)?bào)》加強(qiáng)輿論引導(dǎo)能力的實(shí)踐與思考
        新聞傳播(2018年5期)2018-05-30 07:03:01
        簡(jiǎn)談MC7字節(jié)碼
        一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        綏化三館兒
        婦女之友(2014年4期)2014-06-12 04:04:28
        中文字幕综合一区二区| 欧美噜噜久久久xxx| 99精品国产成人一区二区| 中国内射xxxx6981少妇| 无码人妻系列不卡免费视频| 自拍视频在线观看成人| 国产优质av一区二区三区| 亚洲精品久久国产精品| 欧洲精品免费一区二区三区| 国产日韩久久久精品影院首页| 一区二区三区精彩视频在线观看| 中文字幕日本在线乱码| 国产免费观看黄av片| 国产成人av性色在线影院色戒| 国产偷国产偷亚洲欧美高清| 中文字幕一区二区在线看| 国产精品国产三级国产aⅴ下载| 日韩精品久久无码中文字幕| 国产人澡人澡澡澡人碰视频| 国产在线观看免费一级| 东京热加勒比视频一区| 国产熟女内射oooo| 国产激情对白一区二区三区四| 亚洲一区二区国产精品视频| 亚洲精品视频中文字幕| 欧美日韩精品一区二区三区高清视频| 免费毛片视频网站| 久久伊人久久伊人久久| 中文字幕无码中文字幕有码| 色婷婷综合中文久久一本| 国产美女a做受大片免费| 国产美腿丝袜一区二区| 北条麻妃国产九九九精品视频| 国产主播福利一区二区| 国产精品久久中文字幕亚洲| 天堂网站一区二区三区| 末发育娇小性色xxxxx视频| 国产中文久久精品| 亚洲国产综合精品中久| 日产亚洲一区二区三区| 精品无码久久久九九九AV|