LED灯显示设计单片机课程设计报告.docx
- 文档编号:18403802
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:25
- 大小:690.94KB
LED灯显示设计单片机课程设计报告.docx
《LED灯显示设计单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《LED灯显示设计单片机课程设计报告.docx(25页珍藏版)》请在冰点文库上搜索。
LED灯显示设计单片机课程设计报告
单片机课程设计
题目基于AT89C51的LED灯显示设计
学院名称电气工程学院
指导老师朱卫华
班级通信工程1101班
学号20114400136
学生姓名蒋顺
二0一四年六月
摘要
本设计主要由单片机AT89C51芯片、开关、LED灯等,辅以必要的电路,构成的一个单片机LED灯显示。
利用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低。
在该设计中采用单片机利用AT89C51,它是低电压、高性能CMOS8位微处理器。
AT89C51的指令系统和引脚与8051完全兼容,片内有128字节内部RAM、32条I/O口线、2个16位定时计数器、6个中断源、一个串行通讯口等。
设计内容包括了复位电路、显示电路、按键电路、晶振电路等几部分的设计。
采用3个开关来控制LED灯的显示内容。
关键词:
AT89C51LED汇编
(一)硬件部分-------------------------------------------------------3
1.AT89C51芯片简介-------------------------------------------------3
2.AT89C51芯片封装与引脚功能-------------------------------------3
2.1P0口介绍----------------------------------------------------3
2.2P1口介绍----------------------------------------------------4
2.3P2口介绍----------------------------------------------------4
2.4P3口介绍----------------------------------------------------42.5控制信号介绍------------------------------------------------4
3.AT89C51应用电路设计--------------------------------------------5
3.1时钟电路----------------------------------------------------5
3.2复位电路----------------------------------------------------6
3.3显示电路----------------------------------------------------6
4.电路原理图与PCB图的绘制---------------------------------------7
4.1电路原理图--------------------------------------------------7
4.2PCB图-------------------------------------------------------7
5.电路仿真图与仿真结果-------------------------------------------8
5.1电路仿真图--------------------------------------------------8
5.2仿真结果----------------------------------------------------9
(二)软件部分------------------------------------------------------10
1.程序流程图------------------------------------------------------10
2.软件程序及其分析-----------------------------------------------12
(三)检测调试------------------------------------------------------17
1.硬件调试--------------------------------------------------------17
2.软件调试-------------------------------------------------------17
(四)设计总结和体会----------------------------------------------18
附录-------------------------------------------------------------18
1、电路原理图-------------------------------------------------------18
2、PCB图------------------------------------------------------------19
3、元器件清单-------------------------------------------------------19
4、参考文献---------------------------------------------------------19
(一)硬件部分
1.AT89C51芯片简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图1所示。
图1AT89C51引脚图
2.AT89C51芯片封装与引脚功能
2.1P0口介绍
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
2.2P1口介绍
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
2.3P2口介绍
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
2.4P3口介绍
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口.
2.5控制信号介绍
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
3.AT89C51应用电路设计
3.1时钟电路
图2晶振电路图
晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度.比如12M晶振.单片机工作速度就是每秒12M.单片机内部也有晶振,接外部晶振可以或得更稳定的频率。
因为晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波),这个波电路的影响不大,但会降低电路的时钟振荡器的稳定性.
为了电路的稳定性起见,ATMEL公司只是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10pf-50pf之间都可以的。
该设计中采用的是33pf的瓷片电容.
3.2复位电路
图3复位电路
该电路是手动复位,通过按键实现的。
通过按键实现的有两种,电平方式和脉冲方式。
该电路是按键电平复位,通过使复位端经电阻与VCC电源接通实现的。
3.3显示电路
图4显示部分电路图
该电路采用共阳极接法,电阻值选择470欧姆。
当单片机I/O口为低电平时,LED灯亮。
4.电路原理图与PCB图的绘制
4.1电路原理图
图5电路原理图
该电路原理图是通过软件AltiumDesigner设计出来,为接下来的画PCB图做准备。
画该原理图时,AT89C51原理图封装需自己设计。
4.2PCB图
制作该PCB图参考了以前学过的书籍《电子电路CAD实践教程》,该PCB图采用双层布线,元件位置都经过谨慎思量,线路布置也是手工布置。
AT89C51的PCB封装也是自己绘制,PCB图见下图。
图6PCB图
5.电路仿真图与仿真结果
5.1电路仿真图
图7电路仿真图
该电路是通过软件Multisim进行仿真,用8051替代AT89C51进行仿真。
由于Multisim对MCU仿真方面没有Proteus擅长,仿真过程也状态百出。
但还是有些成果的。
5.2仿真结果
等待按键时的显示:
图8等待按键时的显示(笑脸)
按键P2—6按下后的显示(ILoveU):
图9(ILoveU)
(二)软件部分
1.程序流程图
2.软件程序及其分析
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
;显示笑脸
JNBP2.6,$
JNBP2.5,$
JNBP2.7,$
MOVP1,#01101011B
MOVP0,#01100111B
MOVP2,#11111011B
JNBP2.5,TRANSFER;按键P2_5按下,转向TRANSFER
JNBP2.6,I;按键P2_6按下,转向I
JNBP2.7,TRANSFER1;按键P2_7按下,转向TRANSFER1
LCALLDELAY1S
MOVP1,#11111111B
MOVP0,#11111111B
MOVP2,#11111111B
LCALLDELAY1S
JNBP2.5,TRANSFER
JNBP2.7,TRANSFER1
JBP2.6,MAIN;按键P2_6未按下,转向MAIN
JNBP2.6,I
TRANSFER:
LJMPVISUAL_SYAYING;长跳转至VISUAL_SYAYING
TRANSFER1
LJMPSolidLove;长跳转至SolidLove
;显示ILOVEYOU图形
I:
JNBP2.6,$
JNBP2.5,$
JNBP2.7,$
MOVP1,#01101111B
MOVP0,#01100000B
MOVP2,#11111111B
JNBP2.6,MAIN;按键P2_6按下,转向MAIN
LCALLDELAY1
MOVP1,#11111111B
MOVP0,#11111111B
MOVP2,#11111111B
JNBP2.6,MAIN
LOVE:
MOVP1,#01011100B
MOVP0,#01010101B
MOVP2,#11111100B
JNBP2.6,MAIN
LCALLDELAY1
MOVP1,#11111111B
MOVP0,#11111111B
MOVP2,#11111111B
JNBP2.6,MAIN
YOU:
MOVP1,#00001111B
MOVP0,#00000111B
MOVP2,#11111111B
JNBP2.6,TRANSFER2
LCALLDELAY1
MOVP1,#11111111B
MOVP0,#11111111B
MOVP2,#11111111B
JNBP2.6,TRANSFER2
LCALLDELAY1
JBP2.6,I
JNBP2.6,$
LJMPMAIN
TRANSFER2:
LJMPMAIN
SolidLove:
;显示实心心形图案
JNBP2.6,$
JNBP2.5,$
JNBP2.7,$
MOVP1,#00011100B
MOVP0,#00010001B
MOVP2,#11111100B
JNBP2.7,SolidDiamond;按键P2_7按下,转向SolidDiamond
LCALLDELAY1S
MOVP1,#0FFH
MOVP0,#0FFH
MOVP2,#0FFH
JNBP2.7,SolidDiamond
LCALLDELAY1S
MOVP1,#01011100B
MOVP0,#01010101B
MOVP2,#11111100B
JNBP2.7,SolidDiamond
LCALLDELAY1S
MOVP1,#0FFH
MOVP0,#0FFH
MOVP2,#0FFH
JNBP2.7,SolidDiamond
LCALLDELAY1S
JBP2.7,SolidLove
JNBP2.7,$
LJMPSolidDiamond
SolidDiamond:
;显示实心钻石图案
JNBP2.6,$
JNBP2.5,$
JNBP2.7,$
MOVP1,#10001011B
MOVP0,#10000000B
MOVP2,#11111011B
LCALLDELAY1
MOVP1,#0FFH
MOVP0,#0FFH
MOVP2,#0FFH
LCALLDELAY1
MOVP1,#10101011B
MOVP0,#10100110B
MOVP2,#11111011B
LCALLDELAY1
MOVP1,#0FFH
MOVP0,#0FFH
MOVP2,#0FFH
LCALLDELAY1
JBP2.7,SolidDiamond
JNBP2.7,$
LJMPMAIN
DELAY1S:
;延时1s程序
MOVR4,#8
L3:
MOVR2,#0E6H
L1:
MOVR3,#0FAH
L2:
DJNZR3,L2
DJNZR2,L1
DJNZR4,L3
RET
NOP
LJMP0000H
DELAY1:
;延时0.75s程序
MOVR4,#6
L4:
MOVR2,#230
L5:
MOVR3,#250
L6:
DJNZR3,L6
DJNZR2,L5
DJNZR4,L4
RET
NOP
LJMP0000H;软件防止跑飞程序
D140MS:
;延时140ms程序
MOVR2,#253
L7:
MOVR3,#250
L8:
DJNZR3,L8
DJNZR2,L7
RET
D1MS:
;延时1ms程序
MOVR2,#253
L9:
MOVR3,#250
DJNZR2,L9
RET
VISUAL_SYAYING:
JNBP2.6,$
JNBP2.5,$
JNBP2.7,$
MOVP0,#11101011B
MOVP1,#11101111B
MOVP2,#0FFH
LCALLD1MS
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
LCALLD140MS
MOVP0,#11011101B
MOVP1,#11010111B
MOVP2,#11110111B
LCALLD1MS
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
LCALLD140MS
MOVP0,#10111110B
MOVP1,#10111011B
MOVP2,#11111011B
LCALLD1MS
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
LCALLD140MS
MOVP0,#01111111B
MOVP1,#01111101B
MOVP2,#11111101B
LCALLD1MS
MOVP0,#0FFH
MOVP1,#0FFH
MOVP2,#0FFH
LCALLD140MS
JBP2.5,VISUAL_SYAYING
JNBP2.5,$
LJMPMAIN
END
(三)检测调试
1.硬件调试
由于本身电路简单,只有一个LED灯焊错,经过改正后,硬件无问题。
2.软件调试
此程序都为自己编写,虽然一切看起来简单,但做的过程可谓步步艰辛。
由于仿真时,延时程序不能太复杂,不能仿真出实际效果。
在用开发板下载程序时,多次调整延时程序。
为此多次拆下安上单片机,差点报废单片机。
为了保证按键时即时进行跳转,按键程序进行了添加修改,按键逻辑方面也经过深思熟虑。
(四)设计总结和体会
本次课程设计是我人生中第一次接触单片机的设计,从最初的设计初衷,到思考设计思路,到编写程序,到软件仿真,到购买焊接硬件电路,到最后的软硬件调试,再到成功。
这一路上自己总是在忐忑中度过,万一没成功怎么办,自己这方面的知识非常欠缺。
自己多次到网上查资料,也查阅相关类书籍,解答自己心中的疑问,也进行以前没有过的尝试。
现在实物能正常工作,已经达到了我预先的初衷。
同时也能明确的感觉到自己所做的在某些方面还有改正进步的空间。
此次设计不光让我对课本知识进行了深入理解和验证,同时也让我制作实物的经验有所提升。
同时也感到自己的不足,还有很多的可以学习。
附录
1、电路原理图
2、PCB图
3、元器件清单
原件名称
元件数量(个)
规格
AT89C51单片机
1
常断开关
4
470欧姆电阻
20
晶振
1
11.0592MHZ
200欧姆电阻
1
1000欧姆电阻
1
电解电容
1
22uF
电源
1
5V
电容
2
30pF
发光二极管
20
4、参考文献
李广弟,朱月秀,冷祖祁。
单片机基础(第3版)。
北京:
北京航空航天大学出版社,2007
朱俊杰,王旭东,姚晔。
电子电路CAD实践教程。
湖南教育出版社,2013
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 显示 设计 单片机 课程设计 报告