已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多量程数字电压表本毕设以stc89c52rc单片机为核心,利用adc0809采集外部电压进行转换显示,并采用串联电阻法,选取不同的量程。程序:#include/#include#define uint unsigned int#define uchar unsigned charsbit rs=p30;sbit e=p31;sbit start=p20;sbit out=p22;sbit ale=p23;sbit key1=p34;sbit key2=p35;sbit key3=p36;uchar num=1,flag=0;uint ad_data;uchar data table=0123456789.v h:;void delay(uchar ms) /延时子函数 uchar j,i; for(i=ms;i0;i-) for(j=110;j0;j-);/写指令/void write_com(uchar com) /写指令函数 rs=0; p1=com; e=1; delay(1); e=0;/写数据/void write_data(uchar da) /写数据函数 rs=1; p1=da; e=1; delay(1); e=0; /初始化液晶/void lcd_init() write_com(0x38); /*显示模式设置*/ delay(5); write_com(0x38); delay(5); write_com(0x38); delay(5); write_com(0x38); write_com(0x08); /*显示关闭*/ write_com(0x01); /*显示清屏*/ write_com(0x06); /*显示光标移动设置*/ delay(5); write_com(0x0c); /*显示开及光标设置*/ write_com(0x83); write_data(table14); /初始化显示相关字符/void display_data(uchar add1,uchar add2,uint date) uchar i; write_com(0x82); write_data(tablenum); /ad通道显示 write_com(0x80+add1*0x40+add2); /地址计算 delay(1); if(num=1) i=date/100; write_data(tablei); / i=date/10%10; write_data(tablei); write_data(table10); i=date%10; write_data(tablei); write_data(table11); if(num=2|num=3) i=date/100; write_data(tablei); /write_data(table10); i=date/10%10; write_data(tablei); i=date%10; write_data(tablei); write_data(table11); write_data(table12); void key_scan() if(key1=0) delay(10); /消抖延时 if(key1=0) num=1; while(key1=0); if(key2=0) delay(10); /消抖延时 if(key2=0) num=2; while(key2=0); if(key3=0) delay(10); /消抖延时 if(key3=0) num=3; while(key3=0);void int0_init() ea=1; it0=1; ex0=1;void ad_transform() p2&=0x0f;/ delay(2); ale=0; p2|=0x00+num*16; /地址计算 delay(1); ale=1; ale=0; start=0; start=1; start=0; void main() float aa=0.0; lcd_init(); /液晶屏初始化 int0_init(); /中断初始化while(1) key_scan(); /按键扫描函数 ad_transform(); delay(100); if(flag=1) ea=0; flag=0; aa=(float)ad_data; /ad转换函数 if(num=1) aa=(aa*200)/255; /标度转换此公式将ad值放大100倍 if(num=2) aa=(aa*200)/255; /标度转换此公式将ad值放大100倍 if(num=3) aa=(aa*500)/255; /标度转换此公式将ad值放大100倍 ea=1; display_data(0,4,(uint)aa);/数值显示 void it0() interrupt 0 out=1; flag+; ad_dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮料项目综合评估报告
- 腺苷钴胺在户外装备行业的应用
- 医疗机构感染管理规范
- 妊娠期高血压治疗的产前检查
- 房地产销售控价格表:商业地产
- 口腔医院传染病防控与转诊要点
- 教育宣传:糖尿病的严重性
- 绿色农业:蔬菜病虫害防控新技术
- 蓝莓园病虫害防治技术
- OP006供电设备更新换代
- 国开2024年《统计学原理》形成性考核1-3答案
- 西安市教育科学研究 小学高年级道德与法治有效教学策略的研究 立项申请书
- 某住宅小区工程招标文件
- 全员智慧中台知识赋能行动2.0题库
- 人工智能计算中心项目需求设计方案
- 家具鉴赏智慧树知到期末考试答案2024年
- 2024年全能型供电所岗位知识考试题库(600题)
- 预防性维修管理制度
- 五年级下学期信息技术第6课花瓣飘落添秀丽((课件))
- 软件工程经济学完整整套教学课件
- 施工临时道路施工方案及施工临时道路施工方案及施工临时用电施工方案(附计算试)
评论
0/150
提交评论