Thông báo

Collapse
No announcement yet.

Nhúng ASM trong C

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

  • Nhúng ASM trong C

    Em có một đoạn code bằng C muốn nhúng một đoạn asm vào trong mà không được .Sau đây là một thí dụ .Em dịch mái không được. Mong các cao thủ chỉ cho em cái options for file để có thể dịch được đoạn mã C có chưa ASM

    #include<at89x52.h>
    void uart_init(void) // Set UART Baud Rate to 9600 bps
    {
    #pragma asm
    anl PCON,#0x7F // Clear SMOD of PCON, No Double Baud Rate
    anl TMOD,#0xAF // Clear C/T, M0 for Timer1 of TMOD
    orl TMOD,#0x20 // Set M1 for Timer1 of TMOD
    // Set Timer1 to Mode 2 (8-bit auto reload) for Baud Rate Generation
    mov TH1,#0xFD // Set Baud Rate to 9600 bps
    clr SM0 // Clear SM0 of SCON
    setb SM1 // Set SM1 of SCON
    // Set UART to Mode 1 (8-bit UART)
    setb REN // Set REN of SCON to Enable UART Receive
    setb TR1 // Set TR1 of TCON to Start Timer1
    setb TI // Set TI of SCON to Get Ready to Send
    clr RI // Clear RI of SCON to Get Ready to Receive
    #pragma endasm
    }
    void main()
    {
    while(1)
    {
    uart_init();
    }
    }
    Last edited by chuabietgi2; 20-04-2008, 20:30.
    Niềm vui của tôi là được học hỏi các bạn:))
    Nỗi buồn của tôi là hỏi các bạn không trả lời:((

  • #2
    Vào Source Group Option và chọn cái Generate Assembler SRC file
    Attached Files
    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
    Xem thêm tại Online Store ---> Click here
    Mob: 0982.083.106

    Comment


    • #3
      Cho em hỏi thêm chút.Em đã dịch được sang file hex roài .Nhưng ở chuơng trình phức tạp một chút .Nếu như mà nạp vào vi điều khiển là chạy không đúng hoặc là không chạy.Các anh có thể nói rõ hơn được khong ạ
      Niềm vui của tôi là được học hỏi các bạn:))
      Nỗi buồn của tôi là hỏi các bạn không trả lời:((

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X