Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <REGX51.H>
- #include <absacc.h>
- sbit dioda = P1^7;
- #define CSKB0 0xF021
- #define CSKB1 0xF022
- #define LCDWC 0xf080
- #define LCDWD 0xf081
- #define LCDRC 0xf082
- unsigned char klawisz =1;
- char licznik = 0;
- lcd()interrupt 3
- {
- char * stop = "OFF";
- char * start = "ON";
- char * mruga = "MRUGA_CO";
- char * niemruga = "NIE MRUGA";
- TH! = 76;
- if(ET0)
- {
- XBYTE[LCDWC]=0x01;
- while(XBYTE[LCDRC]=0x80);
- while(*mruga)
- {
- XBYTE[LCDWD]=*mruga;
- while(XBYTE[LCDRC]&0x80);
- mruga++;
- }
- XBYTE[LCDWD]=klawisz+'0';
- while(XBYTE[LCDRC]&0x80);
- XBYTE[LCDWD]='a';
- while(XBYTE[LCDRC]&0x80);
- }
- else
- {
- XBYTE[LCDWC]=0x01;
- while(XBYTE[LCDRC]&0x80);
- while(*niemruga)
- {
- XBYTE[LCDWD]=*niemruga;
- }
- }
- mruganie() interrupt 1
- {
- TH0=76;
- licznik++;
- if(licznik==klawisz*20)
- {
- P1_7 = !P1_7;
- licznik = 0;
- }
- }
- }
- void main(void)
- {
- unsigned char klawisze1, klawisze2;
- XBYTE[LCDWC]=0x01;
- while( XBYTE[LCDRC] & 0x80);
- TMOD=0x11; TR0=1; TR1=1; EA=1; ET0=1; ET1=1; PT0=1;
- while(1)
- {
- if ( (XBYTE[CSKB0] < 255) || (XBYTE[CSKB1] < 255) )
- {
- klawisze1 = XBYTE[CSKB0];
- klawisze2 = XBYTE[CSKB1];
- if(klawisze2 == 0x7f) ET0=1; // enter
- if(klawisze2 == 0xbf) {ET0=0; P1_7=1;};
- if(klawisze2 == 0xfe) {ET0=0; P1_7=0;};
- if(klawisze2 == 0xfd) {klawisze = 1; licznik =0;};// 1
- if(klawisze2 == 0xfb) {klawisze = 2; licznik =0;};
- if(klawisze2 == 0xf7) {klawisze = 3;};/ 3
- //itd
- }
- }
- }
Add Comment
Please, Sign In to add comment