《东北林业大学单片机原理实验课程设计总结报告.pdf》由会员分享,可在线阅读,更多相关《东北林业大学单片机原理实验课程设计总结报告.pdf(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、东 北 林 业 大 学单 片 机 原 理 实 验 课 程 设 计总结报告机电工程学院设 计 项 目:基于MCS-51单片机温湿度仪系统的设计项目完成人:谢文权、王世伟指 导 教 师:管 雪 梅 副 教 授学 院:理学院专 业:物理学2010级 物 理 一 班2012年11月2 5日综合电子课程设计任务书东北林业大学课程设计学生姓名谢文权学号2 0 1 0 3 2 1 5专 业(班级)物理学一班学生姓名王世伟学号2 0 1 0 3 2专 业(班级)物理学一班设计项目基于M CS-5 1 单片机温湿度仪系统的设计设计内容本设计主要开发一种基于M CS-5 1 单片机的温湿度监测系统,该系统主要由温
2、湿度传感器SH T1 0、M CS-5 1 单片机、D S1 3 0 2 时钟芯片、AT2 4 C0 2 数据存储芯片和键盘显示电路几部分组成,采用软件编程。可以显示时间并实现室内温度和湿度的实时测量与显示,同时具有数据存储、查询和上传的功能。主要技术指标和要求(1)实时显大室内的温度和湿度,显 刃,年、月、日、星期、时、分、秒;(2)能够通过键盘输入日期和时间的初值;(3)通过功能键能够实现数据储存、查询功能;(4)通过功能键能够实现外中断和定时中断功能;(5)完成设计报告。设计所用仪器设备L J D-SY-5 2 0 0 学习板一块、计算机一台工作计划1 1.5-1 1.1 1 选定设计项
3、目,复习单片机的一些语句;1 1.1 2-1 1.1 6 熟悉K E I L 3 开发环境以及L J D-SY-5 2 0 0 开发板;1 1.1 7-1 1.2 0 掌握各器件的运用,对各芯片程序分别进行调试;1 1.2 1-1 1.2 3 将各个分立的子程序集合成大程序并调试;1 1.2 3-1 1.2 5 完成实验报告。参考资料 1 赵伟,张锡英,高微,等,M CS5 1 系列一单片机原理与应用 M ,黑龙江:东北林业大学出版社,2 0 0 7 2 蓝海芯片单片机板L J SY 5 2 0 0 附带材料指导教师签字2东北林业大学课程设计温湿度传感器综合实验摘要本系统用AT8 9c 5 1
4、、SH T1 0、键盘、数码管、液晶屏、D S1 3 0 2等组成,系统包括测量温度、湿度的功能。系统除基本的测温湿度功能外,还具有时间日期设定、显示等功能.在设计中我们应用L J D-SY-5 2 0 0单片机实验系统做系统仿真。L J D-SY-5 2 0 0实验系统具有丰富的硬件资源。本设计采用AT8 9C5 1单片机控制可编程芯片CH 4 5 1实现对显示和键盘的控制。温湿度值在液晶屏幕上显示,时间在数码管上显示。本文详细介绍了如何实现用键盘中断测量显示温湿度的功能,并实现键盘输入修改时间、I/O 口等功能。关键词:s h t l O;测温湿度;时间显示;键盘设定初值;3东北林业大学课
5、程设计4东北林业大学课程设计目录1绪论.21.1 引言.21.2 系统方案设计.31.3 方案论证.32系统主要器件选型与依据.42.1 LJD-SY-5200单片机实验系统.42.2 CH451DS1 芯片简介.52.3 DS1302芯片简介.72.4 SHT10 芯片简介.93系统的硬件设计.103.1系统硬件设计总框图.103.2温湿度测量电路.II3.3时间日期显示设计.123.4键盘显示模块设计.124系统的软件设计.135总结.13参考文献附录A5东北林业大学课程设计温湿度传感器综合实验1 绪论1.1 引言近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术
6、日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。S I I T 1 0 系列产品是一款高集成度的温湿度传感器芯片,提供全标定数字输出。它采用的C M O S e n s 技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与 1 4 位 的 A/D 转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷
7、凝式湿度计为参照。校准系数以程序形式储存在O T P 内存中,在标定的过程中使用。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。本系统采用M S C-5 1 系列单片机和可编程串行I/O 接口芯片C H 4 5 1 为中心器件来设计温湿度测量,本系统实用性强、操作简单、扩展功能强。6东北林业大学课程设计1.2系统方案设计利用控制芯片、测温电路、键盘显示模块、时钟电路、等分别实现:(1)能够通过键盘输入日期和时间的初值;(2)实时显示时、分、秒;(3)测量并显示温湿度(4)通 过I/O 口显示图1 T为设计方案总体框图图1-1设计
8、方案总体框图系统初始化后,液晶屏幕上显示“单片机实验”等,同时可通过键盘依次输入时、分、秒,输入完成后即在数码管上显示,通过功能键10能在液晶屏上显示温湿度,通过功能键11能显示I/O 口流水灯。1.3方案论证(1)测温模块方案:使 用SHT10芯片测量温湿度,SHT10系列产品是一款高集成度的温湿度传感器芯片,提供全标定数字输出。它采用的CMOSens技术,确保产品具有极高的可靠性与卓越的长期稳定性。(2)显示模块方案一:使用LCD液晶屏作为时间日期显示,LCD液晶显示器的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向
9、,将光线折射出来产生画面。显示清晰,实现功能全。但是开发板P0 口同时作用在点阵和液晶上,不能同时用,故该方案舍弃。方案二:使 用8为数码管作为显示,通过芯片CH451控制数码管,可实现时间和日期还有当前交通状态显示,缺点是数码管显示数字,显示不灵活多变。但是LCD液晶屏与点阵10 口冲突,故选用方案二数码管作为显示模块。7东北林业大学课程设计(3)时钟电路模块方案一:DS1302 一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或
10、RAM数据。DS1302内部有一个31X8的用于临时性存放数据的R A M寄存器。方案二:DS12c887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。由于DS12c887能够自动产生世纪、年、月、日、时 一、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12c887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有 12小时制和24小时制两种模式。在 12小时制模式中,用 AM和 PM区分上午和下午;时间的表示方法也有两种
11、,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4 字节RAM用来存储DS12c887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12c887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。由于DS12c887是并行方式,DS1302是串行方式,为了减少1O 口占用,故选用DS1302(4)键盘显示控制模块方案一:HD7279A是一片具有串行接口的,可驱动8 位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成L
12、ED显示、键盘接口的全部功能。方案二:CH451是一个整合了数码管显示驱动和键盘扫描控制以及U P 监控的多功能外围芯片。CH451内置RC振荡电路,可以动态驱动8 位数码管或者64位 LED,具 有 BCD译码、闪烁、移位等功能;同时还可以进行6 4 键的键盘扫描;CH451通过可以级联的串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。相比之下CH451性能更好一点,故选用CH451作为键盘显示控制芯片2系统主要器件选型及依据2.1 L J D-S Y-5 2 0 0 单片机实验系统(1)LJD-SY-5200的基本结构:LJD-SY-5200实验系统的硬件部分主要由以下电路
13、构成:显示电路(其中显示电路包括液晶显示,数码管显示,发光二极管显示及8X8三色LED点阵显示),键盘电路,USB电路,串口电路,时钟电路,I2C电路,D/A&A/D转换电路,测温湿度电路,1WIRE总线电路,IC 卡电路,语音电路,蜂鸣器&继电器电路,单脉冲发生电路,红外遥感电路等电路有机组合而成。而实验系统的软件部分则是精心编写并测试通过的所有硬件部分驱动程序和大量的综合实验例程。(2)LJD-SY-5200 硬件配置:8东北林业大学课程设计L JD-S Y-5 200实验系统具有丰富的硬件资源,具体的硬件配置如下:液晶显示器采用的是两兆字库1223 2汉字液晶屏,汉显液晶屏具有编程简单使
14、用方便等其他液晶屏所不具备的优点;数码管采用的是8段8位数码管;键盘是4 X 4 行列式键盘,键盘与数码管通过专用键盘和数码管接口芯片C H 4 5 1与C P U 相连接,使用键盘接口芯片的好处就是可以大大减少编程的工作量,一个复杂的数码管显示位的闪烁移动操作,在此我们只需要一行简单的命令就能轻轻实现。发光二极管部分采用的2 4 个红黄绿三色的发光二极管,大量的各色发光二级管组合在一起能够变换出五彩缤纷的色彩;点阵部分采用的8 X 8 三色点阵显示,点阵的驱动电路是两片7 4 H C 5 7 3 和一片7 4 H C 13 8 及八个8 5 5 0三极管和相应的限流电阻,其具体的使用方法详见
15、后续章节的8 X 8 L E D 点阵的操作使用说明;U S B 电路采用的是内部已经固化了U S B 标准通信协议的U S B 接口芯片C H 3 7 2,硼C H 3 7 2可以在很大程度上简化U S B 驱动程序的开发复杂程度,面对U S B 驱动程序的开发初学者不再会望而却步,只要在熟悉相关通信协议的基础上即使是初学者也能轻轻松松开发出属于自己的U S B 驱动程序。时钟电路采用的是d s l 3 02实时时钟芯片,针对该芯片我们配置了较多的相关程序,包括通过数码管显示当前时间的R T C,可调节的通过数码管显示当前时间的R T C,可调节的通过数码管可显示当前时间和日期的R T C,
16、通过1223 2液晶显示屏显示当前时间和日期的R T C,这些程序在编写顺序上遵循的是循序渐进,由易到难的原则,是真正的针对初学者而为其量身定做的,具有很强的针对性,相信初学者一定会从中受益的;12(3电路采用的当前流行的A T 24c o 2;D A/A D 电路采用的分别是T L C 5 6 15&T L C 5 49转换芯片,他们具有简单实用操作方便的特点。测温湿度电路采用的SH T 10温湿度传感器,它能够精确的测试出当前小环境温度和湿度,针对温湿度传感器我们为其配置了通过液晶屏及数码管显示当前温度&湿度的程序,详见后续章节的SH T 10篇;1W I RE 采用的是i B u t t
17、 o n (信息纽扣)一一D S1990A-F 5,可说这在当前是比较先进的,这在市面上其他同类产品中是不具备的;I C 卡电路采用的是西门子公司的SL E 4442逻辑加密卡;语音芯片采用的是I SD 1420,具有2 0 秒的语音录放功能.(3)L J D-SY-5 200的仿真方法:把随机带的仿真监控芯片插到L J D-SY-5 200的C P U 插座上,将串口线的一端插到计算机的串口上,另一端与L J D-SY-5 200的串口相连接即完成硬件连接部分,接下来需要对仿真监控芯片的工作参数进行设定。2.2 C H 45 1D S1芯片简介C H 45 1是一个整合了数码管显示驱动和键盘
18、扫描控制以及UP监控的多功能外围芯片。C H 45 1内置RC 振荡电路,可以动态驱动8位数码管或者6 4位 L E D,具 有 B C D 译码、闪烁、移位等功能;同时还可以进行6 4 键的键盘扫描;C H 45 1通过可以级联的串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。特点:(1)显示驱动内置大电流驱动级,段电流不小于2 5 m A,字电流不小于1 5 0 m A。动态显示扫描控制,直接驱动8 位数码管或者6 4 位发光管L E D o 可选数码管的段与数据位相对应的不译码方式或者B C D 译码方式。数码管的字数据左移、右移、左循环、右循环。各数码管数字独立闪烁控制
19、。通过占空比设定提供1 6级亮度控制。9东北林业大学课程设计支持段电流上限调整,可以省去所有限流电阻。扫描极限控制,支 持1到8个数码管,只为有效数码管分配扫描时间。(2)键盘控制内置6 4键键盘控制器,基 于8 X 8矩阵键盘扫描。内置按键状态输入的下拉电阻,内置去抖动电路。键盘中断,低电平有效输出。提供按键释放标志位,可供查询按键按下与释放。(3)外部接口高 速 的4线串行接口,支持多片级联,时钟速度从0到1 0 M H z。串行接口中的D I N和D C L K信号线可以与其它接口电路共用,节约引脚。完全内置时钟振荡电路,通常不需要外接晶体或者阻容振荡。内置上电复位和看门狗W a t c
20、 h-D og,提供高电平有效和低电平有效复位输出。功能:C H 4 5 1是一个多功能外围芯片,通过可以级联的4线串行接口与单片机、D S P、微处理器等交换数据。C H 4 5 1包含三个功能:数码管显示驱动、键盘扫描控制、UP监控,三个功能之间相互独立,单片机可以通过操作命令分别启用、关闭、设 定C H 4 5 1的任何一个功能。C H 4 5 1的串行接口是由硬件实现的,单片机可以频繁地通过串行接口进行高速操作,而绝不会降低C H 4 5 1的工作效率。图2-1为C H 4 5 1外围电路图。表2T为按键键值表。表2-2为引脚功能表。表2-3为操作指令表。图2-2为C H 4 5 1获
21、得按键代码时序图图2-1 C H 4 5 1外围电路图表2-1按键键值表表2-2引脚功能表按键代码DIG7DIG6DIG5DIG4DIG3DIG2DIG1DIGOSEG047H46H45H44H43H42H41H40HSEG14FH4EH4DH4CH4BH4AH49H48HSEG257H56H55H54H53H52H51H50HSEG35FH5EH5DH5CH5BH5AH59H58HSEG467H66H65H64H63H62H61H60HSEG56FH6EH6DH6CH6BH6AH69H68HSEG677H76H75H74H73H72H71H70HSEG77FH7EH7DH7CH7BH7AH7
22、9H78H10东北林业大学课程设计28脚封装的引脚号24脚封装的引脚号引脚名称类型引脚说明232VCC电源正 电 源 端.持续电流不小于200mA915GND电源公共接地端.持续电流不小于200mA254LOAD输入串行接口的数据加载.内置上拉电阻265DIN输入串行接口的数据输入,内置上拉电阻276DCLK输入串行接口的数据时钟,内置上拉电阻同时用于石门狗的清除输入243DOUT摘出串行接口的数据输出和键盘中断2 2-1 51、24 18SEG7SEGO三态输出及输入数码管的段驱动.高电平有效.键盘扫描输入.高电平有效.内置下拉1 87 14DIG7DIGO输出数码管的字驱动,低电平有效.键
23、盘扫描愉出.高电平有效1216RST愉出上电复位和石门狗复位.高电平有效13不支持RST#输出上电复位和石门狗复位,低电平有效14不支持ADJ摘入段电流上限调整.内置强下拉电阻10不支持CLK输入可选外接电阻电容调整内部时钟频率11不支持CLKO输出CLK引脚时钟的二分频输出28不支持RSTI输入手工笑位输入.高电平有效17N.C.不连接,禁止使用表 2-3 操作指令表操作命令位11位10位9位8位7位6位5位4位3位2位1位0空操作0000XXXXXXXX芯 片 内 部 复 位001000000001字数据左移001100000000字数据右移001100000010字 数据左循环00110
24、0000001字 数据右循环001100000011设定系统参数010000000WD0GKEYBDISP设定显示参数0101MODELIM ITINTENSITY设定闪烁控制0110D7SD6SD5SD4SD3SD2SD1SDOS加 载 字 数 据01000DIG_DATA.D IG 0对应的字数据加 载 字 数 据11001DIG_DATA.D IG 1对应的字数据加 载 字 数 据21010DIG_DATA.D IG 2对应的字数据加 载 字 数 据31011DIG_DATA.D IG 3对应的字数据加 载 字 数 据41100DIG_DATA.D IG 4对应的字数据加 载 字 数 据
25、51101DIG_DATA.D IG 5对应的字数据加 载 字 数 据61110DIG_DATA.D IG 6对应的字数据加 载 字 数 据71111DIG_DATA.D IG 7对应的字数据读 取 按 键 代 码0111XXXXXXXXD C L K r-i r-i r i ri ri ri ri ri ri L O A DL H H L L L H HM C U|中 断|读 取 按 键 代 码 命 令|箍 入 按 键 代 码图 2-2 单 片 机 从 CH451获得按键代码时序图1 1东北林业大学课程设计2.3 D S 1 3 0 2芯片简介D S 1 3 0 2是D A L L A S公
26、司推出的涓流充电时钟芯片,内含有一个实时时钟/日历 和3 1字 节 静 态R A M通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过A M/P M指示决定采用2 4或1 2小时 格 式D S 1 3 0 2与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线1 R ES复位2 I/O数据线3 S C LK串行时钟时钟/R A M的读/写数据以一个字节或多达3 1个字节的字符组方式通信,D S 1 3 0 2工作时功耗很低,保持数据和时钟信息时功率小于I m W。D S 1 3 0 2是由D S 1 2
27、 0 2改进而来,增加了以下的特性,双电源管脚用于主电源和备份电源供应V ccl为可编程涓流充电电源。附加七个字节存储器,它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域,下面将主要的性能指标作一综合:实时时钟具有能计算2 1 0 0年 之 前 的 秒 分 时 日 日 期 星 期 月 年 的 能力,还有闰年调整能力。3 1 8位暂存数据存储R A M串 行I/O 口方式使得管脚数量最少宽 范围工作电压2.0 5.5 V 工 作 电 流2.0 V时,小 于3 0 0 n A 读/写时钟或R A M数据时有两种传送方式单字节传送和多字节传送字符组方式 8脚D I P封装或可选的8脚S
28、 0 I C封装根据表面装配简 单3线接口与 T T L 兼容 V cc=5 V 可选工业级温度范围-4 0 +8 5与 D S 1 2 0 2兼容 在D S 1 2 0 2基础上增加的特性:对V ccl有可选的涓流充电能力;双电源管用于主电源和备份电源供应;备份电源管脚可由电池或大容量电容输入;附 加 的7字节暂存存储器。D S 1 3 0 2的管脚排列及描述如图2-4所示。图 2-4 D S 1 3 0 2 管脚图 X I X 2 3 2.7 6 8 KH z 晶振管脚;G N D 地;R S T复位脚;I/O数据输入/输出引脚;S C LK串行时钟;V ccl,V cc2电源供电管脚;D
29、 S 1 3 0 2内部寄存器;12东北林业大学课程设计 C H:时钟停止位寄存器2的 第 7位 1 2/2 4 小时标志;C H=O 振荡器工作允许b i t 7=l,1 2 小时模式;C H=1 振荡器停止b i t 7=0,2 4 小时模式;WP:写保护位寄存器2的 第 5 W P=O 寄存器数据能够写入A P=1 W P=1 寄存器数据不能写入A P=O T C S:涓流充电选择 TC S=1 0 1 0 使能涓流充电 TC S=其它 禁止涓流充电位:A M/P M 定义;下午模式;上午模式;DS:二极管选择位D S=0 1 选择一个二极管D S=1 0 选择两个二极管 D S=O O
30、 或 11,即使TC S=1 0 1 0,充电功能也被禁止D S 1 3 0 2 的管控制字如图2-5 所示。D S 1 3 0 2 的读写时序图如图2-6 所示。7 6 5 4 3 2 1 01RAMA4A3A2A1A0RD乐丽图 2-5 D S 1 3 0 2 的控制字单 字 节 读_/_TLrLrLrLrLrLrLrLnLnLrLnLrLrLP L-(R/W AO A1|A2 1A3 1 A 4|R/C|1 只 口。|口1|0二 03|D4|D5|06|D 7单 字 节 与cs_/_ru-L rL rL rL rL T L T L rL T L rL rL rL rL n j-1/5(R
31、/W|A O J A1|A 2 1 A 3 1 A 4|R/C|1 0。|0|口2|D 3|D4 1 0 5 1 P 6|D7D S 1 3 0 2 的读写时序图如图2-6 所示。2.4 S H T1 0 芯片简介S H T1 0 系列产品是一款高集成度的温湿度传感器芯片,提供全标定数字输出。它采用的C M O S e n s 技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与 1 4 位的A/D 转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点。每个
32、传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式储存在O TP 内存中,在标定的过程中使用。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。13东北林业大学课程设计SCKDATAGNDVDDSHT10框图1命令代码预留OOOOx温度测量00011湿度测量00101读状态寄存器00111写状态寄存器00110预留0101x-1110 x软复位,复位接口、清空状态寄存器,,即清空为默认值下一次命令前等待至少11ms11110SHT10命令集14东北林业大学课程设计3 硬件设计3.1系统硬件设计总
33、框图系统原理图设计如图3-1 所示,A T 8 9 C 5 1 单片机硬件系统实现如下功能:(1)控制时钟芯片D S 1 3 0 2读取日期和时间,设置初值;(2)控制C H4 5 1 显示时间和日期;(3)控制S HT 1 0 实现温湿度测量;图 3-1 系统原理图:lpllpll ll lwxlxl皿Ha13.2温湿度测量电路15东北林业大学课程设计uC(master)3.3时间日期显示设计电路如图3-3所示,该时钟电路可以对年、月、日、周、时、分、秒进行计时。D S 1 3 0 2实时时钟具体控制方法如下:(1)单片机的P 1 0 口连接D S 1 3 0 2的I/O 口,作为串行数据的
34、输入和输出口;(2)单片机的P 1 1 口连接D S 1 3 0 2的S C L K 口,给D S 1 3 0 2提供读写数据的脉冲信号;(3)单片机的P 1 4 口连接D S 1 3 0 2的R S T 口,起到时钟芯片的复位作用。RST GNDI/O X2SCLK XIVCC1VCC2图3-3时钟电路3.4键盘显示模块设计键盘显示模块控制电路如图3-5所示,C H4 5 1控制键盘与8位数码管,有键按下时产生中断,并获得相应的键值,根据相应的键值做相应功能处理,具体控制方法如下:(1)单片机的P 1 2 口连接C H4 5 1的L O A D 口,作为串行数据加载;(2)单片机的P 3 5
35、 口连接C H4 5 1的D IN 口,作为串行数据输入;(3)单片机的P 3 4 口连接C H4 5 1的D C L K 口,作为串行接口的数据时钟;(4)单片机的IN T 1 口连接C H4 5 1的D O U T 口,作为串口数据的输出和键盘中断;(5)C H4 5 1的R S T 1 口连接外部按键,起到上电复位和看门狗复位的作用。16东北林业大学课程设计17东北林业大学课程设计4系统的软件设计本系统利用键盘实现时间初值的设定,并利用键盘中断实现温湿度测量及显示,I/O 口流水灯显示。5总结系统设计简便、稳定性强、操作简单、程序设计简便。系统不足:过于简单,系通过于平面化,深度不足参考
36、文献1赵 伟、张锡英 MCS-51系列单片机原理与应用东北林业大学出版社2007蓝海芯片单片机板L J SY 5200附带材料附表:18东北林业大学课程设计,*LOADBITPl.2;键盘和显示定义CH451DINBITP3.5DCLKBITP3.4DOUTBITP3.3DATA_FEQUOCHDATA_KEYEQUODHMREQU08HMR1EQU09HMR2EQUOAHMR3EQUOBHCOUNTEQUOCHADDR EQU OEH;起始的显示位置ADDRI EQU OFH;起始的显示位置临时变量N1 EQU 10H;行数的临时变量;p2.5=r/w p2.4=rsW_C_GLCDEQUO
37、cfffH;00写指令W_D_GLCD EQUOdfffH;01写数据R_B_GLCDEQUOefffH;10读忙标志R_D_GLCDEQUOffffH;11读数据SCLKBITPl.l;系统时钟芯片dsl3O2IODATABITP1.0;RSTBITPl.4;FLAGBIT02H;读写标志位,*DATBITP3.5SCKBITP3.4ACKBIT01H;adr command r/w*/STATUSWEQU06H;00000110*/写状态STATUSREQU07H;00000111*/读状态MTEMPEQU03H;00000011*/测量温度MHUMIEQU05H;00000101*/测量
38、湿度RESETEQU1EH;000m i0*/CS1 BIT P1.5;A/D TLC549cp 管脚定义SDAbitP1.0;/*iic数据传送位*/AT24co2A 定义SCLbitPl.l;,*iic时钟控制位*/WPBITPl.419东北林业大学课程设计SDA1SCL1BIT P1.0BIT P1.1CS2BITPl.3;DA片选信号SCLK2BITPl.l;DA时钟信号DIN2BITP1.0;lObit数字数据输入ORGOOHMAIN:UMP MAINORG 03HUMP LINTOORG OBHLJMP ETIMEOORG 13HLJMP CH451NT1ORG 23HLJMP R
39、ECIVEORG 30HMOV SP,#60HLCALL INITIAL_GLCDLCALL INICH451LCALL DS 1302INISETB IT1SETB EXISETB EA;设置键盘中断外部中断1;调 用LCD初试化;显示和键盘初始化;时钟芯片ds 1302初始化;置外部中断信号为边沿触发;允许键盘中断;开总中断STAT:LCALLMOV A,#01H;清 除LCD显示器LCALL COMMAND_GLCDMOV DPTR,#DHZTAB 1MOV ADDRI,#00H;开始行位置MOV Nl,#6;显示数量DHZLCALL OFFDISMOV77H,#0MOV78H,#18H
40、MOV79H,#18HMOV7AH,#0EHMOV7BH,#17HLCALLDISPLAYMOV 20H,#0MOV DATA_KEY,#0SETB EXI*键盘判 断*KEYO:JNB 00H,KEY020东北林业大学课程设计CLR 00HMOV A,DATA_KEYKEY1:CJNE A,#41H,KEY2;,键-一定时器-CLR EX1;禁止键盘中断MOV TMOD,#01H;T0 方式 1MOV TL0,#0B0H 淀时 50 毫秒MOV TH0,#3CHMOV R5,#40;2 秒SETB ETO;允许TO中断SETB EACLR F0SETB TROJNB F0,$CLR FOAJ
41、MP STAT外中断INTO-KEY2:CJNE A,#42H,KEY3;2 键CLR EXISETB ITO;置外部中断0 信号为边沿触发SETB EXOSETB EAJNB 01H,$CLR 01HAJMP STAT一存储器写记录-KEY3:CJNE A,#43H,KEY31;3 键LCALL OFFDISMOV A,#01H;清除显示器LCALL COMMAND.GLCDMOV 77H,#3LCALL DISPLAYSETB WP;控制允许24C02A读写NOPCLR WPLCALL MEMLCALL DELAY,ISAJMP STAT一存储器读记录-KEY31:CJNE A,#48H,
42、KEY4;4键LCALL OFFDISMOV A,#01H;清除显示器LCALL COMMAND_GLCDMOV 77H,#421东北林业大学课程设计LCALLDISPLAYJ KEY:JNBOOH,J KEYCLROOHMOVA,DATA_KEYCJNEA,#52H,JKEY1;4+A,键按顺序显示记录MOV7AH,#0AHLCALLDISPLAYLCALLDELAY.ISLCALLDISJILU;显示记录AJMPSTATJKEY1:CJNEA,#53H,JKEY2;4+B,键按时间和日期显示记录LCALLDISJILUDTMOV7AH,#0BHLCALLDISPLAYLCALLDELAY.
43、ISAJMPSTATJKEY2:CJNEA,#53H,JKEY;4+E 键返回MOV7AH,#0EHLCALLDISPLAYLCALLDELAY.ISAJMPSTAT-串行通讯发送-KEY4:CJNEA,#49H,KEY5;5 键CLREXILCALLTONGXIFAJMPSTAT-串行通讯接收-KEY5:CJNEA,#4AH,KEY6;6 键CLREXILCALLTONGXISAJMPSTAT一蜂鸣器KEY6:CJNEA,#4BH,KEY7;7键CLR EX1MOV R7,#10KK:LCALLYAN300CPLP1.6LCALL YAN300CPLP1.6DJNZ R7,KKSETB EX
44、IAJMP STAT;-A/D-KEY7:CJNE A,#50H,KEY8;8 键22东北林业大学课程设计LCALLADREADAJMP STAT;-D/A-KEY8:CJNE A,#51H,KEY9;9键LCALL DAWRITEAJMP STAT;-D/A-KEY9:CJNE A,#52H,KEY10 A键LCALL OFFDISMOV A,#01H;清除显示器LCALL COMMAND_GLCDCONT:SETB ACKLCALLMEASTEMP;测量温度结果在B(6 位整数)A(8 位小数)中LCALL DISTEMP;显示测量温度LCALL YAN 300LCALL MEASHUMI
45、LCALL DISHUMILCALL DELAY.ISJNB OOH,CONTCLROOHAJMPSTAT-键盘输入日期和时间初值KEY 10:CJNEA,#53H,KEY11;B键LCALLOFFDISMOVA,#01H;清除显示器LCALLCOMMAND.GLCDLCALLDT;键盘输入日期和时间初值AJMPSTAT-显示日期和时间-KEY11:CJNEA,#58H,KEY12;。键LCALLOFFDISMOVA,#()1H;清除显示器LCALLCOMMAND,GLCDMOV77H,#0CHLCALLDISPLAYLCALLXTTIMEAJMPSTAT-将记录个数清零-KEY 12:CJN
46、EA,#59H,KEY13;D键LCALLMOVLCALLMOVLCALLOFFDISA,#01H;清除显示器COMMAND_GLCD77H,#0DHDISPLAY23东北林业大学课程设计MOV 47H,#0A0H;写命令0A0H=1010 000(页地址)0(写)MOV 48H,#0;地址OOH存记录个数MOV 49H,#0;数据LCALL WRDATALCALL DELAY,ISAJMP STATKEY13:AJMP KEYO;记录个数清零*按时间和 日 期 显示记录*DISJILUDT:MOV COUNT,#0MOV R0,#30HDDT:JNB OOH,DDTCLR OOHMOV A,
47、DATA_FMOV R0,AINC COUNTRET;统计键盘输入年、月、日、时查询和显示;-按顺序显示记录-DISJILU:SETB WPNOPCLR WP;控制允许24C02A读写MOV 47H,#0A0H;写命令MOV 48H,#0;地址MOV 49H,#OA1H;读命令LCALLRDDATAMOV R5,ACLRCMOV A,#lSUBB A,#l;读记录数MOV B,#12期、温度(2)、湿度(2);一个存储记录=12字节=年(2)、月、日、时、分、秒、星MULABADD A,#l;计算存储记录的地址MOV 48H,A;A=页 内 的 地 址 B=页地址XCH A,B;A B 互换R
48、L A;将页地址*2ADD A,47HMOV 47H,ALCALL DELAY 10MOV 7EH,R5MOV 7BH,#1JXDUO:LCALL DISPLAYMOV R0,#30HMOV R7,#12;将页地址+命令中24东北林业大学课程设计JXDU1:LCALL RDDATA;读记录数MOV R0,AINC ROINC48HLCALL DELAY 10DJNZR7JXDU1LCALL DISDTWS;显示记录INC7BHJNB 00H,$CLR OOHDJNZ R5,JXDU0RETDISDTWS:MOV A,#80H;送显示地址第一行LCALL COMMAND_GLCD;调写命令子程序
49、MOV R7,#7MOV R0,#30HJIXD2:LCALL DISDT;显示年、月、日 时、分、秒DJNZ R7,JIXD2MOV A,R0ADD A,#30HLCALL WRITE_GLCD;显示星期INC ROMOV A,#90H;送显示地址第二行LCALL COMMAND_GLCD;调写命令子程序MOV R7,#2JIXD3:MOV A,R0SWAP AANLA,#0FH;先显示高4 位ADD A,#30HLCALL WRITE_GLCD;送显示MOV A,R0ANLA,#0FHADD A,#30HLCALL WRITE.GLCD;显示低 4 位MOV A,#.LCALL WRITE
50、_GLCD;显示?INC ROMOV A,R0SWAP AANL A,#0FH;先显示高4 位ADD A,#30HLCALL WRITE_GLCD;显示第一位小数MOV A,R025东北林业大学课程设计ANLA,#0FHADD A,#30HLCALL WRITE.GLCD;显示第二位小数MOV A,#,LCALL WRITE_GLCD;显示INC RODJNZ R7,JIXD3RET*显示 日 期和时间*XTTIME:MOV R0,#40HMOV R7,#7SETB FLAG;FLAG=1读日期和时间LCALL RWRTCLCALLTIAOZMOV A,#80H;送显示地址第一行LCALL C