📄 adc.c
字号:
#include<reg51.h>
#include<stdio.h>
#include<stdlib.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_();
#define adc0 XBYTE[0x0fff]
sbit pc=P2^0;
sbit pd=P2^1;
sbit p23=P2^3;
code uchar table[11]={0xfc,0x60,0xda,0xF2,0x66,
0xB6,0xBE,0xE0,0xFE,0xf6,0x10};
uchar jg;
//----------------------------------------------
void sendData(char c)
{
char i;
bit temp;
c=~c;
for(i=0;i<8;i++)
{
if (c&0xfe==0xfe) temp=0;
else temp=1;
pc=0;
pd=temp;
pc=1;
c>>=1;
}
}
//---------------------------------
void initADC(void)
{
IT0=1;
EA=1;
EX0=1;
}
//---------------------------------
void display(void)
{
uchar b,s,g;
b=jg/100;
s=jg/10-b*10;
g=jg%10;
sendData(table[0]);
sendData(table[b]);
sendData(table[s]);
sendData(table[g]);
}
//--------------------------------
void int0_ser(void) interrupt 0
{
jg=adc0;
display();
}
//400ms-------------------
void delay400ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
};
}
//==================================
void main(void)
{
initADC();
adc0=0;
while(1)
{
delay400ms();
adc0=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -