标题: 单片机通过74LS245驱动数码管显示 Proteus仿真原理图和源代码 [打印本页]

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



74LS245驱动芯片的相关资料下载:http://www.51hei.com/chip/3507.html
单片机与74LS245数码管显示源代码:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. uchar data dis_buf[6];      //显示缓冲区
  4. uchar code table[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  5. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00};
  6. void dl_ms()
  7. { unsigned int j;
  8.   for(j=0;j<125;j++) ;}
  9. void display(void)
  10. { uchar bitcode, i;
  11.   bitcode=0xfe;
  12.   for(i=0;i<6;i++)
  13.   { P0=table[dis_buf[i]];
  14.     P3=bitcode;
  15.     dl_ms( );
  16.     P3=0xff;
  17.     bitcode=bitcode<<1;
  18.     bitcode=bitcode|0x01;
  19.   }
  20. } /*
  21. void  main(void)  //随机调用
  22. { dis_buf[0]=1;
  23.   dis_buf[1]=2;
  24.   dis_buf[2]=3;
  25.   dis_buf[3]=4;
  26.   dis_buf[4]=5;
  27.   dis_buf[5]=6;
  28.   while(1)
  29.   { display( );
  30.   }
  31. }  */

  32. void  main(void) //定时调用
  33. {  TMOD=0x01;
  34.    TH0=-20000/256; TL0=-20000%256;
  35.    EA=1;ET0=1;
  36.    TR0=1;
  37.    dis_buf[0]=1;
  38.    dis_buf[1]=2;
  39.    dis_buf[2]=3;
  40.    dis_buf[3]=4;
  41.    dis_buf[4]=5;
  42.    dis_buf[5]=6;
  43.    while(1) ;
  44. }

  45. void time0_int( ) interrupt 1
  46. {  TH0=-20000/256;
  47.    TL0=-20000%256;
  48.    display( );
  49. }

复制代码



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

本例程下载(含proteus仿真工程文件与源码):
单片机通过74LS245驱动数码管显示.rar (15.54 KB, 下载次数: 82)



作者: LDJ    时间: 2017-10-17 19:45
仿真图里的三角形是什么?
作者: 星月star_moons    时间: 2017-12-9 16:55
LDJ 发表于 2017-10-17 19:45
仿真图里的三角形是什么?

非门,或者叫反相器,名称直接查not就可以,异或是xor
作者: 果冻宝宝    时间: 2018-12-19 19:47
LDJ 发表于 2017-10-17 19:45
**** 作者被禁止或删除 内容自动屏蔽 ****

非门,not




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