2022年数字万年历和数字温度计与数字音乐播放器电子系统专题设计报告.docx
精选学习资料 - - - - - - - - - 电子设计系统专题课题设计报告课题: 1 数字万年历和数字温度计2 数字音乐播放器学院:电子信息学院年级: 2022 级专业:电子信息工程学号: 1228401017姓名:赵仕中指导老师:邓晶【摘要】随着时代地进步和进展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟地技术 .对于温度地测量方法与装置地讨论就凸显得特别重要 .由单片机与温度传感器构成地测温系统可广泛应用于很多领域,电子日历更是遍及每个角落 .本设计采纳 51 单片机和 DS18B20 数字温度传感器来进行温度测量地方法 ,包括温度传感器芯片地选取、单片机与温度传感器接口电路地设计,以及实现温度信息采集和数据传输地软件设计.DS18B20 数字温度传感器是单总线器件 ,与 51 单片机组成一个测温系统 ,具有线路简洁、体积小等特点 ,而且在一根通信线上 ,可以挂接很多这样地测温系统 ,特别便利 .电子万年历是一种特别广泛日常计时工具,对现代社会越来越流行 .它可以对年、月、日、周日、时、分、秒进行计时,仍具有闰年补偿等多种功能,而且 DS1302 地使用寿命长,误差小 .对于数字电子万年历采纳直观地数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信名师归纳总结 - - - - - - -第 1 页,共 44 页精选学习资料 - - - - - - - - - 息,仍具有时间校准等功能.该电路采纳AT89C51单片机作为核心,功耗小,能在3V 地低压工作,名师归纳总结 电压可选用35V 电压供电 .1 1 1 2蜂鸣器能发出和谐地乐音,加上中断掌握能实现随便切换歌曲和播放/暂停地功能 .随着音乐播放,流水灯有节奏地闪耀,使得数字音乐播放器地功能更加丰富.【关键字】音乐盒; DS18B20;DS1302目 录引言 1第一部分 数字万年历和温度计1 概述 21 . 1 课 题 意1 . 2 系 统 功1 . 3 系 统 组 成 框1 . 4 各 个 模 块 功 能 介1.4.1 AT89C51 主掌握模块 21.4.2 彩屏动态扫描显示模块 31.4.3 时钟模块 31.4.4 温度采集模块 31.4.5 晶振复位模块 31.4.6 外部中断模块 32 硬件设计 42 . 1 总 体 设 计 框2 . 2 各 部 分 硬 件 设 计 及 其2.2.1 AT89C51 主要特点 42.2.2 彩屏动态扫描显示模块设计 42.2.3 时钟模块设计 52.2.4 温度采集模块设计 72.2.5 晶振复位模块设计 82.2.6 外部中断模块设计 93 软件设计 113 . 1 系 统 主 程 序 设3 . 2 各 模 块 子 程 序 设3.2.1 彩屏显示子程序设计 113.2.2 时钟模块子程序设计 143.2.3 温度采集模块子程序设计 153.2.4 晶振复位模块子程序设计 153.2.5 外部中断模块子程序设计 164 调试 154 . 1 检 查 硬 件 连 接4 . 2 检 查 软 件 系 统4 . 3 测 试 结 果4.3.1 总体运行图 164.3.2 总结 16其次部分 数字音乐播放器1 概述 181 . 1 课 题 意 义1 . 2 系 统 功 能义能图绍原图理4 4计 计9 911 15 5 61 18 8第 2 页,共 44 页- - - - - - -精选学习资料 - - - - - - - - - 1 . 3 系 统 组 成1 . 4 主 要 功 能 模 块1.4.1 蜂鸣器模块 181.4.2 LED 显示模块 192 硬件设计 202 . 1 总 体 设 计2 . 2 各 部 分 硬 件 设 计 及2.2.1 蜂鸣器模块设计与原理 202.2.2 LED 显示电路设计与原理 213 软件设计 223 . 1 音 调、节 拍 以 及 编 码 地3.1.1 音调地确定 223.1.2 节拍地确定 233.1.3 编码 243 . 2 软 件 程 序3.2.1 主程序设计 253.2.2LED 显示模块设计 264 调试 274 . 1 检 查 硬 件4 . 2 检 查 软 件4 . 3 测 试 结4.3.1 总体运行图 274.3.2 总结 27体会 28参考文献 29附录 A 万年历和温度计程序源代码及注释 30附录 B 数字音乐播放器程序源代码及注释 42框介图绍1128 8框图理20 0其原确定方法22设计25连 系接 统22 27 77果名师归纳总结 - - - - - - -第 3 页,共 44 页精选学习资料 - - - - - - - - - 引言21 世纪,电子技术获得了飞速地进展,在其推动下,现代电子产品几乎渗透了社会地各个领域,有力地推动了社会生产力地进展和社会信息化程度地提高,同时也使现代电子产品性能进一步提高,产品更新换代地节奏也越来越快 .目前,单片机正朝着高性能和多品种方向进展趋势将是进一步向着 CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面进展 .单片机应用地重要意义仍在于它从根本上转变了传统地掌握系统设计思想和设计方法.从前必需由模拟电路或数字电路实现地大部分功能,现在已能用单片机通过软件方法来实现了 .这种软件代替硬件地掌握技术也称为微掌握技术,是传统掌握技术地一次革命.单片机渗透到我们生活地各个领域,几乎很难找到哪个领域没有单片机地踪迹 .导弹地导航装置,飞机上各种外表地控制,运算机地网络通讯与数据传输,工业自动化过程地实时掌握和数据处理,广泛使用地各种智能 IC 卡,民用豪华轿车地安全保证系统,录像机、摄像机、全自动洗衣机地掌握,以及程控玩具、电子宠物等等,这些都离不开单片机 .随着科学技术地进步和社会地进展,人类所接触地信息也在不断增加并且日益复杂 .面对浩如烟海地信息,人们已经能够利用运算机等工具高效精确地对之进行处理,但要想将处理完地信息准时,清晰地传递给别人,仍必需通过寻求更加杰出地显示技术来实现.单片机技术与液晶显示技术地结合,使信息传输沟通向着智能可视化方向快速进展第一部分 数字万年历和温度计设计1 概述本文通过对一个基于单片机地能实现万年历功能电子时钟地设计,从而达到学习、了解单片机相关指令在各方面地应用.系统由主掌握器AT89C51、时钟电路DS1302、温度传感器 DS18B20、显示电路、外部中断按键电路、和复位电路等部分构成,能实现时钟日历显示地功能,能进行时、分、秒、星期地显示.对于不同型号地单片机只需要相应地转变一下地址即可 .该软、硬件系统具有很好地通用性,很高地实际使用价值,为广大地单片机爱好者供应了很好地借鉴 .1.1 课题意义单片机是随着超大规模集成电路技术地进展而产生地,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子外表、家用电器、节能装置、军事装置、机器人、工业掌握等诸多领域,使产品小型化、智能化,既提高了产品地功能和质量,又降低了成本,简化了设计.本设计主要利用单片机和TFT 彩色显示屏设计一个数字显示地万年历和温度计 .选题地意义在于通过这次设计可以将平常在课堂上学到地关于单片机地学问应用与实践中,而且更加深化地熟悉到单片机在现代生活和生产中地重要性 .1.2 系统功能彩屏显示年月日及星期,年月日为字符显示,星期为汉字显示 .温度显示为浮点数 .彩屏布局合理,日期和温度显示划分合理,字体颜色及背景色使用合理 .让人看起来清晰明朗 .并且可以采纳外部中断掌握读取 DS18B20地内部序列号 .1.3 系统组成框图电子万年历地系统结构以 AT89C51 单片机位掌握核心,外部中断模块、时钟复位电路、DS1302 时钟模块、 DS18B20温度采集模块 .单片机负责接收外部中断按键地输入,读取温度名师归纳总结 - - - - - - -第 4 页,共 44 页精选学习资料 - - - - - - - - - 传感器采集地数据,读取DS1302 地数据,转换成BCD 码在彩屏上显示出来.系统总体设计框图如图 1.1 所示 .彩屏动态扫描显示AT89C51 外部中断模块主掌握模时钟模块块温度采集模块晶振复位模块图 1.1 系统总体设计框图1.4 各个模块功能介绍1.4.1 AT89C51主掌握模块主掌握模块以 AT89C51 为核心,通过指令掌握去读取 DS18B20 和 DS1302 地数据,然后送给彩屏显示器显示 .该芯片包含两个外部中断,使用其中一个外部中断去掌握彩屏显示 .1.4.2 彩屏动态扫描显示模块显示主控芯片从 DS18B20 和 DS1302 读取到地数据,多行多列一起显示,使得该显示器较其他显示器能够显示地信息更多,无论是汉字仍是字符,都便利直接观看和应用 .1.4.3 时钟模块时钟模块以DS1302 芯片为核心 .DS1302 包括时钟 /日历寄存器和31 字节( 8 位)地数据暂存寄存器,数据通信仅通过一条穿行输入输出口.实时时钟 / 日历供应包括秒、分、时、日期、月份和年份信息.闰年可自行调整,可挑选12 小时制和24 小时制,可以设置AM、PM.1.4.4 温度采集模块温度采集模块以 DS18B20为核心,一个掌握操作命令指示 DS18B20完成温度测量,该测量地结果将放入 DS18B20 高速暂存储备器,通过发出读暂存储备器操作命令可以读出此结果 .再通过码制转换送与显示器显示 .1.4.5 晶振复位模块晶振是石英振荡器地简称,其作用是在电路产生震荡电流 ,发出时钟信号 . 复位电路是为确保微机系统中电路稳固牢靠工作必不行少地一部分,复位电路地第一功能是上电复位 .晶振电路是给单片机供应时钟信号,复位电路地作用是使单片机地程序计数器清零 .1.4.6 外部中断模块AT89C51供应有 5 个中断源,分别为:2 个外部中断, 2 个定时 /计数器中断, 1 个串口发送名师归纳总结 / 接收中断 .并且具有2 个中断优先级,可以实现2 级中断服务程序嵌套.本设计只占用第 5 页,共 44 页AT89C51 一个外部中断,P3.2 端口 .采纳按键地势式,实现电子日历显示和DS18B20序列号- - - - - - -精选学习资料 - - - - - - - - - 读取与显示两种功能切换 .2 硬件设计2.1 总体设计框图总体设计框图如下:图 3.1 总体设计组图该图中包含了本次设计全部地模块和涉及到地器件 设计仿真中以 12864 来代替彩屏 .2.2 各部分硬件设计及其原理2.2.1AT89C51 地主要特点.由于 Proteus 中没有 TFT2.6彩屏,故本a.AT89C51 是 一 种 带 4K 字 节 闪 存 可 编 程 可 擦 除 只 读 存 储 器 ( FPEROMFlash Programmable and Erasable Read Only Memory )地低电压,高性能 称单片机 .CMOS 8 位微处理器,俗b.AT89C51是一种带 2K 字节闪存可编程可擦除只读储备器地单片机 .单片机地可擦除只读储备器可以反复擦除 10000 次.c.该器件采纳 ATMEL 高密度非易失储备器制造技术制造,与工业标准地 MCS-51 指令集和输出管脚相兼容 .由于将多功能 8 位 CPU 和闪耀储备器组合在单个芯片中,ATMEL 地AT89C51是一种高效微掌握器,AT89C2051是它地一种精简版本 .d.AT89C51单片机为很多嵌入式掌握系统供应了一种敏捷性高且价廉地方案 .鉴于 AT89C51具有以上特点,本设计采纳 2.2.2 彩屏显示电路设计AT89C51为主控芯片 .名师归纳总结 一个彩色像素地信息可以用1 个多位二进制数来表示和储存.用来表示彩色像素地二进第 6 页,共 44 页制数位置数我们称为颜色深度或颜色质量.本彩屏模块采纳16 位二进制数5-6-5 格式 .字符- - - - - - -精选学习资料 - - - - - - - - - 或汉字地显示都需要用取模软件进行取模,然后转换成对应地像素位置进行显示 .鉴于Proteus 中没有 TFT2.6彩屏,故仿真时用LCD12864 代替,在实际电路中以TFT 彩屏作为显示器 .彩屏与单片机连接如图 3.2. 图 3.2 彩屏与单片机连接电路2.2.3 时钟模块设计DS1302 地掌握字如表 3.1 所示 .掌握字节地高有效位(位 7)必需是规律 1,假如它为0,就不能把数据写入 DS1302 中,位 6 假如 0,就表示存取日历时钟数据,为 1 表示存取RAM 数据;位 5 至位 1 指示操作单元地地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,掌握字节总是从最低位开头输出表 3.1 DS1302 地掌握字格式 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR 3 数据输入输出(I/O)在掌握指令字输入后地下一个 SCLK时钟地上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开头 .同样,在紧跟 8 位地掌握指令字后地下一个 SCLK脉冲地下降沿读出 DS1302地数据,读出数据时从低位0 位到高位 7.如下图 3.3 所示名师归纳总结 - - - - - - -第 7 页,共 44 页精选学习资料 - - - - - - - - - 图 3.3 DS1302 读/写时序图4 DS1302 地寄存器DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放地数据位为 BCD 码形式,其日历、时间寄存器及其掌握字见表 3.2.表 3.2 DS1302地日历、时间寄存器此外, DS1302 仍有年份寄存器、掌握寄存器、充电寄存器、时钟突发寄存器及与 RAM相关地寄存器等 .时钟突发寄存器可一次性次序读写除充电寄存器外地全部寄存器内容 . DS1302 与 RAM 相关地寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位地字节,其命令掌握字为 C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下地 RAM 寄存器,此方式下可一次性读写全部地 RAM 地 31 个字节,命令掌握字为 FEH写、FFH读.名师归纳总结 DS1302与主控芯片连接如图3.4 所示 . 第 8 页,共 44 页- - - - - - -精选学习资料 - - - - - - - - - 图 3.4 DS1302 与 AT89C51连接图2.2.4 温度采集模块设计DS18B20地性能特点如下:特殊地单线接口仅需要一个端口引脚进行通信;多个 DS18B20可以并联在惟一地三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范畴为 3.05.5V;零待机功耗;温度以 9 或 12 位数字;用户可定义报警设置;报警搜寻命令识别并标志超过程序限定温度(温度报警条件)地器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20内部结构主要由四部分组成:64 位光刻 ROM,温度传感器 ,非挥发地温度报警触发器 TH 和 TL,高速暂存器 .64 位光刻 ROM 是出厂前被光刻好地,它可以看作是该 DS18B20地地址序列号 .不同地器件地址序列号不同 .64 位 ROM 地结构开头8 位是产品类型地编号,接着是每个器件地唯独地序号,共有48 位,最终 8 位是前面 56 位地 CRC检验码,这也是多个 DS18B20 可以采纳一线进行通信地缘由 .温度报警触发器 TH 和 TL,可通过软件写入户报警上下限 .DS18B20温度传感器地内部储备器仍包括一个高速暂存RAM 和一个非易失性地可电擦除地 EERAM.高速暂存 RAM 地结构为 8 字节地储备器 .头 2 个字节包含测得地温度信息,第3 和第 4 字节 TH 和 TL 地拷贝,是易失地,每次上电复位时被刷新.第 5 个字节,为配置寄存器,它地内容用于确定温度值地数字转换辨论率 .DS18B20工作时寄存器中地辨论率转换为相应精度地温度数值 .该字节各位地定义如下图所示 .低 5 位始终为 1,TM 是工作模式位,用于设置 DS18B20 在工作模式仍是在测试模式,DS18B20出厂时该位被设置为 0,用户要去改动, R1 和 R0 打算温度转换地精度位数,来设置辨论率 .DS18B20高速暂存器共 9 个存存单元,如表所示:表 3.3 DS18B20地引脚分布图名师归纳总结 - - - - - - -第 9 页,共 44 页精选学习资料 - - - - - - - - - 序号寄存器名称作用序号寄存器名称0 温度低字节 以 16 位补码形式存放 4、5 保留字节 1、21 温度高字节 6 计数器余值2 TH/用户字节 1 存放温度上限 7 计数器 / 3 HL/用户字节 2 存放温度下限 8 CRC 高速暂存 RAM 地第 6、7、8 字节保留未用,表现为全规律 1.第 9 字节读出前面全部 8字节地 CRC码,可用来检验数据,从而保证通信数据地正确性 .当 DS18B20接收到温度转换命令后,开头启动转换 .转换完成后地温度值就以 16 位带符号扩展地二进制补码形式储备在高速暂存储备器地第 口读出该数据,读数据时低位在先,高位在后,数据格式以1、2 字节 .单片机可以通过单线接 0.0625 LSB形式表示 .当符号位 S0 时,表示测得地温度值为正值,可以直接将二进制位转换为十进制;当符号位 S1 时,表示测得地温度值为负值,要先将补码变成原码,再运算十进制数值 .表 3.4 是一部分温度值对应地二进制温度数据 .表 3.4 温度精度配置温度 /二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H由于 DS18B20 采纳地 “一线总线 ”结构,所以数据地传输与命令地通讯只要通过微处理器地一根双向 I/O 口就可以实现 .DS18B20 商定在每次通信前必需对其复位,具体地复位时序如图 3.5 所示 .图 3.5 DS18B20复位时序图名师归纳总结 温度传感器与主控芯片连接如图3.6 所示 .第 10 页,共 44 页- - - - - - -精选学习资料 - - - - - - - - - 图 3.6 DS18B20与 AT89C51连接图2.2.5 晶振复位电路设计AT89C51 中有一个用于构成内部振荡器地高增益反相放大器,引脚XTAL1和 XTAL2 分别是该放大器地输入端和输出端 .这个放大器与作为反馈元件地片外石英晶体或者陶瓷谐振器一起构成自然振荡器 .外接石英晶体及电容 C1、C2 接在放大器地反馈回路中构成并联振荡电路.复位可分为上电复位和手动复位 .晶振复位电路如图 3.7 所示 .图 3.7 单片机晶振复位电路2.2.6 外部中断模块设计中断是指CPU在执行当前程序地过程中,由于某种随机显现地外设恳求或CPU 内部地反常大事 ,使 CPU 暂停正在执行地程序而转去执行相应地服务处理程序;当服务处理程序名师归纳总结 运行完毕后, CPU再返回到暂停处连续执行原先地程序.第 11 页,共 44 页89C51 地中断结构如图3.8 所示 .- - - - - - -精选学习资料 - - - - - - - - - 图 3.889C51 中断系统总图而在本设计中只使用了其中一个中断,外部中断,也就是 P3.2 端口 .具体按键中断连接如图 3.9 所示 .图 3.9 外部中断连接按键图该模块使用一个按键掌握外部中断.按下按键即进入中断.待按键松开,即跳出中断.3 软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,运算温度子程序,显示数据刷新子程序,读取时钟数据子程序,时钟转换显示子程序,彩屏显示子程序,按键处理程序,字库等 .3.1 系统主程序设计主程序地主要功能是负责日历、温度地实时显示,读出并处理 温度值和 DS1302当前地时间值、处理外部中断恳求 . 主程序流程图 3.1 所示 .DS18B20 地测量地当前名师归纳总结 - - - - - - -第 12 页,共 44 页精选学习资料 - - - - - - - - - 初始化外部中断 Y N 读取日期、温度读取 DS18B20序列号彩屏显示图 3.1 主程序流程图在主程序中,初始化包括DS18B20 初始化、 DS1302初始化、彩屏清屏程序.分别为:Ds18b20Init ;Ds1302Init; TFT_ClearScreen0x0000.其中假如要想上电或复位后,时间显示能够接着上电或复位前地时间显示,就需要注释掉 DS1302 初始化 .在主程序开头要开启中断,先开启总中断,然后开启中断1,进入中断 .EA=1;EX0=1;IT0=1.设置一个全局计数变量 count1 ,在主程序中,count1 地状态打算要显示日历仍是温度序列号 .当 count1 为 0 时,显示日历及温度;当 count1 为 1 时显示 DS18B20内部序列号 .具体代码见附录(附录 B).3.2 各模块子程序设计3.2.1 彩屏显示子程序设计TFT 液晶模块可以显示数字、中英文字符和图案.本设计中只使用了中英文字符显示和数字显示 .彩屏仍包含了丰富地颜色.本设计使用黑色为界面背景和字体背景0X00、红色字体0XFF.设计彩屏右上角显示为作者英文名;其次行为“ 电子日历 ” 四个字;第三行居中显示年月日,格式为 “ xxxx-xx-xx”;第四行居中显示星期,格式为“星期 X” ;第七行居中显示温度信息,格式为 “ 温度: ± XXX.XX ” .彩屏显示程序中,包括彩屏驱动程序、字库、初始化程序、汉字显示程序、字符显示程序、直线显示程序等 .彩屏显示子程序流程图如图 3.2 所示 .初始化名师归纳总结 - - - - - - -第 13 页,共 44 页精选学习资料 - - - - - - - - - 调 用 汉 字 显 示 程 序 调用字符显示程序字库调用按地址显示终止图 3.2 彩屏显示子程序流程图彩屏初始化程序如下:void TFT_Initvoid / 初始化函数名 uint i ;TFT_RST = 1;fori=500 ; i>0; i-;/ 延时 TFT_RST = 0;fori=500 ; i>0; i-;TFT_RST = 1;fori=5000 ; i>0; i-;TFT_CS = 0;TFT_WriteCmdData0x0080,0x008D;TFT_WriteCmdData0x0092,0x0010;TFT_WriteCmdData0x0011,0x001B;TFT_WriteCmdData0x0012,0x2101 ;TFT_WriteCmdData0x0013,0x0066 ;TFT_WriteCmdData0x0014,0x4656 ;TFT_WriteCmdData0x0010,0x0800 ;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0011,0x011B;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0011,0x031B;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0011,0x071B;名师归纳总结 - - - - - - -第 14 页,共 44 页精选学习资料 - - - - - - - - - fori=5000 ; i>0; i-;TFT_WriteCmdData0x0011,0x0F1B;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0011,0x0F3B;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0001,0x0128 ;TFT_WriteCmdData0x0002,0x0100 ;TFT_WriteCmdData0x0003,0x1030 ;TFT_WriteCmdData0x0007,0x1012;TFT_WriteCmdData0x0008,0x0808 ;TFT_WriteCmdData0x000B,0x1105;TFT_WriteCmdData0x000C,0x0000;TFT_WriteCmdData0x000F,0x1A01;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0015,0x0070;TFT_WriteCmdData0x0036,0x00EF;TFT_WriteCmdData0x0037,0x0000;TFT_WriteCmdData0x0038,0x013F;TFT_WriteCmdData0x0039,0x0000 ;TFT_WriteCmdData0x0050,0x0101 ;TFT_WriteCmdData0x0051,0x0500 ;TFT_WriteCmdData0x0052,0x0500 ;TFT_WriteCmdData0x0053,0x0400 ;TFT_WriteCmdData0x0054,0x0805 ;TFT_WriteCmdData0x0055,0x0009 ;TFT_WriteCmdData0x0056,0x0F00;TFT_WriteCmdData0x0057,0x0005;TFT_WriteCmdData0x0058,0x0000 ;TFT_WriteCmdData0x0059,0x0002;TFT_WriteCmdData0x0007,0x0012;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0007,0x0013;TFT_WriteCmdData0x0007,0x0017;fori=5000 ; i>0; i-;TFT_WriteCmdData0x0020,0x0000;TFT_WriteCmdData0x0021,0x0000 ;TFT_WriteCmd0x0022;由于彩屏显示较一般显示器复杂,所以初始化程序也较为复杂.汉字显示和英文字符显示采纳不同地调用方法,函数名分别为 GUI_Write32CnChar;GUI_WriteASCII.具体代码见附录(附录 A). 3.2.2 时钟模块子程序设计名师归纳总结 读取时间子程序图如图3.3 所示 . 第 15 页,共 44 页- - - - - - -精选学习资料 - - - - - - - - - 图 3.3 读取时间子程序流程图该子程序中包含 DS1302 初始化程序、读取命令、写入命令、码制转换程序和星期判别程序等 .其中用一个全局数组存放从子程序中读取到地数据信息,然后通过码制转换,送与彩屏显示 .显示函数名为 Ds1302xianshi.初始化程序名为 Ds1302Init.具体代码见附录(附录 A). 3.2.3 温度采集模块子程序设计温度采集模块子程序中,包含 DS18B20 初始化程序、温度转换程序、读取 ROM 程序和码制转换程序等 .读取 DS18B20 内部序列号程序包含在该子程序中,函数名为 xuliehao.温度显示函数名为 tempxianshi.读取温度子程序流程图如图 3.4 所示 . 发 DS18B20复位命令发跳过 ROM 命令名师归纳总结 发读取温度命令第 16 页,共 44 页- - - - - - -精选学习资料 - - - - - - - - - Y 图 3.4 读取温度子程序流程图在该子程序中,可以直接跳过ROM 读取温度数据,然后判定是大于零仍是小于零,然后转换为十进制,并且精确到小数点后两位显示 .读取序列号时,需进入到 ROM 中.读取到 ROM 里地 64 位序列号后,转换为 16 进制在彩屏上显示出来 .在读取时,需 8 位读取一次,共读取 8 次,读取到地 8 位数据里,分高四位和低四位分别转换为 16 进制显示 .具体代码见附录(附录 A).3.2.4 晶振复位模块子程序设计本设计晶振为12MHz 频率,复位电路采纳手动复位和上电复位.手动复位通过设置外部按键来实现 .功能如图 3.5 所示 .具体代码见附录(附录 A).晶振起振单片机工作名师归纳总结 - - - - - - -第 17 页,共 44 页精选学习资料 - - - - - - - - - 上电复位 按键复位程序执行终止图 3.5 晶振复位模块流程图3.2.5 外部中断模块子程序设计当程序执行到 EA=1 时,打开总中断 .当程序执行到 EX0=1 时打开本设计所使用地外部中断 0, IT0=1为设置下降沿为中断 0 触发方式 .进入中断时肯定先关闭中断 .程序流程图如图 3.6 所示 .具体代码见附录(附录 A) .开头N 中断开启Y 中断程序响应连续执行主程序中断返回终止图 3.6 中断响应子程序流程图4 调试4.1 检查硬件连接在 PROTUES检查各硬件管脚是否连接正确,线路规律是否正确,例如:晶振电路地连接,复位电路是否设计正确 .4.2 检查软件系统1依据系统地原理结构检查各流程图是否正确,再依据流程图来检查程序是否也正确 .名师归纳总结 - - - - - - -第 18 页,共 44 页精选学习资料 - - - - - -