标题: 51单片机直接驱动数码管动态扫描源程序+仿真图 [打印本页]

作者: 51jia    时间: 2018-12-10 23:17
标题: 51单片机直接驱动数码管动态扫描源程序+仿真图
51单片机直接驱动数码管动态扫描+原代码+仿真图上传,共同学习,如果有错误请指正,详细见附件。


单片机源程序如下:
  1. //STC89C52RC 12M 直接驱动数码管显示
  2. #include <reg51.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. #define wule P2
  6. #define dale P1
  7. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  8. 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. void delay(uint z)
  10. {
  11.         while(z--);
  12. }
  13. void display();
  14. void main()
  15. {
  16.         wule=0xff;
  17.         dale=0x00;
  18.         while(1)
  19.                 {
  20.                         display();
  21.                 }
  22.                
  23. }
  24. void display()
  25. {
  26.         wule=~0x01;
  27.         delay(100);
  28.         dale=table[1];
  29.         delay(100);
  30.         dale=0x00;
  31.         wule=~0x02;
  32.         delay(100);
  33.         dale=table[2];
  34.         delay(100);
  35.         dale=0x00;
  36.         wule=~0x04;
  37.         delay(100);
  38.         dale=table[3];
  39.         delay(100);
  40.         dale=0x00;
  41.         wule=~0x08;
  42.         delay(100);
  43.         dale=table[4];
  44.         delay(100);
  45.         dale=0x00;
  46.         wule=~0x10;
  47.         delay(100);
  48.         dale=table[5];
  49.         delay(100);
  50.         dale=0x00;
  51.         wule=~0x20;
  52.         delay(100);
  53.         dale=table[6];
  54.         delay(100);
  55.         dale=0x00;
  56.         wule=~0x40;
  57. ……………………

  58. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
51单片机直接驱动数码管动态扫描.rar (15.92 KB, 下载次数: 45)



作者: 15976402147    时间: 2019-10-5 11:07
多谢分享
作者: yoyodw123456    时间: 2019-12-7 11:25
如果数码管的段信号不是接的P1的八个脚,比如四个脚接P1的,四个脚接P3的,这个要怎么处理???
作者: yoyodw123456    时间: 2019-12-7 11:39
请教一个问题:如果数码管的段位接的不是P1的八个口,比如说接4个P1的口,4个P3的口;这个应该怎么处理???  

作者: kzwr    时间: 2019-12-12 11:57
可以用吗?





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