ADC0804模数转换与显示.docx

ADC0804模数转换与显示.docx

ID:53278353

大小:52.08 KB

页数:9页

时间:2020-04-02

ADC0804模数转换与显示.docx_第1页
ADC0804模数转换与显示.docx_第2页
ADC0804模数转换与显示.docx_第3页
ADC0804模数转换与显示.docx_第4页
ADC0804模数转换与显示.docx_第5页
资源描述:

《ADC0804模数转换与显示.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ADC数模转换与现实(扩展用1602带电阻值显示)实验目的:1.掌握ADC的使用控制方法。 2.实验内容:  基本要求:设计一程序采集ADC0809第3通道的电压值,将其转换为数字量,并在数码管上显示;5V显示为255, 0V显示为000。3.  扩展要求:将转换结果以用1602表现出当前电阻值。C程序:#include//52系列单片机头文件#include//包含_nop_函数所在的头文件#defineuintunsignedint//宏定义#defineucharunsignedcharsbitCS=P2^1;//ADC0

2、804CS端sbitwr=P2^4;//ADC0804WR端sbitrd=P2^5;//ADC0804RD端sbitlcd1=P2^3;//lcd锁存器sbitlcden=P2^2;//lcd1602EN端sbitlcdrs=P2^0;//lcd1602RS端sbitdula=P2^7;//段选端sbitwela=P2^6;//位选端//floatr;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(u

3、intxms)//延时函数{uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voiddisplay(ucharbai,ucharshi,ucharge)//数码管显示函数{dula=1;//打开段选P0=table[bai];//送入百位dula=0;//关闭段选P0=0xff;//消隐wela=1;//打开位选P0=0x7e;//选择第一位wela=0;//关闭位选P0=0;//消隐delay(5);//延时dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;

4、P0=0;delay(5);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0x7b;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);lcden=1;delay(5);lcden=0;}voidinit()//1602初始化{dula=0;//关

5、闭段选wela=0;//关闭位选lcden=0;//lcden置于低电平write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口write_com(0x0c);//设置开显示,不显示光标write_com(0x06);//写一个字符后地址加1write_com(0x01);//显示清0,数据指针清0}voidlcd_display(uintge,F1,F2,F3,F4)//lcd_显示(F1小数点后一位F2小数点后两位F3F4){wela=0;dula=0;lcden=1;lcd1=1;//打开lcd锁存器//write_com(0x01);wr

6、ite_com(0x80);//选择在1602第一行显示write_data(48+ge);//ascii码48写入个位delay(5);//延时write_data('.');delay(5);write_data(48+F1);delay(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;uintg

7、e,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(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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。