基于 74LS164 的 LED 温度显示 设计
基于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
;-------------------------------------------------
基于 74LS164 的 LED 温度显示 设计相关推荐
- matlab ds18b20 单片机,基于51单片机ds18b20温度检测————设计报告.doc
基于51单片机ds18b20温度检测----设计报告 课程名称: 微机原理课程设计 题 目: 温度检测课程设计 摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为 ...
- 基于51单片机1602温度显示时钟
基于51单片机LCD1602温度显示时钟 要在1602上显示时间和温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 :时间显示可以用时钟芯片DS1302,但是此次我 ...
- 单片机软件常用设计分享(二)驱动设计之LED灯显示设计
单片机软件常用设计分享(二)驱动设计之LED灯显示设计 前言 <驱动设计–LED灯显示驱动> 一.LED灯工作方式 1.常亮 2.常灭 3.闪烁 4.间歇性闪烁 二.LED灯驱动数据结构 ...
- 基于单片机的LED照明系统的设计
本设计是基于单片机的LED照明系统的设计,主要实现以下功能: 可实现LCD1602显示光照强度,灯的状态: 可实现通过按键控制LED的开关: 可实现通过光照强度控制灯光的亮度: 可实现通过人体红外控制 ...
- 基于51单片机LCD1602温度显示(DS18B20测温)
基于51单片机DS18B20测温 要在1602上显示温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 DS18B20是美国DALLAS半导体公司推出的第一片支持&q ...
- 基于单片机静电除尘升压电压显示设计-protues仿真
资料下载地址-1051(百度网盘):点击下载 仿真和程序为电压采集和显示模拟仿真1000v量程. 原理图和pcb电源模块,100kw以内 #include "INCLUDES.h" ...
- 【031】基于51单片机的超声波倒车雷达系统(带温度显示补偿)Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计一份: (2).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计 ...
- 利用4位led显示本机秒表时间的单片机c语言程序,基于单片机的一个2位的led数码显示作为_秒表_设计.doc...
基于单片机的一个2位的led数码显示作为_秒表_设计 PAGE 1 PAGE 29 工程技术学院 课程设计 题 目:用单片机AT89C51设计一个2位的LED数码显示作为"秒表" ...
- at89s51数码管秒表c语言程序,基于AT89C51单片机的一个2位的LED数码显示作为“秒表”设计【基于单片机系统的00-99s的定时器】...
基于AT89C51单片机的一个2位的LED数码显示作为"秒表"设计[基于单片机系统的00-99s的定时器] 工程技术学院 课程设计 题 目:用单片机AT89C51设计一个2位的LE ...
最新文章
- PingCode 3.0 发布,开启国产研发自动化时代
- python 培训-本人的Python自学历程分享
- Vue之旅-Vue环境搭建
- 设计模式(一)----单例模式
- 解决安卓字体偏移:页面整体缩放
- mysql 增大数据库链接_怎么增大MYSQL数据库连接数
- 分布式系统与消息投递
- IIS7 配置 PHP
- anaconda安装好tensorflow后,无法在jupyter notebook上使用的解决方法
- [Manifest]关于icon
- 物联卡使用寿命短常具备的四个特征
- 试用cmd markdown
- 10 种最流行的 Web 挖掘工具
- BZOJ1023 SHOI2008 仙人掌图 仙人掌、单调队列
- 小米路由青春版-2.1.26开发版固件
- java.lang.NoClassDefFoundError: Could not initialize class com.cyj.util.Jdbc
- 计算简史:什么是计算机?《禅与计算机程序设计艺术》 / 陈光剑
- java native方法及JNI实例
- php怎么自动识别车牌号,你知道车牌识别系统是如何自动识别车牌的吗?
- android 多人视频,Android QQ 5.0 正式版:全新界面、精彩动态、多人视频/音频
热门文章
- 对DirectSound的介绍和多种功能的源代码
- AR9271在linux 2.6.34 mips macarthur上的驱动
- 关于AutoCAD反复弹窗Nonvalid Software Detected的解决办法
- 阿里linux运维笔试,2020阿里巴巴笔试真题(含答案)
- 含泪狂刷Android面试100题,面试时吊打面试官
- 蓝牙传输速率详细分析【针对蓝牙4.2】
- 艾永亮:马云的“野心之作”无人超市,结果真的如愿以偿吗
- 模电摸索日记之《互补功率放大电路的分析及计算》
- c语言图文详解 实现ringbuff 源码详解
- AndEngine 环境配置出错解决