#include "reg52.h" #include "delay.h" #include "intrins.h" #include <stdio.h> typedef unsigned int u16; typedef unsigned char u8; typedef unsigned int uint; typedef unsigned char uchar; #define LED_PORT P2 #define SMG_A_DP_PORT P0 #define SMG_PORT P0 sbit LSA = P2 ^ 2; sbit LSB = P2 ^ 3; sbit LSC = P2 ^ 4; u8 gsmg_code[17] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; sbit LED1 = P2 ^ 0; sbit LED2 = P2 ^ 1; sbit LED3 = P2 ^ 2; sbit LED4 = P2 ^ 3; sbit LED5 = P2 ^ 4; sbit LED6 = P2 ^ 5; sbit LED7 = P2 ^ 6; sbit LED8 = P2 ^ 7; // sbit KEY1 = P3 ^ 1; // sbit KEY2 = P3 ^ 0; // sbit KEY3 = P3 ^ 2; // sbit KEY4 = P3 ^ 3; // #define KEY1_PRESS 1 // #define KEY2_PRESS 2 // #define KEY3_PRESS 3 // #define KEY4_PRESS 4 // #define KEY_NO_PRESS 0 // unsigned char key_scan(unsigned char mode) // { // static unsigned char key = 1; // if (mode) // { // key = 1; // } // if (key == 1 && (KEY1 == 0 || KEY2 == 0 || KEY3 == 0 || KEY4 == 0)) // { // delayms(10); // key = 0; // if (KEY1 == 0) // { // return KEY1_PRESS; // } // else if (KEY2 == 0) // { // return KEY2_PRESS; // } // else if (KEY3 == 0) // { // return KEY3_PRESS; // } // else if (KEY4 == 0) // { // return KEY4_PRESS; // } // } // else if (KEY1 == 1 && KEY2 == 1 && KEY3 == 1 && KEY4 == 1) // { // key = 1; // } // return KEY_NO_PRESS; // } // void main2() // { // unsigned char key = 0; // while (1) // { // key = key_scan(0); // if (key == KEY1_PRESS) // { // LED1 = !LED1; // } // } // } void time0_init(void) { TMOD |= 0x01; TH0 = 0xfc; TL0 = 0x18; ET0 = 1; EA = 1; TR0 = 1; } // void delay10us(u16 ten_us) // { // while (ten_us--) // { // _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); // _nop_(); // } // } void main() { time0_init(); while (1) { } } void time0() interrupt 1 { static u16 i = 0; TH0 = 0xfc; TL0 = 0x18; if (i == 0) { LED1 = 0; LED3 = 0; LED5 = 0; LED7 = 0; } i++; if (i == 2000) { i = 0; LED1 = !LED1; LED3 = !LED3; LED5 = !LED5; LED7 = !LED7; LED2 = !LED2; LED4 = !LED4; LED6 = !LED6; LED8 = !LED8; } else if (i == 1000) { LED1 = !LED1; LED3 = !LED3; LED5 = !LED5; LED7 = !LED7; LED2 = !LED2; LED4 = !LED4; LED6 = !LED6; LED8 = !LED8; } }
标签:P2,LED,PRESS,51,unsigned,单片机,key,sbit,define From: https://www.cnblogs.com/dogingate/p/17565695.html