一、设计目的

  1. 掌握AD转换芯片的基本工作原理;
  2. 掌握一个完整的C语言程序结构;
  3. 熟悉AD转换与单片机的使用的编程。

二、设计环境

  1. Keil开发环境
  2. Proteus软件。

三、设计及调试
(1) 设计内容

  1. 将电阻的电压模拟信号通过AD转换芯片转换成数字量;
  2. 将转换后的数字量通过LED数码管显示。

(2) 设计硬件电路

AT89C51单片机,四位共阳数码管,滑动变阻器,ADC0809

(3) 设计过程及调试关键步骤
首先按要求连接电路,之后将各个引脚在keil中进行命名,在滑动变阻器旁边加个电压表进行对数码管数据的检验。因为使用的外部中断,在中断函数中进行AD转换操作。程序编写完成后运行仿真,发现数据改变过大且不准,经过检查是AD转换器的输出端高低位接反,改正后能正常显示,仿真完成。

四、实验结果与分析
(1)程序

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit OE=P3^0; //AD转换结果输出允许端
sbit START=P3^1;//AD启动信号输入端与接受C、B、A编码时的锁存控制信号
sbit EOC=P3^2;//转换结束输出信号,AD转换开始时为低电平,转换结束时为高电平
sbit A_data=P3^3;
sbit B_data=P3^4;
sbit C_data=P3^5;
uint information=0; //转换出的数据
uchar b[4];         //用于存放数码管的数据
uchar a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//共阳数码管1-9数字代码
uchar wei[]={0x01,0x02,0x04,0x08};   //共阳数码管位选代码
void delay1ms(uint digit){
uint i,j;
for(i=0;i<digit;i++)
for(j=0;j<120;j++);}
void show(){
P2=wei[0];
P0=b[3];
delay1ms(1);
P2=0x00;
P2=wei[1];
P0=b[2]+128;
delay1ms(1);
P2=0x00;
P2=wei[2];
P0=b[1];
delay1ms(1);
P2=0x00;
P2=wei[3];
P0=b[0];
delay1ms(1);
P2=0x00;}
void main(){
EA=1;            //开总中断
IT0=1;           //跳变沿方式感知外部中断(触发方式)
EX0=1;           //开外部中断0
while(1){
START=0;
A_data=0;
B_data=0;
C_data=0;
START=1;
START=0;
delay1ms(5);}}
void InT0(void) interrupt 0{
uchar i;
OE=1;
information=P1;
information=information*1.96; //将数据转换为十进制(5V/256约等于1.96)
OE=0;
b[0]=a[information%10];
b[1]=a[information/10%10];
b[2]=a[information/100%10];
b[3]=a[information/1000];
for(i=0;i<100;i++){
show();}     //显示到数码管上
}

(2)设计结果及现象
将电阻的电压模拟信号通过AD转换芯片转换成数字量,然后将转换后的数字量通过LED数码管显示

滑动变阻器拉到最上端时显示4.99

滑动变阻器拉到中端时显示2.48

滑动变阻器拉到低端时显示0.00

(3)设计结果的分析与总结,有无改进方案?

  1. 设计结果的分析和总结:进行新芯片使用时应该先仔细观察各个引脚的作用与高低位,之后进行编程仿真时能够少出很多错,减少调试的时间。
  2. 改进方案:在编程时有多出重复可以使用for循环或者do while语句进行程序的简洁化和可观化。

基于51单片机的AD转换设计相关推荐

  1. 基于51单片机的AD转换

    A/D转换 选用芯片:AT89S52 函数功能:如下代码 /******************************************************************* 此函 ...

  2. 基于51单片机的智能电子秤设计

    具体实现功能 系统由STC89C51单片机+最小系统+LCD1602液晶显示模块+HX711AD模块+LED模块+蜂鸣器+按键模块+10kg压力传感器构成. 具体功能: 1.数码管显示当前的重量,单位 ...

  3. A50 - 基于51单片机的太阳能充电路灯设计

    任务 本文以太阳能路灯设计为例,针对太阳能路灯的优势以及发展背景,对太阳能路灯的基本原理和构成进行介绍.根据对太阳能电池板.蓄电池.控制器芯片等部件的方案论证.最终确定利用光伏发电由太阳能电池板以及蓄 ...

  4. 基于51单片机的电子时钟设计

    基于51单片机的电子时钟设计 0 功能介绍 1.从DS1302中读取时间显示 2.一共4个按键,按键1按下进入修改时间模式,再按下切换修改的时间变量,这个时候第2和3个按键就是修改时间变量的按键,修改 ...

  5. 基于51单片机智能有毒气体检测仪设计(煤气、酒精、co)(转发分享)

    本设计由STC89C52单片机电路+LCD1602液晶显示电路+MQ-2甲烷传感器模块电路+MQ-3酒精传感器模块电路+MQ-9 CO传感器电路+A/D采样PCF8591电路+蜂鸣器报警电路+LED指 ...

  6. c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc

    -- I -- - - I -- 设计题目: 基于 51 单片机的电子时钟设计 摘要 单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器.自 20 世纪 70 年代问 ...

  7. 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】

    630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...

  8. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  9. 【毕业设计】基于51单片机的智能窗帘设计(原理图+原理图+仿真+论文)

    按键1:加(手动开启窗帘 按键2:减(手动关闭窗帘) 按键3:进入定时模式开启时间和光控阈值数值大小的开启 按键4:进入当前时间的设置(年.月.日.时.分的设置) 按键5:切换模式(在手动模式.定时模 ...

最新文章

  1. Vivado提高综合和实现的速度
  2. 深入了解tcmalloc(一):windows环境下无缝拦截技术初探
  3. html考勤表格模板,Excel员工考勤表模板如何撤销工作表保护?
  4. AD怎么设置相同网络的线宽
  5. vue3+tsx封装组件
  6. 突破硬件瓶颈(一):Intel体系架构的发展与瓶颈挖掘
  7. prometheus监控之postgresql
  8. Single Image Haze Removal Using Dark Channel Prior 基于暗原色先验的单一图像去雾方法【翻译】
  9. 将jmeter响应结果中部分数据保存到本地文件
  10. ps4 html5不能试用,PS4主机卡碟,无法取出光盘的处理办法
  11. VisualSVN Server安装失败解决
  12. 计算机 无法进入pe,电脑无法进入pe系统_电脑无法进入pe界面
  13. java中字节数组转换为字符串
  14. 利用路由器实现内网穿透
  15. 2016计算机学科夏令营上机考试C:反反复复(字符串处理)
  16. Centos7安装trac手册
  17. 工业交换机和普通交换机的区别
  18. 上海电信的iptv穿越dd-wrt
  19. java小白训练营2109-day05-API:API+字符串工具类+身份证解析
  20. 5分钟教你如何利用华为云IoT进行物联网设备上云

热门文章

  1. httpclient-Connection pool shut down 问题排查
  2. 读取txt的中文字符出现乱码的解决方法
  3. 游戏编程中的人工智能技术--神经网络
  4. AC/DC、DC/DC转换器知识
  5. C/C++指向指针的指针、指向数组的指针以及存放指针的数组
  6. 验证码的生成及简单效果展示(Java篇)
  7. VMware Workstation Pro虚拟机命令行安装图形界面
  8. AST介绍和babel插件开发
  9. 【CVPR2022】Detecting Camouflaged Object in Frequency Domain
  10. 无线AP 的频段(2.4GHZ or 5GHz)