久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)開發(fā)中BCD碼調(diào)整技巧

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月01日   【字體:

 我是SUNNY!本人經(jīng)過一年多的學(xué)習(xí),掌握了很多單片機(jī)編程技巧,例如C語言嵌入?yún)R編等。俗話說得好,熟能生巧!的確如此,本人很喜歡鉆研,達(dá)到很好的效果。在進(jìn)行程序編程時(shí),在某些場合,我們要進(jìn)行BCD碼調(diào)整。例如0x09+0x01,其結(jié)果是0x0a,因?yàn)檫@個(gè)是16進(jìn)制運(yùn)算,而這個(gè)不是我們想要的結(jié)果,我們是要0x10這個(gè)結(jié)果。那怎么辦呢?其實(shí)這些運(yùn)算在某些地方運(yùn)用還是比較常見的,比如在時(shí)鐘芯片DS1302中就要用到。如果采用轉(zhuǎn)換10進(jìn)制的方法來解決,不但程序長,效率低,占用資源也嚴(yán)重。如果采用匯編語言就簡單了,匯編語言中已經(jīng)考慮到這個(gè)地方,可以采用DA A這個(gè)指令來完成,如下面這個(gè)例子:

假設(shè)內(nèi)存中30H的值為0x09,求加上1后的BCD碼,下面是程序和解釋:
MOV A,30H 把30H的值先送人累加器A,這時(shí)累加器的值為0x09
ADD A,#01H 累加器的值加上1,這時(shí)累加器的值為0x0a
DA A  累加器BCD碼調(diào)整,這時(shí)累加器A的值為0x10
MOV 30H,A 把累加器A的值送回30H,實(shí)現(xiàn)BCD調(diào)整
RET

上面是加法的BCD碼調(diào)整,比較簡單,因?yàn)閰R編語言已經(jīng)提供了這個(gè)功能,但是減法呢?很遺憾,匯編語言并沒有提供減法的BCD碼調(diào)整,那是不是就沒轍了呢?答案是否定的!我們知道,一個(gè)數(shù)如果低位不夠減時(shí),要向高位借1,在51單片機(jī)中,其借位標(biāo)志就是AC,我們可以利用AC是否為1來進(jìn)行判斷,如果出現(xiàn)借位,就要進(jìn)行BCD碼調(diào)整。但是減法并沒有調(diào)整指令,怎么辦?我們知道,16進(jìn)制與10進(jìn)制其實(shí)只是相差6,只要在發(fā)生借位時(shí)將值減去6就OK了!哈哈...我是不是很聰明?哈哈...自夸一下!好了,光說沒有用,做出來才是真的!下面看例子:
假設(shè)內(nèi)存中30H的值為0x10,求減去1的BCD碼。下面是程序和解釋:

MOV A,30H 將30H的值送人累加器A
SUBB A,#01H 累加器A的值減去1 ,這時(shí)累加器的值為0x0f
JB AC,NEXT 判斷借位標(biāo)志,如果為1說明發(fā)生借位,進(jìn)行下一步處理
MOV 30H,A 借位為0,直接送回30H
RET
NEXT:
SUBB A,#06H 發(fā)生借位,減去6,調(diào)整為BCD碼,這時(shí)累加器A的值為0x09
MOV 30H,A  把值送回30H,OK!搞定
CLR AC 清除標(biāo)志位,以便下次使用
RET

上面的兩個(gè)例子經(jīng)過本人實(shí)踐運(yùn)用,十分有用,大家可以參考一下!

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 91.com在线观看 | 精品在线观看一区二区 | 日韩av在线播 | 一区二区三区在线免费观看 | 亚洲国产一区二区视频 | 国产精品一区二区在线观看 | 天天干亚洲 | 国产精品伦一区二区三级视频 | av一区二区在线观看 | 日韩在线| 一级片免费视频 | 99成人免费视频 | 欧美日韩精品专区 | a久久 | 亚洲国产一区二区三区 | 亚洲va欧美va人人爽午夜 | 一本大道久久a久久精二百 国产成人免费在线 | 天堂影院av| 亚欧精品 | 亚洲精品免费在线观看 | 超碰网址 | 久久99精品久久久久蜜桃tv | 日韩视频精品在线 | 天天曰天天曰 | 国产黄色av电影 | 亚洲一区在线播放 | 国产日韩精品一区二区 | 日韩在线免费视频 | 成人免费毛片片v | 日韩福利视频 | 亚洲综合在线视频 | 久草电影网 | 亚洲欧美一区二区三区情侣bbw | 亚洲精品国产成人 | 91精品国产综合久久久密闭 | 国产成人免费视频网站视频社区 | 日本大片在线播放 | av免费网址| 亚洲电影一区二区三区 | 国户精品久久久久久久久久久不卡 | 夫妻午夜影院 |