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)
|