单片机实训 报告

上传人:优*** 文档编号:48746963 上传时间:2022-01-14 格式:DOC 页数:14 大小:174.50KB
收藏 版权申诉 举报 下载
单片机实训 报告_第1页
第1页 / 共14页
单片机实训 报告_第2页
第2页 / 共14页
单片机实训 报告_第3页
第3页 / 共14页
资源描述:

《单片机实训 报告》由会员分享,可在线阅读,更多相关《单片机实训 报告(14页珍藏版)》请在装配图网上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。摘要:单片机自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在社会各领域中得到广泛的应用。根据89C51单片机的特点及交通灯在实际控制中的特点,本文提出一种利用单片机自动控制交通灯及时间倒计时显示的方法,将整个系统缩小在一块小小的单片机上,大大提高了产品的经济性和轻便性。设计过程包括硬件电路设计和程序设计两大步骤。硬件电路其结构比较简单,主要包括核心器件单片机、12只二极管组成的模拟交通灯、复位电路、振荡电路、显示数码管模块。单片机开发中除必要的硬件外,同样离不开软件, Keil软件是目前最流行开发MCS-51系列单片机的软件,这

2、从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。本文就用Keil编程,相比硬件设计程序设计较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的C语言基础和一定的思维能力及逻辑能力。利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。系统的工作应符合一般交通灯控制的要求。关键字:单片机,KEIL,交通灯目录一整体设计思路:5二模块设计-单片机的

3、控制模块与制作6(一)设计要求61基本要求62电路方案:63电路设计方案84最终原理图95元件清单10三电子系统联调步骤和方法11(一)单片机调试111)测试地址线,片选线和数据线111 程序清单112 调试结果12(二)通过单片机测试其他模块131)D/A131程序清单132 调试结果142)A/D141程序清单142调试结果153)数码管显示151程序清单152调试结果16四电子系统故障检测与排除17(一)单片机模块17(二)各模块故障检测和排除20五实验设备22(一)实验设备22(二)硬件验收数模板(示波器图)22六实验汇总23(一)实验总结23(二)实验体会23(三)实验建议24一整体

4、设计思路: (一) 设计要求 1基本要求:南北东西利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)状态北西南东绿黄红绿黄红绿黄红绿黄红10011000011002001010001010310000110000140100010100012指标 要求:(1)处于常允许通行的状态,支干道有车来时才允许通

5、行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。(2)干道均有车时,两者交替允许通行,主干道每次放行60秒,支干道每次放行40秒,设立60秒、40秒计时、显示电路。(3)绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz的频率闪烁。(4)支干道通行时间及黄灯亮的时间均可在099秒内任意设置。(二)设计方案方案一 :利用89C51单片机P0口驱动12个红绿黄灯(东西和南北总需要六个I/O口),P1口驱动数码管的段码,P3口用于进行数码管的位选 。方案二 :利用89C51单片机P0口驱动12个红绿黄灯(东西和南北总需要六个I/O口),P1口作为数据练到825

6、5的D0-D7,通过P27口进行8255的片选CS,8255的PB口驱动数码管的段码,PA口用于进行数码管的位选 (键盘的列控制),PC口用于键盘的行控制。方案三 :利用89C51单片机P0口驱动8个红绿黄灯,P1口作为数据练到8255的D0-D7,通过P27口进行8255的片选CS,8255的PB口驱动数码管的段码,PA口用于进行数码管的位选 (键盘的列控制),PC口用于键盘的行控制。PA的高四位作为最后4个红绿黄灯。二模块设计(一)设计要求1基本要求:1)、根据实验内容,设计硬件电路原理图,并给出详细接线图(包括8051芯片、晶振电路、复位电路,电源、0809、0832、8255、LED等

7、)。2)、画出程序流程图3)、给出源程序清单(汇编语言或C语言源程序)4)、调试,调试结束后要请老师进行检查。5)、利用PROTEL软件绘制出上述电路原理图(即.SCH文件)6)、利用PROTEL软件设计出印刷电路板图(即.PCB文件)。7)、制作出印刷电路板(即PCB板)。(选作) (1)若做出了印刷电路板,调试自己的板子。(2)若未做出了印刷电路板,可利用接口实验箱或机器人组件进行调试。8)、实验课后,要认真写好实验报告。2电路方案:1,确定单片机型号寄存2B寄存器Acc寄存1ALUPSWSPRAMEPROM/ROMRAM地址寄存器定时及控制振荡器P1锁存器P1驱动器P3锁存器P3驱动器P

