Advertisement
Guest User

ia2

a guest
Apr 23rd, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. ///1
  2.  
  3. #include <xc.h>
  4. __PROG_CONFIG(1,0x3FE4);
  5. __PROG_CONFIG(2,0x1EFF);
  6. unsigned char a;
  7. unsigned long b;
  8. void init_uC(void);
  9. void main(void)
  10. {
  11. init_uC();
  12. while(1)
  13. {
  14. for(a=0x0;a<0x80;a<<=1)
  15. PORTA=a;
  16. for(b=0;b<52408;b++)
  17. {
  18. while(!TMR0IF);
  19. TMR0=245
  20. TMR0IF=0;
  21. }
  22. }
  23. for(a=0x80;a>0x01;a>>=1)
  24. {
  25. PORTA=a;
  26. for(b=0;b<52408;b++)
  27. {
  28. while(!TMR0IF);
  29. TMR0=245;
  30. TMR0IF=0;
  31. }
  32. }
  33. }
  34. }
  35. void init_uC(void)
  36. {
  37. OSCCON=0x7B;
  38. TRISA=0b00000000;
  39. ANSELA=0x00;
  40. PORTA=0b00000000;
  41. OPTION_REG=0b00000001;
  42. TMR0IF=0;
  43. TMR0=245;
  44. }
  45.  
  46.  
  47.  
  48.  
  49. ///2
  50. #include <xc.h>
  51. __PROG_CONFIG(1,0xFE4);
  52. __PROG_CONFIG(2,0x1EFF);
  53. #define LED1 RB0;
  54. #define LED2 RB1;
  55. #define LED3 RB2;
  56. #define LED4 RB3;
  57. unsigned char n;
  58. unsigned long y;
  59. void init_uC(void);
  60. void interrupt etti(void);
  61. void main(void)
  62. {
  63. init_uC();
  64. while(1);
  65. {
  66. switch(n)
  67. {
  68. case 0: LED1=0;
  69. LED2=1;
  70. LED3=0;
  71. LED4=0;
  72. break;
  73. case 1: LED1=1;
  74. LED2=0;
  75. LED3=0;
  76. LED4=0;
  77. break;
  78. case 2: LED1=1;
  79. LED2=0;
  80. LED3=1;
  81. LED4=0;
  82. break;
  83. case 3: LED1=0;
  84. LED2=0;
  85. LED3=0;
  86. LED4=0;
  87. break;
  88. case 4: LED1=0;
  89. LED2=0;
  90. LED3=0;
  91. LED4=1;
  92. break;
  93. }
  94. }
  95. }
  96. void init_uC(void)
  97. {
  98. OSCCON=0x6B;
  99. TRISB=0b00000000;
  100. ANSELB=0x00;
  101. PORTB=0b00000000;
  102. OPTION_REG=0b00000001;
  103. TMR0IF=0;
  104. TMR0=5;
  105. TMR0IE=1;
  106. GIE=1;
  107. }
  108. void interrupt etti(void)
  109. {
  110. if(TMR0IF)
  111. {
  112. TMR0IF=0;
  113. TMR0=5;
  114. }
  115. if(n<5)
  116. n++;
  117. else
  118. n=0;
  119. }
  120.  
  121.  
  122.  
  123.  
  124. ///3
  125. #include <xc.h>
  126. __PROG_CONFIG(1,0x3FE4);
  127. __PROG_CONFIG(2,0x3703);
  128. #define buton RA0
  129. unsigned char a;
  130. unsigned char v[10
  131.  
  132.  
  133. #include <xc.h>
  134. __PROG_CONFIG(1,0x3FE4);
  135. __PROG_CONFIG(2,0x1EFF);
  136. unsigned char a, b=0;
  137. unsigned char v[10] = { 0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09};
  138. unsigned int nr,up,down;
  139. void init (void);
  140. void interrupt ia2(void);
  141. void main(void)
  142. {
  143. init();
  144. while (1)
  145. {
  146. up=1;
  147. down=0;
  148. PORTC=v[nr/10];
  149. PORTB=v[nr%10];
  150. if(!buton)
  151. {
  152. nr=0;
  153. while(up)
  154. {
  155. if(a< 20)
  156. {
  157. a = 0;
  158. nr++;
  159. if(nr==15)
  160. {
  161. up=0;
  162. down=1;
  163. }
  164. PORTB = v[nr/10];
  165. PORTC= v[nr%10];
  166. }
  167. while(down)
  168. {
  169. while(a<25);
  170. a=0;
  171. nr--;
  172. if(nr==0)
  173. {
  174. down=0;
  175. up=1;
  176. }
  177. PORTB=v[nr/10];
  178. PORTC=v[nr%10];
  179. }
  180. }
  181. }
  182. }
  183. void init (void)
  184. {
  185. OSCCON=0x73;
  186. ANSELB = 0x00;
  187. TRISC=0x04;
  188. ANSELA=0x00;
  189. TRISB = 0x00;
  190. TRISC=0x00;
  191. PORTB = 0xFF;
  192. PORTC=0xFF;
  193. T1CON = 0x11;
  194. TMR1IE = 1;
  195. PEIE = 1;
  196. GIE = 1;
  197. }
  198. void interrupt ia2(void)
  199. {
  200. if(TMR1IF)
  201. {
  202. TMR1IF = 0;
  203. TMR1H = 0x3C;
  204. TMR1L = 0xAF;
  205. a++;
  206. }
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement