可以调控的走马灯设计
- 格式:doc
- 大小:1.83 MB
- 文档页数:21
单片机课程设计说明书可以调控的走马灯目录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则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。
HDL数字系统课程设计报告书目录一、设计目的2二、设计思路2三、设计过程23.1、系统方案论证23.2、程序代码设计3四、系统调试与结果5五、主要元器件与设备9六、课程设计体会与建议96.1、设计体会96.2、设计建议9七、参考文献10论文摘要:共16个LED灯,连成一排,实现几种灯的组合显示。
通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
此外,本实验也可通过EDA软件Quartus6.0和modelSim SE 6.0实现。
关键词: HDL数字系统跑马灯设计一、设计目的1、熟悉Verilog HDL程序编程。
2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。
3、熟悉Quartus II 6.0和Modesim SE 6.0软件的使用。
4、了解16个数码管的显示原理和方法。
二、设计思路1、编写跑马灯设计程序。
2、定义LED灯引脚分配。
3、设计状态控制。
4、下载到EPEK30QC208-2芯片上显示。
三、设计过程3.1、系统方案论证16位LED跑马灯设计框图如图1所示:图1 LED跑马灯设计框图3.2、程序代码设计module paomadeng(rst,clk,sel,led); //端口定义,参数列表input rst,clk; //rst复位,clk为4Hz的时钟信号input[1:0] sel; //sel 状态选择端口output[15:0] led; //led 跑马灯显示reg[15:0] led;reg[15:0] led_r,led_r1;reg t1,dir; //t1控制状态2 led灯的亮次数reg[3:0] t2; //t2控制状态2 led灯的亮次数reg[2:0] t3; //t3控制状态2 led灯的亮次数always(posedge clk)beginif(rst) begin t1<=0;t2<=0;t3<=0;dir<=0;endelsecase(sel)// LED按奇数,偶数依次显示2'b00:beginled_r=16'b0101010101010101;if(t1==0)led<=led_r;else led<=led_r<<1;t1<=t1+1;end// LED顺序依次显示,顺序依次熄灭2'b01:beginif(!dir)beginif(t2==0) begin led_r=16'b0000000000000001;led<=led_r;end else begin led<=(led<<1)+led_r;endif(t2==15) begin dir<=~dir;endt2<=t2+1;endelsebeginif(t2==0) begin led_r=16'b1111111111111110;led<=led_r;endelse begin led<=led<<1; endif(t2==15) begin dir<=~dir;endt2<=t2+1;endend// LED由两侧向中间依次显示,由中间向两侧依次熄灭2'b11:beginif(!dir)beginif(t3==0) beginled_r=16'b0000000000000001;led_r1=16'b1000000000000000;endelsebegin led_r=(led_r<<1)|led_r;led_r1=(led_r1>>1)|led_r1;endled<=led_r|led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endelsebeginif(t3==0) begin led_r=16'b1111111111111110;led_r1=16'b0111111111111111;endelsebegin led_r=led_r<<1;led_r1=led_r1>>1;endled<=led_r&led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endenddefault: ;endcaseendendmodule引脚分配:to,locationrst, pin_47 //复位引脚clk, pin_79//时钟控制引脚sel[0], pin_45 //状态控制引脚sel[1], pin_46//状态控制引脚led[0], pin_19//0—15个LED灯显示引脚led[1], pin_24led[2], pin_25led[3], pin_26led[4], pin_27led[5], pin_28led[6], pin_29led[7], pin_30led[8], pin_31led[9], pin_36led[10], pin_37led[11], pin_38led[12], pin_39led[13], pin_40led[14], pin_41led[15], pin_44四、系统调试与结果1、LED灯和波形结果显示结果如图2,3,4,5,6,7所示图2、先奇数灯亮,即第1、3、5、7、9、11、13、15灯亮图3、偶数灯亮,即第2、4、6、8、10、12、14、16灯亮图4、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次点亮图5、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次熄灭所有灯图6按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次点亮图7、按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次熄灭灯波形显示:图8、LED灯按先奇数,偶数灯亮图9、LED灯依次按顺次亮,顺次熄灭图10,LED灯依次从两边向中间亮,两边向中间熄灭五、主要元器件与设备EDA技术试验箱,EDA软件QuartusⅡ6.0,ModelSim SE 6.0分频芯片:SN74HC04N—2,SN74LS393N—4片LED灯16个LED灯,电脑一台六、课程设计体会与建议6.1、设计体会通过这次对跑马灯控制电路的设计与制作,让我了解了设计电路的程序,也让我了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
一、摘要本次实训旨在通过设计与实现一个可调控走马灯,提升自己在电子设计、编程以及项目实践能力方面的技能。
在实训过程中,我学习了电路设计、微控制器编程、电机驱动等方面的知识,并通过动手实践,完成了一个具有自主调控功能的走马灯。
本报告将详细描述实训过程、遇到的问题及解决方案,以及对实训成果的总结与反思。
二、实训背景走马灯是一种传统的照明设备,具有美观、节能、环保等特点。
然而,传统的走马灯多为固定模式,缺乏可调控性。
为了提高走马灯的实用性,本次实训旨在设计并实现一个可调控走马灯,使其能够根据用户需求调整灯光模式、速度和亮度。
三、实训目标1. 学习电路设计、微控制器编程、电机驱动等方面的知识;2. 设计并实现一个可调控走马灯,具备以下功能:(1)灯光模式可调:可切换循环、闪烁、渐变等模式;(2)速度可调:可调整灯光闪烁速度;(3)亮度可调:可调整灯光亮度;(4)使用方便:通过按键实现模式、速度和亮度的切换。
四、实训过程1. 硬件设计(1)电路设计:根据实训要求,设计电路图,包括微控制器、按键、电机驱动、电源模块等。
(2)电路制作:根据电路图,制作电路板,并焊接元器件。
2. 软件设计(1)编程:使用C语言编写微控制器程序,实现走马灯的灯光模式、速度和亮度调节。
(2)调试:通过调试软件,对程序进行调试,确保程序运行正常。
3. 系统集成(1)安装:将微控制器、电机驱动、电源模块等安装到电路板上。
(2)调试:对走马灯进行整体调试,确保各个模块协同工作。
五、遇到的问题及解决方案1. 问题:电机启动时电流过大,导致电源不稳定。
解决方案:在电机驱动电路中增加限流电阻,降低启动电流。
2. 问题:按键响应速度慢,影响用户体验。
解决方案:优化程序算法,提高按键响应速度。
3. 问题:灯光亮度调节范围较小。
解决方案:调整电源电压,扩大亮度调节范围。
六、实训成果通过本次实训,我成功设计并实现了一个可调控走马灯。
该走马灯具有以下特点:1. 灯光模式可调,满足不同场景需求;2. 速度可调,适应不同使用习惯;3. 亮度可调,满足个性化需求;4. 使用方便,操作简单。
花样走马灯一设计目的1.掌握单片机系统设计思路和基本步骤。
2.熟悉Keil C51高级语言集成开发环境。
3.熟练使用基于proteus的单片机系统仿真软件。
4.学会在ISIS 7 Professional下绘制电路原理图。
5.学会 Proteus VSM与uvision3 IDE的联调过程。
二设计要求实现单片机8051设计控制P1口的8个LED灯成花样走马灯。
连续实现以下四种效果:1.单灯左移2.单灯右移3.单灯逐个点亮接着逐个熄灭4.两边向中间逐个点亮接着中间向两边逐个熄灭三总体设计单片机应用系统的研制步骤一般分为:总体设计、硬件电路的构思设计、软件的编制和仿真调试四个阶段。
1.硬件电路设计根据设计要求所需的元器件为AT89C51单片机和LED灯。
该硬件部分由朱艳兵完成,故不再做详细介绍。
2.系统软件分析设计原理:规定灯亮时控制该灯的位设置为低电平,灯灭时该位设置为高电平,为了清楚的看到灯亮时的效果,要设置相应的延时函数,通过数组的引用和函数的调用来实现花样走马灯的设计。
(1)要使走马灯实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果。
(2)可根据上述的规定来设置控制8个LED灯的P1口各个引脚的电平来控制LED灯亮的效果。
①单灯左移:可将P1.0~P1.7各个引脚逐个设置为低电平,即该引脚控制的灯亮时该位就为低电平,即可设置一个数组名为table的数组来存放灯亮时的P1口各个引脚的电平。
②单灯右移:即P1.7先亮,按照P1.7~P1.0的顺序向右移,即该灯亮的时候该位就设置为低电平,反之为高电平,各引脚的电平在数组aa中存放,引用数组aa就可实现单灯右移。
③单灯逐个点亮接着逐个熄灭:可按照P1.0~P1.7的顺序点亮再按照P1.7~P1.0的顺序熄灭,实现原理同单灯左移和单灯右移,各个引脚的电平在数组bb,cc中存放。
④两边向中间逐个点亮接着中间向两边逐个熄灭:即先将P1.0和P1.7同时设置为低电平,全部点亮后再将P1.3和P1.4设置为高电平,依次直至全部熄灭,各个引脚的电平在数组dd中存放。
51单片机8个跑马灯程序设计思路单片机是一种集成电路,内部包含了计算机的主要组件,如中央处理单元(CPU)、存储器等。
通过编程,可以实现各种不同的功能。
在这里,我将以设计一个8个跑马灯的程序为例,来讲解单片机程序的设计思路。
1.硬件准备首先,我们需要准备一个适用于单片机的开发板,例如STC89C52,以及8个LED灯。
将LED灯连接到开发板的GPIO引脚上,并通过电阻进行限流。
使用跳线将GPIO引脚与LED灯的正极连接。
2.程序结构设计在单片机程序中,我们通常会使用循环结构。
因此,在设计跑马灯程序时,我们可以使用一个无限循环,来实现LED灯的闪烁效果。
具体的程序结构如下所示:```c#include <reg52.h>sbit led0 = P0 ^ 0; //第1个LED灯sbit led1 = P0 ^ 1; //第2个LED灯sbit led2 = P0 ^ 2; //第3个LED灯//...sbit led7 = P0 ^ 7; //第8个LED灯void mainwhile (1)//跑马灯代码}}```在这段代码中,我们首先引入头文件`reg52.h`,它包含了STC89C52的寄存器定义和常用函数的声明。
然后,我们定义了8个宏,用于表示8个LED灯所连接的引脚号。
接下来,在`main(`函数中,我们使用一个无限循环`while(1)`,来实现LED灯的闪烁效果。
3.跑马灯实现思路在无限循环中,我们需要通过对GPIO的控制来实现8个LED灯的闪烁。
具体的实现思路如下:- 首先,我们可以定义一个变量`index`,用于表示当前亮起的LED灯的索引值。
初始时,`index`的值为0,表示第一个LED灯亮起。
- 然后,我们可以使用`switch...case`语句来判断当前的`index`值,从而控制不同的LED灯亮起。
- 在每次循环中,我们可以通过对`index`的递增来实现灯的滚动效果。
61-单片机课程设计-可以调控的跑马灯1000字设计目的本课程设计旨在通过单片机编程实现一个可调控的跑马灯,加深学生对单片机概念、程序设计、输入输出等方面的理解,提高学生的程序设计能力。
设计实验材料1. 基于8051单片机的电路板2. LED灯3. 电阻器4. 按钮5. 电源(可使用9V电池或其他稳定的直流电源)实验过程1. 搭建基于8051单片机的电路板,连接LED灯和电阻器2. 编写跑马灯程序,其中需要实现以下功能:(1)通过按下按钮,控制灯的亮灭(2)通过另一个按钮,调整灯的亮度(3)通过另一个按钮,调整灯的闪烁频率3. 烧录程序到单片机中4. 连接电源,测试跑马灯的各项功能程序设计本跑马灯程序采用C语言编写,主要实现以下几个功能:1. 初始化LED灯、按键和定时器等相关IO口2. 判断按键被按下,执行相应的操作3. 调整LED灯的亮灭状态,并通过调整亮度和闪烁频率实现可调控功能程序流程:1. 初始化相关IO口和定时器2. 进入主循环3. 判断按钮是否被按下4. 若开始按钮被按下,则设置灯的状态为ON5. 若结束按钮被按下,则设置灯的状态为OFF6. 若调整亮度按钮被按下,则调整PWM占空比,实现亮度调整7. 若调整闪烁频率按钮被按下,则调整定时器的周期,实现闪烁频率调整8. 延时一段时间9. 回到主循环程序代码:```#include <reg52.h>#define LED P1 // LED灯#define PWM P2 // 调整亮度sbit startButton = P3^0; // 开始按钮sbit endButton = P3^1; // 结束按钮sbit pwmButton = P3^2; // 调整亮度按钮sbit freqButton = P3^3; // 调整闪烁频率按钮void timer0_init() // 初始化定时器{TMOD = 0x01;TH0 = 0x3C;TL0 = 0xB0;TR0 = 1;}void pwm_init() // 初始化PWM {TMOD |= 0x02;TL1 = 0x00;TH1 = 0xFD;ET1 = 0;TR1 = 1;}void main(){unsigned long cnt = 0;unsigned char pwm_value = 0; LED = 0x00;PWM = 0x00;timer0_init();pwm_init();while (1){if (startButton == 0){LED = 0x01;}else if (endButton == 0){LED = 0x00;}else if (pwmButton == 0){pwm_value++;if (pwm_value >= 255){pwm_value = 0;}CCAP0H = pwm_value;}else if (freqButton == 0){cnt++;if (cnt >= 1000){cnt = 0;}TH0 = (65536 - 1000) / 256; TL0 = (65536 - 1000) % 256; }while (TF0 == 0); // 等待定时器 TF0 = 0;}}```实验结果将程序烧录到单片机后,连接电源,按下不同的按钮,可调控跑马灯的亮度和闪烁频率。
可以调控的走马灯一、课题的研究意义和目的1、通过本实验的设计初步了解单片机工作原理和各功能端口的相关设置;2、掌握PROTEUS软件的安装和配置过程;3、学会绘制电路原理图;4、了解装载程序和调试;5、PROTEUS VSM 与uVision3的联调;6、用单片机仿真软件,并进行调试;7、掌握单片机相应的编程步骤,了解走马灯相关的工作流程;8、熟悉KEIL\PROTEUS等相关软件的使用。
二:方案论证方案一:单片机控制16只LED按8种不同的模式滚动显示,模式选择由K1健控制,加速与减速滚动由K2健与K3健控制。
显示效果使用16个LED;设置三个按钮,K1为模式健,通过按键调整显示结果,要求有八种模式;;K2为加速键,提高走马灯显示效果的速度;K3为减速健,放慢走马灯的显示效果速度。
8种模式通过一个共阳极数码管显示出来,比如,走马灯的显示效果模式为一时,数码管显,输出用示数字“1”。
方式二:单片机用六只开关控制6只LED灯。
用P0端口作输入,P1端口作输出,程序循环从P0端口读入数据,从P1端口输出,输入端口的6个端口接开关接口,共有6种模式,输出6个接口接LED灯。
方式一与方式二相比较,方式一显示结果比较明显,模式比较多,开关使用相对少得多,所以采用第一种。
三:系统硬件设计选用AT89C52芯片, AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
焊接电路时先用万用表检测AT89C52的端口与接地以及其他端口是否有短路现象,检测确认线路安全之后再接到电路上,以免烧坏硬件。
引脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
1广西民族师范学院课程设计总结报告基于51单片机的可调控的走马灯设计学院物理与电子工程学院专业通信工程班级2014级本科1班姓名唐旺学号140510201004指导教师姓名韦树贡指导教师职称讲师完成日期2016 年12 月12日目录第1章技术指标 (3)1.1整体功能要求 (3)1.2系统框图 (3)第2章硬件介绍 (4)第3章程序流程图 (9)3.1模式流程图 (9)3.2速度流程图 (9)第4章电路图及仿真设计 (10)第5章实验心得及体会 (12)第6章源程序 (12)附录参考文献 (13)一.技术指标1.1 整体功能要求1.实现16只LED 以8种不同模式滚动。
2.模式选择由K1,加速与减速由K2和K3控制3.在数码管上显示模式编号4.在设计电路时,结构应尽量简单5.根据硬件电路,编写单片机AT89C51芯片的程序,通过编 程、编译、调试,把程序下载到单片机上运行,并实现本设计的功能1.2 系统框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。
通过框图设计,让设计者从整体上把握系统的开发.此系统的系统框图如下所示系统框图AT89C51数码管 发光二极管 按键模块二.硬件介绍2.1单片机模块主芯片(AT89C51单片机),AT89C51是一种带4K字节内存可编程可擦除只读存储器(FPEROM--Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C51 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集中和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51 是一种高效微控制器,AT89C51是它的一种精简版本。
单片机课程设计说明书可以调控的走马灯目录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则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。
电子线路课程设计报告设计课题:倒计时跑马灯倒计时跑马灯一、设计任务该制作能自行识别工作环境,即白天“跑马灯”自行停止运行,待到傍晚天暗下来,数码管自动显示“0”时,说明“跑马灯”电路得电即可以工作运行。
此后手工按下工作键,电路延时十秒钟,在延时的同时,数码管倒计时显示“0-9-8-7-6-5-4-3-3-2-1-0”。
当其从“1-0”瞬间,“跑马灯”立即分两路工作,工作过程是:1)第一路是绿灯红灯(绿灯在前,红灯在后)在黑暗背景中流动。
当绿灯独自从头到尾流动时,这一路的任何变色管不亮,形成黑暗背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动·····彼此循环往复。
第一路是绿灯红灯(绿灯在前,红灯在后)在橙色背景中流动。
当绿灯独自从头到尾流动时,这一路的变色管显橙色,形成橙色背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动·····彼此循环往复。
直到第二天凌晨天亮后,数码管熄灭····再到傍晚时,作品有重复上述过程。
二、设计要求1)电源稳压管输出电压用绿发光二极管指示2)脉冲信号发生器输出用红发光二极管指示3)二路“跑马灯”各用五只变色发光二极管制作4)数码管得电后显示“0”,倒计时只能从“0”开始,经“0-9-8-7-6-5-4-3-3-2-1-0”再停在“0”状态,此间延时十秒。
5)“跑马灯”严格地按照“手动按下工作键后”,当倒计时至“1-0”瞬间开始运动,在运动过程中,数码管始终保持“0”态。
单片机课程设计跑马灯的控制摘要:本设计选择对跑马灯的控制,先构思跑马灯实现预想效果,然后进行分析,根据要求编写程序,选择硬件端口,并进行调试致预想效果,最后浅谈课程设计的经历,以及总结。
目录一)课程设计的目的二)课程设计的要求三)流程图四)原理图五)程序语言六)总结七)参考资料设计题目:试设计一个闪烁跑马灯控制器,该控制器可以控制8个灯顺序亮灭。
当单片机上电后,8个灯依次从左向右亮,并且每个灯亮的时间为1秒钟。
这时,如果按钮K1按下,则灯亮的顺序是从右向左,同样,每个灯亮的时间是1秒钟。
这时,如果按下按钮K2,则此时,4个灯亮4个灯灭,延迟4秒钟以后,又开始从左向右点亮。
最后,若按下按钮K3,则全部灯亮。
此时若想再次点亮灯,必须重新上电。
题目分析:该题目要求控制8盏灯的亮灭,可使用单片机的P1.0到P1.8口来控制。
按钮K1用P3.4口,K2用P3.2口,及外部中断0,K3用P3.3口,及外部中断1,分别来实现。
单片机使用AT89C52,电源使用5V标准电源。
顺序亮灭使用外部中断源构成循环控制语句。
一、课程设计的目的课程设计是本专业集中实践环节的主要内容之一。
训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。
学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。
例如组成系统、编程、调试、绘图等。
使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、课程设计的要求1.学生需认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。
目录1 设计要求 (2)2 设计的作用、目的 (2)3设计的具体实现 (2)3.1系统概述 (2)3.2 单元电路设计与分析 (2)3.3电路的安装与调试 (3)4 心得体会及建议 (4)4.1心得体会 (4)4.2 建议 (4)5 附录 (4)6参考文献 (23)多功能走马灯设计报告1设计要求多功能跑马灯的具体要求如下:(1).显示效果使用16个LED;(2).设置三个按键,K1-模式键,通过按键调整显示结果,要求有8种模式;K2-加速键,提高走马灯显示效果的速度;K3-减速键,放慢走马灯的显示效果速度;(3).8种模式通过一个共阴型数码管显示出来,比如,走马灯的显示效果为模式一时,数码管显示数字“1”。
2 设计的作用、目的多功能跑马灯可以应用到装饰当中去,装饰一些东西,更具有吸引力、漂亮。
熟悉掌握SPI接口的应用,还有利用SPI对74HC595的控制,学会如何编写具有连发功能的按键,如何控制16个LED。
3设计的具体实现3.1系统概述本系统采用AVR单片机mega16作为主控制器,通过SPI接口,把数据传给74HC595,然后通过74HC595输出数据来点亮16个LED,实现各种流水灯模式,由三个按键来控制LED,一个按键控制LED的显示模式,另两个控制LED的改变速度。
速度的控制和键盘的扫描是通过定时器来控制的。
用数码管显示LED当前所处的模式。
3.2 单元电路设计与分析直接控制16个LED,需要占用大量的I/O端口,于是通过采用串口输入,并口输出的芯片74HC595来控制LED,这样可以减少端口的使用,大大提高单片机端口的利用率,节省I/O端口,以便接其它外围器件。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
信息职业技术学院毕业设计说明书(论文)设计题目: 走马灯多工作模式控制系统设计专业: 应用电子技术班级: 应电08-3学号:姓名:指导教师:二0一0年七月十日信息职业技术学院毕业设计(论文)任务书目录摘要 (1)第1章绪论 (2)第2章系统的方案论证与比较 (3)2.1 方案的比较 (3)2.2 方案论证 (4)第3章系统硬件设计 ...................................... 错误!未定义书签。
3.1 主控芯片的介绍.................................... 错误!未定义书签。
3.1.1 8051内部结构 (5)3.1.2 8051信号引脚 (6)3.2 时钟电路功能以及工作原理的分析 (8)3.3 复位电路功能以及工作原理的分析 (9)3.4 显示电路 (9)3.5 按键电路的结构和工作原理 (10)3.6 彩灯控制 (11)3.7 整机电路工作原理 (11)第4章软件设计 (13)4.1 主程序模块 (13)4.2 定时器中断模块 (14)4.3 显示部分模块 (16)4.4 模式选择模块 (17)第5章系统的仿真与调试 (20)5.1 Keil C51 软件的使用 (20)5.2 Proteus 软件仿真 (21)5.3 仿真效果 (21)结论 (22)参考文献 (23)附录1 源程序 (24)附录2 整机电路图 (33)附录3 元器件明细表 (34)摘要随着社会的进步电子技术的应用越来越广泛,单片机应用技术作为计算机技术的一个重要分支,也因此广泛应用到工业控制、智能化仪器仪表、家用电器、电子玩具等各个领域,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点。
电子设计也就成为整个的综合体。
通过电子设计可以培养学生的电子系统设计能力,加强实践能力和动手操作能力以及能力。
随着社会的发展广告越来越体现出其的重要价值。
夜晚,华灯初上整个城市被五颜六色丰富多彩的广告牌闪烁的格外美丽,它们闪烁的多姿多彩代表这整个城市的繁华与向荣,所以本次电子设计是以AT89C51单片机作为主控核心,与按键、发光二极管、LED数码管显示器等较少的辅助的硬件电路相结合,利用软件对彩灯进行控制闪烁样式,发光二极管采用多种颜色,显示的闪烁模式也是多样的,给人一种悦目的感觉。
摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而51单片机是各单片机中最为典型和最有代表性的一种。
本课程设计是基于MCS51系列单片机所设计的,用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,并将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。
整个系统可以实现对跑马灯模式的多层控制,还可以进行加减速。
关键词:MCS51、跑马灯、加减速、七段数码管目录1、引言1.1、单片机基础知识 (3)1.2、单片机的发展趋势 (3)1.3、本课程设计的目的 (4)1.4、仪器设备 (4)1.5、课程设计的内容 (4)1.6、本设计的题目与要求 (4)2、总体设计 (4)2.1、框图设计 (4)2.2、电路原理图 (5)2.3、系统材料清单 (5)2.3.1、AT89C51芯片 (5)2.3.2、共阳极七段数码显示管 (6)2.3.3、发光二极管 (8)2.3.4、轻触开关 (9)2.4、软件设计 (10)2.4.1、c语言编程 (10)2.3.2、软件硬件仿真 (12)3、实物焊接 (13)4、结束语 (14)5、参考文献 (16)6、附录 (17)一、引言1.1 单片机基础知识单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲,一块芯片就成了一台计算机。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机了解计算机原理与结构的最佳选择。
现在,这种单片机的使用领域已十分广泛。
彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。
走马灯的设计与实现一实验目的通过走马灯的设计与制作,深入了解与掌握利用可编程8255A进行开关量控制的原理与方法。
二实验要求1.产生8种彩灯(8位LED)的走马灯花样;2.键控(或拨码开关控制)发光实验。
键控是在键盘上定义8个数字键(0~7),每按1个数字键,使LED的1位发光,按Q或q键,停止发光。
拨码开关控制,是通过改变各位开关,来进行控制, 使LED的1位发光,按Q或q键,停止发光。
三实验内容1.进行走马灯的系统电路硬件设计,画出电路原理图;2.安装或焊接元器件;3.进行走马灯的控制程序设计(采用ASM语言);4.系统联调,提交一个符合上述3种要求的走马灯的作品。
四实验原理8255A是一种通过可编程并行I/O接口芯片。
广泛用于几乎所有系列的微机系统中,8255A具有三个带锁存或缓冲的数据端口,可与外设并行进行数据交换,8255A有多种操作方式,通用性较强,可为CPU与外设之间提供输入/输出通道。
8255A和各端口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换,使用条件传输方式时可用“联络”线进行控制。
在实验中,我们运用8255为CPU与外设之间提供输入输出输出通道来实现对走马灯花样变换的控制。
走马灯驱动模块电路原理如图1所示。
模块包括8个LED彩灯、两个74LS04、和两个个排阻。
用LED可以观测在不同按键输入下,走马灯花样的变化效果。
如图1所示我们利用软件输入信号,通过8255端口扩展芯片和74LS04芯片,调节输出端口的电平变化,来控制共阳极的LED灯的亮与灭,实现走马灯花样变化。
图1 走马灯驱动模块电路原理图五试验设备1.PC兼容机2.Windows 98以上3.MFID多功能微机实验平台(含PCI总线驱动板)4.MFPCI98集成开发环境5.面包板或外设功能模块板6.安装或焊接工具六元器件清单元器件清单如表1所示。
表1 实验元器件清单七实验步骤7.1硬件连线根据图1的实验原电路图,走马灯电路结构电路接线如图2所示。
单片机技术课程设计说明书可以调控的走马灯设计专业学生姓名班级学号指导教师完成日期2011年 6 月 20 日目录1概述 (2)1.1单片机的发展和现状 (2)2课题方案设计 (3)2.1系统总体设计要求 (3)2.2系统模块结构 (3)3系统硬件设计 (3)3.1总体设计 (3)3.2单片机最小系统 (4)3.3按键电路 (5)3.4数码管显示电路 (5)3.5发光二极管显示电路 (6)4系统软件设计 (6)5软硬件联调及调试结果 (7)5.1软硬件调试中出现的问题及解决措施 (7)5.2实物图 (8)5.3调试结果 (9)5.4各模式灯亮 (9)结束语 (10)参考文献 (11)附录 (12)附录1:基于单片机可以调控的走马灯原理图 (12)附录2;基于单片机可以调控的走马灯PCB图 (13)附录3:基于单片机可以调控的走马灯仿真 (14)附录4:程序代码 (15)附录5:元件清单 (20)1概述1.1单片机的发展和现状单片机是所有微处理机中性价比最高的一种,随着种类的不断全面,功能不断完善,其应用领域也迅速扩大。
单片机在智能仪表、实时控制、机电一体化、办公机械、家用电器等方面都有相当的应用领域。
当前,8位单片机主要用于工业控制,如温度、压力、流量、计量和机械加工的测量和控制场合;高效能的16位单片机(如MCS-96、MK-68200)可用在更复杂的计算机网络。
可以说,微机测控技术的应用已渗透到国民经济的各个部门,微机测控技术的应用是产品提高档次和推陈出新的有效途径。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:1.低功耗CMOS化MCS-51系列的80C51推出时的功耗达120mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径。
2.微型单片化常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
3.主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。
以8031为核心的单片机占据了半壁江山,在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
2课题方案设计2.1系统总体设计要求1、根据选题查找相关资料;2、确定方案后,画出电路原理图;3、根据设计要求,编写好软件程序(利用Keil软件开发)4、根据电路原理图,在Proteus软件里画好仿真原理图,并将Keil软件开发的可执行文件加载到Proteus软件的仿真芯片中(即单片机芯片中);5、在仿真没有问题的前提下,依据方案,确定选用器件;6、焊接、烧录、调试;7、完成课程设计说明书2.2系统模块结构多功能走马灯设计使用AT98C51芯片,显示效果使用16个LED,设置三个按键,K1-模式键,通过按键调整显示结果,要求有8种模式;K2-加速键,提高走马灯显示效果的速度;K3-减速键,放慢走马灯的显示效果速度;且8种模式通过一个共阴型数码管显示出来,P0和P1引脚控制着16个LED的显示,P2.0、P2.1和P2.2引脚是相应的键控模式,而P3引脚则控制着数码管的显示,通过键控来实现单片机的相关中断,通过计数器/定时器T1设计相关中断来执行K1-模式键要求的功能,利用延时程序和中断程序来执行所要求的相应功能。
3系统硬件设计3.1总体设计1、显示效果使用16个LED;2、设置三个按键,K1-模式键,通过按键调整显示结果,要求有8种模式K2加速键,提高走马灯显示效果的速度;K3-减速键,放慢走马灯的显示效果速度;3、8种模式通过一个共阳型数码管显示出来,比如,走马灯的显示效果为模式一时,数码管显示数字“1”。
4、系统总体设计图如下:图3.1系统总设计图3.2单片机最小系统(1)时钟电路单片机执行指令是在脉冲控制下进行的,因此时钟信号是单片机的基本工作条件。
时钟可以由内部和外部两种方式产生,本设计采用内部方式。
如图所示,在XTAL1和XTAL2引脚上外接定时元件。
定时元件通常采用振荡器和电容组成的并联谐振电路。
X1为振荡器,C1、C2为电容。
振荡的主要频率决定于晶振,电容对振荡频率起微调作用。
其中,晶振选择11.0596MHz。
晶振接在18到19两管脚之间。
(2)复位电路一个时钟周期为振荡周期的2倍,12个时钟周期构成一个机器周期。
在RES引脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。
时钟频率为12MHz,则有效的复位信号至少应保持2us以上。
下图为单片机的复位电路。
RST复位是9脚,在9脚和31(EA)脚之间接一个复位按钮。
图3.2最小系统图3.3按键电路系统按键电路如下图所示:图3.3按键电路图图中K1接P2.0,K1是模式按钮共有8种模式;K2接P2.1,是用来进行加速的;K3接P2.2,是用来减速的。
3.4数码管显示电路数码显示器件是一种八个LED发光二极管组合显示字符的显示器件,其中七个用于显示字符,一个用于显示小数点,故通常称为七段LED数码显示器。
本电路中共阳极接法,把七段发光二极管的阳极连在一起构成公共阳极,使用时阳极接+5V电源,每个发光二极管的阴极通过电阻与输入端连接,阴极输入低电平时,发光二极管,输入高电平则不亮,连接方法如图;图3.4数码管显示电路图数码管通过排阻RN1接到P3口。
3.5发光二极管显示电路16个发光二极管显示电路如下图所示:图3.5发光二极管显示电路图图中D1,D2,D3,D4到D8分别接的是P1.0,P1.1,到P1.7;D9,D10到D16分别接的是P0.0到P0.7。
4系统软件设计软件程序设计主要由开始、初始化、主程序、以及延时程序等组成。
其程序流程如下图4.1所示:图中K1键用来选择模式的,初始时运行模式0,按一次运行模式1,以此类推按7次则云行模式7,当再一次按下时又运行模式0。
K2键用来加速按的次数越多则速度越快。
K3用来减速同K2按的越多则越慢。
速度的选择可见附录4程序中的调速表,程序通过不同的顺序来改变速度。
图中数码管的数字显示是根据K1的模式选择的,初始时数码管显示0,程序运行模式0,同理当运行模式7时,则数码管显示7。
图4.1程序流程图5软硬件联调及调试结果5.1软硬件调试中出现的问题及解决措施在画PCB 图时发现P3口的排阻RN1只能连接一边,数码管连接不上,后来发现排阻只有输入没有输出所以不行。
原有的电路图如下图5.1所示;修改过的电路图如图5.2所示;图5.1 开始初始化 运行模式0K1按键 K2按键 K3按键模式的选择 加速 减速数码管显示图5.2 5.2实物图(1)正面图(2)反面图5.3调试结果图中为模式2显示。
5.4各模式灯亮1、模式0:灯由左向右一个一个顺序熄灭(第一个熄灭后第二个熄灭时第一个又亮)。
2、模式1:灯由右向左一个一个顺序熄灭(同上)。
3、模式2:四个灯由右向左又由左向右顺序熄灭。
4、模式3:四个灯由右向左又由左向右循环点亮。
5、模式4:六个灯由右向左又由左向右循环熄灭。
6、模式5:一个灯由右向左又由左向右顺序熄灭。
7、模式6:一个灯由右向左又由左向右顺序点亮。
8、模式7:一个灯由右向左又由左向右依次点亮。
结束语我是工学专业的学生,设计是我们将来必需的技能,这次课程设计恰恰给我们提供了一个应用自己所学知识的机会,从到图书馆查找资料到对电路的设计以及程序的编写,对电路的仿真再到最后电路的成型,都对我所学的知识进行了检验。
我深刻的体会到在设计过程中,需要反复实践,其过程很可能相当烦琐,有时花很长时间设计出来的电路还是需要重做,那时心中未免有点灰心,有时还特别想放弃,此时更加需要静下心,查找原因。
总体来说,这次实习我受益匪浅。
在摸索该如何设计电路使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增加了实际操作能力。
在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦和快乐。
在这里,我也非常感谢各位老师的耐心辅导以及同学们的热心帮助。
我忠心的感谢各位老师,你们辛苦了!希望在今后的学习过程中,老师能够多加引领我们走向更尖端的科技和更复杂高深的领域,加强专业技术的培训和更多的开展科研创新研究。
通过实践引导我们在理论指导下有所创新,为日后工程实践奠定基础。
参考文献[1] 吴微,文军等.单片机原理及制作[M].武汉:武汉大学出版社,2003[2] 王宏民.LED显示屏的驱动方案[M].哈尔滨:黑龙江电子技术出版社,1999[3] 李华.MCS—51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993[4] 陈元灯、陈宇.LED制造技术与应用[M].北京:电子工业出版社,2009[5] 余锡存,曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000[6] 沈国琴. 51单片机C语言开发与实例[M].北京:人民邮电出版社,2008[7] 徐泳龙.单片机原理及应用[M].北京:机械工业出版社,2004[8] 周航慈.单片机应用程序设计[M].北京:北京航空航天大学出版社,1991[9] 陈汝全.实用微机与单片机控制技术[M].成都:电子科技大学出版社,1995[10] 宋贤法. Altium Designer6. x 入门与实用[M].北京:机械工业出版社,2009[11] 刘修文.实用电子电路设计制作300例[M].北京:中国电力出版社,2004[12] 诸昌矜.LED显示屏系统原理及工程技术[M].西安:电子科技大学出版社,2000[13] 游华.大屏幕图文动画显示屏系统[M].电子技术应用,1994附录附录1:基于单片机可以调控的走马灯原理图附录2;基于单片机可以调控的走马灯PCB图附录3:基于单片机可以调控的走马灯仿真附录4:程序代码#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar ModeNo; //模式编号uint Speed;uchar tCount = 0;uchar Idx; //速度取值索引uchar mb_Count = 0; //移动位数bit Dirtect = 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);}////定时器2//void T0_INT() interrupt 1{if( ++tCount < Speed) return;tCount=0;switch (ModeNo){case 0: Led_Demo(0x0001 << mb_Count);break;case 1: Led_Demo(0x8000 >> mb_Count);break;case 2: if(Dirtect) Led_Demo(0x000F << mb_Count);else Led_Demo(0xF000 >> mb_Count);if(mb_Count == 15) Dirtect= !Dirtect;break;case 3: if(Dirtect) Led_Demo(~(0x000F<<mb_Count));else Led_Demo(~(0xF000>>mb_Count));if(mb_Count == 15) Dirtect= !Dirtect;break;case 4: if(Dirtect) Led_Demo(0x003F<<mb_Count);else Led_Demo(0xFC00>>mb_Count);if(mb_Count == 15) Dirtect= !Dirtect;break;case 5: if(Dirtect) Led_Demo(0x0001 << mb_Count);else Led_Demo(0x8000 >> mb_Count);if(mb_Count == 15) Dirtect= !Dirtect;break;case 6: if(Dirtect) Led_Demo(~(0x0001<<mb_Count));else Led_Demo(~(0x8000>>mb_Count));if(mb_Count == 15) Dirtect= !Dirtect;break;case 7: if(Dirtect) Led_Demo(0xFFFE << mb_Count);else Led_Demo(0x7FFF >> mb_Count);if(mb_Count == 15) Dirtect = !Dirtect;break;}mb_Count = (mb_Count + 1) % 16;}////键盘按键处理//void KeyProcess(uchar Key){switch (Key){case 1://重设模式Dirtect = 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);}}void KeyProcess(uchar Key){switch (Key){case 1://重设模式Dirtect = 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);}}盐城工学院课程设计说明书(2011)附录5:元件清单20。