单片机最小系统实训报告_2.docx

上传人:lao****ou 文档编号:841275 上传时间:2024-06-17 格式:DOCX 页数:10 大小:253.51KB
下载 相关 举报
单片机最小系统实训报告_2.docx_第1页
第1页 / 共10页
单片机最小系统实训报告_2.docx_第2页
第2页 / 共10页
单片机最小系统实训报告_2.docx_第3页
第3页 / 共10页
单片机最小系统实训报告_2.docx_第4页
第4页 / 共10页
单片机最小系统实训报告_2.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机最小系统实训报告_2.docx》由会员分享,可在线阅读,更多相关《单片机最小系统实训报告_2.docx(10页珍藏版)》请在第一文库网上搜索。

1、单片机最小系统实训报告一、实训目的1、掌握并理解单片机最小系统的原理和制作,熟悉电子元件的参数以及应用。2、熟悉PCB板的工业制作流程,并且要求会使用PrOte1软件绘制相应的PCB图。3、复习使用kei151软件编写相应程序,编译以及实现其功能。4、要求具备手工焊接的能力,5、能够使用软件对原理图进行仿真,测试。二、实训要求1、实现温度检测,并在数码管上显示。2、流水灯的实现。左循环和右循环。3、键盘输入的控制。.实验设备及型号1、单片机测试平台;开发系统,PC机、串/并口线。2、AT89C52单片机,A/D模数转换芯片D/A数模转换芯片,晶体管晶振。最小系统板及其他外围电路器材。3、开发软

2、件;Prote1软件。Kei151软件。PrOteUS仿真软件。四.实训原理最小系统原理电路图单片机最小系统由更位电路,单片机和排阻及时钟电路组成最小单片机系统。ADDA转换电路图使用proteus软件对系统原理进行仿真测试。仿真测试此处不一一列举仿真实例,如图为(温度仿真)单片机实现此四个功能的相应的程序代码完整源代码如下;#inc1ude单片机头文件#inc1ude左右位移头文件#defineuintunsignedint#defineucharunsignedchar#define1edP1流水灯端口宏定义#define_dataPO数码管数据宏定义sbitdio1a=P2八5;流水灯选

3、通端sbitdu1a=P26;数码管段选sbitwe1a=P27;数码管位选sbitDQ=P22jDS18B20数据读取端SbitS1=P34j/四个按键sbits2=P35;sbits3=P36;sbits4=P37;uintwendu,key_num=0Jed_num=0;ucharcodetab1e=/数码管字模0xed,0x48,0xe6,0x6e,0x4b,0x2f,Oxaf,0x68,Oxef,0x6f,Oxeb,0x8f,0xa5,0xce,0xa7,0xa3);voidtmpDe1ay(intU)延时函数(uintx;fbr(x=u;xO;x-);)voidIni1DSI8B2

4、0()/初始化ds1820(unsignedcharx=0;DQ=1;DQ复位tmpDe1ay(8);稍做延时DQ=0;单片机将DQ拉低tmpDe1ay(80);精确延时大于480usDQ=1;拉高总线tmpDe1ay(I4);x=DQ;稍做延时后,如果x=0则初始化成功x=1则初始化失败tmpDe1ay(20);unsignedcharReadOneChar()/读一个字节unsignedchari=0;unsignedchardat=O;for(i=8;i0;i)DQ=0;/给脉冲信号dat=1;DQ=1;/给脉冲信号if(DQ)dat=Ox8O;tmpDe1ay(4);)return(d

5、at);)voidWriteOneChar(unsignedchardat)写一个字节(unsignedchari=0;for(i=8;i0;i-)(DQ=O;DQ=dat&OxO1;tmpDe1ay(5);DQ=I;dat=1;)uintReadtetnpO读取温度(unsignedchara=0;unsignedcharb=0;unsignedintt=0;f1oattt=O;Init.DSI8B20();WriteOneChar(OxCC);/跳过读序号列号的操作WriteOneChar(Ox44);/启动温度转换InitJDS18B20();WriteoneChar(OXCC);跳过读

6、序号列号的操作WriteoneChar(OxBE);读取温度寄存器a=ReadOneChar();连续读两个字节数据b=ReadOneChar();t=b;t0;x-)1for(y=110;y0;y-);if(!s1!s2!s3!s4)break;检测到按键退出voiddisp1ay(uintZ)数码管显示函数(_data=OXfb;we1a=1;we1a=0;_data=0x00;du1a=1;_data=tab1ez/1000;de1ay(2);du1a=0;-data=0xf7;we1a=1;we1a=0;_data=OxOO;du1a=1;/if(!key_num)-data=tab1

7、ez/100%10J+0x10;/e1se/.data=tab1ez100%10;de1ay(2);du1a=0;_data=Oxef;we1a=1;we1a=0;-data=OxOO;du1a=1;_data=tab1ez/10%10;de1ay(2);du1a=O;_data=Oxdf;we1a=1;we1a=0;_data=OxOO;du1a=1;-data=tab1ez%10;de1ay(2);du1a=O;)void1ed_runeft()流水灯左移函数(uinttemp,j;dio1a=1;temp=0xf8;fbr(j=0;j8;j+)(1ed=temp;de1ay(300);t

8、emp=_cro1(temp,1);Ied=Oxff;)void1ed_runight()流水灯右移函数(uinttemp,j;dio1a=1;temp=0xIf;for(j=08+)(1ed=temp;de1ay(300);temp=_cror-(temp,1);Ied=Oxff;)charkey_scan()按键检测函数(if(!s1)de1ay(IO);if(!s1)(whi1e(!s1);key_num=O;)1if(!s2)(de1ay(10);if(!s2)(whi1e(!s2);key_num=1;1ed_num+;1ed_num=1ed_num%16;)1if(!s3)(de1

9、ay(10);if(!s3)(whi1e(!s3);key_num=2;1)if(!s4)(de1ay(10);if(!s4)(whi1e(!s4);key_num=3;)1return(key_num);)voidChU1i()温度处理函数(Wendu=ReadtempOZIO;voidmain()/主函数uinttemp1;ChUIi();读取一次温度whi1e(1)(key_scan();按键检测SWitCh(key_num)(CaSe0:按下键SI时显示当前温度(tempi+;if(temp1=200)(temp1=0;chu1i();1disp1ay(wendu);)break;ca

10、se1:/按下键s2时数码管显示(_data=0x00;we1a=1;we1a=0;du1a=1;_data=tab1e1ed_num;de1ay(2);du1a=O;)break;case2:按下键s3时流水灯左移(_data=OxOO;we1a=1;we1a=0;du1a=1;_data=0x83;1ed_run_1eft();)break;case3:按下键s4时流水灯右移(_data=OxOO;we1a=1;we1a=O;du1a=1;_data=Ox4a;1ed_run_right();)break;defau1t:break;)五、实训心得通过这几天的单片机的实训,我们在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,同时对相应的软件譬如Pr(HeI极其仿真软件有了一点的掌握。这些东西不但在丰富我们理论知识的同时,并且可以在今后的日常生活中灵活运用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服