1、单位代码 学 号 1201050052 分 类 号 密 级 单 片 机 应 用 技 术 课 程 设 计院 ( 系 ) 名 称专 业 名 称学 生 姓 名指 导 教 师2015 年 10 月 27 日摘要随着人民生活水平的提高和对身边产品要求多样话的增强,简单的单一彩灯已经不能满足人民的需要。新型 LED 彩灯控制器讲会解决 LED 下等单一的情况。而这需要借助于我们市场上的单片机,单片机即微型计算机,是集 CPU、 RAM、ROM、定时器、计数器、和多种借口于一体的微控制器。LED 彩灯控制器将会用到,起定时计数的功能,在单片几中我们常见的就是 51 系列的单片机,它是单片机中最为典型和最有代
2、表性的一种,广泛应用于各个领域。 本课题设计用单片机 8951 结合 LED 制作了一种新型的 LED 彩灯控制系统的设计方法,以 AT-89C51 单片机作为主控核心,与按键、显示器等较少的辅助硬件电路相结合,利用软件实现对 LED 彩灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。 关键字:LED 彩灯;AT89C51 单片机;彩灯控制器;模块设计第 页 目 录1、 绪 论.11.1 课题简介.1 1.2 设计目的. .22、总体设计 32.1 设计思路 32.2 原件清单.43、硬件设计43.1 AT89C51.4 3.2 控制原理73.3 程序框图84、设计步骤 8
3、4.1 硬件设计84.2 单片机时钟电路84.3 复位电路94.4 控制电路94.5 工作电路95、软件设计115.1 设计要求.115.2 软件的流程图.115.3 程序设计.126、软件调试.18结束语.16致谢.17参考文献.17 第 0 页1绪论1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等
4、电路)集成到一块硅片上构成的一个小而完善的计算机系统。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 :,例如精密
5、的测量设备 2.在工业控制中的应用 :用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 :例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用 :如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。本设计着重在于
6、分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了 8051 芯片的 I/O 引脚。系统以采用 MCS-51 系列单片机 Intel8051 为中心器件来设计 LED 流水灯系统,实现 8个 LED 霓虹灯的左、右循环显示,并实现循环的速度可调。第 1 页1.2 设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。2.掌握汇编语言程序设计方法。3.培养实践技能,提高分析和解决实际问题的能力。1.3 设计任务及要求1彩灯用 8 个发光二极管代替。2电路具有控制彩灯点亮右移、左移、
7、全亮及全灭等功能(用按键切换彩灯状态)3、彩灯两点移动时间间隔为 0.5 秒。第 2 页2总体设计思路2.1 设计思路本课题使用 AT89C51 单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在 P1.0 口的 LED1 亮起来,那么只要把 P1.0 口的电平变为低电平就可以了;相反,如果要接在 P1.0 口的 LED1 熄灭,就要把 P1.0 口的电平变为高电平;同理,接在 P1.1P1.7 口的其他 7 个 LED 的点亮和熄灭的方法同 LED1。因此,要实现流水灯
8、功能,我们只要将发光二极管 LED1LED8 依次点亮、熄灭,8 只 LED 灯便会一亮一暗的做流水灯了。同样的道理,可以让 8 个灯左移点亮,全亮、全灭。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。在此基础上,增加外扩设备,利用 74LS373 和 8255 扩展成 24 个 LED 灯循环显示。第 3 页2.2.原件清单3硬件设计3.1 AT89C511.芯片由 UNTITLEDISISPROFESSIONAL 实验系统提供(AT89C51)1)主要特性:与 MCS-51 兼容4K
9、 字节可编程闪烁存储器元件名称 型号 数量/个 用途单片机 AT89S51 1 控制核心晶振 12MHZ 1 晶振电路电容 30pF 2 晶振电路电阻 Respack8 8 上位电阻电阻 10k 4 开关电阻电阻 10k 1 复位电路电源 +5v 1 提供电源拨码开关 BUTTON 4 发出信号Led_red 3Led_blue 3LEDLed_green 2显示电路第 4 页寿命:1000 写/擦循环数据保留时间:10 年全静态工作:0Hz24Hz三级程序存储器锁定128*8 位内部 RAM32 可编程 I/O 线5 个中断源可编程串行通道低功耗的闲置和掉电模式片内震荡器和时钟电路2)管脚说
10、明: 电 源 引 脚Vcc( 40 脚 ) : 典 型 值 5V。Vss( 20 脚 ) : 接 低 电 平 。 外 部 晶 振XTAL1、 XTAL2 分 别 与 晶 振 两 端 相 连 接 。 输 入 输 出 口 引 脚 :P0 口 : I/O 双 向 口 。 作 输 入 口 时 , 应 先 软 件 置 “ 1”。P1 口 : I/O 双 向 口 。 作 输 入 口 时 , 应 先 软 件 置 “ 1”。P2 口 : I/O 双 向 口 。 作 输 入 口 时 , 应 先 软 件 置 “ 1”。P3 口 : I/O 双 向 口 。 作 输 入 口 时 , 应 先 软 件 置 “ 1”。 控
11、 制 引 脚 :RST、 ALE/-PROG、 -PSEN、 -EA/Vpp 组 成 了 MSC-51 的 控制 总 线 。RST( 9 脚 ) : 复 位 信 号 输 入 端 ( 高 电 平 有 效 ) 。ALE/-PROG(30 脚 ) : 地 址 锁 存 信 号 输 出 端 。第 二 功 能 : 编 程 脉 冲 输 入 。-PSEN( 29 脚 ) : 外 部 程 序 存 储 器 读 选 通 信 号 。第 5 页-EA/Vpp(31 脚 ) : 外 部 程 序 存 储 器 使 能 端 。第 二 功 能 : 编 程 电 压 输 入 端 ( +21V) 。3)A T89C51 单 片 机 的
12、 P 口 特 点 :P0 口 : 是 一 个 8 位 漏 极 开 路 输 出 型 双 向 I/O 端 口 。 作 为 输 出 端 口时 , 每 位 能 以 吸 收 电 流 的 方 式 驱 动 8 个 TTL 输 入 , 对 端 口 写 1 时 , 又可 作 高 阻 抗 输 入 端 用 。 在 访 问 外 部 程 序 或 数 据 存 储 器 时 , 它 是 时 分 多 路 转换 的 地 址 ( 低 8 位 ) /数 据 总 线 ,在 访 问 期 间 将 激 活 内 部 的 上 拉 电 阻 。P1 口 : P1 口 是 一 个 带 有 内 部 上 拉 电 阻 的 8 位 双 向 I/O 端 口 。
13、 P1口 的 输 出 缓 冲 器 可 驱 动 ( 吸 收 或 输 出 电 流 方 式 ) 4 个 TTL 输 入 。 对 端 口写 1 时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口 。P2 口 作 输 入 口 使 用 时 , 因 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引脚 会 输 出 一 个 电 流 ( Iil) 。P2 口 : P2 口 是 一 个 带 有 内 部 上 拉 电 阻 的 8 位 双 向 I/O 端 口 。 P2口 的 输 出 缓 冲 器 可 驱 动 ( 吸 收 或 输 出 电 流
14、 方 式 ) 4 个 TTL 输 入 。 对 端 口写 1 时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口 。P2 口 作 输 入 口 使 用 时 , 因 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引 脚会 输 出 一 个 电 流 ( Iil) 。 在 访 问 外 部 程 序 存 储 器 时 和 16 位 外 部 地 址的 外 部 数 据 存 储 器 ( 如 执 行 MOVX DPTR) 时 , P2 口 送 出 高 8 位 地 址 。在 访 问 8 位 地 址 的 外 部 数 据 存 储 器 ( 如
15、 执 行 MOVX RI) 时 , P2 口 引脚 上 的 内 容 ( 就 是 专 用 寄 存 器 (SFR)区 中 的 P2 寄 存 器 的 内 容 ) , 在 整 个访 问 期 间 不 会 改 变 。P3 口 : P3 口 是 一 个 带 有 内 部 上 拉 电 阻 的 8 位 双 向 I/O 端 口 。 P3口 的 输 出 缓 冲 器 可 驱 动 ( 吸 收 或 输 出 电 流 方 式 ) 4 个 TTL 输 入 。 对 端 口写 1 时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口 。P3 口 作 输 入 口 使 用 时 , 因
16、 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引 脚会 输 出 一 个 电 流 ( Iil) 。( 2) 排 阻 的 作 用所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作第 6 页为公共引脚。其余引脚正常引出。所以如果一个排阻是由 n 个电阻构成的,那么它就有 n+1 只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。 32、控制原理新型 LED 彩灯分为 2 部分,即彩灯控制器(主控模块)和管内 LED 板模块(受控
17、模块)。彩灯控制器可直接与 220 V 交流市电相连接,经过开关电源变换,输出直流工作电压,一方面为管内 LED 模块提供 12 V 工作电源,另一方面为主控模块单片机系统(彩灯控制器)提供 5 V 工作电源。整个系统工作由软件程序控制运行,根据需要,用户可以在 LED 彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。上电后系统经过初始化,查询是否有功能切换键按下:有,则进入用户设定模式状态;无,则进入默认缺省工作状态。在用户设定模式状态下,用户可以根据个人爱好及不同场合的需要来指定调用哪些模式,同样如果想进入用户设定模式状态,只需按下功能切换键即可。LED 板模块设计主要器件有
18、LED 彩灯(红、绿、蓝)、移位触发模块芯片CD4076 等。根据实际应用彩灯长度需要,可将不同数量的该管内 LED 模块实现级连,组成一个完整的 LED 彩灯。考虑到功率损耗,LED 板模块之间接口处用信号正向驱动模块芯片 MC4049 连接。每个 LED 板模块上均匀分布 3 种颜色 LED 灯,在实际制作PCB 时采用红、绿、蓝 3 色互隔焊接方式,在电路板上把 LED 发光管按顺序 L1(红)、L2(绿)、L3(蓝) 、L4(红) 、 L5(绿)、L6(蓝)依次均匀焊在板上成一条直线。第 7 页33、程序框图图 14设计步骤4.1 硬件设计硬件系统是指构成微机系统的实体和装置,通常由运
19、算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以 AT89S51 单片机为主控单元。显示部分:8 个 LED 灯循环亮灭。4.2 单片机时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在 MCS-51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 X1,输出端为引脚
20、X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用 12MHz 的石英晶体。时钟电路如下图:图 2开关输入AT89C5单片机流水灯第 8 页4.3 复位电路电阻的作用是用于上电复位的,VCC 以上电,由于电容两端电压不能突变,所以RST 上为高电平,然后电容放电,RST 就为低电平了,还可以用手动复位,此电路应用自动复位。图 34.4 控制电路控制电路用于控制工作电路的工作情况,根据要求来控制电路,本电路的控制电路用来控制流水灯的工作情况,当按下 1、2、3、4 各个开关时,电路具有左移、右移、全亮、全没的功能,具体的控制电路如下:R1410k
21、 R1510k R1610k R1710k图 44.5 工作电路1) 工作电路就是根据总的电路的指令,来反应工作情况。本电路的流水灯电路具体的如下:第 9 页图 52)根据各个模块的功能及他们的信号传输,连接电路如下:图 6第 10 页5软件设计5.1 设计要求本系统的功能就时实现流水灯的循环点亮,主要有四个功能,第一,按下第一个按钮,彩灯向上点亮循环,按下第二个,彩灯向下循环点亮,按下第三个,彩灯全亮,按下第四个,彩灯全灭。彩灯用 8 个发光二极管代替。电路具有的控制彩灯点亮右移、左移、全亮及全灭的功能用按键切换彩灯状态,彩灯两点移动时间间隔为 0.5 秒。5.2、软件的流程图:图 7开始读
22、入四个开关的状态判断开关状态灯左移点亮 灯右移点亮 灯 全 亮灯 全 灭灯流动运行或全亮全灭无输入第 11 页5.3、程序设计ORG 0000H ;单片机上电后从 00000H 地址执行AJMP START ;跳转到主程序存放地指出ORG 0030H ;设置主程序开始地址START: MOV SP,#60H ;设置堆栈起始地址为 60HMOV DPTR,#TAB ;把 TAB 表首地址送入 DPTRSTART1: JNB P0.0,LOOP1 ;判断 P0.0 处开关是否闭合JNB P0.1,LOOP2 ;判断 P0.1 处开关是否闭合JNB P0.2,LOOP3 ;判断 P0.2 处开关是否
23、闭合JNB P0.3,LOOP4 ;判断 P0.3 处开关是否闭合AJMP START1 ;如果没有开关闭合重新检测LOOP1: CLR A ;累加器清零MOVC A,A+DPTR ;取数值表中的数CJNE: A,#11111111B,SHOW1;检查左移结束标志AJMP START ;左移结束重新检测开关状态SHOW1: MOV P1,A ;将数据送到 P1 口ACALL DELAY ;调用延时子程序INC DPTR ;取数据表指针指向下一数据AJMP LOOP1 ;继续查表取数据LOOP2: MOV A,#09H ;设定累加器的初始值MOVC A,A+DPTR ;取数值表中的数CJNE A
24、,#00000000B,SHOW2;检查右移结束标志AJMP START ;右移结束重新检查开关状态SHOW2: MOV P1,A ;将数据送到 P1 口ACALL DELAY ;调用延时子程序INC DPTR ;取数据表指针指向下一数据AJMP LOOP2 ;继续查表取数据LOOP3: MOV A,#08H ;设定累加器初始值第 12 页MOVC A,A+DPTR ;取数值表中的数MOV P1,A ;将数据送到 P1 口AJMP START ;全灭结束重新检测开关状态LOOP4: MOV A,#11H ;设定累加器初始值MOVC A,A+DPTR ;取数值表中的数MOV P1,A ;将数据送
25、到 P1 口AJMP START ;全灭结束重新检测开关状态DELAY: MOV R0,#10 ;延时一段时间D0: MOV R1,#200D1: MOV R2,#123NOPD2: DJNZ R2,D2DJNZ R1,D1DJNZ R0,D0RET ;子程序返回TAB:DB 11111110BDB 11111101BDB 11111011BDB 11110111BDB 11101111BDB 11011111BDB 10111111BDB 01111111BDB 11111111BDB 01111111BDB 10111111BDB 11011111B第 13 页DB 11101111BDB
26、 11110111BDB 11111011BDB 11111101BDB 11111110BDB 00000000BEND ;程序结束第 14 页6软件调试软件调试一般分为以下四个阶段:1、 编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。此系统可以改进为可以通过对开关的调节来控制流水灯电路具有控制彩灯点亮右移、左移、全亮及全灭等功。 第 15 页结束语通过对本次课程论文的编写,使我明白应用主控模块输出的控制信号去控制灯管内的
27、 LED 板模块工作,使得产品性能稳定,便以安装容易操作。由于控制程序存储在89C51 单片机 的电可擦除 Flash 闪存 EPROM 中,如果用户需要更改系统的亮灯模式,无须改变系统硬件电路,只需修改其中程序即可,是一种很有发展前途的彩灯控制器。通过编写论文,使我对单片机实现彩灯的原理及其使用问题有了更深刻的认识,是我从中体会到单片机原理及技术应用的课题的重要意义,值得我们探讨,使我更深的理解和学会综合运用单片机技术、模拟电子电路、数字电子电路、传感器,软件技术、计算机软件编程技术,设计彩灯。通过设计全面地培养与锻炼了机电专业学生综合运用本专业知识分析问题和解决问题的能力。第 16 页致谢
28、本次课程设计已经接近尾声。由于经验的匮乏,难免有许多考虑不周全的地方,如果没有指导教师的的督促指导,想要完成这个设计是难以想象的。在这里首先要感谢我的课程设计指导老师郭老师。在她平日里工作繁多,但在我做课程设计的每个阶段,都给予了我悉心的指导。最后还要感谢我的单片机老师,是在她的教诲下,让我掌握了坚实的专业知识基础,为我以后的扬帆远航注入了动力。谢谢你们!参考文献单片机课程设计指导书 皮大能 北京理工大学出版社 2012.78051 单片机实践与应用 吴金戎 清华大学出版社 2003.8单片机技术基础教程与实践 夏路易 电子工业出版社 2008.1单片机原理及应用 张毅刚 高等教育出版社 2012.11基于 Proteus 的单片机系统设计与仿真实例 蒋辉平 机械工业出版社