<ol id="ggnjg"><dl id="ggnjg"></dl></ol>

摘  要:<">

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

<mark id="ggnjg"><form id="ggnjg"></form></mark>
<button id="ggnjg"><form id="ggnjg"></form></button>

<mark id="ggnjg"><form id="ggnjg"></form></mark>
    <code id="ggnjg"><dl id="ggnjg"></dl></code>
  1. 
    
    
    技術頻道

    CAN總線控制器的初始化程序


    摘 要:介紹了can總線控制器sja1000芯片,并給出用c51語言編寫sja1000總線控制器的初始化程序,方便使用者學習和掌握。

    關鍵詞:sja1000;can總線;c51;寄存器

    0 引 言

    隨著自動化底層設備通信的需要,使現場總線技術得到了迅速的發展,各廠家都紛紛推出自己的總線控制器。sja1000 就是philips公司推出的一種高性能的can總線控制器,它得到了廣泛的應用,但是有關sja1000初始化的文章比較少見,介紹的程序也不完全,這給使用者增加了難度。為了方便使用者掌握和使用can總線,本文作者成功地運用c51語言初始化sja1000為核心的can總線控制器,縮短了程序開發周期,提高了工作效率。

    1 sja1000的新功能與內部結構

    1.1 sja1000的主要新功能

    sja1000是philips公司早期can總線控制器pca82c200的替代品,功能更強大,與pca82c200相比,具有許多優點,詳見文獻[4].

    1.2 sja1000的內部寄存器

    sja1000的寄存器和管腳配置允許它使用于各種各樣的集成的或分立的can 收發器,這使不同微控制器之間的接口能夠被靈活運用。若要正確、靈活的運用sja1000,就必須了解內部寄存器的地址、功能和作用。sja1000內部寄存器的結構如表1所示(具體每一位的作用,請參閱文獻[2]).

    1.3 sja1000與89c52的連線原理

    為了連接到主控制器,sja1000提供一個復用的地址/數據總線和附加的讀/寫控制信號,見圖1.sja1000能被看作外圍存儲器并為主控制器映射i/o設備。為了保證系統的同步,本電路使用了一個24 mhz的晶振作為sja1000的振蕩器,用它的7號引腳(clkout)作為89c52的時鐘脈沖。本文中sja1000的片選由微控制器的p2.7口控制,其內部寄存器的地址由p0口和p2口共同來決定,p0口為低8位,p2口為高8位。

    圖1 原理接線圖

    2 程 序

    c語言是一種常用的計算機程序設計語言,它既有高級語言的各種特征,又能直接操作系統硬件,而且可以進行結構化程序設計,用c語言編寫的程序很容易移植。近年來出現的各種專為微型計算機設計的c語言編譯器,如美國franklin軟件公司推出的franklin c51,德國keil公司推出keil c軟件,都是高性能的c編譯器,它編譯的目標代碼簡潔且運行速度高。后者是現在比較流行的軟件,它深受單片機開發人員的喜愛。下面就以keil c51為平臺,系統的介紹如何用c51語言對sja1000 can總線控制器進行初始化。

    從圖1可以看到,主控制器89c52的p0.0-p0.7直接與sja1000的ad0-ad7相連,主控制器既要傳送地址,又要傳送數據,就必須對p0口進行分時控制,而sja1000的ad0-ad7正好提供一個復用的地址/數據總線和附加的讀/寫控制信號。

    sja1000由主控制器的程序進行功能配置和激活,因此sja1000能滿足不同屬性的can總線系統的要求。主控制器89c52和sja1000之間的數據交換經過一系列的寄存器控制段和一個ram 信息緩沖器完成,對于主控制器來說,構成發送和接收

    sja1000初始化流程圖

    緩沖器的寄存器和一部份ram的地址窗口,就象是外圍的寄存器。

    sja1000初始化的流程圖如圖2所示。

    為了讓工程技術人員更加深入的學習和使用can總線,這里完整的給出了sja1000的初始化程序。

    程序如下:

    #define crxbyte[0x8000] // 控制寄存器地址

    #define cmrxbyte[0x8001] // 命令寄存器地址

    #define srxbyte[0x8002] // 狀態寄存器地址

    #define irxbyte[0x8003] // 中斷寄存器地址

    #define acrxbyte[0x8004] // 驗收碼寄存器地址

    #define amrxbyte[0x8005] // 驗收屏蔽寄存器地址

    #define btr0xbyte[0x8006] // 總線定時寄存器0地址

    #define btr1xbyte[0x8007] // 總線定時寄存器1地址

    #define ocrxbyte[0x8008] // 輸出控制寄存器地址

    #define trxbyte[0x8009] // 測試寄存器地址

    #define transbuffer1xbyte[0x800a] // 發送緩沖器

    #define transbuffer2xbyte[0x800b]

    #define transbuffer3xbyte[0x800c]

    #define transbuffer4xbyte[0x800d]

    #define transbuffer5xbyte[0x800e]

    #define transbuffer6xbyte[0x800f]

    #define transbuffer7xbyte[0x8010]

    #define transbuffer8xbyte[0x8011]

    #define transbuffer9xbyte[0x8012]

    #define transbuffer10xbyte[0x8013]

    #define rxbuffer1xbyte[0x8014] // 接收緩沖器

    #define rxbuffer2xbyte[0x8015]

    #define rxbuffer3xbyte[0x8016]

    #define rxbuffer4xbyte[0x8017]

    #define rxbuffer5xbyte[0x8018]

    #define rxbuffer6xbyte[0x8019]

    #define rxbuffer7xbyte[0x801a]

    #define rxbuffer8xbyte[0x801b]

    #define rxbuffer9xbyte[0x801c]

    #define rxbuffer10xbyte[0x801d]

    #define cdrxbyte[0x801f] // 時鐘頻分寄存器

    #include “at89x52.h”

    #include “stdio.h”

    #include “math.h”

    #include “intrins.h”

    #include “ctype.h”

    #include “mylib.h”

    #include “absacc.h”

    void init&shy;_can(void) // 初始化sja1000主控制器子函數

    {

    cr=0x01; // 控制寄存器為復位

    cdr=0; // 設置時鐘分頻器

    acr=0; // 驗收碼寄存器

    amr=0xff; // 驗收屏蔽寄存器

    btr0=0x31; // 總線定時寄存器0

    btr1=0x18; &

    文章版權歸西部工控xbgk所有,未經許可不得轉載。

    欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

        国产一区二区中文字幕免费看| 欧美一区日本一区韩国一区| 国产伦精品一区二区三区照片91| 久久九九热re6这里有精品| 亚洲日韩第九十九页| 国产精品一区二区久激情瑜伽| 欧美aⅴ一区二区三区视频| 亚洲欧美电影在线观看| 亚洲人成在线影院| 精品91免费| 国产一区二区精品久久99| 欧美视频日韩| 欧美日韩一区成人| 欧美电影免费观看高清完整版| 久久成人18免费观看| 亚洲午夜一二三区视频| 日韩视频二区| 亚洲国产小视频在线观看| 国产亚洲a∨片在线观看| 国产精品久线观看视频| 欧美三级日韩三级国产三级| 欧美人在线视频| 欧美3dxxxxhd| 欧美国产乱视频| 欧美黄色成人网| 女同一区二区| 欧美高清视频在线| 欧美电影在线免费观看网站| 免费h精品视频在线播放| 免费成人在线视频网站| 美国三级日本三级久久99| 久久视频在线免费观看| 久久米奇亚洲| 蜜乳av另类精品一区二区| 免费试看一区| 欧美精品一区二区三区很污很色的| 免费在线日韩av| 欧美日韩高清在线一区| 欧美三区视频| 国产精品一区二区久久久久| 国产一区再线| 亚洲国产成人精品女人久久久 | 欧美一级视频免费在线观看| 欧美在线视频在线播放完整版免费观看| 午夜精品久久久久久久99黑人| 亚洲欧美日韩国产中文| 亚洲国产成人在线播放| 久久天堂国产精品| 中文久久精品| 狠狠综合久久av一区二区老牛| 麻豆乱码国产一区二区三区| 一区二区三区欧美| 国色天香一区二区| 欧美巨乳在线观看| 欧美自拍偷拍| 一个人看的www久久| 国产一区二区三区久久| 亚洲一卡久久| 久久人人97超碰国产公开结果| 欧美区一区二区三区| 国产一区二区三区精品久久久| 欧美资源在线观看| 99国内精品| 亚洲电影免费观看高清完整版在线观看| 欧美日韩在线另类| 欧美激情亚洲自拍| 欧美精品一区二区精品网 | 久久大综合网| 在线精品视频一区二区| 国产乱码精品一区二区三区av| 欧美精品成人在线| 欧美在线视频观看| 中文亚洲视频在线| 亚洲国产精品久久久久| 国产精品资源在线观看| 欧美日韩一区二区精品| 欧美a级在线| 久久国产精彩视频| 亚洲欧美日韩精品综合在线观看 | 久久精品国产综合| 亚洲一区二区在线| 一区二区高清在线| 亚洲精品国产精品国自产在线| 狠狠色丁香婷婷综合影院| 国产精品羞羞答答| 欧美系列亚洲系列| 欧美色道久久88综合亚洲精品| 欧美国产激情| 美女黄网久久| 农夫在线精品视频免费观看| 久久精品天堂| 久久成人精品一区二区三区| 欧美一区二区精品在线| 亚洲欧美激情精品一区二区| 一个色综合av| 一区二区三区欧美日韩| 亚洲视频第一页| 亚洲一区二区三区四区中文| 中日韩美女免费视频网址在线观看| 亚洲日韩视频| 99国产精品久久| 国产精品99久久久久久久vr| 在线视频日韩精品| 亚洲影视在线播放| 午夜国产精品影院在线观看| 亚洲欧美在线视频观看| 欧美在线精品免播放器视频| 久久精品国产999大香线蕉| 久久精品国产亚洲a| 葵司免费一区二区三区四区五区| 男女激情视频一区| 欧美黄色aa电影| 国产精品第十页| 国产日韩精品一区二区| 好吊色欧美一区二区三区四区 | 亚洲国产精品成人久久综合一区| 亚洲国产网站| 一本色道久久综合狠狠躁篇的优点| 亚洲一二三区在线| 欧美一区二区三区免费观看| 久久精品天堂| 欧美高清视频在线| 国产精品另类一区| 一区视频在线播放| 亚洲精选成人| 午夜视频精品| 欧美激情亚洲国产| 国产精品一区二区三区乱码| 伊人影院久久| 亚洲视频欧美在线| 久久久亚洲精品一区二区三区 | 久久久精品视频成人| 欧美成人69| 国产精品丝袜白浆摸在线| 国语自产精品视频在线看8查询8 | 这里只有视频精品| 久久国产精品高清| 欧美日韩黄视频| 狠狠色综合日日| 夜色激情一区二区| 久久久噜久噜久久综合| 欧美色图一区二区三区| 国产专区欧美专区| 亚洲视频香蕉人妖| 久热综合在线亚洲精品| 国产精品任我爽爆在线播放| 亚洲国产婷婷| 欧美在线视频观看免费网站| 欧美激情精品久久久久久黑人| 国产精品三区www17con| 亚洲国产精品va在线看黑人动漫| 午夜一区二区三区在线观看| 欧美激情在线观看| 黄色一区三区| 香蕉久久精品日日躁夜夜躁| 欧美精品久久久久久久免费观看 | 欧美精品黄色| 激情六月婷婷久久| 欧美亚洲视频在线观看| 欧美网站在线观看| 亚洲乱码国产乱码精品精| 久久久精品国产99久久精品芒果| 欧美另类一区| 91久久夜色精品国产九色| 久久久久99| 国产一区二区三区四区五区美女| 亚洲欧美国产va在线影院| 欧美伦理一区二区| 最新国产成人av网站网址麻豆| 久久久.com| 极品少妇一区二区三区| 欧美一区二区啪啪| 国产精品久久久一本精品| aaa亚洲精品一二三区| 欧美国产在线电影| 亚洲精品久久久久中文字幕欢迎你 | 国产精品久久久爽爽爽麻豆色哟哟| 亚洲人精品午夜| 乱码第一页成人| 亚洲第一中文字幕在线观看| 美女视频网站黄色亚洲| 亚洲高清在线精品| 媚黑女一区二区| 1024日韩| 欧美劲爆第一页| 99国产成+人+综合+亚洲欧美| 欧美日韩国产综合视频在线观看| 亚洲日本中文字幕免费在线不卡| 欧美精品电影在线| 一区二区精品在线| 欧美午夜不卡在线观看免费 | 亚洲一区二区三区四区视频| 国产精品美女一区二区在线观看 | 午夜视频精品| 国产婷婷色综合av蜜臀av| 久久激情视频| 亚洲国产三级| 欧美日韩一区综合| 亚洲综合不卡| 韩国三级电影一区二区|