已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)

已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)已知共阳极8段LED数码管的显示数字的字形码如下,若累加器A中的内容为00H~09H中的一个数,请用查表指令得到相应字形的字形码。(求详解!最好是发图给我!)

指令为:
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR
MOV P0,A    ;假设段码接在P0口。

当A为某一个数时,查表就得到这个数编号的段码,比如A为1,那么就是“1”的编码,F9H。

PS:累加器(accumulator)是一种暂存器,它用来储存计算所产生的中间结果。如果没有像累加器这样的暂存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,然后再读回来。然而存取主内存的速度是比从数学逻辑单元(ALU)到有直接路径的累加器存取更慢。

标准的例子就是把一列的数字加起来。一开始累加器设定为零,每个数字依序地被加到累加器中,当所有的数字都被加入后,结果才写回到主内存中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

数码管定义如下图:共阳极数码管编码为:

LEDTAB:
  DB 0C0H ;"0" 00H
  DB 0F9H ;"1" 01H
  DB 0A4H ;"2" 02H
  DB 0B0H ;"3" 03H
  DB 99H ;"4" 04H
  DB 92H ;"5" 05H
  DB 82H ;"6" 06H
  DB 0F8H ;"7" 07H
  DB 80H ;"8" 08H
  DB 90H ;"9" 09H
  DB 88H ;"A" 0AH
  DB 83H ;"B" 0BH
  DB 0C6H ;"C" 0CH
  DB 0A1H ;"D" 0DH
  DB 86H ;"E" 0EH
  DB 8EH ;"F" 0FH
  DB 0FFH ;" " 10H

当A为某一个数时,查表就得到这个数编号的段码,比如A为1,那么就是“1”的编码,F9H。

追问

所以答案应该怎么写??

不是要用查表指令得到相应字形的字形码吗

追答

指令为:
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR
MOV P0,A ;假设段码接在P0口

追问

感谢!

本回答被提问者和网友采纳
相似回答