单片机课程报告 从P1.0到P1.7依次点亮八个LED灯

时间:2024.4.29

黎明职业大学机电工程系

《单片机应用技术》实验报告

实验题目:从P1.0到P1.7依次点亮八个LED灯

实验报告内容:

一、设计功能描述,指明基本要求及提高要求的实现内容;

二、实验材料清单(包括:软件工具名称、仪器设备名称、元器件等);

三、实验实施过程描述,要点包括:

(1)设计功能描述;(2)描述原理图设计思路,并画出电路图;(3)描述程序设计思路,并画出程序流程图;(4)写出源程序及其必要注释;(5)片内RAM的地址及I/O端口分配表;(6)子程序列表(名称、功能描述、出入口);(7)调试结果描述;(8)出现问题及其解决办法。

学习情境1

实验目的:点亮LED

实验任务:从P1.0P1.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

分析如上数据可以发现,他们它们后面穿送的数据依次是前面数据左移一位的结果,因此我们可以利用循环程序来实现这个功能,程序流程图如下所示

单片机课程报告 从P1.0到P1.7依次点亮八个LED灯

实验源程序

       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系列单片机原理及应用》 孙涵芳 北京航空航天大学出版社

更多相关推荐:
基于51单片机课程设计报告

课题:基于51单片机的数字温度计设计专业:电气工程及其自动化班级:4学号:姓名:指导教师:设计日期:20##/6/3成绩:重庆大学城市科技学院电气学院基于51单片机数字温度计设计报告一、设计目的作用本设计是一款…

51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会…

51单片机电子时钟课程设计报告

JINGCHUUNIVERSITYOFTECHNOLOGY单片机原理及应用课程设计报告题目电子时钟专业电气工程及其自动化班级20xx级电工2班学号20xx401020xx2姓名王贞指导教师邹云峰提交日期20xx...

51单片机课程设计报告

重庆科技学院学生实习实训总结报告学院电气与信息工程学院专业班级XXXXXX学生姓名XXX学号20xxXXXXXX实习实训地点逸夫科技楼I512报告题目单片机万年历系统设报告报告日期20xx年9月13日指导教师评...

51单片机课程设计报告。

成绩单片机原理及应用课程设计课程名ltlt单片机原理及应用gtgt学部专业学号姓名指导教师日期20xx年06月一设计任务与要求1任务制作并调试51单片机学习板2要求1了解并能识别学习板上的各种元器件会读元器件标...

51单片机课程设计实例

51单片机实做课课程设计报告51单片机设计实例二总原理图及元器件清单21总原理图151单片机实做课课程设计报告22显示部分23声音部分251单片机实做课课程设计报告24按键部分25继电器351单片机实做课课程设...

51单片机万年历课程设计报告

一设计任务1设计任务设计并制作一个数字钟2设计要求显示年月日时分秒及星期信息具有可调整日期和时间功能增加闰年计算功能显示部分由LCD1602完成二方案论证1显示部分显示部分是本次设计的重要部分一般有以下两种方案...

单片机课程设计报告1

单片机原理与接口技术课程设计报告设计题目基于80C51单片机系统实验板的制作与程序设计专业班级姓名指导教师20xx年6月目录第1节引言页码第2节系统主要硬件电路设计页码第3节系统软件设计页码第4节结束语页码参考...

单片机课程设计报告模板

单片机与嵌入式系统作品设计报告题目十六路数字抢答器11微电子班作者郝星元20xx08071027马孝宇20xx08071017沈文理20xx08071049完成日期20xx年12月20日1目录1设计任务311设...

单片机课程设计报告

单片机课程设计报告简易频率计设计学院地信院班级生医1201班姓名刘柏林学号0402120xx6目录摘要第一章频率计设计概述第二章AT89C51单片机及其引脚说明第三章分频电路第四章显示电路第五章系统整体原理图第...

60秒倒计时器-单片机课程设计报告

机电工程学院课程设计报告书题目制作60秒倒计时器专业机电一体化班级机电10307学号10023582学生姓名张洋指导教师黎老师20xx年12月12一设计要求由单片机接收小键盘阵列设定倒计时时间倒计时的范围最大为...

单片机课程设计_定时器控制4只LED滚动闪烁_报告正文

目录1设计目的111设计目的112设计内容和要求113设计思路12软硬件开发平台221ALTIUMDESINGER硬件电路开发平台222KEILUVISION2程序开发平台323PROTEUS仿真软件33设计原...

51单片机课程设计报告(36篇)