数字电压表实训报告

数字电压表实训报告

ID:11893032

大小:99.50 KB

页数:8页

时间:2018-07-14

数字电压表实训报告_第1页
数字电压表实训报告_第2页
数字电压表实训报告_第3页
数字电压表实训报告_第4页
数字电压表实训报告_第5页
资源描述:

《数字电压表实训报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字电压表实训报告一、实训目的1、设计电路图,根据电路图焊接电路。2、通过把设计好的程序利用软件将编译得到HEX格式文件加载到单片机芯片中,实现仿真电路,得到仿真电路结果。二、实训要求1、选择课题,独立完成电路的焊接和程序的编写与调试工作。2、数码管准确显示电压表上电压值,误差允许在+0.05。3、具有高于或低于某值时的报警功能。4、准确计时,以数字形式显示时、分、秒的时间。5、具有校正时间功能(即调整时间)。6、结合理论知识分析在焊接电路和调试程序过程中出现的问题,并及时解决相应问题。7、可以到图书馆查阅参考资料。8、认真完成实验课题。三、实训仪器电脑,K

2、eil软件,Proteus软件四、实训器材晶振、电容、电阻、按键、单片机、数码管、电烙铁、烙铁架、焊锡、电路板、实验配套工具五、实训仿真电路与程序(一)数字电压表仿真电路(一)数字电压表仿真程序#includesbitP20=P2^0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;sbitad_st=P2^5;sbitad_eoc=P2^6;sbitad_oe=P2^7;sbitP30=P3^0;sbitP31=P3^1;unsignedintcounter,i;unsignedintDYZ;unsigned

3、intdis_code[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedintdis_buf[4];voidAdc_chushi();//初始函数申明voiddelayms(unsignedcharms)//延时子程序{unsignedchari;while(ms--){for(i=0;i<125;i++);}}voidxianshi()//显示函数{P2=P2

4、0x0f;dis_buf[1]=(dis_code[DYZ/10000])

5、0x80;//百位,加上0x80是点亮小数

6、点DYZ%=10000;dis_buf[2]=dis_code[DYZ/1000];//十位DYZ%=1000;dis_buf[3]=dis_code[DYZ/100];//个位P23=1;P21=0;P0=dis_buf[1];//显示代码传送到P0口delayms(1);P21=1;P22=0;P0=dis_buf[2];//显示代码传送到P0口delayms(1);P22=1;P23=0;P0=dis_buf[3];//显示代码传送到P0口delayms(1);}voidbaojing(){if(DYZ>45000)P30=0;elseP30=1;if

7、(DYZ<15000)P31=0;elseP31=1;}voidmain(void){TMOD=0x02;//选择定时计数器工作方式2ET0=1;EA=1;TH0=255;TL0=255;TR0=1;P30=1;P31=1;while(1){Adc_chushi();DYZ=DYZ*195;baojing();xianshi();}}voidAdc_chushi(void)//初始函数{ad_st=0;delayms(1);ad_st=1;delayms(1);ad_st=0;while(ad_eoc==0);ad_oe=1;delayms(1);DYZ=P

8、1;delayms(1);ad_oe=0;}(二)数字时钟仿真电路(二)数字时钟仿真程序#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbitP3_0=P3^0;//位定义sbitP3_1=P3^1;sbitP3_2=P3^2;sbitP3_3=P3^3;sbitP3_4=P3^4;sbitP3_5=P3^5;sbitP3_6=P3^6;sbi

9、tP3_7=P3^7;sbitKEY2=P1^0;sbitKEY3=P1^1;sbitKEY4=P1^2;unsignedcharM;//全局变量定义,M是模式unsignedcharsecond,minute,hour;unsignedcharcount;voiddelay()//延时函数{uinti;//局部变量ifor(i=0;i<=10;i++);}voidtimer0()interrupt1using0//中断函数{ET0=0;//定时器0关中断TR0=0;//关闭定时器0TH0=(65536-50000)/256;//初始化50msTL0=(65

10、536-50000)%256;count++;//定

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

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

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