news 2026/4/3 1:00:59

计数型8位AD转换器仿真实验:采用Proteus 8.9实现基本要求及讲解视频

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计数型8位AD转换器仿真实验:采用Proteus 8.9实现基本要求及讲解视频

计数型8位AD转换器仿真实验,采用proteus实现,版本是proteus8.9,能实现基本要求。 有讲解视频

电路板上的红绿灯交替亮起,调试用的杜邦线在实验桌上缠成一团。我盯着屏幕里跳动的波形,突然意识到这个计数型AD转换器就像在玩"猜数字"游戏——只不过这次猜谜的是单片机自己。

咱们先聊聊这个AD转换器的原理。它不像逐次逼近型那么聪明,反而像个固执的小孩,从零开始数数,每次加1就跑去问比较器:"现在电压够了吗?"当DAC输出的电压刚超过输入电压时,计数器立马刹车,这时候的计数值就是转换结果。虽然速度慢了点,但硬件结构简单得让人感动,特别适合给萌新理解AD转换的本质。

打开Proteus 8.9,先把核心部件拖进工作区:AT89C51单片机、DAC0808模数转换芯片、LM393比较器,外加几个电阻电容。注意DAC的基准电压要接稳定,我这用的是5V电源经两个1kΩ电阻分压得2.5V(实际应用建议用TL431这类基准源)。比较器的输出接到P3.7口,这样单片机就能知道什么时候该停止计数了。

别急,咱们上代码:

#include <reg51.h> sbit COMP = P3^7; // 比较器输出接这里 void delay(unsigned int t) { while(t--); } void main() { unsigned char count = 0; P1 = 0x00; // 计数输出端口 P2 = 0x00; // DAC控制端口 while(1) { for(count=0; count<255; count++) { P2 = count; // 往DAC送当前计数值 delay(100); // 等DAC输出电压稳定 if(COMP == 0) { // 当比较器翻转时 P1 = count; // 锁存当前计数值 break; } } delay(50000); // 间隔一段时间再采样 } }

这段代码就像个自动化的猜数机器。每次循环都从0开始往上累加,P2口把数字喂给DAC转换成模拟电压。当这个电压超过被测电压时,比较器输出低电平,程序立马抓住此时的计数值送到P1口显示。那个delay(100)特别重要——DAC转换需要时间,要是没这个延时,比较器可能读到的是上个周期的电压值。

仿真时试着调调输入电压,比如输入3V时会显示0x60(96的十六进制)。这是因为DAC的分辨率是5V/256≈19.5mV,3V对应的数字量就是3/0.0195≈154,不过实际显示值可能因为比较器阈值有些偏差。这时候可以掏出万用表量量DAC输出,确认电压爬坡过程是否均匀。

遇到过坑的人都知道,比较器偶尔会抽风似的抖动。这时可以在比较器输入端加个0.1uF的滤波电容,或者在软件里做多次采样取平均。另外单片机时钟别调太高,否则delay函数的等待时间会不够,导致采样频率飞起——结果就是数码管显示的数字跳得比DJ打碟还快。

最后唠叨一句:这种AD转换方式实战中很少用,毕竟速度慢得像树懒。但作为理解AD转换原理的实验,它比那些SPI接口的ADC芯片更能让人看清模数转换的本质——不就是让计算机学会用数字量丈量模拟世界嘛!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 1:58:24

【嵌入式学习】I/O 进程 核心知识点

大纲IO&#xff08;input、output&#xff09;标准IO、文件IO、库、Linux IO模型进程&#xff1a;process进程基础、进程间通信&#xff1a;无名管道(pipe)、有名管道(fifo)、信号(signal)、共享内存(shared memory)、消息队列(message queue)、信号灯集(semphore set)线程(thr…

作者头像 李华
网站建设 2026/3/28 0:30:18

进程,有点东西的东西

进程 进程是一个程序执行的过程&#xff0c;会去分配内存资源&#xff0c;cpu的资源。 PCB是一个结构体&#xff0c;process control block。系统用于描述正在运行的进程的相关(所有)信息。进程的资源限制 。打开文件的个数1024 &#xff0c;栈的大小8M2.进程和程序的区别? 程…

作者头像 李华
网站建设 2026/4/2 13:10:02

Go 进阶:发送文件/图片消息的流程与实现

发送非文本类消息&#xff0c;如图片 (msgtype: image) 或文件 (msgtype: file)&#xff0c;不能直接将文件数据包含在 POST 请求体中。企业微信要求开发者首先将素材上传到服务器&#xff0c;获取一个临时的唯一标识符&#xff1a;media_id&#xff0c;然后再将此 media_id 用…

作者头像 李华
网站建设 2026/4/1 21:57:04

为什么越来越多的IT青年转行网络安全?

目前&#xff0c;我国互联网已经从爆发增长期进入平稳发展阶段&#xff0c;同时每年大量计算机相关专业的毕业生涌入就业市场&#xff0c;导致IT行业逐渐趋于饱和状态&#xff0c;甚至出现裁员现象&#xff0c;去年很多大厂都有裁员&#xff0c;不少程序员再就业成了难题。 面…

作者头像 李华
网站建设 2026/3/30 19:56:45

电力系统暂态稳定分析程序及报告

电力系统暂态稳定程序以及报告&#xff08;24页&#xff09; 1.matlab暂态稳定分析程序&#xff0c;三机九节点系统&#xff0c;发电机模型采用经典二阶模型&#xff0c;负荷用恒阻抗模型&#xff0c;用改进欧拉法和matlab自带求解器ode45进行时域分析&#xff0c;实现微分方程…

作者头像 李华