版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国计量学院机电工程学院智能仪表课程设计(报告)带秒表、时钟计时器,万年历的显示屏设计学生姓名 曹琼辉 学号 0800303C15 学生专业 自动化 班级 08试点3班 学院 量新学院 指导教师 徐红伟、王桂荣 中国计量学院2011年6月带秒表、时钟计时器,万年历的显示屏设计摘要:本次课程设计主要采用基于STC89C54单片机系统的万年历设计,实现了以下功能:时间显示并且可调,日期、星期显示,闹铃,串口通信,温度显示,可移动字幕显示,背光控制。其中温度和串口通信分别采用DS18B20和MX232来实现,显示屏采用12864液晶屏,为节约成本,没用采用时钟芯片来实现时间显示模块,而是采用STC8
2、9C54单片机内部定时器编程实现。 通过这次课程设计,让我们掌握了如何设计一个具有完整功能的单片机系统,同时也让我们学习了keil开发软件和proteus仿真软件的使用,而且还让我们更好地学会了组内分工合作,共同完成一项任务的配合精神。关键词:STC89C54单片机 12864液晶屏 DS18B20 MX232目 录0.引言10.1智能仪表课程设计概要10.2设计任务与要求2设计目的2设计要求2基本功能要求2扩展功能21. 方案设计及方案论证21.1系统整体设计思路31.2系统方案论证31.2.1 时钟系统方案选择3单片机的选择3显示系统的方案比较3测温系统方案选择3串口通信方案选择42.硬件
3、设计42.1硬件总体结构简介42.2 单片机选择42.2.1 单片机概述42.2.2 STC89C54单片机的引脚说明52.2.3 STC89C54单片机最小系统62.3显示模块的选择72.3.1 LCD12864概述72.3.2 LCD12864基本参数及引脚功能72.4温度传感器的选择82.5硬件线路设计分析92.5.1 单片机最小系统92.5.2 LCD12864连线图92.5.3 按键连线图102.5.4 DS18B20及蜂鸣器驱动112.5.5 串口通信模块112.5.6 直流稳压模块123.系统工作流程图134.个人心得13参考文献14附录A:电路原理图15附录B: 实物图15附录
4、C: 源程序170.引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计是数据采集及处理,显示系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统
5、的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。0.1智能仪表课程设计概要智能仪表课程设计的方法和步骤在设计一个智能仪表系统时,首先必须明确系统的设计任务,根据任务进行方案选择,然后对方案中的各部分进行单元电路的设计、参数计算和器件选择,最后将各部分连接在一起,画出一个符合设计要求的系统电路图,再按照电路图在实际的PCB板上做出实物并进行调试。一、明确系统的设计任务要求对系统的设计任务进行具体分析,充分了解系统的性能、指标、内容及要求,以便明确系统应完成的任务。二、方案选择把系统要完成的任务分解为若干个单元电路,并画
6、出一个能表示各单元功能的整机原理框图。方案选择的重要任务是根据掌握的知识和资料,针对系统提出的任务、要求和条件,完成系统的功能设计。在此过程中要敢于探索,勇于创新,争取方案的设计合理、可靠、经济、功能齐全、技术先进。并且对方案要不断进行可行性和优缺点的分析,最后设计出一个完整框图。三、单元电路的设计、参数计算和器件选择根据系统的指标和功能框图,明确各部分任务,进行各单元电路设计、参数计算和器件选择。1、单元电路的设计单元电路是整机的一部分,只有把单元电路设计好才能提高整机设计水平。每个单元电路设计前都需明确本单元电路的任务,详细拟订出单元电路的性能指标,与前后级之间的联系,分析电路的组成形式。
7、具体设计时,可以模仿成熟的先进的电路,也可以创新或改进,但都必须保证性能要求。而且,不仅单元电路本身要求设计合理,各单元电路间也要互相配合,注意各部分的输入、输出信号和控制信号的关系。2、参数计算为保证单元电路达到功能指标要求,就需要用电子技术知识对参数进行计算,例如放大电路中各电阻值、放大倍数;振荡器中电阻、电容、振荡频率等参数。只有很好地理解电路的工作原理,正确利用计算公式,计算的参数才能满足设计要求。计算参数时,同一个电路可能有几组数据,注意选择一组能完成电路设计功能、在实践中真正可行的参数。3、器件选择 集成电路的选择根据电路功能、性能指标选择集成电路。注意集成电路的功耗、电源电压、工
8、作速度是否满足设计要求。通过查阅有关设计手册,进行元器件的选择。4、电路图的绘制电路图通常是在系统框图、单元电路设计、参数计算和器件选择的基础上绘制的,它是电路组装、调试和维修的依据。绘制电路图时,注意以下几点:(1) 元器件布局合理、排列均匀、图面清晰、便于阅读。(2) 注意信号流向。一般从输入端或信号源开始,由左至右或上至下按信号的流向依次画出各单元电路,而反馈通路的信号流向则与此相反。(3) 图形符号标准,适当标注。(4) 连线应为直线,尽量少交叉和折弯。四、实物的制作 在制作实物的过程中,特别要注意PCB板的布线,将各模块有次序地焊到电路板上。0.2设计任务与要求0.2.1设计目的1、
9、掌握数字电子钟的设计方法;2、掌握常用数字集成电路的功能和使用;3、掌握小型单片机系统的开发。0.2.1设计要求基本功能要求1、可动态左右、上下显示“中国计量学院欢迎您”;2、在5秒按钮无操作则以24h(小时)计时方式显示时、分、秒;3、使用按键开关可实现时分调整;4、具有闹钟功能,声光提示。扩展功能1、显示日期与星期;2、实时温度的采集与显示;3、可232通讯显示计算机传送字符;4、液晶屏的背光控制。1. 方案设计及方案论证1.1系统整体设计思路按照系统的设计功能要求,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合温度传感器来控制时钟和温度的调整显示,并可实现闹钟
10、及串口通信功能,获得时钟温度数据信息,单片机对其进行一系列的处理,最后通过液晶显示出来。1.2系统方案论证1.2.1 时钟系统方案选择方案1:通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;方案2:用专门的时钟芯片实现时钟的计时,再把时间数据送入单片机,由单片机控制显示。为节约成本,我们选用方案1。1.2.2单片机的选择 实现对于单片机的选择,如果用8031 系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51 系列单片机的ROM 为4K,对于我们设计的系统可能有点小;54 系列单片机与51 系列的结构一样,而ROM 扩大为16K,对我们设计
11、系统提供充足的空间进行功能的扩展。再有51 系列单片机与54 系列的单片机价格差不多。因此,我们选择54系列的单片机。1.2.3显示系统的方案比较方案1:用数码管或点阵LED 显示。方案2:用液晶1602 显示。方案3:用液晶12864 显示。时钟和温度的显示可以用数码管或LED,而且价格便宜。但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。因为有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602 液晶显示数据有限,1602不能够显示指针时钟,只能够显示一些基本的西文字符,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示
12、信息的可读性,用12864的绘图功能即可绘制出指针时钟的框架,让人看起来会很方便。虽然它们在价格上差距很大,但是1602不能够实现我们的要求,所以我们选择LCD12864显示屏。1.2.4测温系统方案选择方案1:用热敏电阻等测温元件测出电压,再转换成对应的温度。需要比较多的外部元件(A/D 转换)支持,且硬件电路复杂,制作成本相对较高。方案2:用温度传感器DS18B20 直接测温。DS18B20 温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912 位的数字值读数方式。经比较,我们选择方案2。1.2.5串口
13、通信方案选择方案1:RS485,传输距离远,抗干扰能力强,但只普遍用于工业现场,在普遍民用中很少使用。方案2:RS232,传输范围有限,比较容易受干扰,但普遍民用计算机都设有该接口,所以相对普及且易操作。经过比较选择方案2以能满足该实验要求。2.硬件设计2.1硬件总体结构简介带秒表、时钟计时器,万年历的显示屏设计设计硬件结构图如下所示:图1-1系统总体硬件连接图此系统包括单片机主控模块、温度检测模块、12864显示模块、按钮设置模块、串口通信模块、稳压模块、蜂鸣器模块共7大部分。2.2 单片机选择2.2.1 单片机概述单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算
14、机。它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。1、单片机的主要特点有:(1) 具有优异的性能价格比。(2) 集成度高、体积小、可靠性高。(3) 控制功能强。(4) 低电压,低功耗。2、单片机的主要应用领域:(1) 工业控制(2) 仪器仪表
15、(3) 电信技术(4) 办公自动化和计算机外部设备(5) 汽车和节能(6) 制导和导航(7) 商用产品(8) 家用电器因此,在本课题设计的温湿度测控系统中,采用单片机来实现。在单片机选用方面,由于STC89系列单片机与MCS-51系列单片机兼容,所以,本系统中选用STC89C54单片机。2.2.2 STC89C54单片机的引脚说明图1-2 STC89C54单片机引脚图芯片引脚如图1-2所示:VCC : 电源。GND: 地。P0口:P0口是一个8位漏极开路的双向I/O口。P1口: 是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。P2口:P2口是一个具有
16、内部上拉电阻的8 位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。P3口:P3口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。EA/V
17、PP:访问外部程序存储器控制信号。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89C54,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:STC89C52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。2.2.3 STC89C54单片机最小系统图1-3 晶振电路图1-4 复位电路如图1-3、图
18、1-4所示,复位电路和时钟电路是维持单片机最小系统运行的基本模块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。2.3显示模块的选择2.3.1 LCD12864概述带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库
19、的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16 点汉字,和128个16*8 点ASCII 字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点阵的汉字,也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。图形液晶模块。图1-5 LCD1602实物图2.3.2 LCD12864基本参数及引脚功能引脚功能如表1-1所示:编号符号方
20、向引脚说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源正极(L
21、ED+5V)表1-1 LCD12864引脚功能2.4温度传感器的选择传感器是能够感受规定的被测量并按一定规律转换成可用输出信号的器件或装置的总称。通常被测量是非电物理量, 输出信号一般为电量。温度实现只能通过外部的温度传感器来实现。经上网查阅资料及市场考察,DS18B20 体积小,只有3 只脚,电路接法简单。它能够直接读出被测温度。内部含有寄存器为我们设计实现上下限报警功能提供保障。用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;精度为0.5°C,也符合我们设计的要求。DS18B20 也是我们通常使用的型号,因此温度传感器用DS18B2
22、0。引脚说明见表1-2。典型应用电路如图1-6所示。表1-2 DS18B20引脚说明引脚号名称引脚说明1GND电源地2DQ数字信号输入/输出端3VDD外接供电电源输入端DS18B20 有两种接法:一是单线接法即只接DQ。这种方法应用它内部的寄生电源,因此在QT 上要用一个MOSFET 把I/O 线只接拉到电源上。二是从vdd 脚加上电源。方法一适合于远距离温度监控,不需要本地电源。而我们只是设计测温系统,选择方法二就行了,还有MOSFET 极容易烧坏,我们不用它。Vdd 接5V 电源,vss 接地,DQ 与P3.7 相连。因为DS18B20 的工作电流约为1MA,因此Qt 端还要加上拉电阻为其
23、提供电流。若用5V 电源,则R=5/1MA=5k。R 取4.7K。2.5硬件线路设计分析2.5.1 单片机最小系统CPU 为STC89 系列增强型8 位单片机,频率高达80MHz,可工作于6Clock,32 I/O,3 定时器,内置 WDT、EEPROM。支持ISP,ESD。晶振采用12M/11.0592M(可更换)。2.5.2 LCD12864连线图第1 脚:VSS 为地电源第 2 脚:VCC 接5V 正电源第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生重影,使用时可以通过一个10K 的电位器调整对比度。第 4 脚:RS 为寄存器选
24、择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和RW 共同为低电平时可以写入指令或者显示地址,当RS 为低电平RW为高电平时可以读忙信号,当RS为高电平RW 为低电平时可以写入数据。第 6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为8 位双向数据线。第15脚:PSB 并/串行接口选择:H-并行;L-串行。第19脚:背光源正极(LED+5V)由P24脚接三极管放大后驱动背光,可实现由单片机管脚控制背光亮灭。第20脚:背光源负极(LED-0V)。2.5.3
25、按键连线图5个独立按键接P10P14口,并由LED灯指示。实现时钟的增、减、确认、返回和闹钟设置等功能。2.5.4 DS18B20及蜂鸣器驱动DS18B20数据脚通过接上拉电阻接入单片机P3.7脚,蜂鸣器由P2.0控制并通过三极管放大驱动。2.5.5 串口通信模块RS232 接口是制定用于串行通讯的标准。该标准规定采用一个25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25 的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25 针很少看到了,代替他的是DB9 的接口,DB9 所用到的管脚
26、比DB25 有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232 接口叫做DB9。2.5.6 直流稳压模块 直流电源通过插座接入,由开关控制其开关,通过稳压二极管稳压到9伏,再通过7805稳压到5伏输出,并有LED灯指示。3.系统工作流程图4.个人心得 通过这次课程设计使我对课堂上的理论知识有了进一步的了解,并增强了对单片机领域的兴趣。同时也发现自对数电知识和电子设计软件掌握得不够。这次设计仿真我们用到了仿真软件Proteus7.7和编译软件keil4.0,从软件的安装到使用,从网上查阅资料学到了很多课堂之外的专业知识。这次的设计最主要是单片机的应用,从控制到接口
27、。这个技术是一个多学科的综合,要做到灵活应用需要自我学习各种辅助技术的应用。其次感受最深的是设计是一小步,实现成实物才是一大步。在仿真时,驱动液晶屏没有用电流放大电路,到制作实物时因为电流很小液晶屏无法显示,我们只能增加电流放大电路。设计中每一步都要细心认真,一个小的失误,都会导致后面的环节发生错误。在制作过程中虽然后来有设计上的疏忽但是我们每一步都细心焊接,一步一检查,一次成功。此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题的能力,出现差错的随机应变,和与人合作的团队精神,都让我受益非浅,今后的制作应该更轻松,自己也能扛的起并高质量的完成项目。这次设计中我明显体会到自己知识的
28、匮乏,思考问题不全面,这激励我学好基础知识的同时要拓展知识面,增强自己的综合能力,从而使自己成为一个高综合素质人才从而更好地适应社会。参考文献1 周润景,张丽娜,基于PROTEUS的电路及单片机系统设计与仿真,北京航空航天大学出版社2 万福君,潘松峰,刘芳,MCS-51单片机原理、系统设计与应用,清华大学出版社附录A:电路原理图附录图1 电路总图附录B: 实物图 附录图2 动画界面附录图3 闹铃关闭情况下的主界面附录图4 闹铃开启情况下的主界面附录C: 源程序#include<reg52.h>#include<intrins.h>#define uchar unsign
29、ed char#define uint unsigned intsbitrs=P26;sbitrw=P25;sbit e=P27;sbits1=P10;/设置时间sbits2=P11;/加sbits3=P12;/减sbits4=P13; /设置闹钟sbitsss=P24;/12864背光控制脚所接IOsbitDQ=P37;sbit alarmkey=P20;sbitbeiguang=P14;/背光控制按键uchar code table="11年06月25日 Sat"uchar code table1=" 00时00分00秒"uchar code mon
30、day=" Mon" uchar code tuesday=" Tue"uchar code wednesday=" Wed"uchar code thursday=" Thu"uchar code friday=" Fri"uchar code satday=" Sat"uchar code sunday=" Sun"uchar code zimu1="中国计量学院 "uchar code zimu2=" 中国计量学院&qu
31、ot;uchar code zimu3="欢迎您 "uchar code zimu4=" 欢迎您"uchar code wendu="温度 摄氏度"uchar code alarm_kg="开关 "uchar count,s1num,year,mon,week,day;uchar flag,a,send;uchar p,judge;uchar alarmnum,alarm_s,alarm_f,alarm_m;uchar data disdata5;uint tvalue;/温度值uchar tflag;/温度正负标
32、志char miao,shi,fen,nian,yue;void initinal(); /12864初始化void display(); /初始化后的显示void write_com(uchar com); /12864写命令void write_dat(uchar dat); /12864写数据void write_sfm(uchar add,uchar date); /写时分秒void write_nyr(uchar add,uchar date); /写年月日void keyscan(); /判断是否设置时间void scanshi(); /判断是否到达一天void rs232();
33、/串口通信void ds1820rst(); /ds18b20初始化uchar ds1820rd(); /ds18b20读一个bytevoid ds1820wr(uchar wdata); /ds18b20写一个byteread_temp();/读取温度void ds1820disp();/温度显示void alarmsy();/闹铃时间的设置及是否开启/*延时毫秒函数*/void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void delay_18B20(uchar i)/延时1微秒 while(i-);/*主函
34、数*/void main() PT0=1;PT1=0;sss=1;miao=55;fen=59;shi=23;nian=11;yue=6;day=25;week=6;alarmnum=0;alarm_s=0;alarm_f=0;alarm_m=0;judge=0;beiguang=1;initinal();write_com(0x88);for(p=0;p<16;p+)write_dat(wendup);while(1)rs232();keyscan();alarmsy();if(beiguang=0)delay(5);if(beiguang=0)sss=0;if(judge=1)ala
35、rmkey=1;if(beiguang=1)sss=1;if(count=20)count=0;miao+;read_temp();/读取温度 ds1820disp();/显示if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;scanshi();write_sfm(1,shi);write_sfm(3,fen);write_sfm(5,miao);if(judge=1)if(shi=alarm_s)if(fen=alarm_f)if(miao=alarm_m)alarmkey=0;if(fen=(alarm_f+1) ala
36、rmkey=1;if(alarmkey=0)if(miao%2)=0)sss=0;if(miao%2)!=0)sss=1;if(judge=0)alarmkey=1;/*键盘扫面函数,判断键盘是否按下*/void keyscan()if(s1=0)delay(5);if(s1=0)s1num+;while(!s1);if(s1num=1) TR0=0;write_com(0x80+0x10+5);write_com(0x0f);if(s1num=2)write_com(0x80+0x10+3);if(s1num=3)write_com(0x80+0x10+1);if(s1num=4)s1num
37、=0;TR0=1;write_com(0x0c);if(s1num!=0)if(s2=0)delay(5);if(s2=0)while(!s2);if(s1num=1)miao+;if(miao=60)miao=0;write_sfm(5,miao);write_com(0x80+0x10+5);if(s1num=2)fen+;if(fen=60)fen=0;write_sfm(3,fen);write_com(0x80+0x10+3);if(s1num=3)shi+;if(shi=24)shi=0;write_sfm(1,shi);write_com(0x80+0x10+1);if(s3=0
38、)delay(5);if(s3=0)while(!s3);if(s1num=1)miao-;if(miao=-1)miao=59;write_sfm(5,miao);write_com(0x80+0x10+5);if(s1num=2)fen-;if(fen=-1)fen=59;write_sfm(3,fen);write_com(0x80+0x10+3);if(s1num=3)shi-;if(shi=-1)shi=23;write_sfm(1,shi);write_com(0x80+0x10+1);/*扫描是否满一天,以便确定是否更改日期*/void scanshi()uchar i;day+
39、;week+;if(week=1)write_com(0x80+0x06);for(i=0;i<4;i+)write_dat(mondayi); if(week=2)write_com(0x80+6);for(i=0;i<4;i+)write_dat(tuesdayi); if(week=3)write_com(0x80+6);for(i=0;i<4;i+)write_dat(wednesdayi); if(week=4)write_com(0x80+6);for(i=0;i<4;i+)write_dat(thursdayi); if(week=5)write_com(
40、0x80+6);for(i=0;i<4;i+)write_dat(fridayi); if(week=6)write_com(0x80+6);for(i=0;i<4;i+)write_dat(satdayi); if(week=7)week=0;write_com(0x80+6);for(i=0;i<4;i+)write_dat(sundayi); if(mon=1|mon=3|mon=5|mon=7|mon=8|mon=10|mon=12)if(day=32)day=1;mon+;if(mon=2|mon=4|mon=6|mon=9|mon=11)if(day=31)day
41、=1;mon+;if(mon=2) if(year%4)=0)if(day=30)day=1;if(day=29)day=1;mon+;if(mon=13)mon=1;year+;write_nyr(4,day);write_nyr(2,yue);write_nyr(0,nian);/*12864初始化*/void initinal()uchar num;delay(50);write_com(0x30);delay(1);write_com(0x30);delay(1);write_com(0x0c);delay(1);write_com(0x01);delay(15);write_com(
42、0x06);delay(1);display();delay(1);write_com(0x01);for(num=0;num<16;num+)write_dat(tablenum);delay(5);write_com(0x80+0x10);for(num=0;num<14;num+)write_dat(table1num);delay(5);TMOD=0X21;PT0=1;TH0=(65536-46080)/256;TL0=(65536-46080)%256;EA=1;ET0=1;TR0=1;TH1=0xfd;TL1=0xfd;TR1=1;REN=1;SM0=0;SM1=1;E
43、A=1;ES=1;/*左右上下滚动显示"中国计量学院欢迎您"*/void display()uchar i,a;for(a=0;a<1;a+)write_com(0x90+6);for(i=0;i<2;i+)write_dat(zimu1i);write_com(0x88+1);for(i=26;i<28;i+)write_dat(zimu2i);delay(150); /延时write_com(0x90+5);for(i=0;i<4;i+)write_dat(zimu1i);write_com(0x88+1);for(i=24;i<28;i+
44、)write_dat(zimu2i);delay(150); /延时write_com(0x90+4);for(i=0;i<6;i+)write_dat(zimu1i);write_com(0x88+1);for(i=22;i<28;i+)write_dat(zimu2i);delay(150); /延时write_com(0x90+3);for(i=0;i<8;i+)write_dat(zimu1i);write_com(0x88+1);for(i=20;i<28;i+)write_dat(zimu2i);write_com(0x80);write_dat(zimu3
45、2);write_dat(zimu33);write_com(0x9f);write_dat(zimu41);write_dat(zimu42);delay(100); /延时write_com(0x90+2);for(i=0;i<10;i+)write_dat(zimu1i);write_com(0x88+1);for(i=18;i<28;i+)write_dat(zimu2i);write_com(0x80);write_dat(zimu32);write_dat(zimu33);write_com(0x90);write_dat(zimu34);write_dat(zimu3
46、5);write_com(0x8f);write_dat(zimu41);write_dat(zimu42);write_com(0x9f);write_dat(zimu43);write_dat(zimu44);delay(80); /延时 结束write_com(0x90+1);for(i=0;i<12;i+)write_dat(zimu1i);write_com(0x88+1);for(i=16;i<28;i+)write_dat(zimu2i);write_com(0x80);write_dat(zimu30);write_dat(zimu31);write_com(0x9
47、0);write_dat(zimu32);write_dat(zimu33);write_com(0x88);write_dat(zimu34);write_dat(zimu35);write_com(0x97);write_dat(zimu41);write_dat(zimu42);write_com(0x8f);write_dat(zimu43);write_dat(zimu44);write_com(0x9f);write_dat(zimu45);write_dat(zimu46);delay(30); /延时write_com(0x90+1);for(i=2;i<14;i+)wr
48、ite_dat(zimu1i);write_com(0x88+1);for(i=14;i<26;i+)write_dat(zimu2i);write_com(0x80);write_dat(zimu36);write_dat(zimu36);write_com(0x90);write_dat(zimu30);write_dat(zimu31);write_com(0x88);write_dat(zimu32);write_dat(zimu33);write_com(0x98);write_dat(zimu34);write_dat(zimu35);write_com(0x87);write_dat(zimu41);write_dat(zimu42);write_com(0x97);write_dat(zimu43);write_dat(zimu44);write_com(0x8f);write_da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年鱼池水产养殖租赁3篇
- 2024年生物技术数据保密与产学研合作协议3篇
- 2024年砂石供应商合同模板
- 2025年EPS线条新型保温材料采购协议3篇
- 2024版机票改签预订协议3篇
- 2024年版权保护音乐出版合同
- 2024年跨境电商物流服务
- 2024年船舶买卖标准协议样本版B版
- 2024年鱼塘承包养殖生产资料租赁合同3篇
- 2024轻钢别墅工程保险合同
- 少年宫2025年度象棋活动计划
- 2025年国家计算机网络应急技术处理协调中心省级分中心招聘39人历年高频重点提升(共500题)附带答案详解
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- DB11∕T 353-2021 城市道路清扫保洁质量与作业要求
- 气候变化与林业碳汇智慧树知到期末考试答案章节答案2024年浙江农林大学
- 火灾自动报警系统施工及验收调试报告
- 2023届高考英语《新课程标准》3000词总表(字母顺序版)素材
- 企业信用管理制度
- 计算机信息管理系统基本情况介绍和功能说明
- 长输管道工程关键焊接工序质量管控实施细则
- 海洋石油117(蓬勃号)组装全过程
评论
0/150
提交评论