Advertisement
Guest User

Untitled

a guest
May 25th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. #include <msp430.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4. #include <i2c.h>
  5. #include <oled.h>
  6. #include <fonts.h>
  7. #include <stdlib.h>
  8. int tijd = 0;
  9. float spanning = 0;
  10. int value = 0;
  11. int value2 = 0;
  12. int start = 0;
  13. int p = 0;
  14. int sr = 0;
  15. int displaycounter = 0;
  16. float stroom = 0;
  17. float vermogen = 0;
  18. float e = 0;
  19. char buffer[33];
  20. float stroomberekening(wrd2, wrd3){
  21. stroom = (wrd2-wrd3)/0.2;
  22. return stroom;
  23. }
  24. float vermogenovertijd(wrd4){
  25. vermogen = stroom*wrd4;
  26. return vermogen;
  27. }
  28. float energie(wrd5){
  29. e = wrd5*(tijd/10);
  30. return e;
  31. }
  32. float berekening(wrd){
  33. spanning = (2,5*wrd)/1023;
  34. return spanning;
  35. }
  36.  
  37. int main(void)
  38. {
  39. P2OUT &= ~(BIT1 | BIT2);
  40. P2REN |= BIT1 | BIT2;
  41. P2IE |= 0b11111111;
  42. P2DIR = BIT1 | BIT2;
  43. DCOCTL = 0;
  44. BCSCTL1 = CALBC1_16MHZ; // Set range
  45. DCOCTL = CALDCO_16MHZ; // Set DCO step + modulation // Set DCO step + modulation */
  46. WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
  47. ADC10CTL0 = SREF_1 | REFON | ADC10ON | ADC10IE | REF2_5V;
  48. ADC10CTL1 = ADC10DIV_0 ;
  49. TA0CTL = TAIE | TASSEL_2 | MC_0;
  50. TA0CCR0 = 1600000;
  51. __enable_interrupt();
  52. while(1){
  53. LPM0;
  54. }
  55.  
  56. }
  57. #pragma vector = PORT2_VECTOR
  58. __interrupt void InterruptVectorPort2(void){
  59. TA0CTL = MC_1;
  60. iff();
  61. P2IFG = BIT0;
  62. }
  63. #pragma vector = TIMER0_A1_VECTOR
  64. __interrupt void timer(void){
  65. TA0CTL &= ~TAIFG;
  66. tijd += 1;
  67. if((tijd%2)==0){ //5x per seconde proben
  68. ADC10CTL1 = INCH_4;
  69. ADC10CTL0 |= ENC | ADC10SC;
  70. TA0CTL &= ~TAIFG;
  71. value = ADC10MEM;
  72.  
  73. }
  74. else if((tijd%1)==0){ //de resterende keren proberen
  75. ADC10CTL1 = INCH_5;
  76. ADC10CTL0 |= ENC | ADC10SC;
  77. TA0CTL &= ~TAIFG;
  78. value2 = ADC10MEM;
  79.  
  80. }
  81.  
  82. }
  83. #pragma vector = ADC10_VECTOR
  84. __interrupt void ADC_converter(void)
  85. {
  86.  
  87. }
  88. void iff(void){
  89. oledInitialize();
  90. oledClearScreen();
  91. sr++;
  92. itoa(sr, buffer);
  93. oledPrint(10, 10,buffer, big);
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement