单片机课程设计键控彩灯

上传人:cn****1 文档编号:553272171 上传时间:2023-07-27 格式:DOC 页数:41 大小:668.50KB
返回 下载 相关 举报
单片机课程设计键控彩灯_第1页
第1页 / 共41页
单片机课程设计键控彩灯_第2页
第2页 / 共41页
单片机课程设计键控彩灯_第3页
第3页 / 共41页
单片机课程设计键控彩灯_第4页
第4页 / 共41页
单片机课程设计键控彩灯_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《单片机课程设计键控彩灯》由会员分享,可在线阅读,更多相关《单片机课程设计键控彩灯(41页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计报告组号: 04组员: 45号 汤 31号 曾 10号 邱 03号 曹 43号班级: 09机电(4)班相关说明(一)设计目的1. 熟悉51系列单片机的使用。2. 熟悉汇编语言编程。3. 掌握单片机应用系统的设计方法过程及实现。(二)设计任务描述、要求键控彩灯系统:1. 键盘控制其运行及其停止。2. 键盘控制其流水作业及流动方向。3. 键盘控制其点亮方式 a.全亮全灭b.交叉点亮成员分工情况:袁德:04组长。总设计,将任务说明、框图、功能模块图及相关说明分给成员,协助程序编辑和错误处理,查找资料心得体会。汤跃:担任软件设计,根据功能模块图细分出流程图编辑相应程序与功能相关说明,查找

2、资料。曾玉珍:担任硬件设计,根据总框图在DXP软件中画出原理图、PCB板,查找资料。邱根:进行WORD排版,与协助汤跃的软件设计和查找资料。曹琦:对进行编辑完的程序在仿真软件上进行仿真训练和错误处理。目录第1章 硬件设计11.1总体框图11.2 原理图与PCB板图21.3 80C51相关说明:4第2章 软件设计62.1 功能模块图62.2主控流程图72.3键盘检测流程图92.4功能键处理流程图13.显示彩灯流程图152.代码实现19第3章 仿真与调试283.1调试步骤283.2错误处理303.3仿真结果31第4章 设计体会32参考文献34第1章 硬件设计1.1总体框图键盘控制 80C51芯片L

3、ED彩灯显示振荡电路复位电路电源电路功能说明:电源:80C51单片机使用5V电源,其中正极接40引脚,负极接20引脚。振荡电路:在80C51单片机内部集成了一个高增益方向放大器,用于构成放大器,只要接上晶振和电容即可构成完整的振荡电器。晶振跨接于18 (XTAL2出)和19( XTAL1入)引脚之间,18和19引脚对地并联两只小电容,其中晶振可以使用12MHz的小卧式晶振,电容可在1847pF之间取值,一般可以使用27pF的小磁片电容。复位电路:单片机上的9引脚(RST)是复位引脚,采用的是手动复位,其中其中电容用10uF,而接到RST与地之间的电阻用10k/Vpp引脚:31引脚为/Vpp,该

4、引脚接地。键盘电路:单片机P3.2P3.5引脚作为输入使用,在软件中将其置71.但按键没有按下时,单片机引脚上为高电平:而当按键按下去后,引脚接地,单片机引脚上为低电平。通过编程软件(采用不断查询的方法)即可获知是否有按键按下,按下是哪一个按键。彩灯显示: LED的阴极与单片机P1.0P1.7引脚相连,阳极与+5V电源相连。当P1口引脚接高电平时LED灯不亮,当P1口引脚接低电平时LED灯亮。1.2 原理图与PCB板图功能说明:8个发光二管接8*470电阻,接在P0口,将复位电路接在RST端,复位电路用到了手动复位,该电路的电阻值为1K,电容为C=10uF.P3.2P3.5接四个弹性按键,在按

5、键前接上四个上拉电阻(4*1K),该单片机采用的晶振频率为6HZ该电路用的两个电容C=(530pF)EA接地采取片外ROM方式PCB板图功能描述: 同DXP软件将图二和图三画出来,在通过这些可以将其在电路板上进行制做,实现硬件电路的安装制作,进行调试元件清单:序号品名型号/规格数量配件图号1单片机芯片AT89C5112碳膜电阻4708R1R83碳膜电阻10K1R94碳膜电阻1K4R10R135轻触开关LSH4S1S46无极性电容27pF2C1C27无极性电容10uF1C38卧式晶振12MHZ1CY1.3 80C51相关说明:80C51引脚说明:、主电源引脚Vcc和GND Vcc(40脚):主电

6、源接5V Vss(20脚):接地2、时钟电路引脚XTAL1 和XTAL2 XTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。 XTAL1(19脚):接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端。3、控制信号RST/Vpd、ALE/(/PROG) 、/ PSEN和 (/EA)/Vpp RST/Vpd(9脚):复位端。高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。 ALE/(/PROG)(30脚):地址锁存信号端。访问片外存贮器时,ALE作低八位地址的锁存控制信号。平时不访问片外

7、存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。ALE端负载驱动能力为8个LSTTL门。该引脚有复用功能, 为片内程序存贮器编程(固化)的编程脉冲输入。 /PSEN(29脚):片外程序存贮器读选通信号端。负载能力为8LSTTL门。在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。 1、内部ROM读取时,PSEN不动作; 2、外部ROM读取时,在每个机器周期会动作两次; 3、外部RAM读取时,两个PSEN脉冲被跳过不会输出; 4、外接ROM时,与ROM的OE脚相接。 (/EA)/Vpp(31脚):/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。 /E

8、A端接低电平时,CPU仅从片外程序存贮器取指令。该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。 4、输入/输出引脚P1、和P3口 P1.0P1.7(18脚): 8位准双向I/O口。负载能力为3个LSTTL门。P1口只做I/O口使用:其内部有上拉电阻 P3.0P3.7(1017脚):8位准双向I/O口。负载能力为3个LSTTL门。另外还有专门的第二功能。二、P3口的第二功能: P3.0(10脚): RXD(串行口输入端) P3.1(11脚): TXD(串行口输出端) P3.2(12脚): /INT0(外部中断0输入端) P3.3(13脚): /INT1(外部中断1输入端) P3.4(

9、14脚): T0(定时器/计数器0外部输入端) P3.5(15脚): T1(定时器/计数器1外部输入端) P3.6(16脚): /WR(片外数据存贮器写选通信号输出端) P3.7(17脚): /RD(片外数据存贮器读选通信号输出端第2章 软件设计2.1 功能模块图主程序键盘检测模块功能键处理模块彩灯流动显示模块去抖延时模块延时模块功能说明:键盘扫描模块:就检测是否按有键按下因按键是有抖动存在所一要扫描两次以保正确实有按键按下然后在检查是否有键的释放。延时去抖模块:因为有按键抖动的现象存在,且键盘抖动时间一般为510ms,抖动现象会引起CPU对一次键盘操作进行多次处理,从而可能产生错误。所以实行

10、软件去抖消除抖动的影响。主程序模块图:将个模块连接起来并初始化。彩灯显示模块;流水灯模块采用了8个LED发光二极管,通过代码的编写实现四中流水彩灯,本设计采用共阳极接法,将不同的初值给单片机就可以看到彩灯变化。延时模块:为了能让我们看的出彩灯变化的效果进行延时,这样就可以看到彩灯流动。2.2主控流程图开始堆栈初始化给P1初始化复位程序中所有的标志位updown、startend、yuan、quan、zuoyi、给流动灯复初值调用键盘检测程序F0为1?调用键盘处理程序调用显示程序YN 图一主程序流程图功能说明:图一主程序流程图,编写汇编主程序,开始给堆栈初始化,把P1复位也就让彩灯一开始处于灭的

11、状态,把所有标志位复位,否则下次运行时容易出错,。给流动代码复初值,然后调用键盘程序看是否有键按下没有就跳转显示程序返回,F0为则调用功能键处理程序然后在调用显示程序返回循环。2.3键盘检测流程图有键按下吗?扫描键盘键盘扫描有键按下吗?获去键值N延时去抖动有键按下吗?YYN键已释放?设立有键按下标志YN清有键按下标志退出图二键盘检测流程图功能说明:根据图二编写键盘扫描程序,首先给F0按键清零,因为下面要读P3口,所以先ORL给P3先写1在将P3给A给其余四个位置1,取反A如果为则没有键按下跳到返回。如果为1则有键按下,因为按下键有抖动,所以调用去抖延时程序在稳定期时在扫描是否有键按下有则去键值

12、给B将F0按键标志置一,在K_RET将P3口用ORL置一读取P3口给A去反A如果为0则有键释放返回主程序,如果为1则无按键释放跳回K_RET循环检测是否有按键按下。延时去抖流程图开始给R7复值D1: 给R6复值R6J减1到0?R7减1到0?返回NYYN 图五延时去抖流程图DELAY: ;去抖延时程序 MOV R7,#100 ;将R7复初值D1: MOV R6,#100 ;将R6复初值 DJNZ R6,$ ;当R6循环100次跳到本身行 DJNZ R7,D1 ;R7循环10次跳到D1重新环 RET 功能说明:根据图五编辑20ms去抖延时程序,先给R7和R6复值然后先给内循环R6减1,一直减到R6

13、等0即在给外循环R7减1,如果没到0即跳回D1,当R7=0时返回。公式=1us*2*100*100=20ms2.4功能键处理流程图获取键值是00100000?是00010000?是00001000?是00000100?NNNN返回Startend为1?Y给StarTend复位N给StarTend置1Zuoyi为1?给ZUOYI复位Y给ZUOYI置1N给YUAN置1给QUAN置1给UpDown复位给YUAN置1给QUAN复位给UpDown复位NYYYY图三功能键处理流程图功能说明:根据图三编写功能键流程图,当ACC.2为1跳第一个按键处理:看是启动标志否为1?不为1则给其置1启动。为1则跳D40复位启动标志。其他标志复位然后返回, ACC.2为0顺序执行。当ACC.3为1跳第二个按键处理:看左移标志是否为1,为1则跳到D30给左循环流动标志复位和UpDown置1,给其他标志复位返回。为0则给左移置1,表示为左移。YUAN复位把右循环标志置1给返回。ACC.3为0则顺序执行。ACC.4为1跳到第三个按

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号