adc0832程序编写

文章目录

  • 前言
  • 一、ADC0832是什么?
  • 二、执行代码
  • 总结

前言

基于C51单片机项目的传感器数据采集,由于传感器是模拟输出,单片机接收传感器需要将模拟信号转换为数字信号才能读取数据,所以需要adc0832模数转换器的程序编写!


提示:以下是本篇文章正文内容,下面案例可供参考

一、ADC0832是什么?

ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求

二、执行代码

代码如下:

unsigned char Adc0832(unsigned char channel)     //ADת»»£¬·µ»Ø½á¹û
{uchar i=0;uchar j;uint dat=0;uchar ndat=0;if(channel==0)channel=2;if(channel==1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;//À­µÍCS¶Ë_nop_();_nop_();ADCLK=1;//À­¸ßCLK¶Ë_nop_();_nop_();ADCLK=0;//À­µÍCLK¶Ë,ÐγÉϽµÑØ1_nop_();_nop_();ADCLK=1;//À­¸ßCLK¶ËADDI=channel&0x1;_nop_();_nop_();ADCLK=0;//À­µÍCLK¶Ë,ÐγÉϽµÑØ2_nop_();_nop_();ADCLK=1;//À­¸ßCLK¶ËADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;//À­µÍCLK¶Ë,ÐγÉϽµÑØ3ADDI=1;//¿ØÖÆÃüÁî½áÊø _nop_();_nop_();dat=0;for(i=0;i<8;i++){dat|=ADDO;//ÊÕÊý¾ÝADCLK=1;_nop_();_nop_();ADCLK=0;//ÐγÉÒ»´ÎʱÖÓÂö³å_nop_();_nop_();dat<<=1;
//        if(i==7)dat|=ADDO;}  for(i=0;i<8;i++){j=0;j=j|ADDO;//ÊÕÊý¾ÝADCLK=1;_nop_();_nop_();ADCLK=0;//ÐγÉÒ»´ÎʱÖÓÂö³å_nop_();_nop_();j=j<<7;ndat=ndat|j;if(i<7)ndat>>=1;}ADCS=1;//À­µÍCS¶ËADCLK=0;//À­µÍCLK¶ËADDO=1;//À­¸ßÊý¾Ý¶Ë,»Øµ½³õʼ״̬dat<<=8;dat|=ndat;return(dat);            //return ad k
}

总结

adc0832有两个转换通道,可以同时使用,在读取数据之前需要软件拉高拉低两三次时钟线,然后一位一位读取数据,并保存到变量dat中。

基于51单片机的adc0832程序编写的学习相关推荐

  1. 烟雾传感器的matlab程序,基于51单片机的烟雾传感器程序

    #include #include #define uchar unsigned char                // 以后unsigned char就可以用uchar代替 #define u ...

  2. 51单片机频率计c语言程序,基于51单片机的频率计程序

    这个是电路原理图 *********************************************** **************入门级频率计设计****************** ** ...

  3. 单片机c语言程序开发洗衣机,基于51单片机的洗衣机程序

    题目:设置过程,有一个水位选择按键,选择6个水位之一,相应的有六个水位检测点,仿真时用六个开关表示.有一个程序选择按键,选择8个程序之一.一个启动/停止键,按照所选程序自动洗衣.(2)洗衣过程,模拟完 ...

  4. 单片机时间控制器c语言程序,基于AT89C52单片机实时时钟程序编写

    #include'reg52.h' //包含单片机寄存器的头文件 #include'intrins.h' //包含_nop_()的头文件 sbit RS=P2^0; //LCD读写选择位 sbit R ...

  5. 基于51单片机电子秤(程序+仿真+原理图)

    设计任务: 完成一个简单数字电子秤的硬件电路部分和软件部分的设计要求: 1.利用单片机对数字电子秤的各种功能进行控制. 2.数字电子秤能够显示商品的名称,价格,总重,总价.3.数字电子秤能够自动完成商 ...

  6. 51单片机计算器_基于51单片机的倒计时温度检测报警器

    基于51单片机的倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目.起初,我设计和选择的是12864显 ...

  7. 基于51单片机的倒计时温度检测报警器

    广西河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院:OpenWRT无线路由组 写作时间:2020年8月12日16:00:03   基于51单片机的倒计时温度检 ...

  8. 基于51单片机的DS1302涓流充电计时芯片详细学习(时钟制作)

    目录 前言 一.初学者需要了解DS1302的一些基本特性 二.脉冲串模式数据传输 1.单字节写入 2.单字节读取 3.BCD码的转换 三.理论存在实践开始(代码模块) 1.DS1302时钟模块原理图 ...

  9. 51单片机数控电源c语言设计,基于51单片机的数控电源

    <基于51单片机的数控电源>由会员分享,可在线阅读,更多相关<基于51单片机的数控电源(8页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的数控电源摘要:学习如何以单片机 ...

最新文章

  1. 温州大学《机器学习》课程课件(六、KNN算法)
  2. ​GPLinker:基于GlobalPointer的实体关系联合抽取
  3. Super Jumping! Jumping! Jumping!
  4. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
  5. 指针08 - 零基础入门学习C语言48
  6. SqlDataReader对象的NextResult方法读取存储过程多个结果集
  7. 网络IO演变发展过程和模型介绍
  8. 【论文研读】【医学图像分割】【BCRNN】Fine-grained Recurrent Neural Networks for Automatic Prostate Segmentation ...
  9. Druid、C3P0、Tomcat Pool的性能测试与选型
  10. 微店的Flutter混合开发组件化与工程化架构
  11. 共享淘宝客APP和独立淘宝客APP的区别
  12. Word 中几个较有用的宏
  13. 让iPhone不能自动下载系统更新的一个办法
  14. Window环境MatConvNet安装
  15. wpa_supplicant 的使用
  16. oracle floor
  17. 从“大恐怖”展望AI未来,未来人类会好吗?
  18. 2023年京东炸年兽脚本《京东炸年兽活动脚本》
  19. Javascript版开心农场
  20. js进阶实例,数字时钟

热门文章

  1. 如何在K8S中创建一个自定义Controller?
  2. LTE小区选择和小区重选(3
  3. 高等代数:5 矩阵的相抵与相似
  4. matlab可以对多张表同时操作吗,update操作多张表
  5. recovery: ASCII cpio archive (SVR4 with no CRC)——cpio格式的recovery解压缩和重新打包的方法
  6. AutoCAD的COM开发时无法获取AtuoCAD实例对象解决方案
  7. 完美解决Windows预览体验计划错误0x80072ee2
  8. 怎么从零开始学习网络工程师?华为大牛说:完全可以
  9. 支付宝android客户端,支付宝Android客户端使用笔记(一)
  10. 国家开放大学-乡村社会学-形考作业2