/* 程式詳細功能介紹:
*利用取表的方法,使埠P0做單一燈的變化:左移2次,右移2次,閃爍2次(延時的時間0.2秒)。
*在用表格進行程式設計的時候,要用以下的指令來完成
*(1).利用MOV DPTR,#DATA16的指令來使資料指標暫存器指到表的開頭。
*(2).利用MOVC A,@A+DPTR的指令,根據累加器的值再加上DPTR的值,就可以使程式計數器PC指到表格內所要取出的資料。
*因此,只要把控制碼建成一個表,而利用MOVC 工,@A+DPTR做取碼的操作,
*就可方便地處理一些複雜的控制動作.
*/
#include
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0xff,0x00,0xff,
0x01};
unsigned char i;
void delay(void)
{
unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
while(1)
if(table[i]!=0x01)
P0=table[i];
i++;
delay();
else
i=0;
/* 程式詳細功能介紹:
*利用取表的方法,使埠P0做單一燈的變化:左移2次,右移2次,閃爍2次(延時的時間0.2秒)。
*在用表格進行程式設計的時候,要用以下的指令來完成
*(1).利用MOV DPTR,#DATA16的指令來使資料指標暫存器指到表的開頭。
*(2).利用MOVC A,@A+DPTR的指令,根據累加器的值再加上DPTR的值,就可以使程式計數器PC指到表格內所要取出的資料。
*因此,只要把控制碼建成一個表,而利用MOVC 工,@A+DPTR做取碼的操作,
*就可方便地處理一些複雜的控制動作.
*/
#include
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0xff,0x00,0xff,
0x01};
unsigned char i;
void delay(void)
{
unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
{
while(1)
{
if(table[i]!=0x01)
{
P0=table[i];
i++;
delay();
}
else
{
i=0;
}
}
}