单片机实训心得体会成绩怎么算

【图文】单片机第1次上课实验演示_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机第1次上课实验演示
大小:2.70MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢单片机实训报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机实训报告
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于51单片机实验报告(计算器)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口当前位置: >>
单片机实训报告
物理机电学院课程设计报告课程名称: 专业班级: 学 号:单片机课程设计 12 电本(1)
赖 丹学生姓名: 指导教师: 完成时间: 报告成绩:何文丰、王清辉 --评阅意见:评阅教师日期 交通灯设计一、设计任务与要求1、车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行 时间为 30 秒,当剩余 3 秒时黄灯亮,南北方向通行时间为 20 秒,当剩余 3 秒时 黄灯亮。 2、南北方向的剩余时间。 3、可利用按键修改时间参数,可以利用按键切换东西南北交通灯的当前状 态(即立刻东西由红变绿,南北有绿变红,并按设定的时间工作)。二、方案设计与论证模拟交通灯控制器就是使用单片机来控制一些 LED 和数码管,模拟真实交 通灯的功能。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十 字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等 根据设计的要求可知, 系统的硬件原理框图如下图所示,并有以下方案可供 选择:键盘单 片 机图 2.1 系统硬件框图LED显示三色指示灯方案一 单片机选用 AT89C51,它与 8051 系列单片机全兼容,且其内部带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。 显示模块采用点阵式 LED 显示。这种方案功能强大,并可方便的显示各种英 文字符、汉字、图形等。 由于该系统对于交通灯及数码管的控制时,只用单片机本身的 I/O 口就可 实现, 且本身的计数器及 RAM 已经够用,所以键盘系统可以根据系统的需要直接 在 I/O 口线上接上按键开关。 方案二、 单片机选用 AT89C51,它与 8051 系列单片机全兼容,且其内部带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。 显示模块采用数码管显示,南北向和东西向各采用 2 个数码管计时,同时需 要对该方向的指示灯的点亮时间进行倒计时,这种方案可显示两位数码字符,设 计简单,实现起来较方便。 由于该系统对于交通灯及数码管的控制时,只用单片机本身的 I/O 口就可 实现, 且本身的计数器及 RAM 已经够用,所以键盘系统可以根据系统的需要直接 在 I/O 口线上接上按键开关。 采用单片机控制模块提供电源。比较方案一、二,虽然方案一采用点阵式 LED 显示,功能强大,并可方便 的显示各种英文、字符、汉字、图形等,但要实现比较复杂,且须完成大量的软 件工作。方案二虽然采用数码管显示,仅能显示两位 0-99 数字,但已经可以满 足本课程需求,设计简单,实现起来也较方便。 故此次设计选择方案二。 三、硬件电路设计 3.1 单片机的最小系统 ATMEL 公司生产的 AT89C52 单片机它是硬件电路的核心部分,时钟电路晶振 使用 12MHz,复位电路采取按键复位方式。具体连接图 3.1 和图 3.2。 单片机最小系统或者称为最小应用系统, 素质用最少的元件组成的单片机可 以工作的系统,对 51 系列单片机来说,最小系统一般应该包括:单片机、复位 电路、晶振电路。 复位电路:使用了独立式键盘,单片机的 P2 口键盘的接口。该设计要求只 需 4 个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用 5 路独 立式键盘。复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关, 使单片机进入复位状态, 晶振电路用 30PF 的电容和一 12M 晶体振荡器组成为整 个电路提供时钟频率。如图 5 示。 晶振电路:8051 单片机的时钟信号通常用两种电路形式电路得到:内部震 荡方式和外部中断方式。在引脚 XTAL1 和 XTAL2 外部接晶振电路器(简称晶 振) ,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外 接晶振后, 就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路 如图 5 示。其电容值一般在 5~30pf,晶振频率的值为 12MHz。内部振荡方式所 得的时钟信号比较稳定。图 3.1 单片机系统的时钟电路图 3.2 单片机系统的复位电路 3.2 数码管显示电路 由于南北方向或东西方向的红绿灯显示状态一致,故本设计系统进行了简 化,只设计了北面和西面的显示。显示电路采用 4 个共阴数码管,可显示两位数 倒计时。 图 3.3 数码管显示电路 3.3 总体电路原理图图 3.1 交通灯设计总电路图 四、软件设计 根据设计要求,程序框图如图 1 所示。软件由 C 语言完成。软件设计可以分 为以下几个功能模块: 主程序:初始化及键盘监控。 计时程序模块:为定时器的中断服务子程序,完成 1 秒的时间定时。 显示程序模块:完成 6 个发光二极管和 4 个 LED 数码管的显示驱动。 开始初始化判断当前状态调用正常 运行子程序调用紧急 状态子程序图 4.1.程序流程图 实验程序 #include &stc12c5a60s2.h& #define uint unsigned int #define uchar unsigned char #define ON 0 #define OFF 1 //数码管显示数组 uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定时变量,东西倒计时变量,南北倒计时变量 uchar T0_Count=0,East_time=0,North_time=0; sbit EastLed_Red=P3^0; sbit EastLed_Yellow=P3^1; sbit EastLed_Green=P3^2; sbit NorthLed_Red=P3^3; sbit NorthLed_Yellow=P3^4; sbit NorthLed_Green=P3^5; sbit EastLcd_Low=P2^4; sbit EastLcd_High=P2^5; //东西方向红灯 //东西方向黄灯 //东西方向绿灯 //南北方向红灯 //南北方向黄灯 //南北方向绿灯 //东西方向个位数码管公共端 //东西方向十位数码管公共端 sbit NorthLcd_Low=P2^6; sbit NorthLcd_High=P2^7; sbit Key_Add=P1^1; sbit Key_Dec=P1^2; sbit Key_OK=P1^3; sbit LE=P1^0; void delayms(uint i) { uint x,y; for(x=i;x&0;x--) for(y=110;y&0;y--); } void t0_init() { TMOD=0X01; AUXR=0X00; //16 位定时器 0 //12 分频//南北方向个位数码管公共端 //南北方向十位数码管公共端 //增加按键 //减少按键 //确定按键,兼具状态切换//毫秒级延时TH0=()/256; TL0=()%256; ET0=1; EA=1; TR0=1; } void state1() { EastLed_Red=OFF; EastLed_Yellow=OFF; EastLed_Green=ON; NorthLed_Red=ON; NorthLed_Yellow=OFF; NorthLed_Green=OFF; //红绿灯状态 1 //定时 50ms //开启中断 1 //开启总中断 //开启定时器 0 } void state2() { EastLed_Red=OFF; EastLed_Yellow=ON; EastLed_Green=OFF; } void state3() { EastLed_Red=ON; EastLed_Yellow=OFF; EastLed_Green=OFF; NorthLed_Red=OFF; NorthLed_Yellow=OFF; NorthLed_Green=ON; } void state4() { NorthLed_Red=OFF; NorthLed_Yellow=ON; NorthLed_Green=OFF; } /******************************************************************** 功能:数码管扫描显示函数 参数:num1,东西方向数码管显示值;num2,南北方向数码管显示值 ********************************************************************/ void Display(uchar num1,num2) { P0=num[num1%10];//LE=1;LE=0; //写入个位数 //红绿灯状态 4 //红绿灯状态 3 //红绿灯状态 2EastLcd_Low=ON;delayms(10); //开启一个数码管公共端,显示一段时间 EastLcd_Low=OFF;//关闭公共端P0=num[num1/10];//LE=1;LE=0; EastLcd_High=ON;delayms(10); EastLcd_High=OFF;//写入十位数P0=num[num2%10];//LE=1;LE=0; NorthLcd_Low=ON;delayms(10); NorthLcd_Low=OFF;//写入个位数P0=num[num2/10];//LE=1;LE=0; NorthLcd_High=ON;delayms(10); NorthLcd_High=OFF; }//写入十位数/******************************************************************** ******* 功能:按键读取 参数:back,1,按下增加按键;2,减少按键;3 确定键 ********************************************************************* ******/ uchar key_read() { uchar back=0; if(P1!=0xff) { delayms(10); if(Key_Add==0) back=1; else if(Key_Dec==0) back=2; //按键延时消抖 else if(Key_OK==0) back=3; while(P1!=0xff); } } void Clear_Display() { P0=0x00;//LE=1;LE=0; EastLcd_Low=OFF; EastLcd_High=OFF; NorthLcd_Low=OFF; NorthLcd_High=OFF; } void main() { //关闭所有数码管显示uchar Tab=1,key,East_TimeNum=30,North_TimeNum=20; t0_init(); Clear_Display(); //设置东西方向倒计时 while(key!=3) { key=key_read(); if(key==1) East_TimeNum++; else if(key==2) //按下减少按键 //按键读取函数 //按下增加按键 //按下确定键,退出 while //开机初始化关闭所有数码管if(East_TimeNum&3)East_TimeNum--; Display(East_TimeNum,0); } //数码管同步显示东西方向设定的值 key=0; //设置南北方向倒计时 while(key!=3) { key=key_read(); if(key==1) North_TimeNum++; else if(key==2) //按下减少按键 //按键读取函数 //按下增加按键 //按下确定键,退出 whileif(North_TimeNum&3)North_TimeNum--; Display(0,North_TimeNum); } key=0; while(1) { switch(Tab) { case 1: { East_time=East_TimeN //填充东西倒计时值,大小为已设 置好的 East_TimeNum Tab=2; state1(); while((East_time!=3)&&(key!=3)) //倒计时至 3 秒或按下切换 按键,退出 while { Display(East_time,North_time);//数码管显示 key=key_read(); } if(key==3) { //按键读取 //切换至下一红绿灯状态 //红绿灯状态 1 //数码管同步显示南北方向设定的值 key=0;East_time=0; Tab=3; } } case 2: { state2();Tab=3;//东西倒计时立刻清零 //按下切换按键,直接跳到状态 3//红绿灯状态 2//切换至下一红绿灯状态while((East_time!=0)&&(key!=3))//倒计时至 0 秒或按下切换 按键,退出 while { Display(East_time,North_time); key=key_read(); } if(key==3) { key=0;Tab=3; East_time=0; } } case 3: { North_time=North_TimeNTab=4; //切换至下一红绿灯状态 state3(); while((North_time!=3)&&(key!=3)) { Display(East_time,North_time); key=key_read(); } //红绿灯状态 3 //按下切换按键,直接跳到状态 3 //东西倒计时立刻清零 if(key==3) { key=0;Tab=1;North_time=0; } } case 4: { state4();Tab=1; //切换至下一红绿灯状态 //红绿灯状态 4while((North_time!=0)&&(key!=3)) { Display(East_time,North_time); key=key_read(); } if(key==3) { key=0;Tab=1;North_time=0; } } } } } void Timer_0() interrupt 1 { T0_Count++; TH0=()/256; TL0=()%256; if(T0_Count==20) { //定时 20*50ms=1S //每 50ms 进入一次中断函数 T0_Count=0; if(East_time==0) East_time=0; else East_time--; if(North_time==0) North_time=0; else North_time--; } }//清零重新计时//东西方向按秒间隔倒计时//南北方向按秒间隔倒计时五、仿真过程与仿真结果仿真主要是利用 proteus 软件完成电路的搭建, 运行以发现设计中的错误及 时改正,图 5.1 Proteus 仿真图六、安装与调试硬件调试使用单片机开发板进行,具体步骤及测试结果如下: 1、对照开发板电路原理图以及程序 I/O 口的使用连线; 2、使用 USB 接口对开发板进行供电,并使用 stc 软件下载.hex 文件至单片 机中; (注意下载方法,下载需要给单片机进行供电,所以应在开发板开关打开 的情况下进行握手下载); 3、以上两项完成后,即可进行调试。 硬件调试情况时遇到南北绿灯或东西红灯常亮的情况, 前后进行了对线路连 线的检查和 I/O 口的更换, 发现更换 I/O 口问题得到解决。硬件调试也达到了设 计要求的效果。6.1 调试使用开发板 6.2 线路连接及调试效果6.3 数码管倒计时 七、结论与心得这次课程设计历时一个星期, 通过这个星期的学习, 发现了自己的很多不足, 无论是对知识的理解还是实践能力以及理论联系实际的能力还急需提高。 在这个过程中, 我也曾经因为错误失落过, 也曾经因为小有成绩而热情高涨。 正如生活一样, 汗水预示着结果也见证着收获。虽然这只是一次的极简单的课程 设计,可是平心而论,也耗费了我们不少的心血,这才意识到老一辈对我们社会 的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊! 通过这次课程设计,我感到:为完成这次课程设计我们确实很辛苦,但苦中 仍有乐,和团队人员这几天的一起工作的日子,让我们有说有笑,相互帮助,配 合默契, 多少人间欢乐在这里洒下, 大学里一年的相处还赶不上这十来天的设计, 我感觉我和同学们之间的距离更加近了。这个工程确实很累,但当我们实验成功 的时候,我们的心中就不免兴奋,不免激动。以前种种艰辛这时就变成了最甜美 的回忆! 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止 境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山 峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课 程设计必将成为我人生旅途上一个非常美好的回忆!八、参考文献[1]、《单片机原理及应用-C51 编程+proteus 仿真》高等教育出版社 张毅刚编著 [2]、《单片机的 C 语言应用程序设计》北京航空航天大学出版社 马忠梅编著 [3]、“基于单片机的交通灯信号控制器设计(含源程序和电路图)”/emb/danpianji/6.html[4]、《新概念 51 单片机 C 语言教程-入门、提高、开发、拓展全攻略》电子工业出版 社 郭天祥编著
51单片机实践报告_工学_高等教育_教育专区。51 单片机实践报告 题 目: 自制电子时钟 院系: 班级: 学生姓名: 学号: 报告日期:年月日 一、 设计内容综述以 ds...单片机实验报告_学习总结_总结/汇报_实用文档。ATM89C51单片机实验报告及其照片,设计中断电路,计数等实验现象 南京晓庄学院电子工程学院 实验报告 课程名称: 姓专年...单片机实训报告_实习总结_总结/汇报_实用文档。单片机原理及应用 实训报告 班级: 学号: 姓名: 指导教师: 实训总成绩: 一、 节日彩灯设计 题目:8 位逻辑电平模块...单片机实验报告(基于51单片机)_信息与通信_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 单片机实验报告(基于51单片机)_信息与通信_工程科技_专业资料。...单片机实训 实验实训(设计)报告项 目名称: 专业: 班级: 姓学名: 号: 单片机实训 电气自动化 校内指导老师: 企业指导老师: 地时点: 间: 成绩 评定 二 年...单片机实验报告_信息与通信_工程科技_专业资料。大学 单片机 实验报告 代码直接可用 带有详细注释 单片机实验报告 学生姓名 专业 学号 指导教师 学院 信息与电气工程...单片机实验报告汇总_电子/电路_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档单片机实验报告汇总_电子/电路_工程科技_专业资料。I/O口转换 定时计数器 ...学生实验报告 (理工类) 课程名称: 学生学号: 单片机原理及应用 专业班级: 14 电子信息工程(1)班
学生姓名:徐志国 丁剑 所属院部:电子信息工程学院 ...单片机实验心得_电子/电路_工程科技_专业资料。通过这次单片机实习, 我不仅加深了...单片机实验 41页 免费 单片机实验 69页 免费 51单片机实验报告 23页 免费 51系...实现显示屏显示 - 实训结束,写实训报告并上交 -2- 5 实训内容本次实训内容包括三部分,全部都是应用单片机来进行实现的,所以我们应该对单片...
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。单片机实验一zf_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机实验一zf
&&昆明理工大学单片机输入输出端口控制实验
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 单片机实训题目 的文章

 

随机推荐