浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術資料 » 傳感與控制

智能儀表多字節(jié)二進制數(shù)轉(zhuǎn)換BCD碼

發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):1241

  作者:湖南大學電氣與信息工程系 鄧 勇 劉 琪來源:《電子產(chǎn)品世界》

摘要:多字節(jié)無符號二進制數(shù)轉(zhuǎn)bcd碼在以單片機為核心的智能儀表中應用很普遍。本文介紹一種新的轉(zhuǎn)換方法,并給出三字節(jié)二進制數(shù)轉(zhuǎn)bcd碼的源程序,該程序執(zhí)行時間僅為原來的1.3%,效率提高顯著。 關鍵詞:多字節(jié)二進制整數(shù) bcd碼 轉(zhuǎn)換 一、引言 在以mcs-51單片機為核心的智能儀表系統(tǒng)中,常遇到二進制整數(shù)轉(zhuǎn)換為bcd碼的情況。國內(nèi)許多單片機書籍都對此進行了介紹并給出了子程序,但效率不高。本文參考文獻作者剖析了二進制整數(shù)轉(zhuǎn)bcd碼的子程序,分析了程序效率低的原因,給出了改進后的源程序,效率有所提高。以3字節(jié)的二進制整數(shù)為例,程序執(zhí)行時間由2.856ms減小到2.410ms。還有沒有其它的辦法進一步大幅度減少轉(zhuǎn)換設計時間?本文介紹一種新的程序設計思路,給出的源程序?qū)?字節(jié)二進制整數(shù)轉(zhuǎn)bcd碼執(zhí)行時間僅為0.374ms。

二、改進思路 由進制數(shù)轉(zhuǎn)bcd碼的原理可知,這一轉(zhuǎn)換的實現(xiàn)的過程是(以3字節(jié)為例):首先把結(jié)果單元(這里是4個字節(jié))清零,然后將待轉(zhuǎn)換的二進制數(shù)的最高位移入進位位c,把結(jié)果單元的值進行乘2加c運算的值又作為結(jié)果單元的值,循環(huán)24次后得出轉(zhuǎn)換的bcd碼。如果能完全避開效率運行的時間。這可用下例來說明: 設結(jié)果單元某時的值為3456h,分別存放在r1、r2中,用如下的程序來完成結(jié)果單元乘2加(設c的當前值為1): mov a,r1 addc a,acc da a mov r1,a mov a,r2 addc a,acc da a mov r2,a 程序中使用addc a,acc指令完成乘2加c的工作,經(jīng)過執(zhí)行上面的程序,進位位c的值為0,r1、r2單元中的內(nèi)容分別為69h、13h,該值即為結(jié)果單元的值。這樣就使程序避免了循環(huán)而又實現(xiàn)了結(jié)果單元乘2加c的功能。這個例子的結(jié)果單元為2字節(jié),隨著進一步的運算,結(jié)果單元會變?yōu)?字節(jié)并最終變?yōu)?字節(jié)(以二進制數(shù)是3字節(jié)為例)。只要在程序中加以適當?shù)目刂,則可避免過多的運算,從而使轉(zhuǎn)換的速度加快。

三、源程序 程序名:fbcd 程序功能:將三字節(jié)二進制數(shù)轉(zhuǎn)換為bcd碼。 程序入口:20h,21h,22h, 存放被轉(zhuǎn)換的三字節(jié)二進制數(shù)。 程序出口為r1,r2,r3,r4,存放轉(zhuǎn)換的bcd碼的結(jié)果(見程序清單)。

四、結(jié)語 為了盡可能地減少轉(zhuǎn)換時間,使用了一些小技巧。例如:在程序開始轉(zhuǎn)換二進制數(shù)前3位時,考慮到這3位在進行乘2加c的操作時不會有進位位,則使用3條rl a,完成了前3位的轉(zhuǎn)換。該程序完成3字節(jié)二進制無符號整數(shù)轉(zhuǎn)bcd碼所需時間僅為374微秒,轉(zhuǎn)換時間縮短為原來的13%,效率提高是顯著的。另外,該程序比較靈活,程序中標注(****)處,已完成了2字節(jié)二進制整數(shù)轉(zhuǎn)三字節(jié)的bcd碼,程序執(zhí)二字節(jié)二進制數(shù)轉(zhuǎn)bcd碼所需時間僅為194微秒,使用一條mov r1,a指令,則轉(zhuǎn)換結(jié)果按由高到低的次序依次存放在r1,r2,r3中。當然,很容易在此程序基礎之上,實現(xiàn)4字節(jié)或更高字節(jié)無符號二進制整數(shù)向bcd碼的轉(zhuǎn)換。

 
作者:湖南大學電氣與信息工程系 鄧 勇 劉 琪來源:《電子產(chǎn)品世界》

