基于 8051 单片机的 ADC0804 模数转换器电压显示程序优化
#include <reg51.h> sbit cs = p1^3; sbit wr = p1^2; sbit rd = P1^1; int seg[] = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90); unsigned char dat; void adc0804(); void display(); void delay(int i) { while (i--); }
void main() { while (1) { adc0804(); display(); } }
void adc0804() { cs = 0; wr = 0; cs = 1; wr = 1; delay(500); cs = 0; rd = 0; dat = P3; cs = 1; rd = 1; }
void display() { unsigned int vol; vol = (dat * 500.0 / 255) + 0.5; // 四舍五入 p2 = 0xfb; P0 = seg[vol / 100] & 0x7f; delay(200); p2 = 0xfd; P0 = seg[vol % 100 / 10]; delay(200); P2 = 0xfe; P0 = seg[vol % 10]; delay(200); P2 = 0xff; // 添加 U P0 = 0xc1; delay(200); }
原文地址: https://www.cveoy.top/t/topic/ofDp 著作权归作者所有。请勿转载和采集!