8、0驱动器P2驱动器P0锁存器P2锁存器地址寄存器缓冲器PC增1PCDPTR计数/定时1串行通信中断管理计数/定时2PSENALEEARESETP1.0P1.7P3.0P3.7P0.0P0.7P2.0P2.7X1X2电源VccGND3. MCS-51系列单片机的内部资源2晶振电路 3 复位电路 4 单片机与8255连接以及数码管,LED灯的电路发光二极管电路:根据发光二极管的特性,将二极管的正极与电源相接(+5V),其中与一个500欧姆的电阻串联。而发光二极管的负极与单片机的P1的八个端口相接,这样只要P1口的某个端口出现低电平,即二极管导通发光。复位电路:本电路采用的是按键电平复位,按复位键后

9、复位端通过电阻与VCC电源接通,此时复位端由低电平变为了高电平,从而达到复位的效果。复位电路关系到一个系统能否可靠地工作,一般由电阻、电容和门电路组成。晶振电路:80C51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部需附加电路,引脚XTAL1是为反相放大器和时钟发生电路的输入端,XATL2为反相放大器的输入端。本电路是由一个12M晶振和两个22pF的无极性电容组成。数码管驱动显示电路:由于数码管是四位一体的,所以必须采用动态扫描方式,其基本原理是利用人眼的“视觉暂留”效应。接口电路把所有显示器的8个笔端ab分别并联在一起,本电路时接8255的PB口。每一个显示器的公

10、共端COM各自独立地受I/O线控制,本电路采用的PB.0、PB.1、PB.2、PB.3。CPU向8255送入数据,8255PB输出口送出字型码时,所有的显示器都能接收到,再利用循环扫描的方式分时选通个显示器的公共极,是各个显示器轮流导通。当扫描的速度达到一定程度时,人眼就分辨不出来了,认为各个显示器同时发光了。3最终原理4系统设计结构图 运行显示子程序加中断程序调用紧急状态子程序判断当前状态初始化开始 程序流程图三程序设计(中断程序) (1)初始化定时器计数器的初始化编程包括以下几个部分。根据要求给定时器计数器方式寄存器(TMOD)送一个方式控制字,以设定定时器计数器的工作方式。根据需要给TH

11、和TL寄存器送初值,以确定需要的定时时间或计数的初值。根据需要给中断允许寄存器(IE)送中断控制字,以开放相应的中断和设定中断优先级。给TCON寄存器送命令字以启动或禁止定时计数器的运行。(2)定时器计数器初值的计算。计数器初值:设计算器的模值位M,所需的计数值为C,计数初值设定为TC,则TC=M-C (M等于2的13次方,16次方,8次方)。定时器初值:设定时器的模值为M,需要的定时时间为T,定时器的初值设定为TC,则TC=M-T/t(M等于2的13次方,16次方,8次方)。为了使定时器时间准确,避免因为定时器重装而引起的累计误差,应将定时器设置为初值自动装置的16位定时器/计数器,即定时器

12、工作在工作方式2.在12MHz晶振条件下,16位定时器的最长定时时间是56ms,为了方便计算取定时时间为50ms,所以,定时1s需要定时器中断20次。四 实训汇总(一)总结在这一次实习中,很是受益。在上学期的基础上,完成了单片机部分,为我们整体设计奠定了基础。这次我们在实践中,不断地学习,通过动手连接电路,熟悉单片机板,是我更加认识了解单片机;一步一步的调试,是我懂得如何编写一个简单的程序。又在一次次的小实验中,把所学到的知识都运用到实际中。分析电路的原理,掌握电路之间的关系。让我更加认识到,知识的重要性。而最后实习报告的整理,让我重新温习了一下,实习的整个过程,尽管很快,但是每个细节都记忆深

13、刻。使我也更加深刻的理解了整个系统的电路设计,和布局。通过这次课程设计我发现,尽管理论很简单,但是真正的完成成品还是需要一定的功力,其中需要很多细节的注重,理论知识还是考实验验证的,并且通过自己的手来解决问题比用脑子解决问题更加深刻。我觉得学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的分析能力。(二)体会实习结束了,这次的实习给我感触很多,也收获了很多。在上学期的基础上,这次我们要完成单片机设计的最小系统实训。首先是对单片机的了解,听上去和微机联系紧密,很容易让我进入了实习的

