当前位置: 首页 > wzjs >正文

免费空间自助建站模板潼南国外免费自助建站

免费空间自助建站模板,潼南国外免费自助建站,阮一峰的个人网站,芜湖市建设工程质监站网站利用单片机STC89C51与ADC0804设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,要求采用下面电路图。 时序图: 启动时序图 读取时序图 实现一次ADC转换主要包含下面三个过程:(注&#xff1a…

利用单片机STC89C51与ADC0804设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,要求采用下面电路图。

时序图:

启动时序图

读取时序图

实现一次ADC转换主要包含下面三个过程:(注:对CS为低后,对CS何时为高电平不要求)

  1. 启动转换:由时序图中的上部“启动时序图”可知,在/CS信号为低电平的情况下,将引脚/WR先由高电平变成低电平,经过至少tW(WR)I 延时后,再将引脚/WR拉成高电平,即启动了一次AD转换。注:ADC0804使用手册中给出了要正常启动AD转换的低电平保持时间tW(WR)I的最小值为100ns,即拉低后延时大于100ns即可以,具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于100ns即可。
  2. 延时等待转换结束:依然由时序图中的上部“启动时序图”可知,由拉低信号启动AD采样后,经过1到8个Tclk+INTERNAL Tc延时后,AD转换结束,因此,启动转换后必须加入一个延时以等待AD采样结束。注:手册中给出了内部转换时间“INTERNAL Tc”的时间范围为62~73个始终周期,因此延时等待时间应该至少为8+73=81个时钟周期。比如,若R为10K, C为150pF,则时钟频率为Fclk=1/1.1RC=9.09MHz,因此时钟周期约为Tclk=1/Fclk=1.65us。所以该步骤至少应延时81*Tclk=133.65us. 具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于133.65us即可。
  3. 读取转换结果:由时序图的下部“读取时序图”可知,采样转换完毕后,在信号/CS为低的前提下,将脚/RD由高电平拉成低电平后,经过tACC的延时即可从DB脚读出有效的采样结果。注:手册中给出了tACC的典型值和最大值分别为135ns和200ns,因此将引脚拉低后,等待大于200ns后即可从DB读出有效的转换结果。具体做法可通过插入NOP指令或者调用delay()延时函数实现,不用太精确,只要估计插入的延时大于200ns即可。
#include<reg51.h>
#include <intrins.h>#define uchar  unsigned char
#define uint  unsigned intuchar code SegCode[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
uchar code BitCode[] = {0x7f, 0xbf,0xdf,0xef};
unsigned char dispbuf[4];sbit adcs = P2^2;
sbit adrd = P3^7;
sbit adwr = P3^6;sbit dio_en=P3^0;void DelayMs(uint n) {uchar j;while (n--) {for (j = 99; j > 0; j--);}
}void seg_display(uint count) {uchar ge, shi,bai;bai = count/100%10;shi = count/10 %10 ;ge =  count %10;P2 = BitCode[1];P1 = SegCode[ge];DelayMs(5);P1 = 0xFF;  // xiao yinP2 = BitCode[2];P1 = SegCode[shi];DelayMs(5);  P1 = 0xFF;P2 = BitCode[3];P1 = SegCode[bai]&0x7f;DelayMs(5); P1 = 0xFF;P2 = BitCode[0];P1 = SegCode[0];DelayMs(5);  P1 = 0xFF;
}uchar  AD_Convert(void){
//START CONVERTINGadcs = 0;   //芯片有效adwr = 0;   //启动ADC0804进行ADC采集_nop_();    //延时片刻 1us >100nsadwr = 1;   //高电平变低电平触发一次ADC转换
//WAIT FOR CONVERTINGDelayMs(1); //延时1ms,等待采样转换结束	>133usP0=0xFF; //输入拉高
//read converting resultadrd=0;	//将RD脚置低电平后,再延时大于135ns左右(这里延时1us),_nop_(); //即可从DB脚读出有效的采样结果,传送到P0口 1us >200nsreturn (P0);
}void main()
{uint num=0;dio_en=0;while(1){num=2*AD_Convert();seg_display(num);}
}

http://www.dtcms.com/wzjs/586383.html

相关文章:

  • 网站建设的类型wordpress换网址
  • 做网站赚钱的案例搜狗链接提交入口
  • 做网站图注意事项小程序开发教程电子书
  • 连云港网站建设wang合肥关键词排名推广
  • 新手 网站建设 书籍企业主页是什么
  • 服务器网站绑定域名网站建设简历网站推荐
  • 商城网站建设信息外贸网站建设设计方案
  • 广饶网站设计企业创建网站的途径
  • 成都公司网站seo霸榜seo
  • 网站建设的书籍深圳软件有限公司
  • 外贸企业做网站河北网站建设seo优化营销制作设计
  • 口碑好的东莞网站建设关于网站建设的合同范本
  • vue做的个人网站wordpress模板安装
  • 自己做网站怎么搜索邯郸哪里做网站好
  • 网站建设小程序公众号销售seo网站建设技巧
  • 站内关键词排名软件深圳集团网站建设哪家好
  • reactjs 做网站如何做电影网站赚钱吗
  • 长沙网站建设有限公司上饶市建设厅网站
  • 企业如何找网络公司做网站国家商标局
  • 单页网站有哪些铭望家装公司电话
  • 网站安全建设方案步骤网站开发小组
  • 宿州网站建设哪家公司好网站开发课程设计参考文献
  • 网站运营推广难做客户关系管理的含义
  • 物流公司网站建设模板北京便宜的网站建设
  • 宁波网站建设找哪家好企业营销策划推广
  • 东莞网站推广设计网站建设合同性质
  • 有个人做网站的网站开发框架书籍
  • 互联网网站开发服务合同范本珠海知业科技
  • 南通做网站多少钱公司网站大全
  • 建设网站深圳海宁营销型网站设计