可以调控的跑马灯
跑马灯原理

跑马灯原理跑马灯,是一种通过灯光逐个闪烁的方式来显示文字或图案的装置。
它常常被用于广告牌、舞台表演、电视节目等场合,给人们带来了视觉上的震撼和享受。
那么,跑马灯是如何实现文字或图案的显示的呢?这就涉及到了跑马灯的原理。
跑马灯的原理可以简单概括为,利用高速旋转的反射镜或者LED灯珠,通过控制光源的开关,使得光源逐个闪烁,从而形成文字或图案的效果。
下面我们将对跑马灯的原理进行更详细的介绍。
首先,跑马灯的核心部件是反射镜或LED灯珠。
反射镜是一种可以高速旋转的镜片,而LED灯珠则是一种可以控制开关的光源。
这两种部件都具有高速切换的能力,可以在极短的时间内完成光源的切换。
其次,跑马灯的控制系统起着至关重要的作用。
控制系统可以通过预先设定的程序,精确地控制反射镜或LED灯珠的开关时间和顺序,从而实现文字或图案的显示效果。
控制系统通常由微处理器或者专门的控制芯片组成,具有高速、精确的控制能力。
另外,跑马灯的显示效果也与人眼的视觉特性有关。
人眼在一定条件下会产生视觉残留的效应,即当一个物体迅速移动或者闪烁时,人眼会产生一种持续的感觉,从而使得物体看上去呈现出一种连续的状态。
跑马灯正是利用了这一视觉特性,通过高速闪烁的方式来呈现文字或图案。
总的来说,跑马灯的原理是通过控制反射镜或LED灯珠的开关,配合精密的控制系统,利用人眼的视觉特性来实现文字或图案的显示。
它不仅在广告、舞台表演等领域有着广泛的应用,而且也是一种很好的视觉艺术享受。
通过对跑马灯原理的深入了解,我们可以更好地欣赏和理解跑马灯所呈现的视觉效果,也可以更好地应用跑马灯技术在实际生活和工作中。
在实际应用中,跑马灯的原理也在不断地得到改进和完善。
随着LED技术的不断发展,LED跑马灯已经成为了主流,其显示效果更加清晰、亮丽,而且功耗更低,寿命更长。
同时,控制系统也越来越智能化,可以实现更加复杂、多彩的显示效果。
可以预见,随着科技的不断进步,跑马灯的应用领域将会越来越广泛,显示效果也会越来越出色。
电动走马灯的制作原理应用

电动走马灯的制作原理与应用1. 引言电动走马灯是一种常见且具有吸引力的装饰灯具,广泛应用于商场、娱乐场所、公共广场等地。
本文将介绍电动走马灯的制作原理以及应用场景。
2. 电动走马灯的制作原理电动走马灯的制作原理基于以下几个关键技术:2.1 电机驱动系统电动走马灯需要通过电机来驱动旋转。
通常使用步进电机或直流无刷电机作为驱动元件。
电机驱动系统包括电机、电机驱动电路、电源等组成部分。
2.2 控制系统电动走马灯需要通过控制系统实现程序控制和灯光效果的切换。
控制系统通常包括微控制器或单片机、存储器、时钟电路等组成部分。
通过编程控制,可以实现走马灯的不同模式和动画效果。
2.3 灯光系统电动走马灯的灯光系统是整个走马灯的亮点。
常用的灯光元件包括LED灯、彩色灯泡等。
通过合理的布局和控制,可以展现出丰富多彩的灯光效果。
2.4 结构设计电动走马灯的结构设计需要考虑到安全性和稳定性。
通常采用金属或塑料材料制作主体结构,确保能够承受灯光和电机的重量,并保证正常运转。
3. 电动走马灯的应用场景电动走马灯具有吸引眼球的特点,在多个场景中得到了广泛应用。
以下是一些常见的应用场景:3.1 商场电动走马灯在商场中常用于吸引顾客的眼球,增添购物氛围。
通常放置在商场入口、中庭或广场等位置,通过灯光效果的变化吸引路过的顾客。
3.2 娱乐场所电动走马灯在娱乐场所中也大量使用。
例如,游乐园的过山车、摩天轮等游乐设施常使用电动走马灯来增加观赏性和刺激感。
3.3 公共广场电动走马灯可以用于公共广场的装饰和照明。
通过不同的灯光效果和动画,可以为广场增添一份独特的艺术氛围。
4. 结论电动走马灯是一种具有吸引力的装饰灯具,其制作原理基于电机驱动系统、控制系统、灯光系统和结构设计。
在商场、娱乐场所和公共广场等场景中得到广泛应用。
了解电动走马灯的制作原理和应用场景,有助于我们更好地理解和欣赏这一装饰灯具的魅力。
以上就是电动走马灯的制作原理与应用的介绍,希望对您有所帮助。
跑马彩灯控制方案

