ADC0804模数转换与显示_第1页
ADC0804模数转换与显示_第2页
ADC0804模数转换与显示_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、ADO模转换与现实(扩展用1602带电阻值显示)实验目的:1. 掌握ADC的使用控制方法。2. 实验内容:基本要求:设计一程序采集ADC0809第3通道的电压值,将其转换为数字量,并在数码管上显示;5V显示为255,0V显示为000。3. 扩展要求:将转换结果以用1602表现出当前电阻值。C程序:#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitCS=P2A1;sbitwr=P2A4;sbitrd=P2A5;sbitlcd1=P2A3;sbitlcd

2、en=P2A2;sbitlcdrs=P2A0;sbitdula=P2A7;/52系列单片机头文件/包含_nop_函数所在的头文件/宏定义/ADC0804CS端/ADC0804WR端/ADC0804RD端/lcd锁存器/lcd1602EN端/lcd1602RS端/段选端sbitwela=P2A6;/位选端/floatr;ucharcodetable=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voiddelay(uintxms)/延时函数(uinti,j;for(i=xms;i&

3、gt;0;i-)for(j=110;j>0;j-);voiddisplay(ucharbai,ucharshi,ucharge)/数码管显示函数(dula=1;打开段选P0=tablebai;/送入百位dula=0;/关闭段选P0=0xff;/消隐wela=1;/打开位选P0=0x7e;/选择第一位wela=0;/关闭位选P0=0;/消隐延时delay(5);dula=1;P0=tableshi;dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;P0=0;delay(5);dula=1;P0=tablege;dula=0;P0=0xff;wela=1;P0=0x7

4、b;写指令写数据wela=0;P0=0;delay(5);voidwrite_com(ucharcom)/1602(lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;voidwrite_data(uchardata1)/1602(lcdrs=1;P0=data1;delay(5);delay(5);lcden=0;voidinit()/1602初始化(dula=0;/关闭段选wela=0;/关闭位选lcden=0;/lcden置于低电平write_com(0x38);设置16*2显示,5*7点阵,8位数据接write_com(0x0c);/设置开

5、显示,不显示光标write_com(0x06);/写一个字符后地址加write_com(0x01);/显示清0,数据指针清0voidlcd_display(uintge,F1,F2,F3,F4)/lcd_显示(F1小数点后一位F2小数点后两位F3F4)(wela=0;dula=0;锁存器/选择在1602第一行显示/ascii码48写入个位/延时lcd1=1;打开led/write_com(0x01);write_com(0x80);write_data(48+ge);delay(5);write_data('.');delay(5);write_data(48+F1);dela

6、y(5);write_data(48+F2);delay(5);write_data(48+F3);delay(5);write_data(48+F4);delay(5);write_data('K');delay(5);lcd1=0;关闭锁存器voidmain()/主程序(uchara,A1,A2,A3,shu;uintge,F1,F2,F3,F4;floatr;init();CS=0;while(1)(r=(255-shu)/256;/转换公式wr=1;_nop_();wr=0;/启动A/D转换_nop_();wr=1;for(a=10;a>0;a-)(display

7、(A1,A2,A3);P1=0xff;读取P1口之前先给其写全1rd=1;选通AD0804CS端_nop_();rd=0;/A/D读使能_nop_();shu=P1;/A/D数据读取赋给P1口rd=1;A1=shu/100;数码管分出百十个A2=shu%100/10;A3=shu%10;ge=(int)r%10;/(int)字符型强制转换成整形1602分出个位跟小数点后四位F1=(int)(r*10)%10;F2=(int)(r*100)%10;F3=(int)(r*1000)%10;F4=(int)(r*10000)%10;lcd_display(ge,F1,F2,F3,F4);仿真图:rflHLlO用li!15it*印knr-flIK-liZi=*i受1RPEiranawRgTPJLa3"qmA0F7J£i1MX

温馨提示

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

评论

0/150

提交评论