|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:在单片机应用中常碰到比较多字节数值、确定最小数值所在组的问题。利用最高位数值存储单
; \6 Z2 H" p) _6 i8 J元地址作为组别标志,提出了筛选多字节数值最小组别的汇编语言算法,计算结束后将最小组; w# `, U0 C3 _: x
别标志存储于固定单元中。在该算法的基础上,通过设置后一级数值比较的起始地址及循环控+ F6 L* d, c W$ t5 ~. C$ i
制起始数值,可完成无限字节数值最小组别筛选,也可修改关键程序完成最大组别筛选。8 u, E; h4 G$ U. C m. y" z& S0 R, _
关键词:单片机;多字节数值;最小组别筛选;汇编语言& B2 Z# e) H+ B, T: U0 h
一、问题描述( H7 S: f6 ?2 `3 ^
单片机应用时会遇到判别一组数值中的最小数4 _, s7 W3 }9 D3 M1 N# N
值所在组的问题,例如制作抢答器时单片机收到并
2 j! b4 N1 ?) o4 D! a储存各组所用的抢答反应时间,将其中用时最短的
/ I# m; t% r0 W8 H+ s组筛选出来,以便显示抢到答题权的组及更改该组
. G8 v& P) H9 l# Y, L1 l9 d得分。受限于单片机存储单元的位数,当抢答反应& n4 K& T: q" Y6 w- S8 f
时间较长时每组抢答反应时间需要存储于多个单元。
" J8 ` _4 I# w+ {例如单片机频率为12MHz时,采用定时器TO工作
7 i0 K2 c |2 `3 D0 o在方式2时,THO和TLO能够存储的最大时间约为
1 }% s) i5 t' T" a4 X* j
; E" [! u, K6 V+ O0.065 s"I,即抢答反应时间不能超过0.065 s,否则时9 l0 s) F' y, G1 P
间无法记录。若采用一个存储单元记录抢答反应时' G' X: ]0 D/ d: y) e6 p
间,THO溢出中断时使时间存储器加一,则能够记; N: m& K' P0 L( W
录的最长时间为16.8s,某些情况下不够用。若采用
' V0 G7 S1 ^/ n9 [- L% b两个存储单元记录高位时间和低位时间,THO溢出
1 v) q" [0 b' w* _8 a中断时使低位时间存储器加一,低位时间存储器溢' w' j2 V5 ~' ?
出时使高位时间存储器加一,
' b) l0 d. u6 J. V- }1 N$ ^1 o: ]1 J# N- j
) l" K" ^/ b3 R" \
附件下载:
8 c2 D5 e# I9 M9 {4 h; a5 K( W3 g _6 r* q
|
|