跑马彩灯控制方案简介跑马彩灯是一种常见的装饰灯具,通过控制跑马灯的亮灭、颜色和亮度变化,可以创造出各种炫目的灯光效果。
在节日庆典、宴会场所、夜市、景区等场合,跑马彩灯常常被用于增添气氛。
本文档将介绍一种基于Arduino控制器的跑马彩灯控制方案。
材料准备要实现跑马彩灯控制方案,需要以下材料: 1. Arduino UNO控制器:用于控制跑马彩灯的亮灭和灯光效果。
2. 杜邦线:用于连接Arduino控制器和彩灯。
3. 跑马彩灯电源:用于给彩灯供电。
4. 跑马彩灯:可以根据需求选择适合的跑马彩灯。
硬件连接首先,将Arduino控制器和彩灯电源通过杜邦线连接起来。
将Arduino的GND引脚连接到彩灯电源的负极,并将Arduino的5V引脚连接到彩灯电源的正极。
接下来,将彩灯的控制引脚(通常为数据引脚)连接到Arduino的数字引脚。
具体连接方式取决于所使用的跑马彩灯。
通常,彩灯的控制引脚通过杜邦线连接到Arduino的数字引脚2。
连接完成后,确保所有线路连接牢固可靠,并避免出现短路情况。
软件编程跑马彩灯控制方案使用Arduino编程语言进行编程。
以下是控制彩灯的示例代码:// 跑马彩灯控制示例代码// 定义彩灯控制引脚int ledPin = 2;void setup() {// 设置彩灯引脚为输出模式pinMode(ledPin, OUTPUT);}void loop() {// 点亮彩灯digitalWrite(ledPin, HIGH);// 延时一段时间delay(500); // 延时时间可根据需要进行调整// 熄灭彩灯digitalWrite(ledPin, LOW);// 延时一段时间delay(500); // 延时时间可根据需要进行调整}在上述代码中,我们首先定义了控制彩灯的引脚为数字引脚2。
在setup()函数中,我们将该引脚设置为输出模式。
然后,在loop()函数中,我们通过digitalWrite()函数控制彩灯的亮灭。
跑马灯的工作原理 -回复

