Thông báo

Collapse
No announcement yet.

Lập trình C cho VĐK, Cần anh em giúp!!!!!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lập trình C cho VĐK, Cần anh em giúp!!!!!

    hiện tôi muốn học lập trình C cho VĐK mà không biết bấc đầu từ đâu. anh chia sẽ kinh nghiệm giúp tôi với? có tài liệu thì càng tốt!!!!
    Cám ơn các pác trước nha!!

  • #2
    Bạn đọc qua cái này thử, tài liệu của anh Vagam-giotdang viết, rất cơ bản:
    Lập trình C cho vxl
    - Mạch nạp vdk 8051, AVR, PIC, EEPROM
    - Linh kiện điện tử cho sinh viên


    Comment


    • #3
      các bác xem hộ đoạn code này với nó báo lỗi mình không biết sửa thế nào nữa

      #include <AT89X52.H>
      #include<string.h>
      sbit button = 0xB4;
      sfr LCDdata = 0x80;
      sbit BF = 0x87;
      sbit RS = 0xA2;
      sbit RW = 0xA1;
      sbit EN = 0xA0;
      //1000 diem xung de tao song sin
      unsigned char ma[1000]={128 , 129 , 130 , 130 , 131 , 132 , 133 , 134 , 134 , 135,
      136 , 137 , 138 , 138 , 139 , 140 , 141 , 142 , 142 , 143,
      144 , 145 , 146 , 146 , 147 , 148 , 149 , 150 , 150 , 151 ,
      152 , 153 , 154 , 154 , 155 , 156 , 157 , 157 , 158 , 159 ,
      160 , 161 , 161 , 162 , 163 , 164 , 164 , 165 , 166 , 167 , 168 , 168 , 169,
      170 , 171 , 171 , 172 , 173 , 174 , 174 , 175 , 176 , 177 , 177 , 178 , 179 ,
      180 , 180 , 181 , 182 , 182 , 183 , 184 , 185 , 185 , 186 , 187 , 188 , 188,
      189 , 190 , 190 , 191 , 192 , 192 , 193 , 194 , 195 , 195 , 196 , 197 , 197 ,
      198 , 199 , 199 , 200 , 201 , 201 , 202 , 203 , 203 , 204 , 204 , 205 , 206 ,
      206 , 207 , 208 , 208 , 209 , 210 , 210 , 211 , 211 , 212 , 213 , 213 , 214 ,
      214 , 215 , 216 , 216 , 217 , 217 , 218 , 218 , 219 , 220 , 220 , 221 , 221 ,
      222 , 222 , 223 , 223 , 224 , 225 , 225 , 226 , 226 , 227 , 227 , 228 , 228 ,
      229 , 229 , 230 , 230 , 231 , 231 , 232 , 232 , 232 , 233 , 233 , 234 , 234 , 235 ,
      235 , 236 , 236 , 236 , 237 , 237 , 238 , 238 , 239 , 239 , 239 , 240 , 240,
      241 , 241 , 241 , 242 , 242 , 242 , 243 , 243 , 243 , 244 , 244 , 244 , 245,
      245 , 245 , 246 , 246 , 246 , 247 , 247 , 247 , 248 , 248 , 248 , 248 , 249,
      249 , 249 , 249 , 250 , 250 , 250 , 250 , 251 , 251 , 251 , 251 , 252 , 252 ,
      252 , 252 , 252 , 253 , 253 , 253 , 253 , 253 , 253 , 254 , 254 , 254 , 254 ,
      254 , 254 , 254 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255,
      255 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256,
      256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256 , 256,
      256 , 256 , 256 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255,
      254 , 254 , 254 , 254 , 254 , 254 , 254 , 253 , 253 , 253 , 253 , 253 , 253 , 252,
      252 , 252 , 252 , 252 , 251 , 251 , 251 , 251 , 250 , 250 , 250 , 250 , 250 ,
      249 , 249 , 249 , 248 , 248 , 248 , 248 , 247 , 247 , 247 , 246 , 246 , 246 ,
      246 , 245 , 245 , 245 , 244 , 244 , 244 , 243 , 243 , 242 , 242 , 242 , 241 ,
      241 , 241 , 240 , 240 , 239 , 239 , 239 , 238 , 238 , 237 , 237 , 237 , 236,
      236 , 235 , 235 , 234 , 234 , 233 , 233 , 233 , 232 , 232 , 231 , 231 , 230,
      230 , 229 , 229 , 228 , 228 , 227 , 227 , 226 , 226 , 225 , 225 , 224 , 224,
      223 , 223 , 222 , 221 , 221 , 220 , 220 , 219 , 219 , 218 , 217 , 217 , 216,
      216 , 215 , 215 , 214 , 213 , 213 , 212 , 212 , 211 , 210 , 210 , 209 , 208,
      208 , 207 , 207 , 206 , 205 , 205 , 204 , 203 , 203 , 202 , 201 , 201 , 200 ,
      199 , 199 , 198 , 197 , 197 , 196 , 195 , 195 , 194 , 193 , 193 , 192 , 191,
      191 , 190 , 189 , 188 , 188 , 187 , 186 , 186 , 185 , 184 , 183 , 183 , 182,
      181 , 180 , 180 , 179 , 178 , 178 , 177 , 176 , 175 , 175 , 174 , 173 , 172,
      172 , 171 , 170 , 169 , 168 , 168 , 167 , 166 , 165 , 165 , 164 , 163 , 162,
      162 , 161 , 160 , 159 , 158 , 158 , 157 , 156 , 155 , 155 , 154 , 153 , 152,
      151 , 151 , 150 , 149 , 148 , 147 , 147 , 146 , 145 , 144 , 143 , 143 , 142,
      141 , 140 , 139 , 139 , 138 , 137 , 136 , 135 , 135 , 134 , 133 , 132 , 131 ,
      131 , 130 , 129 , 128 , 127 , 127 , 126 , 125 , 124 , 123 , 123 , 122 , 121,
      120 , 119 , 119 , 118 , 117 , 116 , 115 , 115 , 114 , 113 , 112 , 111 , 111,
      110 , 109 , 108 , 107 , 107 , 106 , 105 , 104 , 103 , 103 , 102 , 101 , 100,
      100 , 99 , 98 , 97 , 96 , 96 , 95 , 94 , 93 , 93 , 92 , 91 , 90 , 89 , 89,
      88 , 87 , 86 , 86 , 85 , 84 , 83 , 83 , 82 , 81 , 80 , 80 , 79 , 78 , 77,
      77 , 76 , 75 , 74 , 74 , 73 , 72 , 72 , 71 , 70 , 69 , 69 , 68 , 67 , 67,
      66 , 65 , 64 , 64 , 63 , 62 , 62 , 61 , 60 , 60 , 59 , 58,
      58 , 57 , 56 , 56 , 55 , 54 , 54 , 53 , 52,
      52 , 51 , 50 , 50 , 49 , 48 , 48,
      47 , 47 , 46 , 45 , 45 , 44 , 44 , 43 , 42 , 42 , 41 , 41,
      40 , 39 , 39 , 38 , 38 , 37 , 37 , 36 , 35 , 35 , 34,
      34 , 33 , 33 , 32 , 32 , 31 , 31 , 30 , 30 , 29 , 29 , 28,
      28 , 27 , 27 , 26 , 26 , 25 , 25 , 24 , 24 , 23 , 23 , 22 , 22 , 21,
      21 , 21 , 20 , 20 , 19 , 19 , 18 , 18 , 18,
      17 , 17 , 16 , 16 , 16 , 15 , 15 , 14 , 14 , 14 , 13 , 13,
      13 , 12 , 12 , 12 , 11 , 11 , 11 , 10 , 10 , 10 , 9 , 9 , 9 , 9 , 8 , 8 , 8 ,
      7 , 7 , 7 , 7 , 6 , 6 , 6 , 6 , 5 , 5 , 5 , 5 , 5 , 4 , 4 , 4,
      4 , 4 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1,
      1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,
      0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
      0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 ,
      2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 ,
      5 , 5 , 5 , 5 , 5 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 8 , 8 , 8 , 9 ,
      9 , 9 , 9 , 10 , 10 , 10 , 11 , 11 , 11 , 12 ,
      12 , 12 , 13 , 13 , 13 , 14 , 14 , 15 , 15 , 15 , 16 , 16 , 16 , 17 ,
      17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22 ,
      23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 ,
      28 , 29 , 29 , 30 , 30 , 31 , 31 , 32 , 32 , 33 ,
      33 , 34 , 34 , 35 , 36 , 36 , 37 , 37 , 38 , 38 ,
      39 , 40 , 40 , 41 , 41 , 42 , 42 , 43 , 44 , 44 , 45 , 46 , 46 ,
      47 , 47 , 48 , 49 , 49 , 50 , 51 , 51 , 52 , 52,
      53 , 54 , 54 ,
      55 , 56 , 56 , 57 , 58 , 58 , 59 , 60 , 60 , 61,
      62 , 63 , 63 , 64 , 65 , 65 , 66 , 67 ,
      67 , 68 , 69 , 70 , 70 , 71 , 72 , 72 , 73 , 74 , 75 , 75 , 76 , 77 , 78,
      78 , 79 , 80 , 81 , 81 , 82 , 83 , 84 , 84 , 85 , 86 , 87 , 87 , 88 ,
      89 , 90 , 90 , 91 , 92 , 93 , 93 , 94 , 95 , 96 , 97 ,
      97 , 98 , 99 , 100 , 100 , 101 , 102 , 103 , 104 , 104 , 105 , 106,
      107 , 108 , 108 , 109 , 110 , 111 , 112 , 112 , 113 , 114 , 115 ,
      116 , 116 , 117 , 118 , 119 , 120 , 120 , 121 , 122 , 123 , 124 , 124,
      125 , 126 , 127};

      //ham delay
      void delay(long time)
      {
      long n;
      for(n=0;n<time;n++)
      {
      ;
      }
      }
      //ham kiem tra co bao ban LCD
      void wait(void)
      {
      long n=0;
      EN = 1;
      RS = 0;
      RW = 1;
      LCDdata = 0xFF;
      while(BF)
      {
      n++;
      if ( n>100 ) break;
      }
      EN = 0;
      RW = 0;
      }
      //ham gui lenh dieu khien lcd
      void LCDcontrol(unsigned char x)
      {
      EN = 1;
      RS = 0;
      RW = 0;
      LCDdata=x;
      EN = 0;
      wait();
      }
      //ham ghi du lieu len lcd
      void LCDwrite(unsigned char c)
      {
      EN = 1;
      RS = 1;
      RW = 0;
      LCDdata = c;
      EN = 0;
      wait();
      }
      //ham ghi 1 dong chu len LCD
      void LCDputs(unsigned char *s,unsigned char row)
      {
      unsigned char len;
      if ( row == 1) LCDcontrol(0x80);
      else LCDcontrol(0xC0);
      len = strlen(s);
      while(len!=0)
      {
      LCDwrite(*s);
      s++;
      len--;
      }
      }
      //ham khoi tao lcd
      void LCDinit(void)
      {
      LCDcontrol(0x30);
      LCDcontrol(0x30);
      LCDcontrol(0x30);
      LCDcontrol(0x38);
      LCDcontrol(0x0C);
      LCDcontrol(0x06);
      LCDcontrol(0x01);
      }
      //ham khoi tao timer0
      void khoitaotimer0(void)
      {
      EA=0;
      TMOD=0x02;
      TH0=0x9B;
      TL0=0x9B;
      ET0=1;
      EA=1;
      TR0=1;
      }
      //ham ngat ngoai dung timer0
      unsigned char chedo=0;
      void ngatngoai0(void)interrupt 1
      {
      TR0=0;
      TF0=0;
      button=1;
      if (button==0)chedo++;
      if (chedo > 1)
      chedo=0;
      TR0=1;
      }
      //ham hien thi led che do 1
      void hthi1()
      {
      unsigned char y;
      for(y=0;y<1000;y++)
      {
      P1=ma[y];
      delay(1000);
      }
      }
      //ham hien thi led che do 2
      void hthi2()
      {
      unsigned char y;
      for(y=0;y<1000;y++)
      {
      P1=ma[y];
      delay(2000);
      }
      }
      //ham chuong trinh chinh
      void main()
      {
      LCDinit();
      khoitaotimer0();
      while(1)
      {
      //ngatngoai0();
      if (chedo==0){LCDputs("may tao song sin",1);
      LCDputs("tan so 20hz",2);
      hthi1();}
      if (chedo==1){LCDputs("may tao song sin",1);
      LCDputs("tan so 50hz",2);
      hthi2();}
      }
      }
      |

      Comment


      • #4
        chổ này nè unsigned char ma[1000] nên sửa thành unsigned char code ma[1000]
        unsigned char thì chỉ 256 thôi 1000 thì chụi.

        Comment


        • #5
          cám ơn mấy bác em đã sửa được rồi nhưng khi xuất ra file hex em mô phỏng thì khi nhấn nút nó không chuyển qua chế độ 2 nhờ mấy bác giúp hộ
          |

          Comment

          Về tác giả

          Collapse

          levanle1_1 Tìm hiểu thêm về levanle1_1

          Bài viết mới nhất

          Collapse

          Đang tải...
          X