《逗比小憨憨51单片机Proteus仿真系列》第11期基于单片机的ADC0804实验(电压采集)
2025-11-03 来源:bilibili
源代码:
#include <reg52.h>
#include <intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit dula = P2^6;
sbit wela = P2^7;
sbit adcs = P3^5;
sbit adwr = P3^6;
sbit adrd = P3^7;
u8 code table[] = {0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void init(void);
void delay(u16);
void display(u8,u8,u8);
void main()
{
init();
adcs = 0;
while(1)
{
u8 adval,A1,A2,A3,a;
adwr = 1;
_nop_();
adwr = 0;
_nop_();
adwr = 1;
for(a=10;a>0;a--)
{
display(A1,A2,A3);
}
P1 = 0xFF;
adrd = 1;
_nop_();
adrd = 0;
_nop_();
adval = P1;
adrd = 1;
A1 = adval/100;
A2 = adval%100/10;
A3 = adval%10;
}
}
void init(void)
{
dula = 1;
P0 = 0x00;
dula = 0;
wela = 1;
P0 = 0x00;
wela = 0;
}
void delay(u16 xms)
{
u16 x,y;
for (x=xms;x>0;x--)
{
for (y=125;y>0;y--);
}
}
void display(u8 bai,u8 shi,u8 ge)
{
dula = 1;
P0 = table[bai];
dula = 0;
wela = 1;
P0 = 0xfe;
wela = 0;
delay(5);
P0 = 0x00;
dula = 1;
P0 = table[shi];
dula = 0;
wela = 1;
P0 = 0xfd;
wela = 0;
delay(5);
P0 = 0x00;
dula = 1;
P0 = table[ge];
dula = 0;
wela = 1;
P0 = 0xfb;
wela = 0;
delay(5);
P0 = 0x00;
}
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




