1、 单片机原理及系统单片机原理及系统课程设计课程设计 专专 业:业: 电气工程及其自动化 班班 级:级: 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 2012 2012 年年 7 7 月月 1 1 日日 评语: 平时(40) 修改(30) 报告(30) 总成绩 单片机原理及系统课程设计报告 - 1 - 1 引言引言 基于单片机的控制循环灯设计。 2 设计方案设计方案及原理及原理 2.1 题目要求题目要求 在单片机的 P1 口接 8 个发光二极管,通过中断方式控制实现每个发光二极管 指示灯闪烁 10 次,并依次循环。正常状态下,这 8 个灯(发光二极管)先按一定 流速从左向右流动,再按一
2、定流速从右往左流动(假设这 8 个灯依次从左向右接 在 P1.0-P1.7 上) 。 2.2 设计原理设计原理 单片机循环灯是现今人们最普及的方法,本次设计用外接石英晶体振荡器作 为8051的时钟电路,将P0.0-P0.7作为发光二极管的片选口,同时利用8051单片机 的基本原理,来控制八个LED指示灯的依次往复循环闪烁10次。此次课设中选择 了共阳极的二极管接法,所以通过给P0口输送低电平0,就可以使二极管发光,输 送高电平1可使二极管熄灭。 设计框图如图 1 所示。 8051 5V电源 时钟电路 中断源 发光二级管 图 1 设计框图 3 硬件设计硬件设计 此次芯片选用的是8051,8051
3、芯片的外部时钟是用外接石英晶体振荡器来实 现的,时钟电路用于产生单片机工作所需的时钟信号。在MCS-51系列单片机芯片 外部, X1和X2之间跨接晶体振荡器和微调电容, 从而构成一个稳定的自激振荡器, 这就是单片机的时钟电路。发光二极管有共阳和共阴接法,此次设计选择了共阳 单片机原理及系统课程设计报告 - 2 - 接法,所以可通过给P0口输送低电平就可驱动发光二极管发光,输送高电平就可 使发光二极管熄灭。 硬件原理图如图2所示。 图2 硬件原理图 4 软件设计软件设计 循环灯设计大概的设计思路可概括为以下8个步骤: (1) 给累加器A送0FEH,送闪烁个数8给R2,送闪烁次数10给寄存器R0。
4、 (2) 通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高 电平熄灭。 (3) 调用DELAY延时程序。 (4) 送0FFH给P1口,使发光二极管熄灭,再调用DELAY延时程序使发光二极管 延时1S。 (5) 重复(2)、(3)、(4)至发光二极管闪烁十次后结束循环。 (6) 执行RL(循环左移)指令,指向下一个二极管,重复第5步。 (7) 当8个发光二极管从左至右依次闪烁完毕后,给累加器A送07FH,执行第5 步,使二极管从最右边开始闪烁。同时执行RR(循环右移)指令,当每个发光二 极管闪烁完10后指向下一个二极管。 (8) 当从右至左循环结束后,又回到第(1)步,循环往复
5、。 单片机原理及系统课程设计报告 - 3 - 程序流程图如图3所示。 开始 R0=10,R2=8 设置中断 等待中断 执行中断程序 二极管发光 调用DELAY程序,二极管闪烁 R0-1=R0,R2-1=R2 R0=0? R2=0?二极管发光 调用DELAY程序,二极管闪烁 R0-1=R0,R2-1=R2 R0=0? R2=0? 循环右移 循环左移 是 否 是 否 是 否 否 是 图3 程序流程图 单片机原理及系统课程设计报告 - 4 - 5 总结总结 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最 小功耗系统及典型系统。8051 单片机是 Intel 公司生产的,除无片内
6、ROM 外,其 余特性与 MCS-51 单片机基本一样。8051 单片机都采用 40 引脚的直插封装(DIP 方式) , 在单片机的 40 条引脚中有 2 条专用于主电源的引脚, 2 条外接晶体的引脚, 4 条控制或与其它电源复用的引脚,32 条输入/输出(I/O)引脚。8051 单片机的引 脚除了电源、复位、时钟接入,用户 I/O 口外,其余管脚是为实现系统扩展而设置 的。因此,本控制循环灯实际上就是一个带有 8 个发光二极管的单片机最小应用 系统,即为由单片机 8051、发光二极管和必要的软件组成的单个单片机系统。此 系统利用单片机的 P1.0-P1.7 作为 8 段显示 LED 的段控码输入, 当位控线输入高电 平时对应的 LED 点亮。再利用单片机内部的定时器对每一个输出口的电平做时间 控制,实现每一个接口出现循环的高低电平,从而实现对每一个接口所接灯的循 环控制,使 8 盏灯各依次亮灭 10 次。 单片机原理及系统课程设计报告 -