版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:通信工程教研室学 号学生姓名专业班级课程设计(论文) 题目霓虹灯控制器的设计课程设计(论文)任务任务和要求:1、以单片机为控制核心设计霓虹灯控制器。2、可用按键设置显示方式。3、霓虹灯采用无触点开关控制。设计内容:1、分析设计要求,明确性能指标;查阅资料、设计方案分析对比。2、论证并确定合理的总体设计方案,绘制总体结构框图,分析工作原理。3、完成各单元具体电路的设计:单片机最小系统、显示等电路。包括元器件选择、工作原理分析。4、写出程序流程图及汇编源程序。5、完成课程设计说明书。该控制器可实现的硬件和软件设计。实现技术指标包括:指
2、导教师评语及成绩平时成绩(20%): 论文成绩(40%): 答辩成绩(40%): 总成绩: 指导教师签字: 学生签字: 年 月 日 单片机接口技术课程设计(论文)摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益地更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。我们周围有许多广告牌、交通指示灯等都是通过单片机控制的。霓虹灯模拟控制器正是利用美国ATMEL公司生产的AT89C51单片机作为核心控制芯片实现对霓虹灯的控制。模拟控制器由单片
3、机控制部分和显示部分组成,与按键、电阻等较少的辅助硬件电路相结合,通过汇编语言编程可以实现任意改变霓虹灯的变化花样和。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。目录第1章 设计方案论证11.1设计意义11.2 课题设计要求、系统方案介绍11.3 单片机的选择1第2章 硬件电路设计22.1主控制器模块设计22.2本设计中用到的引脚功能说明22.3 AT89C51时钟电路32.4 AT89C51复位电路42.5主控模块电路设计4第3章 程序设计6第4章 设计总结11参考文献12附录1: 整体电路原路图13附录2:器件清单148第1章 设计方案论证1.1设计意义随着人们生活环境的不断改
4、善和美化,在许多场合可以看到彩色霓虹灯。 LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。1.2 课题设计要求、系统方案介绍设计一个霓虹灯,采用LED模拟,
5、要有多重花样。用单片机的P0口控制8盏发光二级管,P2口控制8盏发光二级管,P3口控制一个共阳数码管。P0,P2,P3口控制的 24盏灯排成8×3矩阵,数码管显示灯的花样种类,方案中总共有12种花样,数码管显示数字为0,1,2,3,4,5,6,7,8,9。在设计的 过程中,P0口要加上上拉电阻,这是单片机系统内部决定的 。在方案中用到五个按键,按键S1是单片机复位键,按键S2-S5是选择灯的花样,按键每按下一次,切换花样一次。1.3 单片机的选择AT89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器。其芯片内部有ROM,且片内ROM全部采用Flash ROM,它能于3V
6、的超低压工作,与MCS-51系列单片机完全兼容。所以选用AT89C51设计电路。第2章 硬件电路设计2.1主控制器模块设计 本设计用AT89C51作主控制器,构成一个最小控制系统,这个包括:单片机、晶振电路,复位电路。 AT89C51 是美国ATMEL公司生产的低电压,高性能CMOS 8 位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256 bytes 的随机存取数据存储器(RAM)。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C51在引脚排列、硬件组成、工作特点和指令系统等方面兼容。2.2本设计中用到的引脚功能说明AT89C51的引脚图
7、如图2-1所示。图2-1 AT89C51的引脚Vcc:第40脚,电源引脚,必须接+5V电源。Vss:第20脚,接地电位。P1 口:第18脚。P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。P3 口:第1017脚。P3 口是一组带有内部上
8、拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。此外,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:第9脚。复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。/VPP:第31脚。外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大
9、器的输出端。2.3 AT89C51时钟电路时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。内部时钟方式:AT89C51芯片中的高增益反相放大器,其输入端为引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容C1和C2一般取30pF)。石英晶体振荡器为一个感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需要的相移条件,从而构成一个稳定的自激振荡器。AT89C51振荡电路如图2-2所示。图2-2 AT89C51振荡电路外部时钟方式:常用于多片MCS-51系列单片机同时工作。
10、 如图2-3所示。 图2-3 外部时钟电路2.4 AT89C51复位电路AT89C51复位电路通常采用上电自动复位和按钮复位两种方式。本设计采用AT89C51上电复位复位电路。如图2-4所示。 图5-3 复位电路2.5主控模块电路设计霓虹灯模拟控制器主控模块电路如附件录图所示。单片AT89C51P1.0P1.7做输出口,分别接八只发光二极管八只220欧电阻,LCD采用共阴极接法,用单片机AT89C51的P0.0P0.4与5个按键开关相连,做为编码开关,且开关接地,按键按下时对应的口为低电平,显示一种亮灯效果。和Vcc接至+5V电源,Vss接地。第3章 程序设计3.1总流程图霓虹灯总流程图如下图
11、3-1所示。按键P1.0按键P1.1按键P1.2按键P1.3倒计时流水灯闪烁灯间隔灯按下复位键初始化按键操作YN图3-1 总流程图初始时霓虹灯为全灭状态。当按键P1.0时,霓虹灯倒计时90;当按键P1.1时,为流水灯;当按键P1.2时,为闪烁灯;当按键P1.3时,位间隔闪烁灯。在霓虹灯工作状态下按下复位键,霓虹灯恢复初始状态。程序代码: 单片机接口技术课程设计(论文)#include<reg52.h>#define unit unsigned intvoid delayms(unit);void main()while(P1=0xfe)/*9-0倒计时*/ P0=0xff; P3=
12、0xff; P2=0xff;delayms(1000);/9 P0=0x17; P3=0x57; P2=0x07; delayms(125); P0=0x8b; P3=0xab; P2=0x83; delayms(125); P0=0xc5; P3=0xd5; P2=0xc1; delayms(125); P0=0xe2; P3=0xeb; P2=0xe0; delayms(125); P0=0xf1; P3=0xf5; P2=0xf0; delayms(125); P0=0xf8; P3=0xfb; P2=0xf8; delayms(125); P0=0xfc; P3=0xfd; P2=0x
13、fc; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/8 P0=0x07; P3=0x57; P2=0x07; delayms(125); P0=0x83; P3=0xab; P2=0x83; delayms(125); P0=0xc1; P3=0xd5; P2=0xc1; delayms(125); P0=0xe0; P3=0xea; P2=0xe0; delayms(125); P0=0xf0; P3=0xf5; P2=0xf0; delayms(125); P0=0xf8; P3=0xfa; P2=0xf8; delayms
14、(125); P0=0xfc; P3=0xfd; P2=0xfc; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/7 P0=0x7f; P3=0x7f; P2=0x07; delayms(125); P0=0xbf; P3=0xbf; P2=0x83; delayms(125); P0=0xdf; P3=0xdf; P2=0xc1; delayms(125); P0=0xef; P3=0xef; P2=0xe0; delayms(125); P0=0xf7; P3=0xf7; P2=0xf0; delayms(125); P0=0
15、xfb; P3=0xfb; P2=0xf8; delayms(125); P0=0xfd; P3=0xfd; P2=0xfc; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/6 P0=0x07; P3=0x57; P2=0x47; delayms(125); P0=0x83; P3=0xab; P2=0xa3; delayms(125); P0=0xc1; P3=0xd5; P2=0xd1; delayms(125); P0=0xe0; P3=0xea; P2=0xe8; delayms(125); P0=0xf0; P3=0xf
16、5; P2=0xf4; delayms(125); P0=0xf8; P3=0xfa; P2=0xfa; delayms(125); P0=0xfc; P3=0xfd; P2=0xfd; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/5 P0=0x17; P3=0x57; P2=0x47; delayms(125); P0=0x8b; P3=0xab; P2=0xa3; delayms(125); P0=0xc5; P3=0xd5; P2=0xd1; delayms(125); P0=0xe2; P3=0xea; P2=0xe8;
17、 delayms(125); P0=0xf1; P3=0xf5; P2=0xf4; delayms(125); P0=0xf8; P3=0xfa; P2=0xfa; delayms(125); P0=0xfc; P3=0xfd; P2=0xfd; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/4 P0=0x1f; P3=0xdf; P2=0x07; delayms(125); P0=0x8f; P3=0xef; P2=0x83; delayms(125); P0=0xc7; P3=0xf7; P2=0xc1; delayms(12
18、5); P0=0xe3; P3=0xfb; P2=0xf0; delayms(125); P0=0xf1; P3=0xfd; P2=0xf0; delayms(125); P0=0xf8; P3=0xfe; P2=0xf8; delayms(125); P0=0xfc; P3=0xff; P2=0xfc; delayms(125); P0=0xfe; P3=0xff; P2=0xfe; delayms(125);/3 P0=0x57; P3=0x57; P2=0x07;delayms(125); P0=0xab; P3=0xab; P2=0x83; delayms(125); P0=0xd5;
19、 P3=0xd5; P2=0xc1; delayms(125); P0=0xea; P3=0xea; P2=0xe0; delayms(125); P0=0xf5; P3=0xf5; P2=0xf0; delayms(125); P0=0xfa; P3=0xfa; P2=0xf8; delayms(125); P0=0xfd; P3=0xfd; P2=0xfc; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/2 P0=0x47; P3=0x57; P2=0x17; delayms(125); P0=0xa3; P3=0xab; P
20、2=0x8b; delayms(125); P0=0xd1; P3=0xd5; P2=0xd5; delayms(125); P0=0xe8; P3=0xea; P2=0xe2; delayms(125); P0=0xf4; P3=0xf5; P2=0xf1;delayms(125); P0=0xfa; P3=0xfa; P2=0xf8; delayms(125); P0=0xfd; P3=0xfd; P2=0xfc; delayms(125); P0=0xfe; P3=0xfe; P2=0xfe; delayms(125);/1 P0=0xff; P3=0xff; P2=0x07; dela
21、yms(125); P0=0xff; P3=0xff; P2=0x83; delayms(125); P0=0xff; P3=0xff; 2=0xa1; delayms(125); P0=0xff; P3=0xff; P2=0xe0; delayms(125); P0=0xff; P3=0xff; P2=0xf0; delayms(125); P0=0xff; P3=0xff; P2=0xf8; delayms(125); P0=0xff; P3=0xff; P2=0xfa; delayms(125); P0=0xff; P3=0xff; P2=0xfe; delayms(125); /0 P
22、0=0x07; P3=0x77; P2=0x07; delayms(125); P0=0x83; P3=0xbb; P2=0x83; delayms(125); P0=0xc1; P3=0xdd; P2=0xc1; delayms(125); P0=0xe0; P3=0xee; P2=0xe0; delayms(125); P0=0xf0; P3=0xf7; 2=0xf0; delayms(125); P0=0xf8; P3=0xfb; 2=0xf8; delayms(125); P0=0xfc;P3=0xfd;P2=0xfc; delayms(125); P0=0xfe; 3=0xfe; P
23、2=0xfe; delayms(125); P0=0xff; P3=0xff; P2=0xff; delayms(500); while(P1=0xfd)/*流水灯*/ P0=0xff; P3=0xff; P2=0xff; elayms(500); P0=0xfe; delayms(100); P0=0xfc; delayms(100); P0=0xf8; delayms(100); P0=0xf0; delayms(100); P0=0xe0; delayms(100); P0=0xc0; delayms(100); P0=0x80; delayms(100); P0=0x00; delay
24、ms(100); P3=0xfe; delayms(100); P3=0xfc; delayms(100); P3=0xf8; delayms(100); P3=0xf0; delayms(100); P3=0xe0; delayms(100); P3=0xc0; delayms(100); P3=0x80; delayms(100); P3=0x00; delayms(100); P2=0xfe; delayms(100); P2=0xfc; delayms(100); P2=0xf8; delayms(100); P2=0xf0; delayms(100); P2=0xe0; delaym
25、s(100); P2=0xc0; delayms(100); P2=0x80; delayms(100); P2=0x00; delayms(100); P0=0x00; delayms(100); P0=0x80; delayms(100); P0=0xc0; delayms(100); P0=0xe0; delayms(100); P0=0xf0; delayms(100); P0=0xf8; delayms(100); P0=0xfc; delayms(100); P0=0xfe; delayms(100); P0=0xff; delayms(100); P3=0x00; delayms
26、(100); P3=0x80; delayms(100); P3=0xc0; delayms(100); P3=0xe0; delayms(100); P3=0xf0; delayms(100); P3=0xf8; delayms(100); P3=0xfc; delayms(100); P3=0xfe; delayms(100); P3=0xff; delayms(100); P2=0x00; delayms(100); P2=0x80; delayms(100); P2=0x80; elayms(100); P2=0xc0; delayms(100); P2=0xe0; delayms(1
27、00); P2=0xf0; delayms(100); P2=0xf8; delayms(100); P2=0xfc; delayms(100); P2=0xfe; delayms(100); P2=0xff; delayms(100); P2=0xfe; delayms(100); P2=0xfc; delayms(100); P2=0xf8; delayms(100); P2=0xf0; delayms(100); P2=0xe0; delayms(100); P2=0xc0; delayms(100); P2=0x80; delayms(100); P2=0x00; delayms(10
28、0); P3=0xfe; delayms(100); P3=0xfc; delayms(100); P3=0xf8; delayms(100); P3=0xf0; delayms(100); P3=0xe0; delayms(100); P3=0xc0; delayms(100); P3=0x80; delayms(100); P3=0x00; delayms(100); P0=0xfe; delayms(100); P0=0xfc; delayms(100); P0=0xf8; delayms(100); P0=0xf0; delayms(100); P0=0xe0; delayms(100
29、); P0=0xc0; delayms(100); P0=0x80; delayms(100); P0=0x00; delayms(100);P2=0x00; delayms(100);P2=0x80; delayms(100);P2=0xc0; delayms(100);P2=0xe0; delayms(100);P2=0xf0; delayms(100);P2=0xf8; delayms(100);P2=0xfc; delayms(100);P2=0xfe; delayms(100);P2=0xff; delayms(100);P3=0x00; delayms(100);P3=0x80;
30、delayms(100);P3=0xc0; delayms(100);P3=0xe0; delayms(100); P3=0xf0; delayms(100);P3=0xf8; delayms(100); P3=0xfc; delayms(100);P3=0xfe; delayms(100); P3=0xff; delayms(100);P0=0x00; delayms(100);P0=0x80; delayms(100);P0=0xc0; delayms(100);P0=0xe0; delayms(100);P0=0xf0; delayms(100);P0=0xf8; delayms(100
31、); P0=0xfc; delayms(100);P0=0xfe; delayms(100);P0=0xff; delayms(100);while(P1=0xfb)/*闪烁灯*/ P0=0x00; delayms(400); P3=0x00; delayms(400); P2=0x00; delayms(400);P0=0xff; delayms(400);P3=0xff; delayms(400);P2=0xff; delayms(400);P0=0x00; delayms(400);P3=0x00; delayms(400);P2=0x00; delayms(400); P0=0xff;
32、 delayms(400);P3=0xff; delayms(400);P2=0xff; delayms(400);P0=0xff; P3=0xff;P2=0xff; delayms(300);P0=0x00; P3=0x00;P2=0x00; delayms(400); P0=0xff; P3=0xff; P2=0xff; delayms(400); P0=0x00; P3=0x00; P2=0x00; delayms(400); P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300);
33、 P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300); P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300); P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300); P0=0x55; P3=0xff; P2=0x55; elayms(300); P0=0xaa; P3=0
34、x7e; P2=0xaa; delayms(300); P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300); P0=0x55; P3=0xff; P2=0x55; delayms(300); P0=0xaa; P3=0x7e; P2=0xaa; delayms(300); P0=0xff; P3=0xff; P2=0xff; delayms(300); while(P1=0xf7)/*间隔灯*/ P0=0x7f; delayms(300); P3=0xbf; delayms(300);
35、 P2=0xdf; delayms(300); P3=0xaf; elayms(300); P0=0x77; delayms(300); P3=0xab; delayms(300); P2=0xdd; delayms(300); P3=0xaa; delayms(300); P0=0xff; P3=0xff; P2=0xff; delayms(300); P2=0x7f; delayms(300); P3=0xbf; delayms(300); P0=0xdf; delayms(300); P3=0xaf; delayms(300); P2=0x77; delayms(300); P3=0xa
36、b; delayms(300); P0=0xdd; delayms(300); P3=0xaa; delayms(300); P0=0xff; P3=0xff; P2=0xff; delayms(300); P0=0x7f; delayms(300); P3=0xbf; delayms(300); P2=0xdf; delayms(300); P3=0xaf; delayms(300); P0=0x77; delayms(300); P3=0xab; delayms(300); P2=0xdd; delayms(300); P3=0xaa; delayms(300); P0=0xff; P3=
37、0xff; P2=0xff; delayms(300); P2=0x7f; delayms(300); P3=0xbf; delayms(300); P0=0xdf; delayms(300); P3=0xaf; delayms(300); P2=0x77; delayms(300); P3=0xab; delayms(300); P0=0xdd; delayms(300); P3=0xaa; delayms(500); P0=0x7f; P3=0x7f; P2=0x7f; delayms(300); P0=0xbf; P3=0xbf; P2=0xbf; delayms(300); P0=0x
38、df; P3=0xdf; P2=0xdf; delayms(300); P0=0xef; P3=0xef; P2=0xef; delayms(300); P0=0xf7; P3=0xf7; P2=0xf7; delayms(300); P0=0xfb; P3=0xfb; P2=0xfb; delayms(300); P0=0xfd; P3=0xfd; P2=0xfd; delayms(300); P0=0xfe; P3=0xfe; P2=0xfe; delayms(300); P0=0x7f; P3=0x7f; P2=0x7f; delayms(300); P0=0x3f; P3=0x3f;
39、P2=0x3f; delayms(300); P0=0x1f; P3=0x1f; P2=0x1f; delayms(300); P0=0x0f; P3=0x0f; P2=0x0f; delayms(300); P0=0x07; P3=0x07; P2=0x07; delayms(300); P0=0x03; P3=0x03; P2=0x03; delayms(300); P0=0x01; P3=0x01; P2=0x01; delayms(300); P0=0x00; P3=0x00; P2=0x00; delayms(300); P0=0x80; P3=0x80; P2=0x80; delayms(300); P0=0xc0; P3=0xc0; P2=0xc0; delayms(300); P0=0xe0; P3=0xe0; P2=0xe0; delayms(300); P0=0xf0; P3=0xf0; P2=0xf0; delayms(300); P0=0xf8; P3=0xf8; P2=0xf8; delayms(300); P0=0xfc; P3=0xfc; P2=0xfc; delayms(300); P0=0xfe; P3=0xfe; P2=0xfe; delayms(300); P0=0xff; P3=0x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班保育工作计划大班保育秋季工作计划
- 七年级下册地理教学工作计划
- 大班综合科教学计划
- 2025外科护士长2月份工作计划
- 2025年度第一学期综合教研组工作计划
- 中小学教师职业道德个人总结工作计划
- 公司员工销售培训工作计划
- 九年级英语教学计划范本
- 七年级上册人教版数学教学计划从算式到方程
- 《城镇土地价格》课件
- 【课件】供应商现场与质量管理
- 2024年立式碾米机项目可行性研究报告
- 统编版语文九年级上册(2024)(含答案)
- 中华人民共和国保守国家秘密法实施条例培训课件
- 中医医术确有专长人员医师资格考核申报资料表
- 智慧医学语言基础2024a学习通超星期末考试答案章节答案2024年
- 成都锦城学院《算法分析与设计》2022-2023学年期末试卷
- 可行性报告编制服务方案
- 牛顿法在图像处理中的应用
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 英语KET官方样题Test1- Test 2
评论
0/150
提交评论