Advertisement
Guest User

Untitled

a guest
May 20th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. // Autor: dr inz. Krzysztof Murawski
  2. #include <REGX52.H>
  3.  
  4. extern void LcdInit();
  5. extern void LcdWelcome();
  6. extern void Lcd_Cursor (char row, char column);
  7. extern void Lcd_DisplayCharacter (char a_char);
  8. extern void Lcd_DisplayString (char row, char column, char *string);
  9. extern void Lcd_WriteControl (unsigned char LcdCommand);
  10. void Lcd_DisplayRow (char row, char *string);
  11. void wypisz_od(int row , int column);
  12.  
  13. unsigned char data Var1, Var2, Var3;
  14. volatile unsigned char data Bufor[] = {"Bartlomiej Sikora"};
  15. volatile unsigned char data licznik = 0;
  16.  
  17. int row;
  18. int column;
  19. int k;
  20. int rozmiar;
  21. /*void ISR_INT0(void) interrupt 0
  22. {
  23. licznik++;
  24. if(licznik == 10) {licznik = 0;}
  25. Lcd_Cursor (3,12);
  26. Lcd_DisplayCharacter ('0'+licznik);
  27. Lcd_WriteControl(0x0C);
  28. }*/
  29.  
  30. void Init(void)
  31. {
  32. rozmiar = sizeof(Bufor)/sizeof(char)-1;
  33. row = 1;
  34. column = 1;
  35. k = 1;
  36. EA = 1;
  37. EX0=1 ; //przerwanie numer 0 z portu P3_2 (0
  38. EX1=1;//przerwanie numer 1 z port P3_3 (2
  39. IT0=1;//przerwanie 0 na zbocze opadajace
  40. IT1=1;//przerwanie 1 na zbocze opadajace
  41. LcdWelcome(); // wyswietlenie powitania
  42. wypisz_od(row , column);
  43. }
  44.  
  45. void button1 () interrupt 0{
  46. //LcdWelcome(); // wyswietlenie powitania
  47. if(--column == 0)
  48. {
  49. column = 16;
  50. if(--row == 0)
  51. row =4;
  52. }
  53. //wypisz_od(row , column);
  54. }
  55.  
  56. void button2 () interrupt 2{
  57. //LcdWelcome();
  58. if(++column == 17)
  59. {
  60. column = 1;
  61. if(++row == 5)
  62. row =1;
  63. }
  64. //wypisz_od(row , column);
  65.  
  66. }
  67.  
  68. void wypisz_od(int row , int column){
  69. int a = 0;
  70. int r = row;
  71. int c = column;
  72. for(;a < rozmiar;a++)
  73. {
  74. Lcd_Cursor ( r, c);
  75. Lcd_DisplayCharacter (Bufor[a]);
  76. if(++c == 17)
  77. {
  78. c = 1;
  79. if(++r == 5)
  80. r =1;
  81. }
  82. }
  83. }
  84.  
  85. void main(void)
  86. {
  87.  
  88. LcdInit(); // Zainicjowanie rejestrów wyœwietlacza LCD
  89. Init();
  90. while(1) {
  91. if(k != column){
  92. LcdWelcome();
  93. wypisz_od(row , column);
  94. k = column;
  95. }
  96.  
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement