1、单片机实训报告李博242020年4月19日文档仅供参考单片机实训报告系 别:电子电气工程系班 级:过化123班 姓 名:李 博学 号: 04350212日 期: 5月1日指导老师:李泉 李红萍 实训地点:综合楼四楼单片机实训室实训时间:4月27日5月3日实训目的:了解80C51/80C52单片机的结构和组成,学会简单的编程,熟练掌握编程软件和仿真软件。熟记C语言的基本指令。MCS-51单片机应用技术的基础知识(C语言)实训内容:一、元器件的认识Capacitor电容 debugging调试工具 memory ICS存储 connectors连接器 diodes二极管 CRYSTAL晶振 dat
2、e converters数据转换器 inductors电感 operational运算放大器 optoelectronics光电器件 7SEG-COM-AN(共阳极)-GRN(绿色) 7SEG-COM-CAT(共阴极)-GRN(绿色) LED-YELLOW发光二极管 speakers sounders喇叭 resistors电阻 switches$Relays开关按钮 SW-SPST 开关 Transistors三极管二、程序与仿真1、一盏灯亮(1)、程序#include #include main()int i,k;for(k=0;k3;k+);P1=1;for(i=0;i10000;i+)
3、;P1=0;for(i=0;i10000;i+);(2)、在proteus软件上绘制电路图 2、数码管显示09(1) 、程序 #include #define uint unsigned int void delayn50ms(uint n)uint i,j;for(j=0;jn;j+)for(i=0;i=10000;i+); main( ) while (1) P2=0xC0;delayn50ms(20);P2=0xF9;delayn50ms(20);P2=0xA4;delayn50ms(20);P2=0xB0;delayn50ms(20);P2=0x99;delayn50ms(20);P2
4、=0x92;delayn50ms(20);P2=0x82;delayn50ms(20);P2=0xF8;delayn50ms(20);P2=0x80;delayn50ms(20);P2=0x90;delayn50ms(20);(2) 、在proteus软件上绘制电路图3、数码管01交替(1) 、程序#include #define uint unsigned int void delayn50ms(uint n)uint i,j;for(j=0;jn;j+)for(i=0;i=10000;i+); main( ) while (1) P2=0xC0;delayn50ms(20);P2=0xF9
5、;delayn50ms(20);(2) 在proteus软件上绘制电路图4、八盏灯交替闪亮(1) 、程序 #includestdio.h#includereg51.hmain()int i,k;for(i=0;i10;i+)P1=0x80;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+); P1=0x40;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+);P1=0x20;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30
6、000;k+); P1=0x10;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+); P1=0x08;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+); P1=0x04;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+);P1=0x02;for(k=0;k30000;k+);for(k=0;k30000;k+);for(k=0;k30000;k+);P1=0x01;for(k=0;k30000;k+);fo
7、r(k=0;k30000;k+);for(k=0;k30000;k+);for(;);(2) 、在proteus软件上绘制电路图5、电子表(1)、程序 #include void Toinit();void Display(void);void Key_Enter(void);void Delay(void); char nhour=0, nminute=0, nsecond=0, ntimetick=0; bit bRun=1; sbit bRunKEY=P00; sbit bclearKEY=P01; sbit bhourKEY=P02; sbit bminuteKEY=P03; sbit
8、 bsecondKEY=P04;main() P3=0; Toinit(); while(1) Display(); Key_Enter(); void Toinit() TCON=0; TMOD=0x01; TL0=- 0%256; TH0=- 0/256; ET0=1; EA=1; TR0=1; void Toint(void) interrupt 1 using 1 TL0=- 0%256; TH0=- 0/256; if(bRun=1) ntimetick+; if(ntimetick=50) ntimetick=0; nsecond+; if( nsecond=60) nsecond
9、=0; nminute+; if(nminute=60) nminute=0; nhour+; if(nhour=24) nhour=0; void Display(void) char DispTbL=0xC0,0xF9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; P3=0; P1=DispTbLnhour/10; P3=0x01; Delay(); P3=0; P1=DispTbLnhour%10; P3=0x02; Delay(); P3=0; P1=DispTbLnminute/10; P3=0x04; Delay(); P3=0; P1=Disp
10、TbLnminute%10; P3=0x08; Delay(); P3=0; P1=DispTbLnsecond/10; P3=0x10; Delay(); P3=0; P1=DispTbLnsecond%10; P3=0x20; Delay(); P3=0; void Delay(void) int i; for (i=0;i=24) nhour=0; if(bminuteKEY=0) Delay(); while(bminuteKEY=0); nminute+; if(nminute=60) nminute=0; if(bsecondKEY=0) Delay(); while(bsecon
11、dKEY=0); nsecond+; if(nsecond=60) nsecond=0; (2)、在proteus软件上绘制电路图6、九盏灯二二循环点亮(1)、程序#include #include main() int i,k; for(i=0;i2;i+)P1=0XFC; for(k=0;k30000;k+); for(k=0;k30000;k+); P1=0XF9; for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0XF3;for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0XE7;for(k=0;k30000;k+)
12、; for(k=0;k30000;k+);P1=0XCF;for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0X9F; for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0X3F;for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0X7F;P3=0XFE;for(k=0;k30000;k+); for(k=0;k30000;k+);P1=0XFE;P3=0XFE;for(k=0;k30000;k+); for(k=0;k30000;k+); P3=0XFF; P1=0XFF; for(;);
13、(2)、在proteus软件上绘制电路图实训心得 为期一周的实训结束了,我在这一周中学到了很多在课堂上根本就没有学过的知识,受益匪浅。实训是每个大学生必须拥有的一段经历,它使我们在实践中了解社会,这周我们学习了从来我都没有接触过的c语言,使我明白C语言这门课程光仅仅是听课是远远不够的,上机训练也不容忽视。 经过上机训练,才能够明白自己知识的不足,才能够有的放矢,更加深刻的理解C语言中的知识点。 经过实训,学到了很多以前不懂的知识,特别是遇到了自己当时不知道如何编写的C语言题目如何编写,经过自己的学习和同同学的交流后,试编和改错,最后能够顺利的编写出来,带来的也有成就感。并增加了我们对C语言的兴
14、趣和学好C语言的信心。 与同学们交流的过程中,了解了程序的多种解决方法,知道了不同编写方法有不同的特点。总结C语言实训的几个重要作用:1加深对课堂讲授内容的理解刚刚开始接触c语言我觉得很有趣,但老师讲的越来越无聊,凭着自己的坚持我慢慢稍微懂得了c语言的重要性和语法规则,课堂上要讲授许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。经过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握C语言的语法规定。 学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写C语言程序,
15、解决实际问题。即把C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有经过上机才能检验自己是否掌握C语言、自己编写的程序是否能够正确地解题。 2熟悉程序开发环境、学习计算机系统的操作方法一个C语言程序从新建、编译、检查到运行,全是用英语软件开发的。在所谓环境就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。经过上机实验,熟练地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。3学习上机调试程序 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,可是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。 经过这次为数不多的几天计算机实践学习,我们更好的了解了一些关于C语言的知识,经过c语言与汇编的对比我慢慢的懂得了各种规则,符号也是很重要的。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100