跑马灯的工作原理-回复跑马灯是一种常见的显示设备,它采用了一种循环滚动的方式显示文本或图片。
它主要由滚动带、驱动装置和控制电路组成。
在本文中,我将详细介绍跑马灯的工作原理,并逐步回答相关问题。
第一步:跑马灯的基本构造跑马灯的基本构造包括显示屏、电机、传动装置和控制电路。
显示屏通常由一块长而窄的带状屏幕组成,可以根据需要显示文字或图像。
电机是驱动装置的核心部件,它通过传动装置将动力传递给显示屏,使其产生滚动效果。
控制电路负责控制电机和显示屏的工作,以实现预期的显示效果。
第二步:电机与传动装置电机通常是一种直流电机,它通过电流与磁场的相互作用产生转动力矩。
在跑马灯中,电机的转轴与传动装置相连,以带动显示屏的滚动。
传动装置可以采用皮带、链条或齿轮等机械元件,将电机的转动转化为显示屏的线性运动。
传动装置的选择取决于跑马灯的尺寸、预期的滚动速度以及目标显示效果。
第三步:滚动带的设计滚动带是跑马灯的核心组成部分,它承载着要显示的内容。
滚动带通常由一块灵活的材料制成,如织物或塑料。
内容可以通过印刷或投影在滚动带上。
滚动带一端固定在显示屏的一个轴上,另一端通过传动装置与电机相连,当电机转动时,滚动带开始滚动,从而显示出预先设定的内容。
第四步:控制电路的设计控制电路是跑马灯的智能部分,它负责控制电机和显示屏的工作。
控制电路通常包括微控制器、传感器和电源等部件。
微控制器是控制电路的核心,它可以接收外部信号,如用户输入或传感器反馈,并根据预设的程序进行处理。
传感器可以用来检测显示屏的位置或滚动速度,以便实时调整电机的转速。
电源为整个跑马灯系统提供所需的电能。
第五步:工作原理补充说明当跑马灯通电后,控制电路将发送启动信号给电机,电机开始转动。
同时,控制电路将滚动带所需显示的内容发送给显示屏。
电机通过传动装置带动滚动带开始滚动,从而显示出内容。
控制电路还可以实现滚动速度、显示模式和亮度等参数的调整,以满足不同的显示需求。
可以调控的走马灯

单片机课程设计说明书可以调控的走马灯目录1概述 (1)1.1可控走马灯的意义 (1)1.2可控走马灯的发展和现状 (1)2.课题方案设计 (2)2.1系统总体设计要求 (2)2.2 设计方案论证 (2)3.系统硬件设计 (3)3.1 总体设计 (3)3.2 单片机运行的最小系统 (4)3.3 按键电路 (5)3.4 LED显示模块 (5)4.系统软件的设计 (9)5软硬件联调及调试结果 (10)5.1软硬件调试中出现的问题及解决措施 (10)5.2 实物图 (11)5.3 调试结果 (12)结束语 (12)参考文献 (14)附录 (14)附录1 :可以调控的走马灯原理图 (14)附录2 :可以调控的走马灯PCB图 (15)附录3:Ptoteuse 仿真图 (15)附录4:C语言程序清单 (16)附录5:可控走马灯元件清单表 (19)1概述1.1可控走马灯的意义众所周知,走马灯以其绚丽的色彩赢得人们喜爱,在人们的日常生活中很常见,并在一些特定的节日里,重要场合中起着绚烂节日气氛,带给人们欢乐的作用。
可以调控的走马灯打破常规走马灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。
1.2可控走马灯的发展和现状当前,可以调控的走马灯广泛应用于各种商业场所,娱乐场所,以及建筑物的装饰等多种场合。
可以说,可控走马灯技术的应用已渗透大到世界博览会,奥林匹克开幕式,小到节日彩灯装饰。
深入研究可控走马灯是产品提高档次和推陈出新的有效途径。
纵观单片机的发展过程,可以预示走马灯的发展趋势,单片机的发展趋势如下:低功耗CMOS化MCS-51系列的80C51推出时的功耗达120mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。
走马灯原理

走马灯原理
走马灯原理是一种广告展示方式,它通过循环播放一组广告内容,让文字或图片像走马一样在有限空间内展示。
走马灯通常用于电子屏幕、电视墙、广告牌等展示设备上。
走马灯原理的基本思想是将多个广告内容按照一定的顺序排列,通过快速的切换,使得观众可以连续看到不同的广告内容。
这种展示方式可以有效地吸引观众的注意力,增加广告信息的曝光度。
走马灯原理的实现方式有多种,其中最常见的是利用电子屏幕的点阵结构。
电子屏幕由许多小颗粒组成,可以根据控制信号的不同,改变颗粒的亮度和颜色,从而显示不同的广告内容。
通过控制信号的快速切换,可以实现走马灯效果。
走马灯原理的另一种实现方式是利用LED灯珠。
LED灯珠可
以通过电信号的控制实现亮灭,从而展示不同的广告内容。
在走马灯效果中,LED灯珠会以一定的顺序被点亮或熄灭,形
成动态的广告展示。
为了实现走马灯效果,还需要一个控制系统来管理广告内容的切换和播放顺序。
控制系统通常由一台计算机或者嵌入式系统控制,它可以根据预设的参数和时间表来控制广告内容的播放。
总的来说,走马灯原理是通过快速切换一组广告内容的展示方式,可以吸引观众的注意力,提高广告的曝光度。
它可以利用
电子屏幕或LED灯珠等设备来实现,同时需要一个控制系统来管理广告内容的切换。
跑马灯控制器说明书

