标题: 89C51 ADC0808数模转换实验 [打印本页]

作者: madaodexs    时间: 2020-4-6 21:15
标题: 89C51 ADC0808数模转换实验
  1. #include   "reg51.h"

  2. unsigned char code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  3. unsigned char dat[4];
  4. sbit clock=P1^4;
  5. sbit start=P1^5;
  6. sbit eoc=P1^6;
  7. sbit oe=P1^7;

  8. void delay(unsigned int s){
  9.     unsigned char i;
  10.     while(s--)for(i=0;i<200;i++);
  11. }


  12. void display(unsigned char a)
  13. {
  14.         unsigned char c=0x01,i;
  15.         dat[3]=tab[a%10];dat[2]=tab[a%100/10];
  16.         dat[1]=tab[a/100];dat[0]=tab[a/1000];

  17.         for(i=0;i<4;i++){
  18.                          P1=0xe0|c;
  19.                         P0=dat[i];
  20.                         c=c<<1;
  21.                         delay(2);
  22.         }
  23.                 return;
  24.        

  25. }




  26. initial(){

  27.                    TMOD=0x10;
  28.       TH1=0xff;
  29.       TL1=0x9C;
  30.       ET1=1;
  31.                   EA=1;
  32.                   TR1=1;   
  33. }



  34. void main()  
  35. {
  36.         initial();
  37.    while(1){

  38.                   start=0;
  39.                   start=1;
  40.            start=0;

  41.            while(!eoc);

  42.            oe=1;
  43.             display(P2);   
  44.             oe=0;

  45.   }  
  46. }


  47. t0_int() interrupt  3
  48. {
  49.         TH1=0xff;
  50.       TL1=0x9C;
  51.     clock=!clock;
  52. }
复制代码


dpj3.png (159.04 KB, 下载次数: 19)

dpj3.png





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