0809.c
来自「基于80C51的AD转换程序」· C语言 代码 · 共 62 行
C
62 行
#include <absacc.h>
#include <reg51.h>
#define IN0 XBYTE[0x7ff8]
unsigned char disbit[]={0xfe,0xfd,0xfb,0xf7};
unsigned char discode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char disbuf[]={0,0,0,0};
unsigned char ad[ ]={15,35,15,34,134,36,89,255};
unsigned char j;
void delay(unsigned char N)
{
unsigned char i;
for(i=0;i<N;i++);
}
void display(unsigned char ch)
{
unsigned char k;
disbuf[0]=ch%10;
disbuf[1]=ch/10%10;
disbuf[2]=ch/100;
disbuf[3]=j;
for(k=0;k<4;k++)
{
P2=0xff;
P1=discode[disbuf[k]];
P2=disbit[k];
}
}
void read_ch(void)
{
unsigned char *Adr=&IN0;
unsigned char i;
for(i=0;i<8;i++)
{
*(Adr+i)=i;
delay(100);
ad[i]=*(Adr+i);
}
}
main()
{
unsigned int m;
while(1)
{
read_ch();
for(j=0;j<8;j++)
{
for(m=0;m<2555;m++)
{
display(ad[j]);
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?