




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1项目任务15.1硬件设计15.2第15章采用ADC0832的两路电压表设计程序设计15.3仿真与实验结果15.4215.1项目任务利用单片机STC89C52与ADC0832设计一个两路电压表,可以将两路0~5V之间的模拟直流电压值转换成数字量信号,在LCD1602液晶显示器上实时显示。3图15-2用ADC0832设计的两路电压表的电路原理图15.2硬件设计415.3程序设计#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineIO_1602P0//IO口sbitRS_1602=P2^0;//1602RS引脚接P2.0sbitRW_1602=P2^1;//1602R/W引脚接P2.1sbitE_1602=P2^2;//1602E引脚接P2.2sbitCS=P1^0;//ADC0832片选引脚接P1.0sbitCLK=P1^1;//ADC0832CLK引脚接P1.1sbitDIO=P1^2;//ADC0832DI、DO引脚接P1.2voiddelay_ms(unsignedintt)//延时子函数晶振11.0592MHz,延时1ms{ucharx,y;for(t;t>0;t--){for(x=0;x<114;x++)for(y=0;y<1;y++);}}voidWr1602Cmd(unsignedchardat)//LCD1602写命令函数{E_1602=0;IO_1602=dat;RS_1602=0;RW_1602=0;E_1602=1;delay_ms(1);E_1602=0;delay_ms(1);}voidWr1602Dat(unsignedchardat)//LCD1602写数据函数{E_1602=0;IO_1602=dat;RS_1602=1;RW_1602=0;E_1602=1;delay_ms(1);E_1602=0;delay_ms(1);}voidInit1602(void)//LCD1602初始化函数{delay_ms(20);Wr1602Cmd(0x38);delay_ms(5);Wr1602Cmd(0x38);delay_ms(5);Wr1602Cmd(0x06);Wr1602Cmd(0x0c);Wr1602Cmd(0x01);//清屏Wr1602Cmd(0x80);//设置地址}ucharRdAdc0832(bitHx)//ADC0832工作时序程序{ucharvalue0,value1,i;CS=1;CLK=0;DIO=1;CS=0;//Adc0832片选有效DIO=1;_nop_();_nop_();_nop_();_nop_();//写StartBit位CLK=1;_nop_();_nop_();_nop_();_nop_();//产生第1个CLK时钟脉冲CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=1;_nop_();_nop_();_nop_();_nop_();//写SGL位CLK=1;_nop_();_nop_();_nop_();_nop_();//产生第2个CLK时钟脉冲CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=Hx;_nop_();_nop_();_nop_();_nop_();//写通道号位515.3程序设计CLK=1;_nop_();_nop_();_nop_();_nop_();//产生第3个CLK时钟脉冲CLK=0;_nop_();_nop_();_nop_();_nop_();DIO=1;for(i=0;i<8;i++)//第4~11个CLK时钟脉冲,下降沿读取数据{CLK=1;_nop_();_nop_();_nop_();_nop_();//产生第4~11个CLK时钟脉冲CLK=0;_nop_();_nop_();_nop_();_nop_();value0<<=1;//上一个CLK时钟脉冲接收的数据向高位移动一位if(DIO==1)value0|=0x01;//当前CLK时钟脉冲接收的数据置位或清零elsevalue0&=0xfe;}for(i=0;i<8;i++)//第12~19个CLK时钟脉冲,下降沿读取数据{value1>>=1;//上一个CLK时钟脉冲接收的数据向低位移动一位if(DIO==1)value1|=0x80;//当前CLK时钟脉冲接收的数据置位或清零elsevalue1&=0x7f;CLK=1;_nop_();_nop_();_nop_();_nop_();//产生第12~19个CLK时钟脉冲CLK=0;_nop_();_nop_();_nop_();_nop_();}CS=1;//Adc0832片选失效return(value0==value1)?value0:0x00;//如果MSB->LSB和LSB->MSB读取的结果相同则返回读取的结果,否则返回0}voidmain()//主程序{unsignedlongi;Init1602();while(1){Wr1602Cmd(0x80+0x03);i=RdAdc0832(0);//读取Adc08320通道的值i=(i*5000/255);Wr1602Dat('C');//显示Adc08320通道的值Wr1602Dat('H');Wr1602Dat('0');Wr1602Dat('=');Wr1602Dat('0'+i/1000);//个位Wr1602Dat('.');Wr1602Dat('0'+i%1000/100);//小数点后一位Wr1602Dat('0'+i%1000%100/10);//小数点后两位Wr1602Dat('0'+i%1000%100%10);//小数点后三位Wr1602Dat('V');Wr1602Cmd(0xC0+0x03);//第二路电压显示引脚CH3i=RdAdc0832(1);//读取Adc08321通道的值i=(i*5000/255);Wr1602Dat('C');//显示Adc08321通道的值Wr1602Dat('H');Wr1602Dat('1');Wr1602Dat('=');Wr1602Dat('0'+i/1000);Wr1602Dat('
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB36-T1721-2022-龙回红脐橙栽培技术规程-江西省
- 人事培训方案
- 2025学年南通市崇川区高二年级下学期期末数学试卷(导数综合题)解析
- 2025年托福口语独立任务思路拓展卷:实战演练与思维训练
- 2025年统计学专业期末考试:统计质量管理理论实践试题集精炼试题
- 2025年考研英语(二)翻译(汉译英)专项卷:哲学思想翻译深度解析
- 2025年高中地理选修三-旅游资源开发与规划全真模拟试题及解析
- 2025年注册测绘师测绘综合能力模拟试卷(大地测量与工程测量专题)大地水准面拟合技巧解析
- 2025年物理碗模拟试题:热力学系统与热机效率试卷
- 2025年Delphi新手指南试题及答案
- 分子氧氧化丙烯制环氧丙烷铜基催化剂的制备及性能研究
- 经营书院合作协议书
- 人教版五下-6.1 同分母分数加减法(教学课件)
- 仓库新员工入职培训模板
- 2025年入团考试必考题目试题及答案
- 人工智能训练师(三级)职业技能鉴定理论考试题(附答案)
- 私人月嫂合同协议书下载
- 商标基础知识试题及答案
- 中小学人工智能通识教育指南(2025年版)
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- GB/T 10069.3-2024旋转电机噪声测定方法及限值第3部分:噪声限值
评论
0/150
提交评论