51单片机32位流水灯

合集下载

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

C 2—*XTAL1—P?-R5470△型30PSEN ALE FALED 32 1'LED31 2! _E「〔i 3 丄::艾_4!岸匚舷5L 竺总 :LEt® 了 :-已不芒P1 M2P- \T ;EX P\2 pfiLEMRiyELEr^BF 2 Li I■ 05 L£kfllR4D2p-F?RT2LtO@Ri>M —n <TE3.T>■LEr--BIH^ ■iflEJC" 尺2l --------- 1_CTM» ^TEJ.T=jv ---------1L£EQD a 6 LE 仙日問Tl TR31砂JL : r - ■二□ 1LHbtiROi<reAi*^C17 1 •PT1 --------- r 也LES-BF-3JOJl-■=>DiflLE>BIF3R77<L~-LEBHR-ft126UEP-jJ月:訥4KRFHLED*"耶R24R13 TF ―—■■——■ i'fOfc .E[I •曰耶口1 - P14"E- v L2b1 二盲 Q ?3耕LFBTW.LEMRAnpR151! ■R2DLEI :1,1L=PUI ID31 丐Ml 舲 ■=rE^7=- LECJpT-.D13 RIB i " °^DR "5FU2<ED !4R13LEE BF ILE : BR :-■* ----4?0RLE :』赋iEW1、51 单片机x1、40Pin 座x12、L ED x32 (建议用5mm七彩的)3、电阻470Q x334、晶振12MHz x15、10uf电解电容x1、谐振瓷片电容30pf x26•其他的可以看自己的爱好去加7、其实也可以不用那么多的电阻,用几个排阻就OKT 效果展示:作品程序:#in clude<>#defi ne uchar un sig ned charuchar flag=200;/////////////////////////////////////////////////////////////////////// uchar codeTab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};〃下uchar codeTab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};〃上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};〃下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};〃上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};〃下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};//////////////////////////////////////////////////////////////////// 暗中左移向暗中右移向亮中左移向亮中右移向暗中左移向uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF}; uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff}; uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff}; uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////void shansuo();void xl(); /////////////////////////////////////////////////////////////// void delay(void){unsigned char m,n; for(m=0;m<flag;m++) for(n=0;n<250;n++)J} /////////////////////////////////// void hy1(void) // 点亮状态逆时针旋转90 度(一个一个{灭)unsigned char i; for(i=0;i<8;i++){ P0=Tab11[i];P1=Tab22[i];P2=Tab11[i];P3=Tab22[i]; delay();} for(i=0;i<8;i++){ P0=Tab44[i];P1=Tab55[i];P2=Tab44[i];P3=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) // 暗中逆时针转360 。

32路流水灯完美版源代码 51单片机

32路流水灯完美版源代码 51单片机
void youyiP0 (void)
{
uchar i,temp=0x80;
for(i=0;i<8;i++)
{
P0=~temp; //P0右移子函数
delay(quan);
temp>>=1;
}
P0=0xff;
}
//***************************************************
0x5f,0x6f,0x77,0x7b,0x7d,0x7e,0x7f};
uchar code ledp3[]={
0x2f,0x37,0x3b,0x3d,0x3e,0x3f};
uchar code ledp4[]={
0x17,0x1b,0x1d,0x1e,0x1f};
uchar code ledp5[]={
{
uchar i,temp=0xfe;
for(i=0;i<8;i++)
{
P2=temp; //P2左扫子函数
delay(quan);
uchar code ledpl4[]={
0x78,0xb8,0xd8,0xe8,0xf0};
uchar code ledpl5[]={
0x70,0xb0,0xd0,0xe0};
uchar code ledpl6[]={
0x60,0xa0,0xc0};
uchar code ledpl7[]={
delay(quan);
temp>>=1;
}
P3=0xff;
}
//***************************************************

51单片机流水灯程序

51单片机流水灯程序

1.第一个发光管以间隔200ms闪烁。

2.8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms。

3.8个发光管来回流动,第个管亮100ms。

4。

用8个发光管演示出8位二进制数累加过程。

5。

8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。

重复此过程。

6.间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。

7。

间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。

1#include<reg52。

h〉#define uint unsigned intsbit led1=P1^0;void delay();void main(){while(1){led1=0;delay();led1=1;delay();}}void delay(){uint x,y;for(x=200;x>0;x—-)for(y=100;y〉0;y-—);}2#include<reg52。

h>#include〈intrins。

h〉#define uint unsigned intuchar a;void delay();void main(){a=0xfe;P1=a;while(1){a=_crol_(a,1);delay();P1=a;delay();}}void delay(){uint b;for(b=55000;b>0;b—-);}3#include<reg52。

h〉#include <intrins。

h>#define uint unsigned int #define uchar unsigned char void delay(){uint x,y;for(x=100;x〉0;x--)for(y=110;y>0;y—-);}void main(){uchar a,i;while(1){a=0xfe;for(i=0;i〈8;i++){P1=a;delay(100);a=_crol_(a,1);for(i=0;i〈8;i++){P1=a;delay(100);a=_cror_(a,1);}}}4#include<reg52.h>#include 〈intrins。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作一、引言爱心流水灯是一种常见的电子制作项目,它使用51单片机控制LED灯的亮灭顺序,形成一个流动的爱心图案。

本文将详细介绍51单片机爱心流水灯的原理及制作过程。

二、原理介绍1. 51单片机51单片机是一种非常常见的单片机,具有广泛的应用领域。

它具有强大的计算能力和丰富的外设接口,非常适合用于控制LED灯的亮灭。

2. LED灯LED灯是一种半导体发光二极管,具有低功耗、长寿命和高亮度等特点。

在爱心流水灯中,我们使用红色的LED灯来形成爱心图案。

3. 流水灯原理流水灯是一种常见的电子灯光效果,通过控制LED灯的亮灭顺序,形成一个流动的效果。

在爱心流水灯中,我们将多个LED灯按照特定的顺序亮灭,形成一个流动的爱心图案。

4. 原理图以下是51单片机爱心流水灯的原理图:(在此处插入原理图)三、制作材料准备在开始制作爱心流水灯之前,我们需要准备以下材料:1. 51单片机开发板2. LED灯(红色)3. 电阻4. 面包板5. 连接线6. 电源四、制作步骤1. 连接电路首先,将51单片机开发板和面包板连接起来。

然后,根据原理图连接LED灯、电阻和51单片机的引脚。

确保连接正确且稳固。

2. 编写程序使用C语言编写51单片机的程序。

程序的主要功能是控制LED灯的亮灭顺序,形成一个流动的爱心图案。

以下是一个简单的示例程序:(在此处插入示例程序)3. 烧录程序将编写好的程序烧录到51单片机中。

可以使用专业的烧录工具,也可以使用通用的USB转串口模块进行烧录。

4. 测试将电源接入电路,打开电源开关,观察LED灯的亮灭情况。

如果一切正常,LED灯将按照程序中设定的顺序亮灭,形成一个流动的爱心图案。

五、注意事项在制作爱心流水灯时,需要注意以下几点:1. 连接线的接触要牢固,确保电路的稳定性。

2. 程序的编写要准确无误,确保LED灯按照预期的顺序亮灭。

3. 使用适当的电阻限流,以保护LED灯和51单片机。

基于51单片机的花样流水灯设计

基于51单片机的花样流水灯设计

摘要摘要计算机技术的飞速发展和提高,把我们带入了崭新的时代,现在,计算机的应用已经深入到千家万户。

单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。

单片机在现在社会有着广泛的应用,小到人们的日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机的广泛应用。

单片机具有体积小、功能强大、低功耗、应用广泛等特点。

以AT公司的芯片AT89C51 单片机来实现流水灯的设计。

本系统由单片机控制,I/O口接LED的负极,而LED的正极则直接与5V电源相连。

通过I/O口输出的低电平点亮LED灯。

因此可以通过控制单片机的I/O口的电平高低以达到控制LED,从而实现不同花样的流水灯的目的。

关键词:LED,单片机,高低电平变化ABSTRACTThe rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM has been widely used in the present society, small to People's Daily electronic products, big to aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume, powerful function, low power consumption, wide application, etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlled by single chip microcomputer, I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds. So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light.Key words:LED , MCU ,High and Low output leve目录第1章引言 (1)1.1 研究背景及意义 (1)1.2 国内外研究现状以及本系统的重点问题 (1)1.3 本文章节安排 (2)第2章系统设计方案论证 (3)2.1 控制器模块方案论证 (3)2.2 键盘模块方案 (4)2.3 电源模块方案 (4)第3章系统硬件设计方案 (5)3.1 系统设计框图 (5)3.2 硬件电路设计 (5)3.2.1 电源电路 (5)3.2.2 单片机89C52最小系统 (6)3.2.3 按键电路 (13)3.3.4 LED灯电路 (13)第4章程序设计及软件仿真 (15)4.1 软件设计框图 (15)4.2 软件开发平台选择 (15)4.3 软件系统功能模块 (16)4.3.1 初始化模块 (16)4.3.2 延时函数 (17)4.3.3 定时器控制模块 (17)4.3.4 键盘扫描模式 (17)4.3.5 LED灯输出控制模块 (18)4.4 程序调试仿真 (19)4.4.1 仿真平台介绍 (19)4.4.2 仿真测试 (19)第5章硬件调试 (21)5.1 硬件设计 (21)5.2 硬件调试 (21)5.2.1 下载功能调试 (21)5.2.2 LED电路测试 (21)5.2.3 模式选择功能调试 (22)5.2.4 速度加减功能调试 (22)5.2.5 复位电路调试 (22)5.2.6 稳定性测试 (22)总结 (23)致谢 (25)参考文献 (26)附录 (27)附录一:原理图 (27)附录二:硬件实物 (28)附录三:程序代码 (29)第1章引言第1章引言1.1 研究背景及意义现如今,随着集成化芯片的飞速发展,分立元件或数字逻辑电路正逐步被集成电路所取代,而单片机作为一种集成电路,其价格低廉,且可靠性强、控制简单但控制方法多样。

51单片机32位流水灯

51单片机32位流水灯

51单片机32位流水灯摘要:随着电子工业的发展,电子元器件急剧增加,C51单片机应用非常广泛。

本文介绍了一种简易的单片机应用的设计思路及硬件结构。

首先研究了51单片机流水灯的基本原理,画出整机框图,接着提出系统的性能指标,计算确定电路形式和元器件参数,然后根据原理图通过Simulink软件进行建模仿真,验证系统的可行性。

关键字:C51;LED;S imulink软件;Protel99SE;1引言设计背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在我们的生活当中有许多地方要应用中到灯光,因此,设计全自动,可靠,安全,便捷的灯光效益具有极大的现实必要性。

2.系统概述该系统主要有C51单片机,LED灯,晶振等。

设计目的(1)掌握简易流水灯的工作原理,以及程序的编写等等。

(2)进一步熟悉和掌握常用数字电路元器件的应用;(3)学习数字电路仿真、调试、测试、故障查找和排除的方法、技巧;(4)培养实践技能,提高分析和解决实际问题的能力。

设计内容及要求1、51单片机 x1、40Pin 座 x12、LED x32(建议用5mm 七彩的)3、电阻470Ω x334、晶振12MHz x15、10uf 电解电容 x1、谐振瓷片电容30pf x26·其他的可以看自己的爱好去加7、其实也可以不用那么多的电阻,用几个排阻就OK了。

电路原理图重要元器件介绍(1)C51单片机(2)12MHZ晶振分为两种封装形式:SMD3225产品详细参数:频率范围:12 ~ 54 MHz频率公差(25℃)± 10ppm± 30 ppm, or specify在工作温度范围内的频率稳定度:± 10ppm± 30 ppm, or s pecify工作温度范围:- 20 ~ +70 oC, or specify并联电容(C0):7 pF Max.驱动级:1~200μW(100μW typical)负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify老化(25℃):± 3 ppm / year Max.储存温度范围:- 40 ~ + 85 oCSMD5032产品详细参数:频率范围:12 ~ 54 MHz频率公差(25℃)± 10ppm± 30 ppm, or specify在工作温度范围内的频率稳定度:± 10ppm± 30 ppm, or specify工作温度范围:- 20 ~ +70 oC, or specify并联电容(C0):7 pF Max.驱动级:1~200μW(100μW typical)负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify老化(25℃):± 3 ppm / year Max.储存温度范围:- 40 ~ + 85 oC3实物4程序#include<>#define uchar unsigned charuchar flag=200;束语设计总结经过两周的辛勤设计,我终于收获了成果。

51单片机经典流水灯汇编程序

51单片机经典流水灯汇编程序

单片机流水灯汇编程序设计流水灯汇编程序8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。

;用最直接的方式实现流水灯ORG 0000HSTART:MOV P1,#01111111B ;最下面的LED点亮LCALL DELAY ;延时1秒MOV P1,#10111111B ;最下面第二个的LED点亮LCALL DELAY ;延时1秒MOV P1,#11011111B ;最下面第三个的LED点亮(以下省略)LCALL DELAYMOV P1,#11101111BLCALL DELAYMOV P1,#11110111BLCALL DELAYMOV P1,#11111011BLCALL DELAYMOV P1,#11111101BLCALL DELAYMOV P1,#11111110BLCALL DELAYMOV P1,#11111111B ;完成第一次循环点亮,延时约0.25秒AJMP START ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY: ;大约值:2us*256*256*2=260ms,也可以认为为250msPUSH PSW ;现场保护指令(有时可以不加)MOV R4,#2L3: MOV R2 ,#00HL1: MOV R3 ,#00HL2: DJNZ R3 ,L2 ;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2)DJNZ R2 ,L1 ; 中层循环:256次DJNZ R4 ,L3 ;外层循环:2次POP PSWRETEND51单片机汇编程序集(二)2008年12月12日星期五 10:27辛普生积分程序内部RAM数据排序程序(升序)外部RAM数据排序程序(升序)外部RAM浮点数排序程序(升序)BCD小数转换为二进制小数(2位)BCD小数转换为二进制小数(N位)BCD整数转换为二进制整数(1位)BCD整数转换为二进制整数(2位)BCD整数转换为二进制整数(3位)BCD整数转换为二进制整数(N位)二进制小数(2位)转换为十进制小数(分离BCD码)二进制小数(M位)转换为十进制小数(分离BCD码)二进制整数(2位)转换为十进制整数(分离BCD码)二进制整数(2位)转换为十进制整数(组合BCD码)二进制整数(3位)转换为十进制整数(分离BCD码)二进制整数(3位)转换为十进制整数(组合BCD码)二进制整数(M位)转换为十进制整数(组合BCD码)三字节无符号除法程序(R2R3R4/R7)=(R2)R3R4 余数R7;二进制整数(2位)转换为十进制整数(分离BCD码);入口: R3,R4;占用资源: ACC,R2,NDIV31;堆栈需求: 5字节;出口: R0,NCNTIBTD21 : MOV NCNT,#00HMOV R2,#00HIBD211 : MOV R7,#0AHLCALL NDIV31MOV A,R7MOV @R0,AINC R0INC NCNTMOV A,R3ORL A,R4JNZ IBD211MOV A,R0CLR CSUBB A,NCNTMOV R0,ARET;二进制整数(2位)转换为十进制整数(组合BCD码);入口: R3,R4;占用资源: ACC,B,R7;堆栈需求: 3字节;出口: R0IBTD22 : MOV A,R0PUSH AMOV R7,#03HCLR AIBD221 : MOV @R0,AINC R0DJNZ R7,IBD221POP AMOV R0,AMOV R7,#10HIBD222 : PUSH ACLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV B,#03HIBD223 : MOV A,@R0ADDC A,@R0DA AMOV @R0,AINC R0DJNZ B,IBD223POP AMOV R0,ADJNZ R7,IBD222RET;二进制整数(3位)转换为十进制整数(分离BCD码) ;入口: R2,R3,R4;占用资源: ACC,R2,NDIV31;堆栈需求: 5字节;出口: R0,NCNTIBTD31 : CLR AMOV NCNT,AIBD311 : MOV R7,#0AHLCALL NDIV31MOV A,R7MOV @R0,AINC R0INC NCNTMOV A,R2ORL A,R3ORL A,R4JNZ IBD311MOV A,R0CLR CSUBB A,NCNTMOV R0,ARET;二进制整数(3位)转换为十进制整数(组合BCD码) ;入口: R2,R3,R4;占用资源: ACC,B,R7;堆栈需求: 3字节;出口: R0IBTD32 : MOV A,R0PUSH AMOV R7,#04HCLR AIBD321 : MOV @R0,AINC R0DJNZ R7,IBD321POP AMOV R0,AMOV R7,#18HIBD322 : PUSH ACLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV B,#04HIBD323 : MOV A,@R0ADDC A,@R0DA AMOV @R0,AINC R0DJNZ B,IBD323POP AMOV R0,ADJNZ R7,IBD322RET第七个试验:流水灯数字显示综合练习----51单片机汇编语言试验教程收藏该程序运行结果为个位数码管轮流现实0,1,2,3,4,5,6,7,8然后十位数码管轮流现实0,1,2,3,4,5,6,7,8反复循环P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次点亮然后轮流点亮小喇叭不停发出滴答声:注意该程序配套为我站的倚天版开发套件:如果是标准版:因他的数码管接法不同。

基于51单片机的流水灯设计

基于51单片机的流水灯设计

基于51单⽚机的流⽔灯设计基于51单⽚机的流⽔灯设计⼀.基本功能利⽤AT89c51作为主控器组成⼀个LED流⽔灯系统,实现8个LED 灯的左、右循环显⽰。

⼆.硬件设计图1.总设计图1.单⽚机最⼩系统1.1选⽤AT89C51的引脚功能图2. AT89C51XTAL1:单芯⽚系统时钟的反向放⼤器输⼊端。

XTAL2:系统时钟的反向放⼤器输出端,⼀般在设计上只要在XTAL1和XTAL2上接上⼀只⽯英震荡晶体系统就可以⼯作了,此外可以在两引脚与地之间加⼊20PF的⼩电容,可以使系统更稳定,避免噪⾳⼲扰⽽死机。

RESET:重置引脚,⾼电平动作,当要对晶体重置时,只要对此引脚电平提升⾄⾼电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。

P3:端⼝3是具有内部提升电路的双向I/O端⼝,通过控制各个端⼝的⾼低电平了实现LED流⽔灯的控制。

1.2复位电路如图所⽰,当按下按键时,就能完成整个系统的复位,使得程序从新运⾏。

图3.复位电路1.3时钟电路时钟电路⽤于产⽣单⽚机⼯作所需要的时钟信号,单⽚机本⾝就是⼀个复杂的同步时序电路,为了保证同步⼯作⽅式的实现,电路应在唯⼀的时钟信号控制下严格地按时序进⾏⼯作。

在AT89C51芯⽚内部有⼀个⾼增益反相放⼤器,其输⼊端为芯⽚引脚X1,输出端为引脚X2,在芯⽚的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了⼀个稳定的⾃激振荡器。

此电路采⽤12MHz的⽯英晶体。

图4.时钟电路2.流⽔灯部分图5.流⽔灯电路三.软件设计3.1编程语⾔及编程软件的选择本设计选择C语⾔作为编程语⾔。

C语⾔虽然执⾏效率没有汇编语⾔⾼,但语⾔简洁,使⽤⽅便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计⾃由度⼤,有很好的可重⽤性,可移植性等特点。

⽽汇编语⾔使⽤起来并没有这么⽅便。

本设计选⽤了Keil作为编程软件,.Keil C51⽣成的⽬标代码效率⾮常之⾼,多数语句⽣成的汇编代码很紧凑,容易理解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机32位流水灯摘要:随着电子工业的发展,电子元器件急剧增加,C51单片机应用非常广泛。

本文介绍了一种简易的单片机应用的设计思路及硬件结构。

首先研究了51单片机流水灯的基本原理,画出整机框图,接着提出系统的性能指标,计算确定电路形式和元器件参数,然后根据原理图通过Simulink软件进行建模仿真,验证系统的可行性。

关键字:C51;LED;S imulink软件;Protel99SE;1引言1.1设计背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用围也逐渐广泛起来,在我们的生活当中有许多地方要应用中到灯光,因此,设计全自动,可靠,安全,便捷的灯光效益具有极大的现实必要性。

2.系统概述该系统主要有C51单片机,LED灯,晶振等。

2.1 设计目的(1)掌握简易流水灯的工作原理,以及程序的编写等等。

(2)进一步熟悉和掌握常用数字电路元器件的应用;(3)学习数字电路仿真、调试、测试、故障查找和排除的方法、技巧;(4)培养实践技能,提高分析和解决实际问题的能力。

2.2设计容及要求1、51单片机x1、40Pin 座x12、LED x32(建议用5mm 七彩的)3、电阻470Ωx334、晶振12MHz x15、10uf 电解电容x1、谐振瓷片电容30pf x26·其他的可以看自己的爱好去加7、其实也可以不用那么多的电阻,用几个排阻就OK了。

2.2电路原理图2.2重要元器件介绍(1)C51单片机(2)12MHZ晶振分为两种封装形式:SMD3225产品详细参数:频率围:12 ~ 54 MHz频率公差(25℃)± 10ppm± 30 ppm, or specify在工作温度围的频率稳定度:± 10ppm± 30 ppm, or specify 工作温度围:- 20 ~ +70 oC, or specify并联电容(C0):7 pF Max.驱动级:1~200μW(100μW typical)负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify老化(25℃):± 3 ppm / year Max.储存温度围:- 40 ~ + 85 oCSMD5032产品详细参数:频率围:12 ~ 54 MHz频率公差(25℃)± 10ppm± 30 ppm, or specify在工作温度围的频率稳定度:± 10ppm± 30 ppm, or specify 工作温度围:- 20 ~ +70 oC, or specify并联电容(C0):7 pF Max.驱动级:1~200μW(100μW typical)负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify老化(25℃):± 3 ppm / year Max.储存温度围:- 40 ~ + 85 oC3实物4程序#include<reg52.h>#define uchar unsigned charuchar flag=200;///////////////////////////////////////////////////////////////////////uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};////////////////////////////////////////////////////////////////////uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////void shansuo();void xl();///////////////////////////////////////////////////////////////void delay(void){unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++);}///////////////////////////////////void hy1(void) //点亮状态逆时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P0=Tab11[i];P1=Tab22[i];P2=Tab11[i];P3=Tab22[i];delay();}for(i=0;i<8;i++){P0=Tab44[i];P1=Tab55[i];P2=Tab44[i];P3=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) //暗中逆时针转360。

(一个一个点亮){unsigned char i;for(flag=250;flag>0;flag=flag-50){P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab11[i];delay();}for(i=0;i<8;i++){P2=Tab11[i];delay();}for(i=0;i<8;i++){P3=Tab22[i];delay();}for(i=0;i<8;i++){P1=Tab22[i];delay();}}flag=250;}////////////////////////////////////////////////void hy3(void) //点亮中逆时针转360°(一个一个灭){unsigned char i;flag=50;P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i<8;i++){P0=Tab44[i];delay();}for(i=0;i<8;i++){P2=Tab44[i];delay();}for(i=0;i<8;i++){P3=Tab33[i];delay();}for(i=0;i<8;i++){P1=Tab33[i];delay();}flag=150;}///////////////////////////////////////////////////void hy4(void) //点亮状态顺时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P1=Tab11[i];P0=Tab22[i];P3=Tab11[i];P2=Tab22[i];delay();}for(i=0;i<9;i++){P1=Tab6[i];P0=Tab5[i];P3=Tab6[i];P2=Tab5[i];delay();}}/////////////////////////////////////////void hy2_1(void) //暗中逆时针转90度。

(一个一个点亮){unsigned char i;flag=200;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<9;i++){P0=Tab11[i];delay();}flag=110;for(i=0;i<9;i++){P2=Tab11[i];delay();}flag=80;for(i=0;i<9;i++){P3=Tab22[i];delay();}flag=80;for(i=0;i<9;i++){P1=Tab22[i];delay();}}////////////////////////////////////////////////void hy2_2(void) //暗中逆时针转180度。

(一个一个点亮){unsigned char i;P0=0xff;P1=0xff;P2=0xff;P3=0xff;for(i=0;i<8;i++){P0=Tab11[i];delay();}for(i=0;i<8;i++){P2=Tab11[i];delay();}P0=0xff;P2=0xff;for(i=0;i<8;i++){P3=Tab22[i];delay();}for(i=0;i<8;i++){P1=Tab22[i];delay();}P1=0xff;P3=0xff;}///////////////////////////////////////////////////void hy2_3(void) //暗中向下180。

相关文档
最新文档