久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機與8255芯片連接詳解

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年01月08日   【字體:

就我們平時所用到8255的功能,本人認為很簡單!!

為什么這么說呢?

其實我只是把8255看成一個139譯碼器(2-4),CS為片選,A0,A1分別選中PA,PB,PC,D口(控制寄存器),唯一不同的是可以通過D口控制PA,PB,PC的工作方式。先來看看8255的引腳圖 http://www.zg4o1577.cn/chip/161.html 

 首先CS=0,即P25=0,然后就是通過P21,P22分別選中幾個口。所以PA的地址可以0000-D9FF

同理PB:DBFF,PC:DDFF,CON:DFFF。

通過配置D口來控制P口的功能,不管三七二十一,都配置成輸出就可以(方式一)。

#include <absacc.h>
#define a8255_PA    XBYTE[0xD1FF]     /*PA口地址*/
#define a8255_PB    XBYTE[0xD2FF]     /*PB口地址*/
#define a8255_PC    XBYTE[0xDDFF]     /*PC口地址*/
#define a8255_CON   XBYTE[0xDFFF]     /*控制字地址*/

a8255_CON=0x81;


以上是例子的程序里面配置的,由于開始沒有看到這個頭文件,看到這程序感覺有點懵,后面我看了頭文件的東西,哈哈,原來是這么回事啊!當然他頭文件里面有很多東西,其實只有只一句起作用:#define XBYTE ((unsigned char volatile xdata *) 0)

幸虧看ARM的時候見過這東西,不然真的不知道怎么辦了!!!!

#define XBYTE ((unsigned char volatile xdata *) 0)
定義 :XBYTE 為 指向 外部 地址空間

           unsigned char 數據類型的指針,指針值為0(我也不知道為什么為char型)

          至于 volatile的作用就是讓編譯器不至于優化掉它的操作(不是特別理解)
這樣,可以直接用XBYTE[0xnnnn]或*(XBYTE+0xnnnn)訪問外部RAM了。

所以我們用8255的時候可以不用頭文件。

#define XBYTE ((unsigned char volatile xdata *) 0)

#define a8255_PA    XBYTE[0xD1FF]     /*PA口地址*/
#define a8255_PB    XBYTE[0xD2FF]     /*PB口地址*/
#define a8255_PC    XBYTE[0xDDFF]     /*PC口地址*/
#define a8255_CON   XBYTE[0xDFFF]     /*控制字地址*/

  只要把上面五行代碼拷貝進去就行了!unsigned char 數據類型的指針,指針值為0(我也不知道為什么為char型)
這是c語言中的強制轉換,轉換成什么類型根據要轉換成的目標的單位長度,單片機是8位的,都是以字節為單位,所以轉換成char。在arm中,一般就要轉成unsigned int(4字節)。當然,如果操作的外設的數據寬度是16bits,就要轉換成unsigned short

關閉窗口

相關文章

主站蜘蛛池模板: 精品一区二区三区在线观看国产 | 色综合色综合色综合 | 欧美精品一区二区免费 | 久久成人一区 | 亚洲欧美日韩高清 | 国产亚洲精品久久yy50 | 不卡一区 | 成人av在线大片 | 国产精品福利一区二区三区 | 亚洲精品2| 天堂亚洲 | 亚洲精品av在线 | 一区2区 | 免费看一级毛片 | 正在播放国产精品 | 国产日韩欧美一区 | 亚洲va欧美va人人爽午夜 | 成人在线播放网站 | 欧美日韩在线一区二区 | 色综合色综合 | 日本免费在线 | 色免费在线视频 | 久久久久国产精品免费免费搜索 | 久久er精品 | 欧美一级毛片久久99精品蜜桃 | 久久久久亚洲精品中文字幕 | 91网在线播放 | 国产免费黄网 | 午夜欧美| 欧美freesex黑人又粗又大 | 亚洲自拍偷拍免费视频 | 亚洲精品电影网在线观看 | 国产精品色一区二区三区 | 国产高清免费 | 日本不卡高字幕在线2019 | 国产一区二区三区四区三区四 | 免费超碰 | 天天操网 | 久久人人国产 | 成人在线小视频 | 午夜精品久久久久久久久久久久久 |