打印

大家来看看这个程序

[复制链接]
1009|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
思电lq|  楼主 | 2011-9-29 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<AT89X51.H>
unsigned char  code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char  code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char  dispbuf[]={10,10,10,10,0,0,0,0};
unsigned  int  temp ;
unsigned  char   i;
unsigned char dispcount=0;
unsigned char getdata;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
void  main(void)
{
  
     
  ST=0;
  OE=0;
  ET0=1;
  ET1=1;
  EA=1;
  TMOD=0x12;
  TH0=216;
  TL0=216;
  TH1=(65535-4000)/256;
  TL1=(65535-4000)%256;
  TR0=1;
  TR1=1;


  ST=1;

  ST=0;
  while(1)
  {
   if(EOC==1)
   {
   
    OE=1;
    getdata=P0;
  OE=0;
    temp=getdata*235;
    temp=temp/128;
    i=0;
    dispbuf[0]=0;
    dispbuf[1]=0;
  dispbuf[2]=0;
  dispbuf[3]=10;
  dispbuf[4]=10;
  dispbuf[5]=10;
   dispbuf[6]=10;
  dispbuf[7]=10;
  while(temp/10)
  {
   dispbuf[i]=temp%10;
   temp=temp/10;
   i++;
  }
  dispbuf[i]=temp;
  
   
      ST=1;
  
     ST=0;
   }
}
    }
  void t0(void) interrupt 1 using 0
{  
  CLK=~CLK;
}
  
     void t1(void) interrupt 3 using 0
  {   
   TH1=(65535-4000)/256;
  TL1=(65535-4000)%256;
  P1=dispcode[dispbuf[dispcount]];
  P2=dispbitcode[dispcount];
  if(dispcount==1)
  {
   P1=P1|0x80;
  }
  dispcount++;
  if(dispcount==8)
  {
  dispcount==0 ;
  }
  }
  数码管显示0000没有显示电压值,还望高手指点一下``

相关帖子

沙发
思电lq|  楼主 | 2011-9-29 16:40 | 只看该作者
外加说明`这是一个数摸转换实验并用数码管显示

使用特权

评论回复
板凳
airwill| | 2011-9-29 20:04 | 只看该作者
楼主的程序什么说明都没有, 连硬件说明都没有, 什么芯片, 怎么连接, 如何驱动数码管, 看起来比较吃力啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

34

帖子

1

粉丝