铺铜过孔十字架样式怎么取消或者全部填满
\n#PCB设计#
嘉立创EDA51单片机心形流水灯教程的配套源码拿去用,祝福你们恩爱如初;
main.c文件 #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 #include [removed] //因为要用到左右移函数,所以加入这个头文件 #include "LED.h" int a[8] = {0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF}; int b[8] = {0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xFF}; int c[8] = {0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; int x=5000; void delay1(int i) { while(i--); } void mode_1()//顺时针流水 { Led2Clockwise_2();//led2顺时针 Led3Clockwise_2();//led3顺时针 Led1Clockwise_2(); Led0Clockwise_2();//led0顺时针全灭状态单个灯流水状态 } void mode_2()//全灭流水到全亮 { LedAllOn();//全亮 Led2Clockwise_2();//led2顺时针 Led3Clockwise_2();//led3顺时针 Led1Clockwise_2(); Led0Clockwise_2();//led0顺时针全灭状态单个灯流水状态 } void mode_3()//逆时针流水 { Led0Anticlockwise_3(); Led1Anticlockwise_3(); Led3Anticlockwise_3(); Led2Anticlockwise_3(); } void led1mode(int i)//心形全灭流水到全亮 { i = 0; while(1) { P0 = a[i]; delay1(x); i++; if(i >= 8) { i = 0; P0 = 0xFF; break; } } while(1) { P1 = b[i]; delay1(x); i++; if(i >= 8) { i = 0x03; P1 = 0xFF; break; } } while(1) { P3 = b[i]; delay1(x); i++; if(i >= 8) { i = 0; P3 = 0xFF; break; } } while(1) { P2 = b[i]; delay1(x); i++; if(i >= 8) { i = 0; P2 = 0xFF; break; } } } /*----------------------------TEST------------------------------*/ void led1mode_2(int i)//心形全灭流水到全亮 { i = 0; while(1) { P2=P0 = b[i]; delay1(x); i++; if(i >= 8) { i = 0; P2=P0 = 0xFF; break; } } } void led1mode_3(int i)//p1p2同时流水灭 { i = 0; while(1) { P2=P1 = c[i]; delay1(x); i++; if(i >= 8) { i = 0; P2=P1 = 0xFF; break; } } } void led1mode_4(int i)//p1p2同时流水亮 { i = 0; while(1) { P2=P1 = a[i]; delay1(x); i++; if(i >= 8) { i = 0; P2=P1 = 0xFF; break; } } } void led1mode_5(int i)//顺时针流水全亮 { i = 0; while(1) { P2 = a[i]; delay1(x); i++; if(i >= 8) { i = 0; P2 = 0xFF; break; } } while(1) { P3 = a[i]; delay1(x); i++; if(i >= 8) { i = 0; P3 = 0xFF; break; } } while(1) { P1 = a[i]; delay1(x); i++; if(i >= 8) { i = 0; P1 = 0xFF; break; } } while(1) { P0 = b[i]; delay1(x); i++; if(i >= 8) { i = 0; P0 = 0xFF; break; } } } //想要模式 void bigmode1() { mode_1(); delay1(1000); led1mode(); } void main() { char i=0; led0=0x00; led1=0x00; led2=0x00; led3=0x00; while(1) { for(i=0;i<5;i++) { LedAllOn();//全亮 delay1(x); LedAllOff(); delay1(x); } led1mode_5(); bigmode1(); Led0Anticlockwise_3();//两边流水熄灭 mode_4();//两边流水熄灭 mode_5();//两边流水亮起 led1mode_2();//两边流水亮起 LedAllOff(); for(i=0;i<3;i++) { Led0Anticlockwise(); Led1Anticlockwise(); Led3Anticlockwise(); Led2Anticlockwise(); } for(i=0;i<3;i++) { Led0Anticlockwise_3_1();//led0逆时针 Led1Anticlockwise_3();//led0逆时针 Led3Anticlockwise_3(); Led2Anticlockwise_3(); } led1mode(); for(i=0;i<2;i++) { mode_6(); led1mode_3(); led1mode_4(); mode_7(); } for(i=0;i<3;i++) { mode_8(); mode_9(); } LedAllOff(); led1mode(); // for(i=0;i<5;i++) // { // LedAllOn();//全亮 // delay1(x); // LedAllOff(); // delay1(x); // } } } LED.c文件 #includeREGX52.H#include "LED.h" //int a[][8] = {0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF}; typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; extern int m = 5000, n=1000, o=2000, p=800; u8 led0_flg = 0; u8 led1_flg = 0; u8 led2_flg = 0; u8 led3_flg = 0; /*----------------------定时函数-----------------------------------*/ void delay(u16 i) { while(i--); } /*----------------------LED状态-1--顺时针LED全灭状态单个灯流水灯亮-------------------------------*/ void Led0Clockwise()//led0 { u8 i; for(i=0;i<8;i++) { P0=0x01<<i; //将1左移i位,然后将结果赋值到P0口 delay(n); led0=0x00; } led0_flg = 1; } void Led0Anticlockwise()//led0逆时针 { u8 i; for(i=0;i[removed]>i; delay(n); led0=0x00; } } void Led1Clockwise()//led1顺时针 { u8 i; for(i=0;i[removed]>i; delay(n); led1=0x00; } led1_flg = 2; } void Led1Anticlockwise()//led1逆时针 { u8 i; for(i=0;i<8;i++) { P1=0x01<<i; //将1左移i位,然后将结果赋值到P0口 delay(n); led1=0x00; } } void Led2Clockwise()//led2顺时针 { u8 i; for(i=0;i[removed]>i; delay(n); led2=0x00; } led2_flg = 1; } void Led2Anticlockwise()//led2逆时针 { u8 i; for(i=0;i<8;i++) { P2=0x01<[removed]1;i--) { P3=0x01<<i; delay(n); led3=0x00; } led3_flg = 1; } void Led3Anticlockwise()//led3逆时针 { u8 i; for(i=0;i<7;i++) { P3=0x04<<i; delay(n); led3=0x00; } } /*----------------------LED状态-2-顺时针led全亮状态单个流水灯灭状态--------------------------------*/ void Led0Clockwise_2()//led0顺时针全灭状态单个灯流水状态 { u8 i; for(i=0;i<8;i++) { P0=~(0x00)<<i; //将1左移i位,然后将结果赋值到P0口 delay(m); led0=0x00; } } void Led2Clockwise_2()//led2顺时针 { u8 i; for(i=0;i[removed]>i; delay(m); led2=0x00; } } void Led3Clockwise_2()//led3顺时针 { u8 i; for(i=0;i[removed]>i; delay(m); led3=0x00; } } void Led1Clockwise_2()//led1顺时针 { u8 i; for(i=0;i[removed]>i; delay(m); led1=0x00; } } /*----------------------LED状态-全亮-全灭-----------------------------*/ void LedAllOn() { led0=0xFF; led1=0xFF; led2=0xFF; led3=0xFF; } void LedAllOff() { led0=0x00; led1=0x00; led2=0x00; led3=0x00; } /*----------------------LED状态-全亮逆时针灭----------------------------*/ void Led0Anticlockwise_3()//led0逆时针 { u8 i; for(i=0;i[removed]>i; delay(m); led0=0x00; } } void Led0Anticlockwise_3_1()//led0逆时针 { u8 i; for(i=0;i[removed]>i; delay(o); led0=0x00; } } void Led1Anticlockwise_3() { u8 i; for(i=0;i<8;i++) { P1=~(0x01)<<i; delay(o); led1=0x00; } } void Led3Anticlockwise_3()//led3逆时针 { u8 i; for(i=0;i<7;i++) { P3=0xFC<<i; delay(o); led3=0x00; } } void Led2Anticlockwise_3()//led2逆时针 { u8 i; for(i=0;i<8;i++) { P2=~(0x01)<<i; //将1左移i位,然后将结果赋值到P0口 delay(o); led2=0x00; } } /*----------------------两边流水模式---------------------------*/ void mode_4()//两边流水熄灭 { P1=0Xfe; P3=0X7f; delay(m); P1=0Xfc; P3=0X3f; delay(m); P1=0Xf8; P3=0X1f; delay(m); P1=0Xf0; P3=0X0f; delay(m); P1=0Xe0; P3=0X07; delay(m); P1=0Xc0; P3=0X03; delay(m); P1=0X80; P3=0X01; delay(m); P1=0X00; P3=0X00; delay(m); } void mode_5()//两边流水亮起 { P1=0X80; P3=0X04; delay(m); P1=0XC0; P3=0X0C; delay(m); P1=0XE0; P3=0X1f; delay(m); P1=0XF0; P3=0X3f; delay(m); P1=0XF8; P3=0X7F; delay(m); P1=0XFC; P3=0XFF; delay(m); P1=0XFE; // P3=0X01; delay(m); P1=0XFF; // P3=0X00; delay(m); } void mode_6()//半心亮起 { P0=0X7f; P3=0Xfc; delay(m); P0=0X3f; P3=0Xf8; delay(m); P0=0X1f; P3=0Xf0; delay(m); P0=0X0f; P3=0Xe0; delay(m); P0=0X07; P3=0Xc0; delay(m); P0=0X03; P3=0X80; delay(m); P0=0X01; P3=0X00; delay(m); P0=0X00; // P3=0X00; delay(m); } void mode_7()//半心亮起 { P0=0X01; P3=0X80; delay(m); P0=0X03; P3=0Xc0; delay(m); P0=0X07; P3=0Xe0; delay(m); P0=0X0f; P3=0Xf0; delay(m); P0=0X1f; P3=0Xf8; delay(m); P0=0X3f; P3=0Xfc; delay(m); P0=0X7f; P3=0Xfe; delay(m); P0=0Xff; P3=0Xff; delay(m); } void mode_8()//4半同时亮起 { P0=0X7f; P1=0Xfe; P2=0Xfe; P3=0Xfe; delay(m); P0=0X3f; P1=0Xfc; P2=0Xfc; P3=0Xfc; delay(m); P0=0X1f; P1=0Xf8; P2=0Xf8; P3=0Xf8; delay(m); P0=0X0f; P1=0Xf0; P2=0Xf0; P3=0Xf0; delay(m); P0=0X07; P1=0Xe0; P2=0Xe0; P3=0Xe0; delay(m); P0=0X03; P1=0Xc0; P2=0Xc0; P3=0Xc0; delay(m); P0=0X01; P1=0X80; P2=0X80; P3=0X80; delay(m); P0=0X00; P1=0X00; P2=0X00; P3=0X00; delay(m); } void mode_9()//4半同时亮起 { P0=0X01; P1=0X80; P2=0X80; P3=0X80; delay(m); P0=0X03; P1=0Xc0; P2=0Xc0; P3=0Xc0; delay(m); P0=0X07; P1=0Xe0; P2=0Xe0; P3=0Xe0; delay(m); P0=0X0f; P1=0Xf0; P2=0Xf0; P3=0Xf0; delay(m); P0=0X1f; P1=0Xf8; P2=0Xf8; P3=0Xf8; delay(m); P0=0X3f; P1=0Xfc; P2=0Xfc; P3=0Xfc; delay(m); P0=0X7f; P1=0Xfe; P2=0Xfe; P3=0Xfe; delay(m); P0=0Xff; P1=0Xff; P2=0Xff; P3=0Xff; delay(m); } void Led0clockwise_3() { u8 i; for(i=0;i[removed]>i; delay(m); led0=0x00; } } LED.h文件 #ifndef__LED_#define __LED_ /*----------------------引脚定义-----------------------------------*/ #define led0 P0 //将P0口定义为led 后面就可以使用led代替P0口 #defineled1P1#define led2 P2 #define led3 P3 void delay(); void Led0Clockwise();//led0顺时针 void Led0Anticlockwise();//led0逆时针 void Led1Clockwise();//led1顺时针 void Led1Anticlockwise();//led1逆时针 void Led2Clockwise();//led2顺时针 void Led2Anticlockwise();//led2逆时针 void Led3Clockwise();//led3顺时针 void Led3Anticlockwise();//led3逆时针 void Led0Clockwise_2();//led0顺时针全灭状态单个灯流水状态 void Led2Clockwise_2();//led2顺时针 void Led3Clockwise_2();//led3顺时针 void Led1Clockwise_2(); /*----------------------LED状态-全亮逆时针灭----------------------------*/ void Led0Anticlockwise_3();//led0逆时针 void Led1Anticlockwise_3(); void Led3Anticlockwise_3();//led3逆时针 void Led2Anticlockwise_3();//led2逆时针 void LedAllOn();//全亮 void LedAllOff();//全灭 void bigmode_2(); void mode_4();//两边流水熄灭 void mode_5();//两边流水亮起 void mode_6();//半心亮起 void mode_7();//半心亮起 void mode_8();//4半同时亮起 void mode_9(); void Led0clockwise_3(); #endif\n#其他问题#
器件修改后保存了,点击放置还是旧的
\n#原理图设计#