|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:在单片机应用中常碰到比较多字节数值、确定最小数值所在组的问题。利用最高位数值存储单3 p& T" i5 q% G9 d9 n+ @1 K3 h- Q
元地址作为组别标志,提出了筛选多字节数值最小组别的汇编语言算法,计算结束后将最小组
" ?4 L0 m. [9 s0 ~别标志存储于固定单元中。在该算法的基础上,通过设置后一级数值比较的起始地址及循环控
5 }6 O# _% m8 [* k& G6 D制起始数值,可完成无限字节数值最小组别筛选,也可修改关键程序完成最大组别筛选。) t, Y4 k5 I9 |5 x6 G
关键词:单片机;多字节数值;最小组别筛选;汇编语言& s0 e% ^% C! {! h
一、问题描述4 E6 o/ u# k$ T( t) A7 M
单片机应用时会遇到判别一组数值中的最小数7 k/ a2 e; H& _, F* Q9 m. t+ A
值所在组的问题,例如制作抢答器时单片机收到并
, Q3 Y m2 n( g. W储存各组所用的抢答反应时间,将其中用时最短的
$ E& ?- q3 i2 J3 L组筛选出来,以便显示抢到答题权的组及更改该组
1 _# B/ J9 @$ f* ]5 t5 d2 T( S. O得分。受限于单片机存储单元的位数,当抢答反应7 S: s9 f- y: F# e5 r
时间较长时每组抢答反应时间需要存储于多个单元。8 o6 E- g/ Q( Y1 n* B7 J5 Y
例如单片机频率为12MHz时,采用定时器TO工作
5 V& d7 n% t3 [! I在方式2时,THO和TLO能够存储的最大时间约为& b' ~, g2 W; I" y
2 \9 K+ H9 n* A) m, J5 S3 B0 B0.065 s"I,即抢答反应时间不能超过0.065 s,否则时
1 ^/ w# T5 Z9 _. @( i$ y3 l间无法记录。若采用一个存储单元记录抢答反应时8 r1 O4 V* A7 W, Y+ t/ `
间,THO溢出中断时使时间存储器加一,则能够记2 p7 K9 J8 n" W0 p% x* s0 G P0 J9 g
录的最长时间为16.8s,某些情况下不够用。若采用* K; A' H' f: |( H7 w
两个存储单元记录高位时间和低位时间,THO溢出. A, e4 u, i; G O! v
中断时使低位时间存储器加一,低位时间存储器溢
3 X% \- M. c4 z- `1 W4 o9 F出时使高位时间存储器加一,
% R6 | D+ v& D w. |
- q i- `1 |% n; u. L
* F4 b% v8 X u附件下载:! L. W- ~) Z+ c- D
9 K# y0 i: a, S
|
|