Thông báo

Collapse
No announcement yet.

giúp tớ về lệnh trong C cho VDK

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

  • giúp tớ về lệnh trong C cho VDK

    tớ có học C trên lớp cơ bản thì oke.
    giờ viết cho vdk có 1 số cái mới
    tớ đã biết lệnh sau
    m=0x01 tức 0000 0001
    m<<=1;
    thì dịch 1 bít thành
    m=0x03 tức 0000 0010
    dịch tiếp thì 0000 0100
    vậy tớ hỏi
    +có lệnh nào mà khi m=1111 1110 khi dịch thì thành 1111 1101
    tiếp thì 1111 1011
    +khi m=0000 0001
    dịch thì dc 0000 0011
    tiếp thì 0000 0111
    thanks bro nha

  • #2
    mình nhớ ko nhầm thì trong thư viện intrins.h có lệnh _crol_ làm nhiệm vụ quay bit thành vòng, tức là các bít dịch trái 1 bit và bít đầu thành bít cuối, còn nếu mà chỉ dùng << or >> thì các vị trí khuyết sẽ bị chèn 0
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #3
      bạn thử làm thế này được không :
      Đảo bit------>dịch bit------------>đảo bit lại

      Comment


      • #4
        #ifndef __INTRINS_H__
        #define __INTRINS_H__

        extern void _nop_ (void); // tao tre 1 chu ky may
        extern bit _testbit_ (bit);
        extern unsigned char _cror_ (unsigned char, unsigned char); // xoay tron du lieu (char rotate right)
        extern unsigned int _iror_ (unsigned int, unsigned char); // integer rotate right
        extern unsigned long _lror_ (unsigned long, unsigned char); // long
        extern unsigned char _crol_ (unsigned char, unsigned char); // xoay trai du lieu (char rotate left)
        extern unsigned int _irol_ (unsigned int, unsigned char); // int
        extern unsigned long _lrol_ (unsigned long, unsigned char); // long
        extern unsigned char _chkfloat_(float);
        extern void _push_ (unsigned char _sfr); // nhap du lieu stack
        extern void _pop_ (unsigned char _sfr); // xuat du lieu stack

        #endif
        ////////////////////////////////////////////////
        Bạn add thư viện này vào sử dụng. Trong đó lệnh _cror_ là xoay phải còn _crol_ là xoay trái cho kiểu unsigned char mà bạn đang tìm. Mình copy cái đoạn code đó trong file intrins.c của keilc. Chúc vui!

        Comment


        • #5
          mình cũng học điện tử nhưng mà ko biết ngôn ngữ C chỉ biết asm thui, mình cũng muốn viết C lắm vì hầu như mọi người viết C rất nhiều có lẽ nó dễ nhưng khó học quá, bạn nào có tài liệu hay cách viết căn bản cho mình với!cảm ơn rất nhiều

          Comment


          • #6
            Đây tớ có chút tài liệu sưu tầm trên diễn đàn mình thôi , bạn đọc nhé :
            http://www.mediafire.com/file/i5g5rb...ap_trinh_c.rar

            Comment


            • #7
              #include<at89x51.h>
              #include<intrins.h>
              unsigned char a,b,j;
              void delay(int t){
              unsigned int i;
              for(i=0;i<t;i++);
              }
              void main(){
              a=0x7f;
              for(j=0;j<8;j++){
              b=_cror_(a,j);
              P2=b;
              delay(33000);
              }

              }
              yahoo: boulevard.electronic
              Học tập & nghiên cứu

              phần mềm mình upload lên để chia sẻ:

              Comment


              • #8
                Code:
                unsigned char a=0x7f;
                void main(void)
                {
                	while (1)
                	{			
                		        P0=a;
                			a=_cror_(a,1);			
                			delay(25000);			
                		
                	}
                }
                Dùng 1 biến char a;
                và tự quay vòng 1 bit là đc

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                • bqviet
                  Trả lời cho Đấu tắt điện cho máy tính bảng
                  bởi bqviet
                  Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                  06-12-2025, 17:17
                • nguyendinhvan
                  Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                  bởi nguyendinhvan
                  Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                  05-12-2025, 19:59
                • afrendly
                  Trả lời cho Đấu tắt điện cho máy tính bảng
                  bởi afrendly
                  Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                  04-12-2025, 01:27
                • nick22
                  Trả lời cho Máy điện châm ?
                  bởi nick22
                  Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
                  01-12-2025, 13:23
                Đang tải...
                X