這是我最近做的用于單片機入門的作品
花樣流水燈
含原理圖和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黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
花樣流水燈.zip
(2.7 MB, 下載次數(shù): 31)
2017-10-3 10:03 上傳
點擊文件名下載附件
|