这是通过对用8255A来对51单片机进行串行口扩展的KEIL5程序,包括了再PROTEUS上的仿真, 功能即为:当KEY 按下时,利用8255的PC口输入二进制值编码(6位),将该值转换成十进制后显示在2位7段LED显示器上。
编码显示器仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
仿真截图
单片机源码:
- #include "reg52.h"
- #include "absacc.h"
- sbit CS =P2^7;
- #define PA XBYTE[0x0000]
- #define PB XBYTE[0x0400]
- #define PC XBYTE[0x0800]
- #define CN XBYTE[0x0C00]
- unsigned table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- unsigned char number=0;
- void display(unsigned char num)
- {
- //PA=0xff;
- PA=table[num/10];
- //PA==0x00;
- //PB=0xff;
- PB=table[num%10];
- }
- void main(void)
- {
- CS=0;
- CN=0x89;
- while(1)
- {
- number=PC&0x3f;
- display(number);
- }
复制代码
全部资料51hei下载地址:
编码器显示器.zip
(51 KB, 下载次数: 124)
|