1 引言
1.1实习目的
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人们带来的方便也是不可否定的。本次实习的目的在于加深AT89C51单片机的理解,初步掌握单片机应用系统的设计方法。通过本次实习达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.2 单片机基础知识
单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上。单片机具有体积小、功能强、应用方面广等优点。它的体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,为学习、应用和开发提供了便利条件。目前正以前所未见的速度取代着传统电子线路构成的经典系统。单片机的使用领域已十分广泛。例如彩电、冰箱、空调等无处不见单片机的影子,单片机已深深地融入我们的生活。大大提高了这些产品的智能性,易用性及节能性等主要性能指标,在工农业生产上也极大提高了生效效率和产品质量。
1.3课题描述
实现对8个LED灯以5种方式显示,用一个按键进行方式选择,并用一个数码管显示方式编号并用两个键来控制流水灯流动的速度。
2系统概述
2.1系统分析
流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用。流水灯控制可用多种方法实现,要求8个灯在时钟信号作用下按规律转换5种状态。每按一次按键选择一个方式,方式显示在数码管上,8个灯分别用不同的方式闪亮。同时通过其它两个按钮可以调节灯闪亮的快慢速度。也就是用延时的方法来控制速度。
2.2系统设计要求
根据课题,查找资料,了解所使用的芯片;
画出可控流水灯的工作电路图,使用Protel 软件绘制电路图;
根据原理图把元件器正确焊接到电路板上,分清元件器的正负极,以及焊接的正确位置;
设计程序,在Keil 750 AHK环境下调试程序以实现预期的功能。
3系统详细设计
3.1硬件使用说明
AT89C51是一种低功耗、高性能的8位单片微型计算机。AT89C51提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,40个I/O口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪存组合在单个芯片中,ATML的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.2 AT89C51主要性能参数
1、与MCS-51指令系统完全兼容
2、4K字节可重擦写FLASH闪速存储器
3、1000次擦写周期
4、全静态操作:0Hz—24MHz
5、三级加密程序存储器
6、128*8字节内部RAM
7、32个可编程I/O口线
8、22上16位定时/计数器
9、6个中断源
10、可编程串行URAR通道
3.3 AT89C51引脚配置图
AT89C51芯片的引脚配置如图3.3.1所示
图3.3.1 AT89C51框图
管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3.4 USB接口的通讯原理
1.USB设备的接入
USB接口中的+5V电源不但可以为外接设置提供小电流供应,并且还起着检测功能。当USB设置插入USB接口后,主机的+5V电源就会通过USB边线与USB设备相通。USB外设的控制芯片会通过两只10K的电阻来检查USB设备是否接入了主机的USB端口。如果这两个引脚一个为高电平,一个为低电平时就表示USB外设已经正常确连入USB接口,这时外设的控制芯片开始工作,并通过DATA+,DATA-向外送出数据。这时主机接收数据后,就会提示发现新硬件,并开始安装新硬件驱动。
2.USB设备的识别
在USB外设向外送出数据时,其中就包括设备自身的设备名及型号等相关参数,主机就是根据这些信息在显示器上显示出所发现的新硬件的名称型号的。
3.5 RS-232接口引脚信号定义
RS-232C接口引脚信号定义如下表3-5-1所示:
表3-5-1 RS-232C接口引脚信号定义
3.6硬件电路设计
可控流水灯整体电路原理图设计如图3.6.1所示:
图3.6.1 可控流水灯硬件电路图
可控流水灯所使用到的元器件列表如表3-6-2所示:
表3-6-2 元器件列表
3.7软件设计流程
可控流水灯的软件流程图如图3.7所示:
图3.7软件设计流程图
3.8源程序代码
CLR P1.0
MOV P0,0EBH
MOV R1,#0FFH ;R1表示流水方式,初值为-1
start: JB P1.4,$ ;判断按钮S1是否按下
CJNE R1,#5,loop
MOV R1,#0FFH
loop: INC R1
MOV A,R1
RL A ;A乘2
MOV DPTR,#brtab
JMP @A+DPTR
brtab:
AJMP loop1
AJMP loop2
AJMP loop3
AJMP loop4
AJMP loop5
loop1:
MOV P0,28H
MOV DPTR,#tab1
LJMP show
loop2:
MOV P0,0B3H
MOV DPTR,#tab2
LJMP show
loop3:
MOV P0,0BAH
MOV DPTR,#tab3
LJMP show
loop4:
MOV P0,74H
MOV DPTR,#tab4
LJMP show
loop5:
MOV P0,0DAH
MOV DPTR,#tab5
LJMP show
;流水方式
tab1:
DB 00000000B
DB 00000001B
DB 00000010B
DB 00000100B
DB 00001000B
DB 00010000B
DB 00100000B
DB 01000000B
DB 10000000B
DB 00000000B
DB 00000001B
DB 00000010B
DB 00000100B
DB 00001000B
DB 00010000B
DB 00100000B
DB 01000000B
DB 10000000B
DB 00000000B
DB 00000001B
DB 00000010B
DB 00000100B
DB 00001000B
DB 00010000B
DB 00100000B
DB 01000000B
DB 10000000B
DB 11111111B
tab2:
DB 11111111B
DB 11111110B
DB 11111100B
DB 11111000B
DB 11110000B
DB 11100000B
DB 11000000B
DB 10000000B
DB 00000000B
DB 11111111B
DB 11111110B
DB 11111100B
DB 11111000B
DB 11110000B
DB 11100000B
DB 11000000B
DB 10000000B
DB 00000000B
DB 11111111B
DB 11111110B
DB 11111100B
DB 11111000B
DB 11110000B
DB 11100000B
DB 11000000B
DB 10000000B
DB 00000000B
DB 11111111B
tab3:
DB 11111111B
DB 01010101B
DB 10101010B
DB 01010101B
DB 10101010B
DB 01010101B
DB 10101010B
DB 11111111B
tab4:
DB 11100111B
DB 11011011B
DB 10111101B
DB 01111110B
DB 11100111B
DB 11011011B
DB 10111101B
DB 01111110B
DB 11100111B
DB 11011011B
DB 10111101B
DB 01111110B
DB 11111111B
tab5:
DB 11111111B
DB 11111110B
DB 11111101B
DB 11111011B
DB 11110111B
DB 11101111B
DB 11011111B
DB 10111111B
DB 01111111B
DB 10111111B
DB 11011111B
DB 11101111B
DB 11110111B
DB 11111011B
DB 11111101B
DB 11111110B
DB 11111101B
DB 11111011B
DB 11110111B
DB 11101111B
DB 11011111B
DB 10111111B
DB 01111111B
DB 10111111B
DB 11011111B
DB 11101111B
DB 11110111B
DB 11111011B
DB 11111101B
DB 11111110B
DB 11111111B
show: CLR A
MOVC A,@A+DPTR
MOV P2,A
ACALL delay
CJNE A,#11111111B,show
LJMP start
;延时程序
delay:
MOV R4,#100
d1: MOV R5,#255
d2: MOV R6,#255
DJNZ R6,$
DJNZ R5,d2
DJNZ R4,d1
RET
END
3.9调试与结论
在Keil 750 AHK环境下调试程序,编译程序代码。启动软件,建立新项目,将准备好的程序写入,然后在该软件中进行调试,直至调试反映出软件设计语法没有错误,并且可以执行程序。然后通过串口把调试好的程序写入芯片中。一开始由于一些赋值问题,程序虽然没有错误并且可以写入芯片中,但是灯亮的顺序并不是预期的那样,灯亮没有一定的规律性。通过让程序的延时长一点来观察灯是否是按预期的效果闪亮的。通过不断的调试,改变程序中的赋值问题,最终可以调试出预期的效果。
结 论
一星期的单片机实习结束了,以前虽然有过实习的经验,但单片机实习是一个非常综合的实习。不仅要自己根据课题设计电路图,还需要自己动手焊接所有要用到的元器件,焊接的过程是要非常细心和谨慎的,稍微一不心就会把电路板损坏。当硬件焊接好后,还需要根据电路图来编写程序实现课题所要求的功能。程序编写好后,还需要不断地调试,达到要求。所以这次的单片机实习是一个硬件与软件结合的实习。是培养和锻炼我们综合能力的一个非常好的机会。
通过本次实习,让学生基本了解和掌握简单的单片机电路设计的全过程,不断提高分析和解决实际问题的能力,为毕业设计打下良好的基础。
由于本学期已学习过了单片机基础,通过这次的单片机实习,使我进一步熟悉了单片的操作技术,加深了对单片机的理论知识的理解和应用水平,我加深了课堂上学的理论知识,也学到了许多书本以外的知识,同时更丰富了自己的经验。提高了动手能力、分析问题和解决问题的能力。
通过本次实习,我觉得保持一个认真、细心、谨慎的态度是非常重要的,不管在哪个环节出现一点问题,可能导致无法成功完成本次实习的要求。同时,团队合作的精神是非常重要的。团结的力量是伟大的。
通过本次实验使我认识到了课程的重要性,理论知识是非常重要的,如果没有一定的理论基础,实习是无法完成的。通过本次实习也让我发现了自己还存在很多的不足之处,在以后的学习生活中得更加认真、踏实的学习知识。要理论联系实际。通过本次实习让我们对单片机系统的应用有了更加深刻的理解和认识。
致 谢
首先感谢淮阴工学院计算机工程学院为我们提供的实践机会使我能把理论联系实际,真正做到活学活用。感谢实验室人员提供的实验环境,感谢各个指导老师的耐心指导,当我们不知道怎么做课题时,指导老师耐心地把所有的课题给我们分析了一遍,告诉我们要从哪几方面入手去找资料,去完成这个课题的设计。当我们在焊接时,不知道哪个元器件焊在电路板的什么地方时,老师耐心地给我们讲解,讲解元器件的功能和作用。在这里对各个指导老师表示最诚挚的感谢。
在本次课程设计中,还要感谢同学们的帮助,有些在细节上没有注意到的问题给予了指点,加深了对这个课题的理解和印象。在本次课程设计中由于得到了老师和同学的热心帮助才能及时的完成。这让我明白了团结的力量是伟大。同时还要感谢我们这组的组长。在调试程序时非常的耐心去调试,去实现所需求的功能。还要感谢图书馆中提供的书籍和参考资料,使有些问题和疑难能够顺利的得到解决。在为数一星期的时间里,日子尽管过得很是忙碌,但是从中收获了很多很多宝贵的知识和经验。回顾这过去的一周,我收获了很多,也成长了很多,懂得如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,懂得了如何同老师和同学交流和协作……相信这次课程设计的体验将成为今后我更多更广学习中的奠基石。
再次深深感谢所有支持、鼓励和帮助过我的老师和朋友们。
参 考 文 献
1 李广弟,朱月秀,冷祖祁.单片机基础. 北京:航空航天大学出版,2007
2 赵继文.传感器与应用电路设计.北京:科学出版社,2002
3 徐煜明,韩雁.单片机原理及接口技术[M].北京:电子工业出版社,2005.1
4 张鑫.单片机原理机及应用.北京:电子工业出版社,2008(5)
5 何立民.单片机应用技术选编.北京:航空航天大学出版,1996
6 万光毅,严义,邢春香.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2006.4
单片机实训报告姓名学号班级指导老师实训时间前言一周的单片机实训很快就结束咯在这一周的时间里我学到了很多关于单片机各方面的知识老师在…
单片机实习报告1引言11实习目的随着人们生活水平的不断提高单片机控制无疑是人们追求的目标之一它给人们带来的方便也是不可否定的本次实…
专业综合实习总结专业班级:电子信息工程0801学生学号:***指导教师:实习时间:20XX.6.2020XX.7.15机电工程学院…
电子与信息工程学院程设计报(20##20##学年第2学期)课程名称:创新课题课程设计班级:电子0801学号:15姓名:指导教师:2…
广东轻工职业技术学院实训报告实训项目单片机实训系别:电子通信工程系专业:应用电子技术班级:嵌入式091班姓名:**学号:***指导…
单片机实训报告一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所…
时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。在学习单片机这门课程之前,就早早的听各种任课老师和学长学…
随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质…
单片机实习心得体会随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代…
通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现…
这次实习我们使用控制电路的单片机是at89s51型号的。通过它实现对八盏双色灯发光二极管的控制p0和p2口控制四盏灯。在at89s…