跑马灯控制器说明书型号:jcy-851一、介绍说明跑马灯控制器可控制目前市场主流的跑马灯,支持控制SM16703、WS2811等主流芯片(注意驱动芯片和灯珠的的顺序,默认为主流GRB ,顺序不一样造成显示颜色不对)。
兼容各种闸机的对接控制,无论是NPN低电平信号还是PNP高电平信号以及继电器信号都能完美对接。
对于不同的灯节要求,流水速度,非法闯入红灯闪烁间隔都能通过主板按键进行调节,独特的单按键调试方法简单而实用。
内置EEPROM 使断电后数据不会丢失。
引入看门狗使系统运行更稳定,避免死机等现象。
适用于闸机,广告牌,墙体装饰等二、接线说明(业务联系方式:150****5697)接线注意事项一、电源输入电压必须和跑马灯带的电压一致,比如电源输入电压是12V,跑马灯也必须是12V。
同理电源电压是24V,跑马灯也是24V.二、主板调线选择高电平输入,信号输入电压支持12或24V,信号输入电压可以不和电源跑马灯电压相同,比如电源电压24V输入,信号输入可以是12V也可以是24V.但必须供GND,同一供电电源可不接。
不同供电的电源就算电压相同也必须供GND.在高电平输入模式下继电器信号接线方法:COM接电源正极,NO接信号输入(进绿灯输入,出绿灯输入,红灯输入),不可接模式选择。
三、主板调线选择低电平输入,信号输入接相应的接口,对于信号和电源不是同一供电电源,必须供GND,同一电源可不接。
在低电平输入模式下继电器信号接线方法:COM接信号GND,NO接信号输入(进绿灯输入,出绿灯输入,红灯输入),可接模式选择具体接线可参考第四章三、调试说明在待机蓝灯亮下长按按键进入菜单调试,一级菜单有四个选项。
长按按键后,第一个菜单显示黄灯对应的是速度参数,第二个菜单显示绿灯对应的是灯节数,第三个菜单显示红灯对应非法闯入间隔时间,第四个菜单无灯显示对应是否放弃调试。
每个参数停留2.5秒,按顺序依次循环显示,需要调试那个菜单就在显示对应菜单时松开按键,即进入相应的菜单进行参数调节,进入子菜单后就必须对其参数进行设置,按键在2.5秒无操作自动保存参数退出调试模式。
led灯带跑马原理

