51單片機的IO擴展-8255仿真圖:
- /*
- 在應用系統中擴展1片8255, 使A口接8個發光二極管,B口接8個開關,
- A口工作在方式1輸出, B口工作在方式0輸入
- 要求: 將開關狀態賦值到LED燈上
- */
- #include<reg51.h>
- #include<absacc.h>
- #define uchar unsigned char
- #define uint unsigned int
- //PA、PB、PC端口及命令端口地址定義
- //#define PA XBYTE[0x0000]
- //#define PB XBYTE[0x0001]
- //#define PC XBYTE[0x0002]
- //#define COM XBYTE[0x0003]
- uchar xdata * PA = 0x0000;
- uchar xdata * PB = 0x0001;
- uchar xdata * PC = 0x0002;
- uchar xdata * COM = 0x0003;
- void delay(uint ms)
- {
- uchar i;
- while (ms--)
- for (i = 0; i<120; i++);
- }
- //主程序
- void main()
- {
- *COM = 0xA2; //8255工作方式選擇: A口工作在方式1輸出, B口工作在方式0輸入 1010 0010
- while (1)
- {
- *PA = *PB;
- delay(10);
- …………限于本文篇幅 余下代碼請從51hei下載附件…………
復制代碼
下載:
IO擴展-8255.rar
(56.92 KB, 下載次數: 63)
2017-5-2 20:38 上傳
點擊文件名下載附件
含Proteus仿真
|