这是我最近做的用于单片机入门的作品
花样流水灯
含原理图和pcb 源代码
适合入门者学习制作自制电路板和了解单片机
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
单片机源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- #define LED P0
- sbit key1 = P1^0;
- sbit key2 = P1^1;
- sbit key3 = P1^2;
- #define uchar unsigned char
- #define uint unsigned int
- uchar key,i,model;
- void delay(uint z)
- {
- uchar j;
- for(z;z>0;z--)
- for(j=200;j>0;j--);
- }
- uchar keyscan()
- {
- if(key1==0)
- { delay(5);
- if(key1==0)
- {
- key=1;
- delay(5);
- }
- }
- if(key2==0)
- { delay(5);
- if(key2==0)
- {
- key=2;
- delay(5);
- }
- }
- if(key3==0)
- { delay(5);
- if(key3==0)
- {
- key=3;
- delay(5);
- }
- }
- return key;
- }
- void keydelay(void)
- {
- for(i=0;i<50;i++)
- {
- delay(10);
- model=keyscan();
- }
- }
- void main()
- { uchar x;
- int dz[4];
- dz[0]=0x81;dz[1]=0x42;dz[2]=0x24;dz[3]=0x18;
- LED=0x00;
- while(1)
- {
- model=keyscan();
- if(model==1)
- {
- for(x=0;x<4;x++)
- {
- LED = dz[x];
- keydelay();
- }
- }else
- if(model==2)
- {
- LED = 0xc0;
- for(x=0;x<6;x++)
- {
- LED = LED>>1;
- keydelay();
- }
- for(x=0;x<6;x++)
- {
- LED = LED<<1;
- keydelay();
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
花样流水灯.zip
(2.7 MB, 下载次数: 31)
|