摘要:多字節(jié)無符號二進制數(shù)轉(zhuǎn)bcd碼在以單片機為核心的智能儀表中應用很普遍。本文介紹一種新的轉(zhuǎn)換方法,并給出三字節(jié)二進制數(shù)轉(zhuǎn)bcd碼的源程序,該程序執(zhí)行時間僅為原來的1.3%,效率提高顯著。 關鍵詞:多字節(jié)二進制整數(shù) bcd碼 轉(zhuǎn)換 一、引言 在以mcs-51單片機為核心的智能儀表系統(tǒng)中,常遇到二進制整數(shù)轉(zhuǎn)換為bcd碼的情況。國內(nèi)許多單片機書籍都對此進行了介紹并給出了子程序,但效率不高。本文參考文獻作者剖析了二進制整數(shù)轉(zhuǎn)bcd碼的子程序,分析了程序效率低的原因,給出了改進后的源程序,效率有所提高。以3字節(jié)的二進制整數(shù)為例,程序執(zhí)行時間由2.856ms減小到2.410ms。還有沒有其它的辦法進一步大幅度減少轉(zhuǎn)換設計時間?本文介紹一種新的程序設計思路,給出的源程序?qū)?字節(jié)二進制整數(shù)轉(zhuǎn)bcd碼執(zhí)行時間僅為0.374ms。

二、改進思路 由進制數(shù)轉(zhuǎn)bcd碼的原理可知,這一轉(zhuǎn)換的實現(xiàn)的過程是(以3字節(jié)為例):首先把結(jié)果單元(這里是4個字節(jié))清零,然后將待轉(zhuǎn)換的二進制數(shù)的最高位移入進位位c,把結(jié)果單元的值進行乘2加c運算的值又作為結(jié)果單元的值,循環(huán)24次后得出轉(zhuǎn)換的bcd碼。如果能完全避開效率運行的時間。這可用下例來說明: 設結(jié)果單元某時的值為3456h,分別存放在r1、r2中,用如下的程序來完成結(jié)果單元乘2加(設c的當前值為1): mov a,r1 addc a,acc da a mov r1,a mov a,r2 addc a,acc da a mov r2,a 程序中使用addc a,acc指令完成乘2加c的工作,經(jīng)過執(zhí)行上面的程序,進位位c的值為0,r1、r2單元中的內(nèi)容分別為69h、13h,該值即為結(jié)果單元的值。這樣就使程序避免了循環(huán)而又實現(xiàn)了結(jié)果單元乘2加c的功能。這個例子的結(jié)果單元為2字節(jié),隨著進一步的運算,結(jié)果單元會變?yōu)?字節(jié)并最終變?yōu)?字節(jié)(以二進制數(shù)是3字節(jié)為例)。只要在程序中加以適當?shù)目刂疲瑒t可避免過多的運算,從而使轉(zhuǎn)換的速度加快。

三、源程序 程序名:fbcd 程序功能:將三字節(jié)二進制數(shù)轉(zhuǎn)換為bcd碼。 程序入口:20h,21h,22h, 存放被轉(zhuǎn)換的三字節(jié)二進制數(shù)。 程序出口為r1,r2,r3,r4,存放轉(zhuǎn)換的bcd碼的結(jié)果(見程序清單)。

四、結(jié)語 為了盡可能地減少轉(zhuǎn)換時間,使用了一些小技巧。例如:在程序開始轉(zhuǎn)換二進制數(shù)前3位時,考慮到這3位在進行乘2加c的操作時不會有進位位,則使用3條rl a,完成了前3位的轉(zhuǎn)換。該程序完成3字節(jié)二進制無符號整數(shù)轉(zhuǎn)bcd碼所需時間僅為374微秒,轉(zhuǎn)換時間縮短為原來的13%,效率提高是顯著的。另外,該程序比較靈活,程序中標注(****)處,已完成了2字節(jié)二進制整數(shù)轉(zhuǎn)三字節(jié)的bcd碼,程序執(zhí)二字節(jié)二進制數(shù)轉(zhuǎn)bcd碼所需時間僅為194微秒,使用一條mov r1,a指令,則轉(zhuǎn)換結(jié)果按由高到低的次序依次存放在r1,r2,r3中。當然,很容易在此程序基礎之上,實現(xiàn)4字節(jié)或更高字節(jié)無符號二進制整數(shù)向bcd碼的轉(zhuǎn)換。

相關IC型號
版權(quán)所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡技術有限公司
付款方式


 復制成功!
<s id="eqa5w"></s>
<abbr id="eqa5w"></abbr>