标题: 单片机通过8255A和74LS245驱动数码管显示123 ABC实验 Proteus仿真和源代码 [打印本页]

作者: 51黑电子happy    时间: 2017-4-5 03:09
标题: 单片机通过8255A和74LS245驱动数码管显示123 ABC实验 Proteus仿真和源代码
单片机通过8255A和74LS245显示123 ABC实验的仿真原理图(proteus仿真工程文件可到本帖附件下载):



单片机通过8255A和74LS245驱动数码管显示源代码:
  1. #include<absacc.h>
  2. #include<reg51.h>
  3. #define  uchar  unsigned  char
  4. #define  uint  unsigned int
  5. #define  COM8255  XBYTE[0xbfff]
  6. #define  PA8255  XBYTE[0xbcff]
  7. #define  PB8255  XBYTE[0xbdff]
  8. #define  PC8255  XBYTE[0xbeff]
  9. uchar  data dis_buf[3];                                                        //显示缓冲区
  10. uchar  code  table[18]={0x06,0x5b,0x4f,0x77,0x7c,0x39};         //显示的代码表 1、2、3、A、B、C

  11. void  dl(uint  x )              //延时Xms
  12. {   uint  t1,t2;
  13.     for(t1=0; t1<x; t1++)
  14.     for(t2=0; t2<120; t2++) ;
  15. }
  16. void  display(void)                                                                //显示函数
  17. {        PA8255=table[dis_buf[0]];
  18.      PB8255=table[dis_buf[1]];
  19.      PC8255=table[dis_buf[2]];
  20. }
  21. void  main(void)
  22. {        COM8255=0x80;                                                        //8255A初始化
  23. while(1)  
  24. {        dis_buf[0]=0;dis_buf[1]=1;dis_buf[2]=2;                //显示123
  25.                 display( );         dl(500 );
  26.               dis_buf[0]=3;dis_buf[1]=4;dis_buf[2]=5;                //显示ABC
  27.               display( );         dl(500 );

复制代码

该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共几十个项目):http://www.51hei.com/bbs/dpj-80575-1.html


本例程下载(含proteus仿真工程文件与源码):
单片机通过8255A和74LS245显示123 ABC实验.rar (16.84 KB, 下载次数: 74)



作者: 单片机凡仔    时间: 2019-8-23 22:20
8255,嘿嘿




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1