⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xianshiad.c

📁 使用wave6000编译通过 是一个数模转换并显示的程序 c语言编写
💻 C
字号:
#include <REG52.H>
#include <stdio.h>
#include <absacc.h>
#include <math.h>

#define DIGPORT XBYTE [0x0000]	   //字形地址
#define WORDPORT XBYTE [0x0001]	   //字位地址
#define ADRW XBYTE [0x0003]	   //ad0809地址
#define uchar unsigned char


uchar code TABLE[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
uchar code ZIWEI[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
int a[]= {0,0,0,0,0,0,0,0};

uchar tmp;
unsigned int aa; //等待时间变量

void xianshi(void);
void xianshizi(long ain);

main ()
{
         while (1)
         {
         ADRW=0x07;
         for(aa=0; aa<500; aa++); //延时一段时间

         tmp=ADRW; //读取A/D转换结果
        xianshizi(tmp);  //传入数值

          }
}//end main


//用于显示转换好的数组中的各值
void xianshi(void)
{unsigned char i;
 unsigned char k;
 for (i=0;i<8;i++)
     {DIGPORT=TABLE[a[i]];  //送字形码
      WORDPORT=ZIWEI[i];    //送字位码
      for (k=0;k<200;k++)    //加入延时 降低刷新速度 提高亮度
      {}
     WORDPORT=0x00;  //关断
     }
}//end xianshi

//用于将10进制数拆成各位函数
//其中ain为形参 传入函数并各位拆开 函数无输出
void xianshizi(long ain)
{long x1=100000000;
 long x2=10000000;

 unsigned char j;
 for (j=0;j<8;j++)
     {a[j]=(ain % x1)/x2;   //第一次拆出最高位 直至最低位
      x1=x1/10;             //相关算法见兰本
      x2=x2/10;
     }
xianshi();         //led显示数值
}//end xianshizi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -