单片机实训项目报告.doc

上传人:飞****2 文档编号:56392219 上传时间:2022-11-01 格式:DOC 页数:14 大小:347.50KB
返回 下载 相关 举报
单片机实训项目报告.doc_第1页
第1页 / 共14页
单片机实训项目报告.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《单片机实训项目报告.doc》由会员分享,可在线阅读,更多相关《单片机实训项目报告.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机实训项目报告 电气学院 班级 电气1049班 姓名 冯岗 学号 实训地点 电气学院605实训室 指导教师 杨宇 2012年5月23日实训项目一项目名称一灯(LED)闪烁控制一、要求及功能描述:功能:用单片机控制一个LED灯快速闪烁。要求: 1)设计一个电路,用单片机端口控制控制一个LED灯; 2)编写一个控制程序,实现LED灯快速闪烁,闪烁时间采用软件延时反法; 3)在01板上实现,并改变闪烁延时后,观察效果。二、 电路设计:三、程序设计:C语言程序#includesbit led_en=P42;sbit L1=P07;delay( )unsigned char i,j,k;for(i=

2、20;i0;i-)for(j=200;j0;j-)for(k=248;k0;k-);main( )led_en=0; while(1) L1=0; delay( ); L1=1; delay( ); 四、项目小结: 此项目以AT89C51芯片为核心部件,实现了单片机的一灯闪烁。此次实训在老师的讲解下,在软件、编写程序方面,花费了我们大量的时间,不过也尽可能多的让我了解一灯闪烁知识。通过这三周的实训,熟练掌握了keil u Vision4软件开发环境的使用,并且进一步加深对单片机常用指令的理解与运用。在实训过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基

3、本原理、单片机系统开发过程,以及在常用编程设计思路技巧的掌握方面迈进了一大步。 同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大的提高了时间能力,单片机领域对我今后进一步学习计算机方面知识有极大的帮助。使我认识到课程的重要性,同时也感受到理论与实践之间的差距,是我对单片机系统的运用由来更深刻的认识。实训项目二项目名称电子门铃与控制一、要求及功能实现: 功能:用单片机实现一个门铃控制 要求: 1)设计一个电路,用单片机端口读取按键,并使蜂鸣器响; 2)编写一控制程序,实现门铃功能; 3)在01板上实现,并改变鸣方式。二、电路设计: 三、程序设计: C语言程序#includesbit

4、key1=P32;sbit bell=P36;main( )P3M0=0x40;P3M1=0x00;if(!key1)bell=1;else bell=0;四、项目小结:这次实习让我受益匪浅,无论是理论知识还是其他的各个方面。上课时也只是见到过一次单片机,只能从理论的角度去理解枯燥乏味。但在实训过程中真正的了解的一些单片机知识,及单片机运用系统,能理论联系实际,开阔了眼界,提高了对单片机知识的理解和运用。 单片机是一门很重要的课程,老师和一些工作的朋友都曾说过,尽管我们在课堂上学到的内容很有限,但在以后的学习中单片机还需要好好地深入研究和学习,最后感谢老师对我们的精心指导和帮助。实训项目三项目

5、名称流水灯控制一、要求及功能实现功能:用单片机实现一个流水灯控制要求: 1) 设计一个电路,用单片机流水灯控制功能; 2)编写一个控制程序,实现流水灯控制功能; 3)在01板上运行控制程序后,观察效果。二、电路设计三、程序设计 C语言程序#includeunsigned char a=1;sbit led_en=P42;delay (unsigned int T)while(-T);main( )led_en=0;while(1) P0=a; a=1; if(a=0)a=0; delay(50000); 四、项目小结本设计成品是以单片机AT89C51芯片为核心部件,实现了流水灯的功能。此次设计

6、在软件、编写程序方面花费时间太多,我们尽可能多的了解流水灯控制的相关知识。通过这几周的综合实训(单片机课程设计),熟练掌握了Keil C51集成开发环境的使用方法,了解并掌握到单片机芯片的烧写方法与步骤,进一步加深了对单片机常用指令的理解与运用。在实训过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C语言)的掌握方面都能向前迈了一大步。 同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助。使我们认识到课程

7、的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认.实训项目四项目名称数码管驱动与控制一要求及功能实现: 功能:用单片机实现LED数码管的静态与动态驱动显示。 要求: 1)设计一个电路,用单片机驱动LED数码管; 2)编写一控制程序,控制LED数码管显示,可分为静态显示和动态显示; 3)在01板上实现,并改变显示内容后,观察效果。二电路设计三 程序设计 静态显示C语言程序#includesbit led_bit=P10;unsigned char a=0;unsigned char disp=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe

