您的位置:首页 > 其它

基于 74LS164 的 LED 温度显示 设计

2016-01-25 11:37 375 查看
基于I/O 8LED 温度显示 设计
这个LED显示部分由于74ls164接在了RXD端,也就是要用串行口来发送温度数据到LED。
所以在主程序中要开串行口中断允许,以下是串行口中断子程序,并假设要显示的温度已经存到了某个存储器中。
这里假设温度已经存到了TEM1和TEM0中,其中TEM1里存的是温度的整数位,TEM0里存的是温度的小数位。
这是实验作业。现在忙考研没时间做,这是我在网上找的,不知道是不是。帮忙给我看看啊 谢谢了诶!!
(楼主给出的程序较长、较滥,省略了。――――做而论道注)
悬赏分:130 - 解决时间:2009-11-14 17:10
;-------------------------------------------------
最佳答案:
试试下列程序。
    TEM0  equ 30H
    TEM1  equ 31H
;
    ORG   0000H
;                        ;虚拟的主程序部分
    mov   TEM0, #4
    mov   TEM1, #2       ;假设已经测得温度是24度
    LCALL TRANS          ;输出显示
    SJMP $
;
;假设温度(两位数字)已经预先存到了TEM1和TEM0里, 其中TEM0是个位,
;这个LED显示部分由74ls164接在了RXD端,要用串行口来发送温度数据到LED。
;那么,查出它们的七段码, 在串行口输出即可
;
TRANS:
    PUSH ACC           ;保护现场
    PUSH DPL
    PUSH DPH
    MOV  DPTR, #TAB    ;七段码首地址
    MOV  A, TEM1       ;取十位
    MOVC A, @A + DPTR  ;查出笔段码
    MOV  SBUF, A       ;串行输出
    JNB  TI, $         ;TI=0, 就是没有发送完, 原地转移等待
    CLR  TI            ;清标志
    MOV  A, TEM0       ;取个位
    MOVC A, @A + DPTR  ;查出笔段码
    MOV  SBUF, A       ;串行输出
    JNB  TI, $         ;TI=0, 就是没有发送完, 原地转移等待
    CLR  TI            ;清标志
    POP  DPH           ;恢复现场
    POP  DPL
    POP  ACC
    RET       ;两个字节发送完毕,返回主程序;如果是中断程序,应该使用RETI来返回
TAB:
    DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;假设LED为共阴极的,若为共阳极,取反即可
    DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
;-------------------------------------------------
回答者:  做而论道 - 十级   2009-11-12 21:55
提问者对于答案的评价:太感谢了 无法用语言形容!!
原文网址:http://zhidao.baidu.com/question/125182684.html点击这里
;=======================================================
二次提问:
问题是这样的 下面的是74164的程序 请改成74373的程序
悬赏分:100 - 解决时间:2009-11-17 19:26
;-------------------------------------------------
最佳答案:
通过百度Hi交流,知道了楼主LED显示电路变动的情况,所以对程序进行了修改,请见下面小写的指令。
TRANS:
    PUSH ACC           ;保护现场
    …………
    MOV A, TEM1        ;取十位
    MOVC A, @A + DPTR  ;查出笔段码
setb p2.0        ;选通十位数的373
mov  p0, a       ;输出十位数的段码
clr  p2.0        ;关闭373
    MOV A, TEM0        ;取个位
    MOVC A, @A + DPTR  ;查出笔段码
setb p2.1        ;选通个位数的373
mov  p0, a       ;输出个位数的段码
clr  p2.1        ;关闭373
    POP DPH            ;恢复现场
   …………
    RET          ;两个字节发送完毕,返回主程序
;-------------------------------------------------
回答者:  做而论道 - 十级   2009-11-17 17:43
提问者对于答案的评价:谢谢大哥!
原文网址:http://zhidao.baidu.com/question/125894276.html
;-------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: