黎明职业大学机电工程系
《单片机应用技术》实验报告
实验题目:从P1.0到P1.7依次点亮八个LED灯
实验报告内容:
一、设计功能描述,指明基本要求及提高要求的实现内容;
二、实验材料清单(包括:软件工具名称、仪器设备名称、元器件等);
三、实验实施过程描述,要点包括:
(1)设计功能描述;(2)描述原理图设计思路,并画出电路图;(3)描述程序设计思路,并画出程序流程图;(4)写出源程序及其必要注释;(5)片内RAM的地址及I/O端口分配表;(6)子程序列表(名称、功能描述、出入口);(7)调试结果描述;(8)出现问题及其解决办法。
学习情境1
一实验目的:点亮LED灯
二实验任务:从P1.0到P1.7依次点亮八个LED灯
三实验材料及器件
四设计功能描述
利用单片机的P1口,依次循环点亮1个灯,使人们感觉到亮灯的位置在依次顺序移动,可产生一种动态显示的效果。
四实验原理图
五程序设计思路及程序流程图
要依次点亮八盏灯,根据点亮的位置及从哪一个开始点亮,向P1口传递如下数据
11111110(FEH)——点亮P1.0连接的LED, MOV P1,#0FEH
11111101(FDH)——点亮P1.1连接的LED, MOV P1,#0FDH
……….
01111111(7FH)——点亮P1.7连接的LED, MOV P1,#07FH
分析如上数据可以发现,他们它们后面穿送的数据依次是前面数据左移一位的结果,因此我们可以利用循环程序来实现这个功能,程序流程图如下所示
六实验源程序
org 0000h
start: mov r2,#08h ;设置循环次数
mov a,#0feh ;送显示模式字
next: mov p1,a ;点亮连接P1.0的发光二极管
acall delay
rr a ;左移一位,改变显示模式字
djnz r2,next ;循环次数减1不为0,继续点亮下面一个LED
sjmp start ;重复上述过程
delay: mov r3,#0efh
del2: mov r4,#0ffh
del1: nop
djnz r4,del1
djnz r3,del2
ret
end
七子程序列表(名称、功能描述、出入口);
delay: mov r3,#0efh
del2: mov r4,#0ffh
del1: nop
djnz r4,del1
djnz r3,del2
ret
该程序为典型的双重循环的延时子程序,他通过子程序入口delay: mov r3,#0efh进入程序,当程序运行至djnz r4,del1时进入第一重循环,当第一重循环结束时,进入djnz r3,del2第二重循环,最后经过ret退出子程序
七调试结果描述
程序下载成功后,LED灯从左到右来回一个一个亮灭亮灭
八出现问题及其解决办法
前面把送显示模式写成07fh,后面载入系统板的时候才发现原来十六进制排列方法为P1.7-P1.0,要写成0feh然后依次循环左移,才能实现led从左到右的流水。
第二篇:LED灯课程设计报告
扬州职业大学
单片机课程设计
题目: 花样流水灯
姓名: ##
班级: 09电气(2)班
学号: 23号
指导老师: ##
摘 要
城市夜景中,变幻多姿的霓虹灯历来是一道亮丽的风景。利用单片机的自动控制功能,设计出相应不同的电路,可以实现彩灯不同模式的流水效果。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心即使单片机。单片机的最明显的优势,就是想入到各种仪器,设备中。本课程是利用AT89C51单片机的自动控制功能,并结合其它电子元器件以及软件实现的流水灯,实现不同种类的流水现象。
关键字:AT89C51单片机,LED,花样流水灯
一. 课程设计任务和要求
以AT89C51为核心,设计一种花样流水灯,有三种不同的亮法,用一个按键来控制不同的亮法,以达到我们要实现的课程设计目的,也让我们学会如何在硬件与软件之间形成很好的链接,让我们在自己实训更实际的了解单片机在我们日常生活中的应用,让我们明白了科学的严谨与认真,要有自己的创新,不能用传统的设计方案,要跟上时代的要求,适应社会的需要,减少成本避免不必要的浪费,设计要安全可靠。通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
二. 课题要求
花样流水灯的设计:
1. 八盏灯有三种不同的亮法;
2. 一个按键来控制灯的亮法;
3. 按键按一次第一种亮法,按两次第二种亮法,按三次第三种亮法。
目录
1课程简介 12 硬件设计 22.1电源设计 22.2 单片机最小系统 22.2.1 复位系统 22.2.2 晶振系统 2
2.3单片机应用技术简介 32.4其他电路 32.4.1 按键 42.4.2 LED的电路 43软件设计 53.1整体介绍 53.2软件框架 63.3具体软件实现 64调试过程 74.1硬件 74.2软件 84.3心得体会 85附录 95.1电路图 105.2软件程序 115.3参考文献 121课程简介
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。本设计用AT89C51单片机自制了一款简易的花样流水灯,介绍了其硬件电路及软件编程方法,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料。本课题将以发光二极管作为发光器件,用单片机自动控制,实现一个简易的花样流水灯设计。
2 硬件设计
2.1电源设计
7805电路图如下:
7805的参数:1.输出电压是+5V
2. 失稳电压是3V,输出电流是1A
3. 极限输入电压是36V,最低输入电压比输出电压高3-4V
硅桥参数:最大正向电流:50.0A,承受最大反向电压:1000V
2.2 单片机最小系统
1. 复位系统
(1).上电复位电路
AT89C51的上电复位电路如图所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在如图的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
(2).手动复位电路
手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
2. 晶振系统
80C51型单片机内有一高增益反相放大器,按如图连接可构成自激振荡电路,振荡频率取决于石英晶体的振荡频率,范围可取1.2—12MHz,C01.C02主要起频率微调和稳定作用,电容值可取5—30Pf.
2.3单片机应用技术简介
1.P口介绍:
(1)P0口的P0.0~P0.7引脚(39~32脚):8位通用输入/输出端口和片外8位数据/低8位地址复用总线端口。
(2)P1口的P1.0~P1.7引脚(1~8脚):8位通用输入/输出端口。
(3)P2口的P2.0~P2.7引脚(28~21脚):8位通用输入/输出端口和片外高8位地址总线端口。
(4)P3口的P3.0~P3.7引脚(10~17脚):8位通用输入/输出端口,具有第二功能。
2.4.其他电路
(1)按键
机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间的长短与开关的机械特性有关,一般为510 ms
(2)LED电路
三 软件设计
1.整体介绍
八个LED灯实现三种不同的亮法。假设八个灯为12345678,第一种亮法为:按下按键,先是1亮,过500ms之后2,3亮,然后456,然后7,8.。第二种亮法为:先是1,2亮,然后3,4,5,最后6,7,8.第三种亮法为:先是1,2,3,4亮,然后5,6,7,8.
2 具体实现
第一种亮法:
LOOP1:MOV A,#7FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#9FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0D3H
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0FCH
MOV P1,A
LCALL YS500ms
LJMP START
第二种亮法:
MOV A,#3FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0C7H
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0F8H
MOV P1,A
LCALL YS500ms
LJMP START
第三种亮法:
MOV A,#0FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0F0H
MOV P1,A
LCALL YS500ms
LJMP START
延时程序:DELAY:MOV R3,#10
LOOP4: MOV R0,#100
LOOP5: MOV R1,#250
LOOP6: DJNZ R1,$
DJNZ R0,LOOP5
DJNZ R3,LOOP4
RET
四 调试过程
1.硬件:
硬件包括MCS-51单片机,LED发光二极管,晶振,电容,开关,电源,电阻及导线若干原理图见附录
2.软件程序见附录
4.3 心得体会
课程设计是大学学习阶段一次非常难得的理论与实际相结合的机会,通过这次的设计,我摆脱了单纯的理论知识学习状态,.通过试验进一步理解和消化了书本知识,分析每个语句的含义,运用所学知识进行简单的程序设计。 了解了在单片机系统中扩展简单I/O接口的方法. 外部中断技术的基本使用方法,掌握了中断处理程序的编程方法。在毕业设计过程中,不断调试程序和修改程序,提高了对单片机的应用能力,分析问题和解决问题的能力。实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,提高是有限的但提高也是全面的,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。
顺利如期的完成本次课程设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,通过对单片机的系统学习。对一些LED的设计做了一些必要的改进。同时对自己的改进也做了真实的仿真。达到了预期的目的。但是在改进的过程里也发现了自己的很多的不足。这会在以后的学习生活里不断提高,逐步完善自己。
五 附录
5.1 电路图
5.2 软件程序
ORG 0000H
MOV P1,#0FFH
MOV R2,#00H
START:JB P3.0,L1
LCALL YS500ms
JB P3.0,L1
INC R2
L1: CJNE R2,#00H,L2
MOV P1,#0FFH
SJMP START
L2: CJNE R2,#01H,L3
LJMP LOOP1
L3: CJNE R2,#02H,L4
LJMP LOOP2
L4: CJNE R2,#03H,L5
LJMP LOOP3
L5: MOV R2,#00H
LJMP START
LOOP1:MOV A,#7FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#9FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0D3H
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0FCH
MOV P1,A
LCALL YS500ms
LJMP START
Loop2:CLR A
MOV A,#3FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0C7H
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0F8H
MOV P1,A
LCALL YS500ms
LJMP START
LOOP3:CLR A
MOV A,#0FH
MOV P1,A
LCALL YS500ms
CLR A
MOV A,#0F0H
MOV P1,A
LCALL YS500ms
LJMP START
YS500ms:MOV R3,#10
LOOP4: MOV R0,#100
LOOP5: MOV R1,#250
LOOP6: DJNZ R1,$
DJNZ R0,LOOP5
DJNZ R3,LOOP4
RET
END
5.3 参考文献
<<单片机原理与应用 >> 王效华 张咏梅 北京交通大学出版社
《单片机系统设计及工程应用》 雷思孝等 西安电子科技大学出版社
《电路基础》 吴大正 西安电子科技大学出版社
《电子线路CAD实用教程》 潘永雄等 西安电子科技大学出版社
《MCS—51/96系列单片机原理及应用》 孙涵芳 北京航空航天大学出版社