stc89c52驱动ADC0832数模转换与显.doc_第1页
stc89c52驱动ADC0832数模转换与显.doc_第2页
stc89c52驱动ADC0832数模转换与显.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#define uchar unsigned char#define uint unsigned int#define delay4us()_nop_();_nop_();_nop_();_nop_();/ADC0832引脚定义sbit cs=O10;sbit clk=P11;sbit dio=P12;/lcd1602端口定义sbit rs=P20;sbit rw=P21;sbit e=P22;/一为整数,两位小数的数字电压显示缓冲uchar display_buffer=0.00V;/lcd第一行显示的信息uchar code line1=current Voltage:;void delay(uint ms)uchar t;while(ms-)for(t=0;tLSB)for(i=0;i8;i+)clk=1;_nop_();_nop_();clk=0;_nop_();_nop_();dat1=dat1MSB) for(i=0;i8;i+)dat2=dat2|(uchar)(dio)LSB和LSB-MSB读取的结果相同,则返回读取的结果,否则返回0return(dat1=dat2)?dat1 :0;void main()uchar i;uint d;/注意d的类型lcd_initialise();delayms(10);while(1)/获取AD转换值,最大值255对应于最高电压5.00v/本例中设计为显示三个数,故使用500d=get_ad_result()*500.0/255;/将AD转换后得到数据分解为三个数为display_buffer0=d/100+0;display_buffer2=d/10%10+0;display_buffer3=d%10+0;set_disp_pos(0x01);/设置显示位置i=0;while(line1i!=0)lcd_write_data(line1i+);/显示第一行字符set_disp_pos(0x46);i=0;while(display_buf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论