Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <REGX52.H>
- void uart_init()
- {
- //Ustawic SCON
- //Ustawic przerwania
- //Ustawic rejestry przerwan wysylania i odbierania
- //Ustawic timer
- TMOD = 0x20; /* Timer 1, 8-bit auto reload mode */
- TH1 = 0xFD; /* Load value for 9600 baud rate */
- SCON = 0x50; /* Mode 1, reception enable */
- TR1 = 1;
- //timer_init();
- // konfiguracja przerwan
- ES = 1; // wlaczenie IRQ portu szeregowego
- EA = 1;
- P3_4 = 0;
- TI = 0; //ustawia flage transmiosji
- RI =0 ;
- }
- void uart_send(char c)
- {
- P3_4 = 1;
- SBUF = c; /* Load char in SBUF register */
- while (TI==0); /* Wait until stop bit transmit */
- TI = 0;
- //Zmieniac na tryb nadawania
- //Dopisac
- //Zmieniac na tryb nasluchiwania
- P3_4 = 0;
- }
- void uart_sendbuffer(char * buffer, unsigned int count)
- {
- unsigned int i = 0;
- for(i = 0; i < count; i++)
- uart_send(buffer[i]);
- }
- //Po odpowiednim ustawieniu
- //funkcja ta wykona sie gdy odebrany zostanie bajt danych
- //BARDZO WAZNE JA USTAWIC (wyzerowac rejestry) NAWET JAK TYLKO NADAJE
- void ISR_Serial (void) interrupt 4
- {
- P1 = 1;
- P1 = SBUF;
- if (RI == 1)
- {
- // tutaj wykonac odczytanie odebranego komunikatu z SBUF
- RI = 0;
- }
- /* Give received data on port 1 */
- /* Clear RI flag */
- }
- char * buffer [4] = {"Michal"};
- char * buffer1 [6] = {"Stachera"};
- char * buffer2 [7] = {"23.06.2019"};
- char * buffer3 [10] = {"I7Y6S1"};
- void sleep (int liczba){
- int i = 0;
- for(i = 0; i <liczba ; i++){
- ;
- }
- }
- unsigned char counter = 0;
- void main(void)
- {
- uart_init();
- P3_4 = 0; //Tryb nasluchiwania
- while(1)
- {
- P2 = ~(0x80 >> (counter++ % 4));
- //Przycisk 1
- if(P2_4 == 0 && P2_3 == 0)
- {
- uart_send(0x01);
- uart_sendbuffer(buffer[0],6);
- uart_send('\0');
- sleep(5000);
- //uart_send(???)
- //uart_sendbuffer(buffer[0], 10);
- //uart_send(???)
- //P0_0 = ~P0_0;
- }
- if(P2_4 == 0 && P2_2 == 0 ){
- uart_send(0x02);
- uart_sendbuffer(buffer1[0],8);
- uart_send('\0');
- sleep(5000);
- }
- if(P2_5 == 0 && P2_3 ==0){
- uart_send(0x04);
- uart_sendbuffer(buffer3[0],6);
- uart_send('\0');
- sleep(5000);
- }
- //Przycisk 9
- if(P2_1 == 0 && P2_6 == 0)
- {
- uart_send(0x03);
- uart_sendbuffer(buffer2[0],10);
- uart_send('\0');
- sleep(5000);
- }
- P3_4 = 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement