久久久久久久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://m.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

關閉窗口

相關文章

主站蜘蛛池模板: 久久精品一区 | 91热在线 | 久久亚洲国产 | 欧美日韩在线视频观看 | 国产精品亚洲一区 | 亚洲视频 欧美视频 | 中文日韩字幕 | 免费成人高清 | 亚洲三区视频 | 久久久www成人免费精品张筱雨 | 青青草这里只有精品 | 国产高清在线观看 | 亚洲第一福利视频 | 精品一区二区在线观看 | 久久一区二区视频 | 国产三级电影网站 | 国产综合精品一区二区三区 | 99在线精品视频 | 91大神xh98xh系列全部 | 亚洲成人一区二区三区 | 精品欧美一区二区在线观看欧美熟 | 成人在线免费 | 欧美成人精品在线观看 | 精品国产乱码久久久 | 日韩欧美在线观看 | 在线观看免费高清av | 成人久久 | 卡通动漫第一页 | 成年人免费网站 | 国产欧美日韩综合精品一区二区 | 久久不卡区 | 成人在线视频网 | 国产成人免费视频网站视频社区 | 伊人久久麻豆 | 国产日韩91 | 天天狠狠| 精品福利在线视频 | 精品熟人一区二区三区四区 | 91大神在线资源观看无广告 | 视频一区在线 | 综合二区 |