14、状态,开始熟悉单片机的电路,可能第一次自己真正的用单片机,之前都是和同学一切看程序,并不是自己真正的分配管脚。这次机会,让我也从每一步开始体会单片机。开始时遇到些问题,但通过老师讲解,我理解了点,设计好了电路。调试单片机时,觉得很容易,因为主要是老师给我们一些例程,理解了,硬件电路连接好了就可以正确的现实,就不会有错误让我去排除和发现。然后开始设计整个系统,为了能够多学点东西,我选择第二个题目,计划先完成第二个题目,然后再把第三个题目做了,因为这两个题目就差一个键盘的输入,于是定下题目开始设计。开始还是挺顺利的,由于硬件电路用的很熟练,所以硬件电路很快就完成了也通过老师的认可,接着就是编写程序

15、,先画了程序设计图,慢慢一步一步的调试,第一次设计没有想太多,把一个大程序都写好了,开始调试,发现没有显示,找了一下硬件没有问题,编译也没有问题,断定是逻辑错误,才想到要一步一步的调试,于是开始一点点的调试,先完成显示程序,接着中断程序,最后把大程序放一起,调试中出现了很多小的问题,通过老师和同学自己的一些努力终于把这个小系统搞定。觉得这次实习可能收获不了太多,由于每个人的电路不一样,所有部分程序需要自己写,还真的收获颇多。我自认为自己是个不容易满足的人,想在实习中真正的学到东西,但是没有老师的帮忙实在是太困难了。转眼实习就真的结束了。我也只学会了皮毛,没有尝试完全的编写一个更加完整的大程序,

16、键盘理想中很简单的但是没有弄好,我觉得心里有些遗憾。但是时间有限,希望以后有机会自己多多学习。实验中还体会到画图的乐趣,之前上电子设计学习过画图软件,所以用起来还算得心应手,很快完成了那个图,很有成就感,但是我还是会更加努力的学习画图软件,学习它更多的功能,尽量熟练掌握这个画图技能。而这次实习虽然结束了,但是我们的学习任然要继续。我会继续努力完善自己,总结经验,绝不辜负老师和家人的期待(三)实验建议 可以独立完成设计题目,组与组之间的互相竞争增进学习兴趣,同学之间互相学习,互相帮助,更加增进友谊和独立完成项目的整体思路和意识。参考文献【1】单片机的C语言应用程序设计 马忠梅 籍顺心 北京航空航

17、天大学出版社2007【2】51单片机应用开发案例精选 王为青 邱文勋 人民邮电出版社 2007【3】51系列单片机设计实例 楼然苗 李广飞 北京航空航天大学出版社 2003【4】单片机原理与接口技术 胡汉才 清华大学出版社 2006【5】单片机原理与应用 丁元杰 机械工业出版社 2007 致 谢2012年 04月 05 日附件一程序清单 #include "Absacc.h"#include "reg51.h"#defineuint unsigned int #defineuchar unsigned char#define C8255_A XBYTE0

18、x7F00#define C8255_B XBYTE0x7F01#define C8255_C XBYTE0x7F02#define C8255_CON XBYTE0x7F03uint shu;uchar xianshi,xianshi2;uchar aa,bb,cc,dd;unsigned char table = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;/延时void Delay(unsigned int time)unsigned int

19、i;for(i=0; i<time; i+);/显示函数void display(uchar a,uchar b,uchar c,uchar d) C8255_A=0xfd;C8255_B=tablea; /北十位 Delay(2); C8255_A =0xfe;C8255_B=tableb; /北个位 Delay(2); C8255_A =0xf7;C8255_B=tablec; /西十位 Delay(2); C8255_A =0xfb; C8255_B=tabled; /西个位 Delay(2);/秒脉冲 void int0_isr() interrupt 1/TR0中断 TH0=(

20、65536-50000)/256;TL0=(65536-50000)%256;shu+;if(shu%20=0) xianshi-;xianshi2-; if(shu=1100)P1=0x22;/南北黄亮,东西依然红灯 xianshi2=5;if(shu=1200)P1=0x0C;/南北亮红灯,东西绿灯xianshi=60;xianshi2=55;if(shu=2300)P1=0x14;/东西亮黄灯,南北红灯 xianshi=5;if(shu=2400)/再过3s返回 shu=0;xianshi=60;xianshi2=55; P1=0x21;/点亮南北绿灯,东西红灯void main() C

21、8255_CON=0x81;/8255初始化 shu=0;xianshi=60;xianshi2=55;C8255_A=0x00;P1=0;TMOD=0x11; /用定时器0方式1TL0=15536/256;TH0=15536%256;EA=1; /打开中断ET0=1;/打开定时器0中?/*EX0=1;/外部中断0 TR0=1;/启动定时器0 P1=0xff;P1=0x21;/点亮南北绿灯,东西红灯 while(1) aa=xianshi/10; bb=xianshi%10; cc=xianshi2/10; dd=xianshi2%10;display(aa,bb,cc,dd); 14 / 14

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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