led灯带跑马原理
LED灯带跑马原理是通过控制电流的变化来实现不同LED灯
珠的亮灭顺序变化,从而形成跑马灯效果。
LED灯带由多个LED灯珠组成,每个LED灯珠都连接到一个驱动电源上。
驱
动电源通过发出特定的电流信号来控制每个LED灯珠的亮灭
状态。
在跑马灯效果中,LED灯带的每个LED灯珠依次亮起并逐个
熄灭,然后顺序循环播放。
实现这一效果的关键是控制驱动电源发出的电流信号的变化。
一般通过电路或控制器来实现电流的控制和变化。
具体而言,LED灯带跑马原理主要包括以下几个步骤:
1. 初始化:LED灯带中的每个LED灯珠初始状态为关闭,电
流信号为零。
2. 电流控制:通过电路或控制器控制驱动电源发出特定的电流信号。
该电流信号可以是连续变化的模拟信号,也可以是离散的数字信号。
3. 亮灭顺序:电流信号的变化会依次使LED灯珠亮起并熄灭。
亮灭的顺序可以按照从左到右或从右到左的方向进行,也可以是其他自定义的顺序。
4. 循环播放:LED灯珠的亮灭顺序完成后,可以通过循环机
制使其不断重复播放。
循环播放可以通过电路或控制器中的计
时器或循环程序实现。
通过不断的电流信号变化和循环播放,LED灯带就可以呈现出跑马灯效果。
这种灯光变化的原理被广泛应用于室内和室外装饰、广告牌、舞台灯光等领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业:电子信息工程学号: 0414110102 Hebei Normal University of Science & Technology单片机原理及应用课程设计(2013 年至2014学年度第 2 学期)题目:可以调控的走马灯学生姓名:院(系、部):机电工程学院指导教师:设计时间: 2014.6.9—2014.6.13可以调控的走马灯摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快,而51单片机是各单片机中最为典型和最有代表性的一种。
本课程设计是基于MCS51系列单片机所设计的,用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,并将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。
整个系统可以实现对跑马灯模式的多层控制,还可以进行加减速。
关键词:MCS51、跑马灯、加减速、七段数码管一、概论1.1 单片机基础知识单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲,一块芯片就成了一台计算机。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机了解计算机原理与结构的最佳选择。
现在,这种单片机的使用领域已十分广泛。
彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。
单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。
单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。
MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。
MCS-51系列单片机主要包括8031、8051和8751等通用产品。
1.2 单片机的发展趋势单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。
现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD (液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。
现在虽然单片机的品种繁多,各具特色,但仍以89C51为核心的单片机占主流。
1.3课程设计的目的(1)训练学生正确地应用单片微机,培养解决工业控制、工业检测等领域具体问题的初步能力。
(2)让学生通过所做课题,熟悉单片微机应用系统开发、研制的过程,软硬件设计的工作方法、工作内容、工作步骤。
(3)对学生进行基本技能训练,例如组成系统、编程、调试、查阅资料、绘图、编写说明书等;使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
1.4仪器设备PC机、万用表、电烙铁等。
1.5课程设计的内容(1)设计并绘制硬件电路图;(2)购买电子元器件并按电路图焊接到电路板上;(3)编写程序并将调试好的程序固化到单片机中。
1.6本设计的题目与要求(1)题目:可以调控的跑马灯(2)要求:用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,同时将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。
整个系统可以实现对跑马灯模式的多层控制,还有加减速。
二、总体设计2.1 框图设计框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。
通过框图设计,让设计者从整体上把握系统的开发。
本系统设计的框图如下图2-1所示。
图2-1系统结构框图 2.2电路原理图本系统由89S52芯片、LED 七段数码管、发光二极管、轻触开关等组成,电路原理图如图2-2所示;89S52按键模块发光二极管LED图2-2系统电路原理图2.3系统材料清单2.3.1、AT89C51芯片(1)89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
(2)主要特性:与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。
(3)结构特点:8位CPU;片内振荡器和时钟电路;32根I/O线;外部存贮器寻址范围ROM、RAM64K;2个16位的定时器/计数器;5个中断源,两个中断优先级;全双工串行口;布尔处理器;2.3.2、共阳极数码显示管发光二极管显示管简称LED,具有结构简单、价格低廉、使用方便、耗电少、与单片机接口容易等特点,在单片机应用系统使用非常普遍。
LED数码显示器由七段条形的发光二极管组成“8 ”字形显示字段,用一只圆形的发光二极管做小数点。
LED数码显示器中,通常将各段发光二极管的阴极或阳极连在一起做公共端,这样可以使驱动电路简单。
共阳极数码管是指发光二极管的阳极都与正极接在一起,引脚接输出端,故低电平有效。
要使LED数码管显示数字,只要点亮相应字段的发光二极管即可。
如要显示“1”,点亮b、c段;要显示“0”,点亮a、b、c、d、e、f段。
不难看出,对于共阳极数码管,点亮字段则用低电平“0”来表示,所以低电平有效。
这样我们就可以把要显示的数字与一串二进制代码对应起来,即对LED数码显示器实现编码。
由于这种编码是与显示器结构相对应的,因此分为共阴显示码和共阳显示码两种。
不考虑小数点的编码只有七位,常称为七段显示码;如果对小数点也进行编码,则称为八段显示码。
如表2-3所示:表2-3常用字符的八段显示码2.3.3、发光二极管它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,所以具有单向导电性。
常用的发光二极管是发红光、绿光或黄光的二极管。
它广泛应用于各种电子电路、家电、仪表等设备中、作电源指示或电平指示。
2.4 主流程图图 2-4 主流程图2.5软件设计本课程设计是采用80C51单片机设计的可以调控的跑马灯,通过keil进行c语言编程,通过proteus进行软件硬件仿真。
本设计成果,主要通过按键开关对跑马灯进行控制,包括跑马灯模式的选择、跑马灯模式的显示、跑马灯速度变化控制。
2.5.1、C语言编程#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar ModeNo;//模式编号uint Speed;uchar tCout=0;uchar Idx; //速度取值索引uchar mb_Count=0;//移动位数bit Direct =1;//滚动方向//段码表uchar code DSY_CODE[]={0xC0,0xF9,0xa4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //调速表uint code sTable[]={0,1,3,5,7,9,15,30,50,100,200,230,280,300,350};//延时void Delay(uint x){uchar i;while (x--) for(i=0;i<120; i++) ;}//检测按键uchar GetKey(){uchar k;if(P2==0xFF) return 0;Delay(10);switch (P2){case 0xFE: k=1;break;case 0xFD: k=2;break;case 0xFB: k=3;break;default: k=0;}while (P2 != 0xFF);//等待释放按键return k;}//----------------------------------------------------------------------- // 16只LED显示//----------------------------------------------------------------------- void Led_Demo(uint Led16){P1=(uchar)(Led16&0x00FF);//显示低8位P0=(uchar)(Led16>>8); //显示高8位}//----------------------------------------------------------------------- //定时器2//----------------------------------------------------------------------- void T0_INT() interrupt 1{if (++tCout<Speed) return;tCout=0;switch (ModeNo){case 0:Led_Demo(0x0001<<mb_Count);break;case 1: Led_Demo(0x8000>>mb_Count);break;case 2: if (Direct) Led_Demo(0x000F<<mb_Count);else Led_Demo(0xF000>>mb_Count);if(mb_Count==15) Direct=!Direct;break;case 3:if (Direct) Led_Demo(~0x000F<<mb_Count);else Led_Demo(~(0xF000>>mb_Count));if(mb_Count==15) Direct=!Direct;break;case 4:if (Direct) Led_Demo(0x003F<<mb_Count);else Led_Demo(0xFC00>>mb_Count);if(mb_Count==15) Direct=!Direct;break;case 5:if (Direct) Led_Demo(0x0001<<mb_Count);else Led_Demo(0x8000>>mb_Count);if(mb_Count==15) Direct=!Direct;break;case 6:if (Direct) Led_Demo(~(0x0001<<mb_Count));else Led_Demo(~(0x8000>>mb_Count));if(mb_Count==15) Direct=!Direct;break;case 7:if (Direct) Led_Demo(0xFFFF<<mb_Count);else Led_Demo(0x7FFF>>mb_Count);if(mb_Count==15) Direct=!Direct;break}mb_Count=(mb_Count + 1) % 16;}//---------------------------------------------------------------------//键盘按键处理//--------------------------------------------------------------------- void KeyProcess(uchar Key){switch (Key){case 1://重设模式Direct=1;mb_Count=0;ModeNo=(ModeNo+1)%8;P3=DSY_CODE[ModeNo];break;case 2://加速if(Idx>1) Speed=sTable[--Idx];break;case 3: //减速if(Idx<15) Speed=sTable[++Idx];}}//-------------------------------------------------------------------- //主程序//-------------------------------------------------------------------- void main(){uchar Key;P0=P1=P2=P3=0xFF;ModeNo=0;Idx=4;Speed=sTable[Idx];P3=DSY_CODE[ModeNo];IE=0x82;TMOD=0x00;TR0=1;while(1){Key=GetKey();if(Key!=0) KeyProcess(Key);}}2.5.2软件硬件仿真软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。