单片机课程设计-按键控制1位LED数码管显示0-9
单片机课程设计
课程题目:按键控制1位LED数码管显示0-9
班级:
学号:
姓名:
目录
实验目的
任务说明
实验器件
绘制实验原理图说明
说明实验过程
实验程序
实验仿真
8.体验和合理化建议
实验目的
1.通过使用单片机控制数字管的静态显示,学习使用单片机编程和8段共阳极数字管,学习编写和调整更复杂的程序,进一步熟悉单片机串行端口的使用。
二、任务说明
单片机输入显示系统采用51台单片机、1个独立按钮、1位7段数字管等设备设计,要求每次按独立按钮数字管显示数据加1(数字管初始值为0,9后加1 ,数码管显示0)。
本设计采用12MHz晶体振荡器由独立按钮、复位电路和显示电路组成。
实验器件
1 At89c51. 2 RES.RX8 3 7SEG-CGN-AN-GRN 4 BUTTON 5 CAP.CAP-ELEC 6 CRYSTAL
原理图绘制说明
本设计主要用于单片机AT89C51、晶振时序电路。AT89C51是一种带4KB闪烁可编程可以擦出只读存储器的低电压和高性能CMOS微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术和工业标准MCS-51指令集与输出管脚兼容。多功能8位CPU在单个芯片中与闪烁存储器结合,ATMEL的AT89C51是一种高效的微处理器,为许多嵌入式控制系统提供了高灵活性和低成本的解决方案,AT89C如图1所示:
图1 AT89C51芯片及管脚图
AT89C51单片机主要有4个输入输出端口(P0口、P1口、P2口、P3口)采用3口)和控制引脚P1、P18、19脚外接晶振电容器为单片机提供时钟,9管脚为复位引脚,外接复位电路。
晶振时序电路:XTAL1和XTAL2是电影中反向放大器的输入和输出端。当单片机使用外部时钟信号时,前者接地,后者引入外部输入信号,设计为12M如图2所示:
图2 AT89C51晶振时序电路图
本设计的原理图是PROTEUS ISIS工作界面分为原理图编辑窗口(Editing window)、预览窗口(Overview window)和工具栏。
1、新建*.dsn
打开绘图界面后,首先新建绘图文件,选择文件-新设计.dsn型文件。
2.绘制原理图
(1)添加元件:拾取元件有两种方法,一种是按类别搜索和拾取元件,另一种是直接搜索和拾取元件。我用的是前一种方法,元件通常以其英文名称或器件代码存储在仓库中。当我们取一个组件时,我们应该首先知道它属于哪个类别,然后知道它属于哪个子类别,从而缩小搜索范围,然后逐个搜索子类列出的组件,并根据显示的组件符号和参数来判断是否找到所需的组件。双击找到的元件名,将该元件捡到编辑界面。元件图形和元件包装分别在右列表中自上而下。如图3所示:
图3 分类拾取元件示意图
(2)元件的放置
在原理图编辑区的蓝色框中,单击鼠标左键完成元件的释放。如图4所示:
图4 放置元件的示意图
(3)电路连接
PROTEUS连接非常智能,它将判断您的下一个操作是否想要连接自动连接,而不需要选择连接操作,只需用鼠标左键单击编辑区域元件的一个端点到另一个元件的端点,先松开左键,然后单击鼠标左键,即完成连接。如果要删除一根连线,右键双击连线即可。连接完成后,可以获得完整的电路原理图,如图5所示:
:
图5 连接后的完整电路原理图
五、绘制流程图和说明
主程序设计说明
主程序主要分为复位电路部分、独立按钮识别部分、单片机控制主程序部分和解码显示部分四个部分。模块流程图如图6所示:
图6 主程序流程图
实验程序
1.
ORG 0000H
DISP:MOV A,#00H
MOV DPTR,#TAB
MOV R7,#10
LOOP:MOV B,A
MOVC A,@A DPTR
MOV P1,A
ACALL DELAY
MOV A,B
INC A
DJNZ R7,LOOP
SJMP DISP
DELAY:MOV R6,#250
L1:DJNZ R6,L1
RET
LOOP1:DJNZ R6,LOOP1
RET
TAB:DB 0