8、,0xe0,0xfe,0xf6;delay(unsigned int T)unsigned char i;for(i=0;i2;i+)while(T-);main()P1M0=0X01;P1M1=0X00;led_bit=1;while(1) for(a=0;a10;a+) P0=dispa; delay(5000); 动态显示C语言程序#includesbit led_en=P42;unsigned char code disp=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00;unsigned char buffer6;unsig

9、ned char m_sec=0,sec=0,min=0;unsigned char n=0,num=0,b=1;main()P1M0=0x3f;P1M1=0x00;TMOD=0x11;TH0=0x3c;TL0=0xb0;TH1=(65536-4000)/256;TL1=(65636-4000)%256;IE=0x8a;TR0=1;TR1=1;while(1);T0_int() interrupt 1TH0=0x3c;TL0=0xb0;n+;if(n=2) n=0; m_sec+; if(m_sec=100)sec+;m_sec=0;if(sec=60)min+;sec=0;if(min=10

10、0)min=0;buffer0=m_sec%10;buffer1=m_sec/10;buffer2=sec%10;buffer3=sec/10;buffer4=min%10;buffer5=min/10;T1_int() interrupt 3TH1=(65536-4000)/256;TL1=(65536-4000)%256;if(num=2|num=4)P0=(dispbuffernum|0x01);elseP0=dispbuffernum;num+;P1=b;b=b=6)b=1;num=0;四项目小结回想起整个实训过程,本次实训是本人到目前为止觉得最有意义,也是最有收获的,作为学自动化方面

11、的学生,设计是我们将来必须的技能,而这个实训刚刚给了我们提供了一个应用自已所学知识的平台。从通过理论设计,到具体方案,到调试电路成品。整个过程都需要我充分利用所学的知识进行思考借鉴。我认为这次实训是针对前面所学的知识进行一次比较全面的检测,总的来说,我觉得的听充实的。实训项目五项目名称 电子钟一要求及功能实现:功能:用单片机实现电子钟。要求: 1)设计一个电路,用单片机实现电子钟; 2)编写一控制程序,控制LED数码管显示时间,并可通过按键设定时间。 3)在01板上运行程序后,观察效果。二 电路设计:三程序设计: C语言程序#include#define Uchar unsigned char

12、#define Uint unsigned intUchar code disp=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00;Uchar buffer6;Uchar sec=0,min=0,hour=0;Uchar led_bit=0x20,num=0,n=0,a=0;sbit key1=P32;sbit key2=P33;sbit key3=P34;sbit key4=P35;delay(Uint T)while(T-);main()TMOD=0x11;TH0=0xdc;TL0=0x00;TH1=0xee;TL1=0x00;I

13、E=0x8b;P1M0=0x3f;P1M1=0x00;TR0=1;TR1=1;while(1) if(key1=0) a+; if(a3)a=0; if(key2=0&a=0) switch(a) case 1:hour+;if(hour23)hour=0;break; case 2:min+;if(min59)min=0;break; case 3:sec=0;break; switch(a) case 0: buffer0=hour/10; buffer1=hour%10; buffer2=min/10; buffer3=min%10; buffer4=sec/10; buffer5=se

14、c%10; break; case 1: buffer0=hour/10; buffer1=hour%10; buffer2=10; buffer3=10; buffer4=10; buffer5=10; break; case 2: buffer0=10; buffer1=10; buffer2=min/10; buffer3=min%10; buffer4=10; buffer5=10; break; case 3: buffer0=10; buffer1=10; buffer2=10; buffer3=10; buffer4=sec/10; buffer5=sec%10; break;

15、; T0_int() interrupt 1TH0=0xdc;TL0=0x00;n+;if(n99) n=0; sec+; if(sec59) sec=0; min+; if(min59) min=0; hour+; if(hour23)hour=0; T1_int() interrupt 3TH1=0xee;TL1=0x00;if(num=1|num=3)&a=0)P0=(dispbuffernum|0x01);else P0=dispbuffernum;P1=led_bit;led_bit=led_bit1;num+;if(num5)led_bit=0x20;num=0;四项目小结在整个课程设计完后,总的感觉是:有收获。以前上课都是一些最基本的东西,而现在却可以将以前学的东西做出有实际价值的东西。在这个过程中,我的确学到很多书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到错误的原因,等等。但也遇到了不少的挫折,有时遇到的错误怎么也找不到原因所在。在学习中的小问题在课堂上不能犯,在动手的过程中却很有可能犯。特别是在书写程序时,一不小心就出错,而且很不容易检查出来,还有就是自己的动手能力有欠缺,在做的过程中遇到了很大的困惑,耽误了不少时间。但现在回头看看,感觉还是挺有成就感的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