资源目录
压缩包内文档预览:(预览前20页/共24页)
编号:512156
类型:共享资源
大小:167.30KB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
以智能温度计为主的多功能任务设计2,毕业设计
- 内容简介:
-
单片机原理及应用 课程设计任务 课题: 以智能温度计为主的多功能任务设计 班级 电气 3073 学号 3072110318 学生姓名 刘乾 指导教师 段卫平 淮阴工学院 电子与电气工程学院 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 2 目 录 一、课程设计目的 . 3 二、设计要求 . 3 2.1 总体要求 . 3 2.2 具体要求 . 3 三、设计内容及方法 . 4 3.1 设计准备 . 5 3.2 功能设计及系统总体设计 . 5 四、硬件电路总体设计 . 5 4.1 硬件总框图 . 5 4.1.1 主控电路 . 5 4.1.2 按键控制扫描模块 . 6 4.1.3 DS1820 温度显示 模块 . 7 4.1.4 数码管显示模块 . 7 4.1.5 LED 显示模块 . 8 4.1.6 扬声器模块 . 9 五、 软件流程框图 . 11 六、 完整的程序清单及注释 . 14 6.1 主程序清单: . 14 七、调试情况及小结 . 23 7.1 硬件调试 . 23 7.2 软件调试 . 23 7.3 软 硬件调试 . 23 七、设计总结 . 23 八、参考文献 . 24 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 3 一、课程设计目的 单片机原理及应用课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生通过综合的系统 设计,熟悉应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。 通过课程设计,应能加强学生如下能力的培养: (1) 独立工作能力和创造力; (2) 综合运用专业及基础知识,解决实际工程技术问题的能力; (3) 查阅图书资料、产品手册和各种工具书的能力; (4) 工程绘图的能力; (5) 编写技术报告和编制技术资料的能力。 二、设计要求 2.1 总体要求 (1) 独立完成设计任务 (2) 绘制系统硬件总框图 (3) 绘制系统原理电路图 (4) 制定编写设计方案 ,编制软件框图,完成详细完整的程序清单和注释; (5) 制定编写调试方案,编写用户操作使用说明书 (6) 写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训, 2.2 具体要求 本次工程实践主要以单片机为基础,进行单片机软件编程,目的是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌 握元器nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 4 件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。 软件编程是本次工程实践的重要环节。在为期两周的工程实践中,将占据主要时间,学生要完成的软件编程任务主要包括以下几点: 1)、熟悉 Keil C51 编程平台及 Proteus 仿真; 2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调; 3)、编写、调试 LED 流水灯(循环显示)程序并进行软硬件联调; 4)、编写、调试键盘扫描子程序并进行软硬件联调; 5)、编写、调试数码管动态扫描程序并进行软硬件联调 。 3 具体课题: 本题属于多功能任务设计,基于本实验室所提供的电路模板,具体题目如下: 1、 以智能温度计为主的多功能任务设计; 2、 以 智能速度里程表 为主的多功能任务设计; 3、 以 多功能数字电子钟 为主的多功能任务设计; 4、 以 LCD 点阵字符显示屏 为主的多功能任务设计; 5、 以 交通灯控制 的多功能任务设计。 课题名字的多功能任务的含义是:要求每个同学所设计的电 路和程序必须实现 4 个功能,电路提供四个按键,要求同学们能编写、调试对应的键盘扫描子程序,从而实现,当按下 A 按键,实现蜂鸣器或继电器动作,当按下 B 按键,实现LED 流水灯(循环显示),当按下 C 按键,实现数码管动态扫描显示(显示内容可以自己确定),前 3 个功能,对于每个课题都是相同,只有最后一个按键不同,其功能取决于所选课题名称,即当按下 D 按键,要求实现相应课题的最主要的功能,例如,对于“以智能温度计为主的多功能任务设计”的课题,当按下该课题所对应的 D 按键,就要实现显示温度的功能,其余类似。 三、设计内容及方法 单片机原理及其应用课程设计通常选择一般常见、常用的简单应用装置或对nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 5 象进行微机控制。所涉及的系统可以实际制作,也可以实验室模拟,具体步骤: 3.1 设计准备 认真研究设计任务书,明确设计要求、条件、内容、和步骤;通过阅读有关资料,了解设计对象;复习课程有关内容,熟悉有关单元电路的设计方法和设计步骤;搜集、分析、消化相关资料、软件等,掌握微型计算机应用系统软件的设计方法;准备好设计需要的图书、资料和工具;拟定设计计划等。 3.2 功能设计及系统总体设计 要求学生有创新精神和创新意识,分析所掌握的资料,了解设计 对象的功能。在充分考虑功能设计后,进行总体设计,以功能、结构为标,制定总体方案,规划硬、软件功能分配等;初步确定关键元器件地选择。 四、硬件电路总体设计 4.1 硬件总框图 控制原理: 该设计以单片机为主控电路,分别控制 5 个工作模块:按键控制模块、实时时钟模块、数码管显示模块、 LED 显示模块、扬声器模块。按键控制模块由单片机 P1.4-P1.7 口控制。 温度显示 由 DS1302 完成,由单片机 INT0、 INT1、 T0 口控制。数码管显示由 LED 显示模块由 P0 口 和 P1.0-P1.3 控制。 LED 模块由 P2 口控制。扬声器由 T0 口控制。 4.1.1 主控电路 本次课程设计中主要是设计一个以作息时间控制为主的多功能控制系统。该设计中我们主控电路部分采用了单片机 AT89C52 芯片来实现这些功能, AT89C52是一个低电压,高性能 CMOS的 8位单片机,片内含 8KB的可反复擦写的 Flash只读程序存储器和 256B 的随机存取数据存储器( RAM)。其引脚如下图所示: 以单片机 为主的主 控 电 路 按键控制扫描模块 DS1820 温度显示模块 数码管显示模块 LED 显示模块 扬声器模块 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 6 VCC:供电电压。 GND:接地。 P0 口( P0.0-P0.7): P0 口来控制数码管的段选,以显示相应的数值 。 P1 口 (P1.0-P1.7): P1 口用来控制数码管的位选,以达到动态显示的效果。 P2 口 (P2.0-P2.7): P2 口来控制 LED 的亮灭。 P3 口 (P3.0-P3.7): P3.0 为 RXD(串行输入口), P3.1 为 TXD(串行输出口),P3.2 为 /INT0(外部中断 0), P3.3 为 /INT1(外部中断 1), P3.4 为 T0(记时器 0 外部输入), P3.5 为 T1(记时器 1 外部输入), P3.6 为 /WR(外部数据存储器写选通),P3.7 为 /RD(外部数据存储器读选通)。 XTAL1( 19 脚)和 XTAL2( 18 脚)为振荡器输入输出端口,外接 12MHz 晶振。 RST/Vpd( 9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC( 40 脚)和 VSS( 20 脚)为供电端口,分别接 +5V 电源正负端。 P0P3 为可编程通用 I/O 脚,其功能用途由软件定义。 4.1.2 按键控制扫描模块 按键用于控制数码显示、 LED 显示、扬声器等模块的工作。通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进行工作。设计中使用单个按键实现单个功能 ,属于较为简单的控制方式 . 按键输入电路 使用 4 个按键分别与单片机的平 P1.4、 P1.5、 P1.6、 P1.7 分别连接,以完成按键控制。 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 7 4.1.3 DS1820 温度显示 模块 DS18B20“一线总线”数字化温度传感器同 DS1820 一样, DS18B20 支持“一线总线”接口,测量温度范围为 -55+125 摄氏度。在 -10+85 摄氏度范围内, DS18B20 的精度为正负0.5 摄氏度, DS1822 的精度较差,为正负 2 摄氏度。现场温度直接以“一线总线”的数字方式传输,可大大提高系统的抗 干扰性,因此它适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制等。 DS18B20 内部结构主要有四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 的管脚排列为: DQ 为数字信号输入 /输出端; GND 为电源地; VDD 为外接供电电源输入端。 GND DQ VDD 4.1.4 数码管显示模块 设计中采用四位共阳极数码管 ,共阳极是指其 公共端接正极 ,通过单片机AT89C52 的 P1 口控制其位选,以达到动态显示的 效果,再通过 P0 口,控制其段选以显示相应的数值。在其位选控制部分,采用了一个 9012 型三极管,要求当P1 口输出低电平时,位选成功。 数码管显示电路 硬件电路中,数码管显示的小时和分 .小时通过按键 2 控制 ,分通过按键 3控制。 DALLAS18B20 1 2 3 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 8 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二 -十进制 译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O端口多,如驱动 5 个数码管静态显示则需要 5 8 40 根 I/O 端口来驱动,要知道一个 89S51 单片机可用的 I/O 端口才 32 个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控 制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 1 2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显 示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。 4.1.5 LED 显示模块 LED( Light Emitting Diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。 LED 的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂 封装起来。半导体晶片由两部分组成,一部分是 P 型半导体,在它里面空穴占主导地位,另一端是 N 型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“ P-N 结”。当电流通过导线作用于这个晶片的时候,电子就会被推向 P 区,在 P 区里电子跟空穴复合,然后就会以光子的形式发出 能量,这就是 LED 发光的原理。而光的波长也就是光的颜色,是由形成 P-N结的材料决定的。 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 9 LED 显示电路 本次设计中通过按键 1 来控制其流水显示 ,打开电源后按下按键 1,流水灯模块有效。电路中 LED 为共阳极,故控制流水灯显示的 P2 口应为低电平时才有效。 从原理图中可以看 出,如果要让接在 P2.0 口的 LED1 亮起来,那么只要把P2.0 口的电平变为低电平就可以了;相反,如果要接在 P2.0 口的 LED1 熄灭,就要把 P2.0 口的电平变为高电平;同理,接在 P2.1 P2.7 口的其他 7 个 LED的点亮和熄灭的方法同 LED1。因此,要实现流水灯功能,我们只要将发光二极管 LED1 LED8 依次点亮、熄灭, 8 只 LED 灯便会一亮一暗的做流水灯了。 我们首先把要显示流水花样的数据建在一个以 TAB 为标号的数据表中,然后通过查表指令“ MOVC A, A+DPTR”把数据取到累加器 A 中,然后再送到 P1 口进 行显示。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 4.1.6 扬声器模块 要求扬声器能够发出连续,断续的声音及音乐,我们可以选择一个蜂鸣器来实现这些功能。 蜂鸣器电路图: 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。下面我们以电磁式蜂鸣器为例来说明它的工作原理:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后, 振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声,当输出高电平时,三极管截止,蜂鸣器的两引脚间的直流电压接近于 0V,没有电流流过线圈,蜂鸣器不发声;当输出低电平时,三极管导通,使蜂鸣器的两个引脚间获得nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 10 将接近 +5V 的直流电压,这样蜂鸣器的电流形成回路,发出声音在这个设计中是通过 p3.4 口控制其发声的。由于 p3.4 与 ds1302 是连在一起的,故只要 ds1302工作,就可以设定使扬声器发出声音。 4.2 硬件总 电路图nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 11 五、 软件流程框图 图 1 主程序流程图 Y Y Y Y P1 口置初值 0F0H 调用蜂鸣器发声程序 调用 LED 显示子程序 调用温度程序 KEYA 按下? KEYB 按下? KEYC 按下? KEYD 按下? 调用数码管显示子程序 开始 N N Y 开始 循环时间的初值设置 P3.4 端口输出设置 延时 0.2s P3.4 端口取 反 延时 0.2s 循环结束? 返回主程序 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 12 图 2 蜂鸣器程序流程图 图 3 流水灯程序流程图 图 4 时间显示流程图 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 13 图 5 DS18B20 温度计主 程序流程图 主程序的主要功能是负责温度的实时显示,读出并处理 DS18B20 的测量温度值,温度测量每 1S 测量一次。 初始化 调用显示子程序 1s 到 2 初次上电? 读出温度值温度计算处理显示数据刷新 发温度转换开始命令 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 14 六、 完整的程序清单及注释 6.1 主程序清单: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV P1,#0F0H JNB P1.4,K1CHECK JNB P1.5,K2CHECK JNB P1.6,K3CHECK JNB P1.7,K4CHECK SJMP MAIN 。蜂 鸣 器 。 K1CHECK: ;去抖动,按下 KEYA,跳转到 KEYA 子程序 JB P1.4,KEYA SJMP KEYA KEYA: MOV SP,#70H ;给堆栈指针赋初值 MOV R2,#0FFFFH ;蜂鸣器响声计数 START0: SETB P3.4 ;P3.4 口置高电平 LCALL DELAY ;调用延时子程序 CLR P3.4 ;P3.4 口取反 LCALL DELAY DJNZ R2,START0 ;判断计数是否结束,否跳到 START0 处 SJMP MAIN ;返回主程序 DELAY: ;延时子程序 MOV R7,#02 DELAY0: MOV R6,#12 DELAY1: MOV R5,#75 DJNZ R5,$ DJNZ R6,DELAY1 DJNZ R7,DELAY0 RET nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 15 。 流 水 灯 。 K2CHECK: ;去抖动,按下 KEYB,跳转 到 KEYB 子程序 JB P1.5,KEYB SJMP KEYB KEYB: MOV SP,#80H MOV R2,#18H ;LED 循环闪亮三次 MOV A,#0FEH ;A 中赋初始值 LOOP: MOV P2,A ;流水灯闪亮 LCALL DELAY3 RL A ;A 中初值左移 DJNZ R2,LOOP MOV A,#0FFH ;三次结束后,熄灭所以 LED 灯 MOV P2,A SJMP MAIN ;返回主程序 DELAY3: ;延时子程序 MOV R7,#20 DELAY4: MOV R6,#125 DELAY5: MOV R5,#255 DJNZ R5,$ DJNZ R6,DELAY5 DJNZ R7,DELAY4 RET 。数 码 管 显 示 。 ;数码显示子程序 K3CHECK: ;去抖动,按下 KEYC,跳转到 KEYC 子程序 JB P1.6,KEYC SJMP KEYC KEYC: MOV DPTR,#DIG_CODE ;显示秒 MOV P1,#11110111b MOV A,MIN ANL A,#0FH MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY MOV P1,#11111011b MOV A, MIN SWAP A ANL A,#07H nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 16 MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY ;显示分 MOV P1,#11111101b MOV A,H ANL A,#0FH MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY MOV P1,#11111110b MOV A,H SWAP A ANL A,#03H MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY RET 。 温度控制 程序。 。 K4CHECK: ;去抖动,按下 KEYD,跳转到 KEYD 子程序 JB P1.7,KEYD SJMP KEYD 。 常 数 定 义 。 KEYD: TIMEL EQU 0E0H TIMEH EQU 0B1H TEMPHEAD EQU 36H 。 。工作内存定义。 BITST DATA 20H TIMEISOK BIT BITST.1 TEMPONEOK BIT BITST.2 TEMPL DATA 26H TEMPH DATA 27H TEMPHC DATA 28H TEMPLC DATA 29H 。引 脚 定 义 。 TEMPDIN BIT P3.7 。中 断 向 量 区 。 ORG 0000H LJMP START ORG 000BH LJMP T0IT 。系 统 初 始 化 。 ORG 100H nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 17 START: MOV SP,#60H CLSMEM: MOV R0,#20H MOV R1,#60H CLSMEM1: MOV R0,#00H INC R0 DJNZ R1,CLSMEM1 MOV TMOD,# 00100001B MOV TH0,#TIMEL MOV TL0,#TIMEH SJMP INIT ERROR: NOP LJMP START NOP INIT: NOP SETB ET0 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONEK LJMP MAIN 。 T0 中断服务程序。 T0IT: PUSH PSW MOV PSW,#10H MOV TH0, #TIMEH MOV TL0, #TIMEL INC R7 CJNE R7, #32H,T0IT1 MOV R7, #00H SETB TIMEISOK T0IT1: POP PSW RETI 。 主 程 序 。 MAIN: LCALL DISP1 JNB TIMEISOK,MAIN CLR TIMEISOK JNB TEMPONEOK,MAIN2 LCALL READTEMP1 LCALL CONVTEMP LCALL DISPBCD LCALL DISP1 MAIN2: LCALL READTEMP SETB TEMPONEOK LJMP MAIN 。 子 程 序 。 nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 18 。 RESET DS18B20。 INITDS18B20: SETB TEMPDIN NOP NOP CLR TEMPDIN MOV R6, #0A0H DJNZ R6,$ MOV R6, #0A0H DJNZ R6,$ SETB TEMPDIN MOV R6, #3CH LOOP1820: MOV C,TEMPDIN JC INITDS1820OUT DJNZ R6, LOOP1820 MOV R6, #64H DJNZ R6, $ SJMP INITDS1820 RET INITDS1820OUT: SETB TEMPDIN RET 。 。读 DS18B20 程序,从中读出一个字节的程序。 READDS1820: MOV R7, #08H SETB TEMPDIN NOP NOP READDS1820LOOP: CLR TEMPDIN NOP NOP NOP SETB TEMPDIN MOV R6,#07H DJNZ R6, $ MOV C,TEMPDIN MOV R6, #3CH DJNZ R6,$ RRC A SETB TEMPDIN DJNZ R7, READDS1820LOOP MOV R6, #3CH DJNZ R6, $ RET 。写 DS18B20 程序从中写一个字节程序。 。 WRITEDS182: MOV R7, #08H SETB TEMPDIN nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 19 NOP NOP WRITEDS1820LOP: CLR TEMPDIN MOV R6, #07H DJNZ R6, $ RRC A MOV TEMPDIN,C MOV R6, #34H DJNZ R6, $ SETB TEMPDIN DJNZ R7, WRITEDS1820LOP RET 。 READ TEMP。 READTEMP: LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS1820 MOV R6, #34H DJNZ R6, $ MOV A,#44H LCALL WRITEDS1820 MOV R6, #34H MOV R6, $ RET READTEMP1: LCALL INITDS1820 MOV A,#0CCH LCALL WRITEDS120 MOV R6, #34H DJNZ R6, $ MOV A,#0BEH LCALL WRITEDS1820 MOV R6, #34H DJNZ R6, $ MOV R5, #09H MOV R0, #TEMPHEAD MOV B,#00H READTEMP2: LCALL READDS1820 MOV R0, A INC R0 READTEMP21: LCALL CRC8CAL DJNZ R5, READTEMP2 MOV A,B JNZ READTEMPOUT MOV A,TEMPHEAD+0 MOV TEMPL,A nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 20 MOV A,TEMPHEAD+1 MOV TEMPH,A READTEMPOUT: RET 。处 理 温 度 BCD 码子程序。 CONVTEMP: MOV A,TEMPH ANL A,#80H JZ TEMPC1 CLR C MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPHC,#0BH SJMP TEMPC11 TEMPC1: MOV TEMPHC,#0AH TEMPC11: MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH MOV DPTR,#TEMPDOTTAB MOVC A,A + DFTR MOV TEMPLC,A MOV A,TEMPL ANL A,#0FH SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0FH SWAP A ORL A,TEMPL LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP A ORL A,TEMPHC MOV TEMMPHC,A MOV A,TEMPL ANL A,#0FH SWAP A nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 21 ORL A,TEMPLC MOV TEMPLC,A MOV A,R7 JZ TEMPC12 ANL A,#0FH SWAP A MOV R7, A MOV A,TEMPHC ANL A,#0FH ORL A,R7 MOV TEMPHC,A TEMPC12: RET 。 小 数 部 分 码 表 。 。 TEMPDOTTAB: DB 00H,01H,01H,02H,03H,03H,04H,4H,05H,06H DB 06H,07H,08H,08H,09H 。 显 示 区 BCD 码温度值刷新子程序。 DISPBCD: MOV A,TEMPLC ANL A,#0FH MOV 70H,A MOV A,TEMPLC SWAP A ANL A,#0FH MOV 71H,A MOV A,TEMPHC ANL A,#0FH MOV 72H,A MOV A,TEMPHC SWAP A ANL A,#0FH MOV 73H,A MOV A,TEMPHC ANL A,#0F0H CJNE A,#010H,DISPBCD0 SJMP DISPBCD2 DISPBCD0: MOV A,TEMPHC ANL A,#0FH JNZ DISPBCD2 MOV A,TEMPHC SWAP A ANL A,#0FH MOV A,TEMPHC SWAP A ANL A,#0FH MOV 73H,#0AH nts 班级: 电气 3073 姓名: 刘乾 学号: 3072110318 课题: 以智能温度计为主的多功能系统设计 22 MOV 72H,A DISPBCD2: RET 。 显 示 子 程 序 。 DISP1: MOV R1, #70H MOV R5, #0FEH PLAY: MOV P1, #0FFH MOV A,R5 MOV P3, A MOV A,R1 MOV DPTR,#TAB MOVVC A,A+DPTR MOV P1, A MOV A,R5 JB ACC.1, LOOP CLR P1.7 LOOP5: LCALL DL1MS INC R1 MOV A,R5 JNB ACC.3, ENDOUT RL A MOV R5, A AJMP PLAY ENDOUT: MOV P1, #0FFH MOV P3,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH DL1MS : MOV R6, #14H DL1: MOV R7, #19H DL2: DJNZ R7, DL2 DJNZ R6, DL1
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。