标题: 单片机C语言ADC0808转换(静态显示) [打印本页]

作者: 聪少520    时间: 2018-9-14 15:14
标题: 单片机C语言ADC0808转换(静态显示)
C语言版AD转换编程及仿真


单片机源程序如下:
  1. #include<reg51.h>
  2. sbit EOC=P2^0;
  3. sbit START=P2^1;
  4. sbit OE=P2^2;
  5. sbit ALE=P2^3;
  6. sbit CLK=P2^4;

  7. void AD(void);
  8. void delay();
  9. void INT_T0(void);

  10. //共阳极字型码
  11. const unsigned char a[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};

  12. //共阴极字型码
  13. //const unsigned char a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x07,0x07,0x7F,0x6F,};
  14. int i,ms,adc,c,H=1,L=1;

  15. void INT_T0()         //方波
  16. {
  17. TMOD=0X02;
  18. TH0=0X56;
  19. TL0=0X56;
  20.   IE=0X82;
  21.   ET0=1;
  22. TR0=1;
  23. }

  24. void delay(int ms)
  25. {for (i=0;i<=ms;i++) {;}
  26. }




  27. void AD()
  28. {
  29. START=0;
  30. delay();
  31. START=1;
  32. delay();
  33. START=0;


  34. while(!EOC)  {;}
  35. OE=1;
  36. adc=P0;
  37. OE=0;
  38. }
  39.                
  40. void timer_0() interrupt 1
  41. {
  42. TH0=0X56;
  43. TL0=0X56;
  44. CLK=~CLK;   //时钟状态翻转
  45. }


  46. main()
  47. {
  48. INT_T0();
  49. while(1)
  50. {
  51. AD();
  52. H=adc/50;
  53. L=adc%50/5;
  54. P3=a[H];
  55. P1=a[L];
  56. }
  57. }
复制代码

所有资料51hei提供下载:
C语言AD转换(静态显示).rar (104.34 KB, 下载次数: 15)







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