微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机实验课AD测电压protues 一直没显示 求大神帮忙看一下...

单片机实验课AD测电压protues 一直没显示 求大神帮忙看一下...

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit CLOCK=P3^5;//给AD一个时钟信号
uint *p;
uchar code num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main()
{
   void delay(uint a);
   void int2(void);
   void int3(void);
   IE=0x8C;
   TH1=(65536-200)/256;
   TL1=(65536-200)%256;
   TMOD=0x10;
   TCON=0x44;
   CLOCK=0;
   p=0x7ff8;//指向AD的地址
   while(1)
   {
   *p=0;  //打开AD转换器
   delay(1);//延时等待执行中断程序
   }
}
void delay(uint a)
{
  uchar j;uint i;
  for(i=0;i<a;i++)
  for(j=0;j<333;j++);
}
void int2(void)    interrupt 2
{
   uint k;uchar i;
   k=*p;//读取转换的值
   k=(uint)k*1.0/255*5000;//把转换电压用毫伏表示
   for(i=0;i<100;i++)
   {
      P1=num[k/1000];P2=0x07;
      P1=num[k/100%10];P2=0x0b;
      P1=num[k/10%10];P2=0x0d;
      P1=num[k%10];P2=0x0e;
   }
}
void int3(void) interrupt 3    //采用定时器给AD一个时钟
{
  TH1=(65536-200)/256;
   TL1=(65536-200)%256;
   CLOCK=~CLOCK;
   return;
}
我调试看了一下   p一直指向地址0,k没有值;不知程序出在哪里
图片里有接线图


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top