/*电压表 精确到小数点后面三位*/
/*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/
#include<reg52.h>
typedef unsigned char uchar;
xdata uchar LED_CS _at_ 0x9000;
xdata uchar LED_OUTSEG _at_ 0x9004;
xdata uchar LED_OUTBIT _at_ 0x9002;
xdata uchar AD_CS _at_ 0x8000;
xdata uchar AD_MODE _at_ 0x8003;
code unsigned char LEDMAP[] = { // 八段管显示码
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
};
code unsigned char LEDWED[] = {0x20,0x10,0x08,0x04,0x02,0x01};
int num[6];
void delay(int ms)
{
int i,j;
for(i=0;i<ms;i++)
for(j=0;j<14;j++)
;
}
void adf()
{
AD_CS = 0;
delay(10);
}
void main()
{
int led_c=0;
unsigned char temp;
AD_MODE = 0x82;
AD_CS = 0;
while(1)
{
adf();
delay(10);
num[0] = AD_CS*5/256;
num[1] = AD_CS*5%256*10/256;
num[2] = AD_CS*5%256*10%256*10/256;
num[3] = AD_CS*5%256*10%256*10%256*10/256;
temp = LEDMAP[num[led_c]];
if(led_c == 0)
temp = temp|0x80;
LED_OUTBIT = LEDWED[led_c];
LED_OUTSEG = temp;
led_c = (led_c+1)%4;
delay(10);
}
}
电压表实验(AD转换)
原创
©著作权归作者所有:来自51CTO博客作者蓬莱仙羽的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PSoc™62开发板之ADC读取电压
ADC读取可调电位器电压值
Infineon RT-Thread PSoc™62 ADC OLED -
STC89C51数字电压表
单片机AT89S51与ADC0809设计一个数字电压表 发表时间:2009-06-26 12:11:28发布人:administrator 阅读次数:112
职场 休闲 电压表 89c51 ADC0809 -
【硬核】超强开源八位半电压表
开源八位半电压表
软件测试 原理图 框图 -
全开源最小电压表:24位ADC,测量0~2V,五位半
1、项目背景2015年5月份评估完十几种24位ADC后就从第一份工作岗位上离职了,做的24位AD都没有达到实际的效果,一直耽搁困
单片机 python java arduino 传感器 -
开源:ADS1255+STM32G0,24位adc,五位半电压表
1、项目背景2015年5月份评估完十几种24位ADC后就从第一份工作岗位上离职了,
stm32 arm 嵌入式硬件 原理图 硬件设计