单片机实训报告96862.doc_第1页
单片机实训报告96862.doc_第2页
单片机实训报告96862.doc_第3页
单片机实训报告96862.doc_第4页
单片机实训报告96862.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川电子机械职业技术学院单片机原理及应用实训报告班级:应电14.2班姓名:刘华利学号:140302058指导教师:向兵摘要:单片机应用系统设计项目化教程这本书根据教育部新的教学改革要求和企业岗位技能需求,以高技能应用型人才专业能力培养为目标,结合作者多年的教学经验与课程改革成果进行编写。全书通过6个典型项目任务,着重介绍单片机基本原理及应用系统的设计方法与技巧,包括流水灯控制系统设计、简易数字时钟设计、数字电压表设计、低频信号发生器设计、数据存储及回放系统设计和窗帘智能控制系统设计等。本书采用“理实一体、项目化教学”模式进行内容编排,将单片机原理及应用系统设计的相关知识点融入项目中进行讲解,易教易学,效果良好。目录摘要 2目录 2实训名称 3实训地点 3实训时间 3实训目的 3实训项目 3项目1 3项目2 4项目3 5项目4 6实训总结 7实训名称:单片机原理及应用实训地点:行政楼523实训时间:2016.6.276.30实训目的:1、 掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。2、 掌握C的基本概念和基础知识。3、 通过训练能够读懂较为复杂的C语言源程序并具备基本C语言程序设计的能力。4、 熟练掌握各种常用类的定义继承文件的应用,为更好的理解面向对象打下更好的基础。5、 掌握面向对象的基本原理,提高学生综合程序设计的能力。6、 培养自己独立解决问题,找资料的能力。同学之间相互帮助、相互交流、相互合作的团队精神。7、 通过实训检查自己学习上的不足,达到熟练掌握C语言的基本知识和技能。实训项目:项目1点亮一个LED,每隔一定时间循环熄灭、点亮设计思路:端口送高电平,led熄灭,延时1s,端口送低电平,led点亮,延时1s,就这样一直循环。程序9#include typedefunsigned char UINT8;typedef unsigned int UINT16;void DelayMs( UINT16 Ms )UINT8 i;while (Ms-) for ( i = 0; i 114; i+ ); void main (void) while(1) L2 = 1;DelayMs(1000);L2 = 0;DelayMs(1000);原理图项目2点亮一个LED,让它每隔一定时间循环左移(课使用delay函数进行延时)设计思路:在项目1的的基础上,用dalay函数进行延时,用来表示左移,添加一个左移的函数。通俗一点的讲的话,就如天天天同一些人排队领东西,领完了返回队位继续排(当然一只是这几个人排)。 程序#includevoid delay(unsigned int z)unsigned int j,i; for(i=0;iz;i+) for(j=0;j1000;j+);void main() unsigned LED,i; LED=0xfe; while(1) for(i=0;i7;i+) delay(100); LED=(LED1)|0x01; P3=LED; 原理图项目3将任务二中delay延时改用定时器延时,且延时一秒设计思路:在项目2的的基础上,用定时器来进行延时,首先设置定时器工作方式 也就是TMOD,在设置TH0/1,TL0/1的初值,也就是定时时间的设置,然后设置中断允许,并开中断。用中断来控制。程序#include char j=0,i=0;void main()TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1);void T0_time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;j+;if(j=5) j=0;P1=(0x01i);if(+i=8) i=0; 原理图项目4四位数码管并排显示,从左到右依次为分、秒十位、秒各位、0.1秒,相当于移动可计时9分59.9秒,使用一个按键,当按键第一次按下,启动秒表,第二次按下,停止,第三次按下,清零。(数码管可选共阴极、共阳极,至于对应数字的段选可参考教材)设计思路:用delay函数来进行延时,用内部中断来控制T1,用外部中断来实现计数、暂停、清零这三个功能。程序#include#define uint unsigned int #define uchar unsigned char sbit dp=P07;uchar code Tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar xiao,miao,fen;uchar t,swnum=0;void delay(uint z) uint x,y; for(x=100;x0;x-) for(y=z;y0;y-);void dihplay() P1=0xfd; P0=Tabxiao%10; delay(1); void display() P1=0xfb;P0=Tabmiao/10;delay(1); P1=0xfe;P0=Tabmiao%10; dp=0;delay(1);void dimplay() P1=0xf7;P0=Tabfen%10; dp=0;delay(1); void main() EA = 1;EX0 = 1;IT0 = 1; ET0=1;TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=0; xiao=0;miao=0;fen=0; while(1) display();delay(1); dimplay();delay(1); dihplay();delay(1); void timer0() interrupt 1 xiao+; if(xiao=10) xiao=0; miao+; if(miao=59) miao=0; fen+;if(fen=10) fen=0; void ex0_int0() interrupt 0swnum+;if(swnum = 1)TR0= 1;if(swnum = 2)TR0 = 0;if(swnum = 3)xiao = 0;miao = 0;fen = 0;swnum=0;原理图实训总结:通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用C语言编程,通过对led灯控制到用数码管实现秒表功能、中断控制功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。踉踉跄跄地忙碌了一周,我的程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对C语言有了更深的认识。当我第一次接触C语言就感觉很难,特别是今次实训要用到C语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论