30/09/2018, 16:14
Mọi người giúp em chuyển đoạn code c này sang Assembly với
#include <avr/io.h>
#include <avr/delay.h>
unsigned char k,i,j;
unsigned char data[80] =
{0xff, 0xf3, 0xed, 0xdd, 0xbb, 0xdd, 0xed, 0xf3, //trai tim
//---------------------------------------------------------------------
0xFF, 0xFF, 0xFF, 0xBD, 0x81, 0xBD, 0xFF, 0xFF, //I
0xFF, 0xFF, 0x81, 0xBF, 0xBF, 0xBF, 0xFF, 0xFF, //L
0xFF, 0xFF, 0xC3, 0xBD, 0xBD, 0xBD, 0xC3, 0xFF, //O
0xFF, 0xFF, 0xE1, 0xDF, 0xBF, 0xDF, 0xE1, 0xFF, //V
0xFF, 0xFF, 0x81, 0xAD, 0xAD, 0xBD, 0xFF, 0xFF, //E
0xFF, 0xFF, 0xFD, 0xFB, 0x87, 0xFB, 0xFD, 0xFF, //Y
0xFF, 0xFF, 0xC3, 0xBD, 0xBD, 0xBD, 0xC3, 0xFF, //O
0xFF, 0xFF, 0xC1, 0xBF, 0xBF, 0xBF, 0xC1, 0xFF, //U
//---------------------------------------------------------------------
0xff, 0xf3, 0xed, 0xdd, 0xbb, 0xdd, 0xed, 0xf3, //trai tim
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; //NULL
int main(void)
{
DDRB =0xFF;
DDRD =0xFF;
PORTB = 0x00;
PORTD = 0xFF;
while(1)
{
for(k=0;k<72;k++)
{
for(j=0;j<20;j++)
{
for(i=0;i<8;i++)
{
PORTB = power(2,i);
PORTD = data[i+k];
_delay_ms(1);
}
}
}
}
}
// ham tinh so mu
int power(int ix, int in)
{
int j, ip = 1;
for(j = 1; j <= in; j++)
ip *= ix;
return ip;
}
Bài liên quan
@ltd cao nhân vào giúp em với anh.
Em dán code này vào trong Visual Studio, xong chạy debug, trong lúc debug nó cho phép em hiện thị ở dạng Assembly đó.
vâng.thanks anh.tại assembly em học qua lâu rồi mà ko xem lại nên giờ ko nhớ lắm.
led matrix trên avr hả bác
Bác này lại muốn private mã nguồn đây mà.
Build xong nó tự xuất mã asm.