多功能数字钟说明书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我在51单片机论坛网上,找了些主程序,然后根据需要进行调试。由于我的万年历里包含测温,所以我找了关于DS18B20的主程序加进去。在编译过程中,出现了不少错误,我一边读程序,不懂的地方就查阅书本,了解整个主程序的内容,然后慢慢修改。
编译成功之后,我把生成的HEX文件通过下载器下载进单片机,“跑一跑”程序看看。没想到,液晶屏就没有显示。。。
DS12C887时钟芯片是整个万年历的重要芯片模块。在焊接之前,我查阅了该芯片的相关资料,认真阅读了解各引脚的作用。同时看了该芯片引脚在实际应用中的连接情况。
DS18B20温度传感器芯片,外形和三极管一样,只有3个引脚。在焊接的时候,尤其要注意1脚接地,三脚接电源。为了能够重复使用该芯片,我先焊了三脚底座,然后可以直接把芯片插上去。
主控制器每隔一段时间(小于一秒钟)读一次时钟芯片的内部寄存器的值,将读出的时间、星期、温度等值实时显示在LCD液晶屏上。同时,主控制器不断的扫描按键电路和温度测量电路,当有按键按下时,识别出按键的值并调整相应的时间、星期值再写入时钟芯片内部。温度数据由测量电路获得的环境温度值送人显示电路。
四、方案比较
单片机底座部分可以最先焊,把电源、地等连好,如EA要接低电平,否则就用片外存储器了。下载器接口则按照教材P240所画的图来进行连接,需要注意的是用于焊接的为短脚,不能颠倒。时钟部分比较简单,因为瓷片电容和晶振没有正负极,但要注意晶振、电容得靠近单片机底座。发光二极管(需要外加一个1K的电阻限流)接在p1.0口,作为最小系统的显示部分。
方案二:DS12C887+1602LCD液晶屏
DS12C887时钟芯片功能丰富价格适中,能够自动产生世纪、年、月、日、时、分、秒以及时间模式转换等的时间信息,芯片内部增加了世纪存储器,从而利用硬件电路解决了“千年”的问题。DS12C887时钟芯片中还自带有锂电池,单片机掉电后时钟芯片内部的时间信息可以保持十年之久。1602LCD液晶屏可以输出2行,每行显示16个字符。虽然1602LCD液晶屏较昂贵,但是该液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。1602LCD液晶屏的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多,功耗较低。以上两种元件的程序编写简单,适用于多方面的应用。
一、设计目的
(1)巩固单片机课程学习知识,熟悉单片机的开发流程。
(2)掌握硬件电路的设计、焊接以及调试的基本能力。
(3)掌握单片机编程语言,学会运用模块化的设计思想。
(4)培养动手实践能力,具备设计、开发、应用单片机系统的能力。
二、系统功能
(1)自动计时,显示年、月、日、时、分、秒、星期。
(2)测试环境温度并显示
(3)可设定每日的某一时刻闹钟
(4)时间显示可调整
三、系统的结构和工作原理
3.1系统结构
此次课程设计的万年历,以AT89C52单片机为主控核心,由LCD显示屏、DS12C887时钟芯片、温度传感器DS18B20、蜂鸣器、功能键盘、复位电路、晶振、电源模块等组成,系统结构框图如图1所示。
3.2工作原理
出现了这些状况,我思考了下,决定根据硬件电路再检查一下电路板的焊接情况。我耐下心来使用数字万用表进行通过检查。在检查中,发现了一些漏焊、虚焊以及焊接错误短路情况。我一一排查过去,确保硬件部分不再出问题。
下了程序进去,硬件不存在问题了,不过程序的运行还是有些偏差。
此后便是对程序进行认真地编写、调试、修改,经过多次的努力,运行的情况比较顺利。
6.1主程序说明及流程图
主程序主要实现了从DS12C887各时间单元中读出数据和DS18B20传感器中读取数据,并送到LCD1602中显示的功能,同时检测有没有按键按下,如果有键被按下,则执行按键处理子程序。首先进行DS12C887时钟芯片、DS18B20芯片和LCD1602的初始化函数,然后进行按键扫描,不断地检测按键是否按下,读取DS12C887时钟芯片、DS18B20检测环境温度的数据,并且送到液晶显示器显示;当数据发生变化时候,重新进行扫描写入。主程序流程图如图6。
(5)液晶6端为使能信号,是操作时必须的信号,接单片机的P2.6口。
图2-7
5.5
本设计共采用按键4个,分别与单片机的P1.0、P1.1、P1.2、P1.3口相连,分别是功能选择键、数值增大键、数值减小键和闹铃查看键。在时间调节中,可按功能选择键,配合数值增大、减小功能键可分别对日期和时间进行调节。在调节过程中,显示器光标会在对应调节项目上游走,分别是:“秒、分、时、星期、日、月、年”。在闹铃设置中,可按闹铃查看键,配合数值增大、减小功能键可对闹铃时间进行设置。
5.2电源电路
本系统采用5V直流电源作为整个电路的供电模块,电路如下:
5.3时钟芯片电路设计
时钟芯片电路如下图5-1所示:
DS12C887是美国Dallas半导体公司推出的并行接口实时时钟\日历芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与计算机常用的时钟芯片MC146818和DS12887管脚兼容,可直接替换。采用DS12C887芯片设计的时钟电路无需任何外围电路和器件,并且有良好的微机接口。DS12C887芯片内有微功耗,外围接口简单,精度高,工作稳定可靠等优点,广泛各种需要较高精度的实时时钟系统中。
方案一:DS1302+数码管
DS1302的使用非常方便,而且价格便宜而数码管显示的也很清楚,特别是显示时间很直观。但在制作过程中我们发现了这方案的一些问题。DS1302是不自带电池,虽然可以通过外接纽扣电池来达到断电走时继续的目的,但在实际调试中会发现这是比较困难的。因为DS1302上电需要复位,而复位就会把正确的走时清零。如果不复位,DS1302会出现各种各样的问题,如不走时、读出乱码等。要解决这个问题需要增加如2402等存储器,上电后先存储时间值,再复位。这么做无疑增加了电路设计和软件设计的复杂度。而使用数码管显示,虽然价格也便宜,显示效果好,但多位的数码管在动态扫描的时候会出现闪烁。如果少用几位,用切换的方法查看日期,时间等信息又显得麻烦。
DS18B20芯片的连接如下图所示
六、软件设计
本次系统设计软件部分采用模块化结构,由主程序﹑DS12C887子程序、DS18B20子程序、LCD1602子程序构成。
模块程序设计法的主要优点是:单个模块比起一个完整的程序易编写及调试;模块可以共存,一个模块可以被多个任务在不同条件下调用;模块程序允许设计者分割任务和利用已有程序,为设计者提供方便
图5-1
5.4 1602
液晶显示器简称为LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特征实现显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到日益广泛的应用。液晶显示器按其功能可分为三类:笔端式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可以显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形。
5.3.1 DS12C887与单片机的连接
DS12C887是一款纯数字式的芯片,只要它与电片机的I/O口直接相连就可以操作。操作DS12C887时钟芯片共需要13条信号线,分别是并行数据地址复用线AD0~AD7、CS、AS、R/W、DS和IRQ。然后将RESET引脚固定接高电平,再将DS12C887芯片的VCC和GND引脚正确连接即可。DS12C887的管脚如图2-5所示。
蜂鸣器焊接的时候,注意了正负极,通过9015和限流电阻后接到P1.6。四个功能按键是对角线连接,一端接单片机口,一端接地。边焊接边调试,直到所有部分都已经焊接完毕。
6.2.2软件调试
硬件焊接完之后,我开始软件了调试。
我运用keil软件进行软件程序的调试。我上网找了些程序,关于DS12C887时钟芯片、DS18B20芯片、LCD液晶的初始化程序,然后根据我硬件电路的实际焊接情况,把相应的定义端口改过来,然后阅读了每一部分的程序,之后一一编译,直至运行成功。
最后把认真修改的程序经过编译成HEX文件后,写入单片机,系统能够正常运行,所有功能正常实现。设计调试完成后,给系统上电,液晶显示屏显示结果如图4-1所示:
图4-1
6.2.3系统程序设计:见(附录)
附录(程序)
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
5.1.2
单片机复位的条件是当单片机振荡器工作时,RST引脚上出现持续两个机器周期的高电平,从而实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,RST引脚上高电平必须持续10ms以上才能保证有效复位。
STC89C52的复位是由外部的复位电路来实现的:
5.1.3
晶振的作用是为系统提供基本的时钟信号。晶振电路中接在晶振旁的两个电容,叫负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C2、C3可在30pF时振荡器有较高的频率稳定性。
最小系统焊接完后,可以插上单片机,这里注意的是不能插反一定要注意方向。另外因为我用的是5V的变压器供电,所以下载时插上下载器时不会出现像USB供电时出现的倒流问题。连到计算机并口检测到器件后,把一个简单程序的HEX文件写进单片机,发现可以正常运行,说明可以焊接其他单元了。
接下来焊接剩余的元器件,如DS12C887时钟芯片、DS18B20温度芯片、蜂鸣器、LCD等。主要是针对按照耐热性能的好坏来排列,与电子工艺的焊接要求基本相同。
5
随着闹铃时间的设定,当实时时间到达闹钟的时间时,P2.0会输出一组方波,如图2-10所示,当P2.0输出一个高电平时,使三极管导通,喇叭会发出蜂鸣声,当P2.0输出为低电平时,三极管不导通喇叭不发声。所以,整个闹钟输出为一组滴滴声。闹铃电路如图2-11所示。
5.7DS18B20温度传感器
采用数字式温度传感器DS18B20,其仅需一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
图6主程序流程图
6.2电路调试
6.2.1焊接调试过程
在焊接之前,先要对构成系统的所有元器件总体布局,这方便后面的硬件电路的调试。
首先,按照上课时的要求,焊接单片机的最小系统,包括单片机底座部分、电源部分、晶振、复位部分以及一个发光二极管。
电源部分:使用5V直流电源变压器的接口,插孔最后面的一个引脚为电源正极,其他两个引脚为接地。电源要经过一个可以锁定的开关,因为开关是六个引脚的,为了搞清哪两个引脚可以使用,分别在按下和松开的情况下,我用万用表测试了引脚之间的通断情况。后来经过检测找到其中一对引脚在按下通,松开时断,所以使用此两个引脚。因为整个电路图中有较多部分都要用到接地和接电源,所以为了方便焊接,将电源和地线分别连接至万用板的外围上。这样方便检查错误,接线时要规范,黑线表示接地,红线表示接电源。电源焊完之后,按下开关电源指示灯可以正常地发光。
1602字符型LCD与单片机的连接接口说明如下:
(1)液晶1、2端为电源;15、16端为背光电源;15脚接一个10欧电阻用于限流。
(2)液晶3端为液晶对比度调节端,通过一个10K电位器接地来调节液晶显示对比度。
(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P2.5口。
(4)液晶5端为读/写选择端只向其写入命令和显示数据。
五、系统硬件设计
5.1 51单片机最小系统设计
单片机最小系统如下图所示
以STC89C51单片机为核心,选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF的电容作为起振电容。复位电路为按键高电平复位,当按键按下,RES端为高电平,当高电平持续4us的时间就可以使单片机复位。
编译成功之后,我把生成的HEX文件通过下载器下载进单片机,“跑一跑”程序看看。没想到,液晶屏就没有显示。。。
DS12C887时钟芯片是整个万年历的重要芯片模块。在焊接之前,我查阅了该芯片的相关资料,认真阅读了解各引脚的作用。同时看了该芯片引脚在实际应用中的连接情况。
DS18B20温度传感器芯片,外形和三极管一样,只有3个引脚。在焊接的时候,尤其要注意1脚接地,三脚接电源。为了能够重复使用该芯片,我先焊了三脚底座,然后可以直接把芯片插上去。
主控制器每隔一段时间(小于一秒钟)读一次时钟芯片的内部寄存器的值,将读出的时间、星期、温度等值实时显示在LCD液晶屏上。同时,主控制器不断的扫描按键电路和温度测量电路,当有按键按下时,识别出按键的值并调整相应的时间、星期值再写入时钟芯片内部。温度数据由测量电路获得的环境温度值送人显示电路。
四、方案比较
单片机底座部分可以最先焊,把电源、地等连好,如EA要接低电平,否则就用片外存储器了。下载器接口则按照教材P240所画的图来进行连接,需要注意的是用于焊接的为短脚,不能颠倒。时钟部分比较简单,因为瓷片电容和晶振没有正负极,但要注意晶振、电容得靠近单片机底座。发光二极管(需要外加一个1K的电阻限流)接在p1.0口,作为最小系统的显示部分。
方案二:DS12C887+1602LCD液晶屏
DS12C887时钟芯片功能丰富价格适中,能够自动产生世纪、年、月、日、时、分、秒以及时间模式转换等的时间信息,芯片内部增加了世纪存储器,从而利用硬件电路解决了“千年”的问题。DS12C887时钟芯片中还自带有锂电池,单片机掉电后时钟芯片内部的时间信息可以保持十年之久。1602LCD液晶屏可以输出2行,每行显示16个字符。虽然1602LCD液晶屏较昂贵,但是该液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。1602LCD液晶屏的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多,功耗较低。以上两种元件的程序编写简单,适用于多方面的应用。
一、设计目的
(1)巩固单片机课程学习知识,熟悉单片机的开发流程。
(2)掌握硬件电路的设计、焊接以及调试的基本能力。
(3)掌握单片机编程语言,学会运用模块化的设计思想。
(4)培养动手实践能力,具备设计、开发、应用单片机系统的能力。
二、系统功能
(1)自动计时,显示年、月、日、时、分、秒、星期。
(2)测试环境温度并显示
(3)可设定每日的某一时刻闹钟
(4)时间显示可调整
三、系统的结构和工作原理
3.1系统结构
此次课程设计的万年历,以AT89C52单片机为主控核心,由LCD显示屏、DS12C887时钟芯片、温度传感器DS18B20、蜂鸣器、功能键盘、复位电路、晶振、电源模块等组成,系统结构框图如图1所示。
3.2工作原理
出现了这些状况,我思考了下,决定根据硬件电路再检查一下电路板的焊接情况。我耐下心来使用数字万用表进行通过检查。在检查中,发现了一些漏焊、虚焊以及焊接错误短路情况。我一一排查过去,确保硬件部分不再出问题。
下了程序进去,硬件不存在问题了,不过程序的运行还是有些偏差。
此后便是对程序进行认真地编写、调试、修改,经过多次的努力,运行的情况比较顺利。
6.1主程序说明及流程图
主程序主要实现了从DS12C887各时间单元中读出数据和DS18B20传感器中读取数据,并送到LCD1602中显示的功能,同时检测有没有按键按下,如果有键被按下,则执行按键处理子程序。首先进行DS12C887时钟芯片、DS18B20芯片和LCD1602的初始化函数,然后进行按键扫描,不断地检测按键是否按下,读取DS12C887时钟芯片、DS18B20检测环境温度的数据,并且送到液晶显示器显示;当数据发生变化时候,重新进行扫描写入。主程序流程图如图6。
(5)液晶6端为使能信号,是操作时必须的信号,接单片机的P2.6口。
图2-7
5.5
本设计共采用按键4个,分别与单片机的P1.0、P1.1、P1.2、P1.3口相连,分别是功能选择键、数值增大键、数值减小键和闹铃查看键。在时间调节中,可按功能选择键,配合数值增大、减小功能键可分别对日期和时间进行调节。在调节过程中,显示器光标会在对应调节项目上游走,分别是:“秒、分、时、星期、日、月、年”。在闹铃设置中,可按闹铃查看键,配合数值增大、减小功能键可对闹铃时间进行设置。
5.2电源电路
本系统采用5V直流电源作为整个电路的供电模块,电路如下:
5.3时钟芯片电路设计
时钟芯片电路如下图5-1所示:
DS12C887是美国Dallas半导体公司推出的并行接口实时时钟\日历芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与计算机常用的时钟芯片MC146818和DS12887管脚兼容,可直接替换。采用DS12C887芯片设计的时钟电路无需任何外围电路和器件,并且有良好的微机接口。DS12C887芯片内有微功耗,外围接口简单,精度高,工作稳定可靠等优点,广泛各种需要较高精度的实时时钟系统中。
方案一:DS1302+数码管
DS1302的使用非常方便,而且价格便宜而数码管显示的也很清楚,特别是显示时间很直观。但在制作过程中我们发现了这方案的一些问题。DS1302是不自带电池,虽然可以通过外接纽扣电池来达到断电走时继续的目的,但在实际调试中会发现这是比较困难的。因为DS1302上电需要复位,而复位就会把正确的走时清零。如果不复位,DS1302会出现各种各样的问题,如不走时、读出乱码等。要解决这个问题需要增加如2402等存储器,上电后先存储时间值,再复位。这么做无疑增加了电路设计和软件设计的复杂度。而使用数码管显示,虽然价格也便宜,显示效果好,但多位的数码管在动态扫描的时候会出现闪烁。如果少用几位,用切换的方法查看日期,时间等信息又显得麻烦。
DS18B20芯片的连接如下图所示
六、软件设计
本次系统设计软件部分采用模块化结构,由主程序﹑DS12C887子程序、DS18B20子程序、LCD1602子程序构成。
模块程序设计法的主要优点是:单个模块比起一个完整的程序易编写及调试;模块可以共存,一个模块可以被多个任务在不同条件下调用;模块程序允许设计者分割任务和利用已有程序,为设计者提供方便
图5-1
5.4 1602
液晶显示器简称为LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特征实现显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到日益广泛的应用。液晶显示器按其功能可分为三类:笔端式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可以显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形。
5.3.1 DS12C887与单片机的连接
DS12C887是一款纯数字式的芯片,只要它与电片机的I/O口直接相连就可以操作。操作DS12C887时钟芯片共需要13条信号线,分别是并行数据地址复用线AD0~AD7、CS、AS、R/W、DS和IRQ。然后将RESET引脚固定接高电平,再将DS12C887芯片的VCC和GND引脚正确连接即可。DS12C887的管脚如图2-5所示。
蜂鸣器焊接的时候,注意了正负极,通过9015和限流电阻后接到P1.6。四个功能按键是对角线连接,一端接单片机口,一端接地。边焊接边调试,直到所有部分都已经焊接完毕。
6.2.2软件调试
硬件焊接完之后,我开始软件了调试。
我运用keil软件进行软件程序的调试。我上网找了些程序,关于DS12C887时钟芯片、DS18B20芯片、LCD液晶的初始化程序,然后根据我硬件电路的实际焊接情况,把相应的定义端口改过来,然后阅读了每一部分的程序,之后一一编译,直至运行成功。
最后把认真修改的程序经过编译成HEX文件后,写入单片机,系统能够正常运行,所有功能正常实现。设计调试完成后,给系统上电,液晶显示屏显示结果如图4-1所示:
图4-1
6.2.3系统程序设计:见(附录)
附录(程序)
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
5.1.2
单片机复位的条件是当单片机振荡器工作时,RST引脚上出现持续两个机器周期的高电平,从而实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,RST引脚上高电平必须持续10ms以上才能保证有效复位。
STC89C52的复位是由外部的复位电路来实现的:
5.1.3
晶振的作用是为系统提供基本的时钟信号。晶振电路中接在晶振旁的两个电容,叫负载电容。一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C2、C3可在30pF时振荡器有较高的频率稳定性。
最小系统焊接完后,可以插上单片机,这里注意的是不能插反一定要注意方向。另外因为我用的是5V的变压器供电,所以下载时插上下载器时不会出现像USB供电时出现的倒流问题。连到计算机并口检测到器件后,把一个简单程序的HEX文件写进单片机,发现可以正常运行,说明可以焊接其他单元了。
接下来焊接剩余的元器件,如DS12C887时钟芯片、DS18B20温度芯片、蜂鸣器、LCD等。主要是针对按照耐热性能的好坏来排列,与电子工艺的焊接要求基本相同。
5
随着闹铃时间的设定,当实时时间到达闹钟的时间时,P2.0会输出一组方波,如图2-10所示,当P2.0输出一个高电平时,使三极管导通,喇叭会发出蜂鸣声,当P2.0输出为低电平时,三极管不导通喇叭不发声。所以,整个闹钟输出为一组滴滴声。闹铃电路如图2-11所示。
5.7DS18B20温度传感器
采用数字式温度传感器DS18B20,其仅需一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
图6主程序流程图
6.2电路调试
6.2.1焊接调试过程
在焊接之前,先要对构成系统的所有元器件总体布局,这方便后面的硬件电路的调试。
首先,按照上课时的要求,焊接单片机的最小系统,包括单片机底座部分、电源部分、晶振、复位部分以及一个发光二极管。
电源部分:使用5V直流电源变压器的接口,插孔最后面的一个引脚为电源正极,其他两个引脚为接地。电源要经过一个可以锁定的开关,因为开关是六个引脚的,为了搞清哪两个引脚可以使用,分别在按下和松开的情况下,我用万用表测试了引脚之间的通断情况。后来经过检测找到其中一对引脚在按下通,松开时断,所以使用此两个引脚。因为整个电路图中有较多部分都要用到接地和接电源,所以为了方便焊接,将电源和地线分别连接至万用板的外围上。这样方便检查错误,接线时要规范,黑线表示接地,红线表示接电源。电源焊完之后,按下开关电源指示灯可以正常地发光。
1602字符型LCD与单片机的连接接口说明如下:
(1)液晶1、2端为电源;15、16端为背光电源;15脚接一个10欧电阻用于限流。
(2)液晶3端为液晶对比度调节端,通过一个10K电位器接地来调节液晶显示对比度。
(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P2.5口。
(4)液晶5端为读/写选择端只向其写入命令和显示数据。
五、系统硬件设计
5.1 51单片机最小系统设计
单片机最小系统如下图所示
以STC89C51单片机为核心,选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF的电容作为起振电容。复位电路为按键高电平复位,当按键按下,RES端为高电平,当高电平持续4us的时间就可以使单片机复位。