java增刪改查思路 51單片機(jī)的查表法,的,原理是,什么 ?透徹點給解釋下吧?
51單片機(jī)的查表法,的,原理是,什么 ?透徹點給解釋下吧?查找表方法是將一些固定數(shù)據(jù)存儲在程序內(nèi)存中。當(dāng)您的程序需要這些數(shù)據(jù)時,MOVC指令會讀取這些數(shù)據(jù)。例如,假設(shè)您的系統(tǒng)使用數(shù)碼管顯示0-9的10
51單片機(jī)的查表法,的,原理是,什么 ?透徹點給解釋下吧?
查找表方法是將一些固定數(shù)據(jù)存儲在程序內(nèi)存中。當(dāng)您的程序需要這些數(shù)據(jù)時,MOVC指令會讀取這些數(shù)據(jù)。例如,假設(shè)您的系統(tǒng)使用數(shù)碼管顯示0-9的10個數(shù)字,并且假設(shè)10個數(shù)字的代碼中斷(打開時IO端口的相應(yīng)級別)分別為0xc0、//“0”0xf9、//“1”0xa4、//“2”0xb0、//“3”0x99、//“4”0x92、//“5”。有兩種方法存儲此數(shù)據(jù),一種是以10字節(jié)(數(shù)據(jù)常量)存儲數(shù)據(jù)區(qū)中的數(shù)據(jù),但這將占用數(shù)據(jù)內(nèi)存空間。另一種方法是將這些不變的數(shù)字放入程序空間,必要時在程序空間中讀取。這稱為表查找。換句話說,在程序空間中創(chuàng)建一個表。假設(shè)您需要為9的值中斷代碼,轉(zhuǎn)到表并檢查與9對應(yīng)的數(shù)據(jù)。
匯編語言里面的查表法是什么意思啊。在單片機(jī)里面是怎么運行的啊~~~~?
51 MCU匯編語言中有一條查表指令:movca,@a dptr,不能單獨使用,應(yīng)與DB偽指令一起使用。例如,如果累加器a中有一個從0到9的數(shù)字,請用查表法找出該數(shù)字的平方值,并將該平方表的頭地址設(shè)為1000h,步驟如下:-movdptr,#1000hmovca,@a dptr Org1000hdb0,1,4,9,16,25……“-“-DB”,在rom1000h中,按順序存儲一系列“正方形”數(shù)據(jù)。如果a在movca中,@a dptr指令等于0,則取“平方”中的第0個數(shù)據(jù),即0;如果a在movca中,@a dptr指令等于1,則取“平方”中的第1個數(shù)據(jù),即1;如果a在movca中,@a dptr指令等于2,則取“平方”中的第2個數(shù)據(jù),即4;如果a在dptr指令中,則取a等于3時,第三個從“平方”數(shù)據(jù)中取出,在movca中是9,@dptr指令,如果a等于9,第九個從“平方”數(shù)據(jù)中取出,是81。