欢迎来到天天文库
浏览记录
ID:51927992
大小:118.59 KB
页数:5页
时间:2020-03-19
《直流数字电压表设计实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、洛阳理工学院实验报告系部计算机系班级B140502学号B14050226姓名韩亚辉课程名称单片机原理及应用实验日期2016/6/1实验名称直流数字电压表设计成绩实验目的:掌握LED动态显示和A/D转换接口设计方法。实验条件:装有KeiluVision3编译软件和ISIS7Professional仿真软件的电脑。一、实验要求:(1)数码管动态显示编程;(2)A/D转换查询法编程;(3)考察延时量对动态显示效果的影响。二、实验步骤:(1)提前阅读与实验7相关的阅读材料;(2)参照实验原理图,在ISIS中完成电路原理图的绘制;(3)采用uVision3进行C51动态显示和A/D转换的编程及调试
2、;三、运行结果:仿真运行截图如下图所示:四、实验程序代码:#includesbit_clk=P2^4;sbitALE=P2^5;sbit_st=P2^5;//定义AD启动位,_stsbit_eoc=P2^6;//定义AD结束位,_eocsbit_oe=P2^7;//定义AD使能位,_oesbitled0=P2^3;//定义数码管最低位,led0sbitled1=P2^2;//定义数码管第二位,led1sbitled2=P2^1;//定义数码管第三位,led2unsignedcharad_result=0;//定义AD转换结果变量,ad_resultunsignedcha
3、rtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义十进制显示字模数组,table[]voiddelay(unsignedinttime)//延时函数{unsignedintj=0;for(;time>0;time--)for(j=0;j<125;j++);}voiddisp(void)//显示函数{led2=0;//第三位位码清0P0=table[ad_result/100];//输出第三位的字模delay(10);//延时10msled2=1;//第三位位码置1led1=0;//第二位位码清0P0=tabl
4、e[(ad_result/10)%10];//输出第二位的字模delay(10);//延时10msled1=1;//第二位位码置1led0=0;//最低位位码清0P0=table[ad_result%10];//输出最低位的字模delay(10);//延时10msled0=1;//最低位位码置1}voidmain(void){TMOD=0x02;TH0=206;TL0=206;TR0=1;EA=1;ET0=1;ALE=0;ALE=1;while(1){_st=0;_st=1;_st=0;//模拟启动时序,发出启动AD转换脉冲while(!_eoc);//查询EOC标志,若EOC=0,原地
5、等待_oe=1;//若EOC=1,使能OE置1ad_result=P1;//读取AD转换结果_oe=0;//使能OE置0disp();//动态显示函数调用}}voidTimer0_INT()interrupt1{_clk=!_clk;}实验总结:这次实验中间遇到了一些困难,刚开始无法程序无法运行,自己没有找到错误,后来通过向同学请教才找到了错误。之后在里边加入了中断才能顺利仿真。通过这次实验自己对于单片机的了解更加深了一步,同时也了解到了自己的短处,感觉收获很大。
此文档下载收益归作者所有