亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        單片機(jī)多字節(jié)數(shù)值最小組篩選的匯編語言算法

        2020-04-22 04:07:50范興文
        遼寧高職學(xué)報 2020年2期
        關(guān)鍵詞:數(shù)組流程圖低位

        范興文,張 姝

        (阜新高等??茖W(xué)校,遼寧 阜新 123000)

        一、問題描述

        單片機(jī)應(yīng)用時會遇到判別一組數(shù)值中的最小數(shù)值所在組的問題,例如制作搶答器時單片機(jī)收到并儲存各組所用的搶答反應(yīng)時間,將其中用時最短的組篩選出來,以便顯示搶到答題權(quán)的組及更改該組得分。受限于單片機(jī)存儲單元的位數(shù),當(dāng)搶答反應(yīng)時間較長時每組搶答反應(yīng)時間需要存儲于多個單元。例如單片機(jī)頻率為12 MHz時,采用定時器T0工作在方式2時,TH0和TL0能夠存儲的最大時間約為0.065s[1],即搶答反應(yīng)時間不能超過0.065 s,否則時間無法記錄。若采用一個存儲單元記錄搶答反應(yīng)時間,TH0溢出中斷時使時間存儲器加一,則能夠記錄的最長時間為16.8s,某些情況下不夠用。若采用兩個存儲單元記錄高位時間和低位時間,TH0溢出中斷時使低位時間存儲器加一,低位時間存儲器溢出時使高位時間存儲器加一,這樣允許的最長搶答反應(yīng)時間為為4 295 s≈71.6 min[2];若比較高位時間存儲器、低位時間存儲器和TH0三個單元的數(shù)值,時間分辨精度能達(dá)到0.000256 s。晶振的頻率誤差該精度已足夠。接下來的問題是找出各組中用時最短的那組,相當(dāng)于每組提供一個3字節(jié)數(shù)值,篩選出數(shù)組最小的組別。

        二、算法思路

        規(guī)劃好數(shù)值存儲單元,用存儲地址代表組別,利用單片機(jī)指令篩選出數(shù)值最小組的存儲地址。

        數(shù)值存儲單元設(shè)計(jì)如下:將各組的高位時間數(shù)值順序存放,各組低位時間數(shù)值順序存放,各組TH0時間數(shù)值順序存放,且使“同組的高位時間數(shù)值存儲地址+10=低位時間數(shù)值存儲地址”、“低位時間數(shù)值存儲地址+10=TH0時間數(shù)值存儲地址”。例如,共有6組,將各組高位時間數(shù)值順序存放于51H~56H單元中,各組高位時間數(shù)值順序存放于5BH~60H單元中,各組 TH0數(shù)值順序存放于65H~6AH單元中。這樣第一組的時間數(shù)值從高位至低位存儲于51H、5BH、65H中。

        將較大數(shù)的低一級數(shù)值設(shè)置為最大,確保低一級數(shù)值比較時高一級數(shù)值的較小者有效。

        記錄最小數(shù)值的相等次數(shù)和相等數(shù)值的最小地址,只有相等次數(shù)不為零時才進(jìn)行下一級比較,且從相等數(shù)值的最小地址所在組開始比較。

        單片機(jī)指令采用CJNE指令,利用CY的數(shù)值鑒別兩數(shù)值的大小關(guān)系[3]。利用Rn的相對尋址功能實(shí)現(xiàn)循環(huán)算法,優(yōu)化程序結(jié)構(gòu)。

        三、程序流程圖

        (一)最高位數(shù)值比較程序流程圖

        最高位數(shù)值比較程序流程見圖1。

        (二)數(shù)值比較子程序流程圖

        數(shù)值比較子程序流程圖見圖2。

        (三)低位數(shù)值比較程序流程圖

        低位數(shù)值比較程序流程圖見圖3。

        圖1 最高位數(shù)值比較程序流程圖

        圖2 數(shù)值比較子程序流程圖

        四、部分程序

        (一)比較子程序

        bijiao:

        d0:mov a,@r0

        cjne a,31h,d1[4]

        inc r0[5]

        inc 70h ;記錄相等次數(shù)

        ljmp d11

        d1:jb cy,d2

        mov a,r0

        add a,#10

        mov r1,a[6]

        mov@r1,#0ffh;該組下級數(shù)值設(shè)為最大

        inc r0

        ljmp d11

        d2:

        clr cy[7]

        mov 70h,#0 ;相等次數(shù)歸零

        mov a,32h

        add a,#10

        mov r1,a

        mov@r1,#0ffh;該組下級數(shù)值設(shè)為最大

        mov 31h,@r0 ;最小數(shù)存31H

        mov 32h,r0;32H內(nèi)記錄最小數(shù)開始地址,也是相等開始地址

        inc r0[8]

        ljmp d11

        d11:ret

        (二)低位數(shù)值比較程序

        ji2:

        mov a,32h

        mov r7,32h

        add a,#10

        mov 32h,a

        mov r0,a[9]

        mov 31h,@r0

        inc r0

        mov 70h,#0

        xh2:lcall bijiao

        inc r7【10】

        cjne r7,#56h,xh2

        mov a,32h

        subb a,#10

        mov 32h,a

        mov a,70h

        cjne a,#0,ji3

        ljmp$

        五、以雙字節(jié)數(shù)值為例的運(yùn)算結(jié)果示例(一)高字節(jié)數(shù)值有3組相同且最小

        運(yùn)算數(shù)組見表1。

        表 1 運(yùn)算示例1數(shù)組

        從數(shù)組數(shù)值可以看出,第二組、第三組和第五組的高位數(shù)值最小且相同,這三組的低位數(shù)值第二組小,因此數(shù)值最小的組是第二組,該組高位數(shù)值存儲地址為52H。

        程序運(yùn)行結(jié)果數(shù)組賦值如圖4所示、運(yùn)算結(jié)果如圖5所示。

        表4 數(shù)組賦值

        圖5 運(yùn)算結(jié)果

        從程序運(yùn)行結(jié)果看最小組高位數(shù)值存儲地址存放單元32H存放的數(shù)值是52H,程序成功地篩選出了最小組。

        (二)高字節(jié)數(shù)值有多個相同情況

        數(shù)組見表2。

        表2 運(yùn)算示例2數(shù)組

        從數(shù)組數(shù)值可以看出,第一組和第二組的高位數(shù)值相同為19H,第四組和第六組的高位數(shù)值相同為12H,最小組應(yīng)為第四組和第六組,二者低位數(shù)值是第四組25H和第六組20H,因此最小數(shù)值應(yīng)為第六組,其高位字節(jié)存儲地址為56H。

        程序運(yùn)行結(jié)果,數(shù)組賦值如圖6所示,運(yùn)算結(jié)果如圖7所示。

        圖6 數(shù)組賦值

        圖7 運(yùn)算結(jié)果

        從程序運(yùn)行結(jié)果看,最小組高位數(shù)值存儲地址存放單元32H存放的數(shù)值是56H,程序成功地篩選出了最小組。

        四、結(jié)語

        本文采用合理的編程思路提出了篩選多字節(jié)數(shù)值最小組別的算法,經(jīng)過實(shí)際運(yùn)行驗(yàn)證了該算法在雙字節(jié)數(shù)組的最小組別篩選應(yīng)用的可行性。按照本文提出的算法規(guī)律,可以方便地將該算法推廣應(yīng)用到多組、多字節(jié)數(shù)值的最小組別篩選工作中去,也可以利用本文的方法解決16位單片機(jī)的同類問題。

        猜你喜歡
        數(shù)組流程圖低位
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        預(yù)計(jì)2020年油價將低位震蕩
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        棗樹低位截干萌枝嫁接新技術(shù)
        河北果樹(2020年2期)2020-05-25 06:58:42
        上半年磷復(fù)肥市場低位運(yùn)行
        利好不足下半年尿素市場仍將低位震蕩
        專利申請審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        尋找勾股數(shù)組的歷程
        寧??h村級權(quán)力清單36條
        精品91精品91精品国产片| 国产亚洲精品精品精品| 国产最新进精品视频| 四虎成人精品无码永久在线| 国产一区二区三区视频了| 亚洲女同恋av中文一区二区| 国产一区二区三区乱码| 特级毛片a级毛片在线播放www | 欧美成人精品午夜免费影视| 午夜家庭影院| 人妻少妇久久精品一区二区 | 四虎国产精品免费久久| 人妻AV无码一区二区三区奥田咲| 久久夜色精品国产亚洲av老牛| 痴汉电车中文字幕在线| 中文字幕文字幕视频在线| 国产麻花豆剧传媒精品mv在线| 人人妻人人澡人人爽精品欧美| av色综合网站| 亚洲乱码中文字幕第一页| 日韩人妻熟女中文字幕a美景之屋| 97久久精品午夜一区二区| 日本高清不在线一区二区色| 天堂一区二区三区精品| 在线观看国产成人自拍视频| 久久久久久曰本av免费免费| 精品免费福利视频| 91九色国产在线观看| 中文字幕人妻久久久中出| 男人边做边吃奶头视频| 国产高清在线精品免费| 亚洲黄色一插一抽动态图在线看| 高级会所技师自拍视频在线| 中文无码一区二区不卡αv| 一区二区三区国产在线网站视频| 亚洲24小时免费视频| 美女网站免费福利视频| 国产久视频国内精品999| 国产精品久久久看三级| 亚洲精品久久激情国产片| 国产免费午夜a无码v视频|