单片机课程设计报告_第1页
单片机课程设计报告_第2页
单片机课程设计报告_第3页
单片机课程设计报告_第4页
单片机课程设计报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

洛阳理工学院课程设计报告课程名称单片机原理与应用设计题目基于STC89C52单片机的实验平台开发设计专业计算机科学与技术班级B1105学号姓名完成日期2013年12月27日

课程设计任务书设计题目:基于STC89C52单片机的实验平台开发设计设计内容与要求:一、设计内容利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;在KeilC环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。二、设计要求完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;按照要求撰写课程设计论文。指导教师:2013年12月16日课程设计评语成绩:指导教师:_______________年月日PAGEII基于STC89C52单片机的实验平台开发设计摘要单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。STC89C52单片机控制器为核心,是一种开发一种体积小、使用方便、实用性强的单片机综合实验实训平台,该平台也是目前市场上比较基础的单片机,一般能够满足一些不太复杂的设计需要和一些智能工作的场所,该单片机虽然比较简单,但是性能稳定,可应用于很多的控制领域。当然也是是初学者的不错的选择。所以这次我们采用单片机来用板子上面的已经集成好的硬件基础做一些简单的实验,包括数码管的控制,键盘的使用,流水灯和液晶的使用,以及串口的通信等一些实验。关键词:STC单片机,实验平台,数码管,流水灯,串口通信ABSTRACTSCMisanintegratedcircuitchip,istheuseofVLSItechnologywithdataprocessingcapabilitiesofthecentralprocessingunitCPUrandomaccessmemoryRAM,read-onlymemoryROM,multipleI/Oportandinterruptsystem,thetimer/timer,etc.function(mayalsoincludeadisplaydrivingcircuit,thepulsewidthmodulationcircuit,theanalogmultiplexer,A/Dconverters,etc.circuit)integratedontoasiliconwaferconsistingofasmallmicro-computersystemandcomplete,intheindustrialcontrolfieldwidelyused.Fromthe1980sbythethen4,8-bitmicrocontroller,totoday's32300Mhigh-speedmicrocontroller.51singleforallcompatibleIntel8031​​microcontrollerinstructionsetcollectively.TheseriesisIntel'ssingle-chipancestor8031,andlaterwithFlashromtechnology,8031hasmadeconsiderableprogress,tobecomethemostwidelyusedone8-bitmicrocontroller,itsrepresentativemodelisATMELCorporationAT89series,whichwidelyusedinindustrialcontrolsystems.Manycompanieshavelaunched51seriescompatibles,thefutureforalongperiodoftimewilloccupyalargemarket.51isthebasisfortheentryofasingle-chipmicrocontroller,orthemostwidelyusedone.Notethatthe52seriesofmicrocontrollersgenerallydonothaveself-programmingcapability.STC89C52single-chipcontrollerasthecore,isadevelopmentofasmall,easytouse,practicalsingle-chipintegratedexperimentalandtrainingplatform,whichiscurrentlythebasisofcomparisonofthemicrocontrolleronthemarket,generallyabletomeetsomeofthelesscomplexdesignneedsandsomesmartworkplaces,althoughthechipisrelativelysimple,buttheperformanceandstability,canbeappliedtoalotofcontrol.Ofcourse,isagoodchoiceforbeginners.Sothistimeweusethemicrocontrollertoabovehasbeenintegratedwiththeboardgoodhardwarebasetodosomesimpleexperiments,includingdigitalcontrol,useofthekeyboard,andLCDlightwateruseserialcommunicationshavebeensomeexperiments.KEYWORDS:STCmicrocontroller,comprehensiveexperimentalboard,softwareandhardwarecombinedwith,andtheprogramdevelopmentdesign目录TOC\o"1-3"\h\u3418摘要 I19550目录 III27856前言 17341第1章系统概述 272741.1设计题目 2262131.2系统设计目的和内容 218651.2.1设计目的 2227371.2.2设计内容 2300971.2.3设计要求 285701.2.4设计步骤 213493第2章整体设计方案 376332.1开发板整体外观 37712.2Protuce仿真电路 358952.3软件功能描述 3247372.4仿真软件PROTUES中的效果图 416791第3章硬件电路设计 5146783.1两位一体共阴数码管 5180163.1.1数码管概述 5137923.1.2两位一体共阴数码管和74LS374锁存器接口电路 623593.2LCD1602液晶 6144943.2.1LCD1602液晶简介 6167263.2.2LCD1602液晶外围接口电路 7268353.3串口通信 7230733.3.1串口通讯概述 722633.3.2MAX232接口电路 81801第4章软件设计 9304404.1程序整体流程图 92970第5章调试及故障分析 10300835.1焊接准备阶段元器件测试、电路原理图故障分析 102535.2电路焊接过程中的故障分析 10326095.3程序编写过程中的故障分析 10277575.4实物演示效果 1019603结论 1222128谢辞 126487参考文献 1220701附录一 131163附录二 17PAGE24前言我国开始使用单片机是在1982年,短短五年时间里发展极为迅速。1986年在上海召开了全国首届单片机开发与应用交流会,有的地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。截止今日,单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,这还不包括国外的。与它相应的专业杂志现在也有很多,比如由单片机界的权威何立民主编的《单片机与嵌入式系统应用》杂志现以风靡电子界,在2003年7月,91在上海、广州、北京等大城市所做的一次专业人才需求报告中,单片机人才的需求量位居第一。一块小小的片子,为何有这样的魔力?我们首先从它的构成说起:单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。据统计,我国的单片机年容量已达1—3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。系统概述设计题目《基于STC89C52单片机的实验平台开发设计》。系统设计目的和内容设计目的(1)学会分块电路原理图的分析。(2)利用手中的PCB板,完成元器件的焊接,掌握焊接得技巧,如何将焊点焊的美观,牢靠,焊接的过程中对元器件的识别。(3)在KeilC的环境下进行软件设计。主要包括流水灯,数码管,液晶,键盘的控制设计内容(1)单片机在复位状态下,按下第一个键数码管开始以秒加1计时,当读到60时再从0开始;按下第二个液晶开始工作,首先显示欢迎语“welcometoMCU”然后清楚再显示时间,包括年月日,小时,分钟,秒;按下第三个led开始工作。(2)数码管的秒计数利用T1定时器的工作方式2,液晶时间的显示利用T0定时器的工作方式2;键盘的检测比较简单,只需要检测单个引脚对应的电平即可。设计要求(1)完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;(2)独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;(3)结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;设计步骤(1)读懂并分析每一块电路的连接,工作原理,其中包括收集必要的一些芯片的资料。(2)完成电路的焊接。(3)模块化编程,首先编写LED的看,这个程序来说相对比较简单编写的同时友可以熟悉开发板的电路,然后编写数码管和LCD的相应程序,在编写的过程中要完成一个模块调试好了在进行下一个模块的编写。整体设计方案开发板整体外观Protuce仿真电路软件功能描述Delay_ms实现一个简单的延时;LCD_program实现液晶的时间显示:led_program实现了的的闪烁移动;smg_program实现数码管以秒加一计数。仿真软件PROTUES中的效果图图2.4.1数码管仿真图图2.4.2LCD仿真图图2.4.3LED仿真图硬件电路设计3.1两位一体共阴数码管数码管概述数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管;按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。led数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。数码管内部引脚见附录一。 两位一体共阴数码管和74LS374锁存器接口电路图3.1.3数码管外围电路LCD1602液晶LCD1602液晶简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)注:为了表示的方便,后文皆以1表示高电平,0表示低电平。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。其特性为:3.3V或5V工作电压,对比度可调。内含复位电路。提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。有80字节显示数据存储器DDRAM。内建有192个5X7点阵的字型的字符发生器CGROM。8个可由用户自定义的5X7的字符发生器CGRAM。微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。引脚图及原理图见附录一。LCD1602液晶外围接口电路图3.2.3LCD外围电路3.3串口通信串口通讯概述串口通信(SerialCommunication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。MAX232接口电路图3.3.2MAX232接口电路软件设计4.1程序整体流程图开始开始检测键盘对应的引脚电平Led程序Lcd程序数码管程序Key1,Key2,Key0是否其中有一个为0Key2=0Key2=0Key0=0KKey1=0结束结束程序设计见附录二调试及故障分析5.1焊接准备阶段元器件测试、电路原理图故障分析 检测各个器件是否完备并完整;测试某些电阻的是否符合要求;测试键盘的内部连接以确定怎样焊接;5.2电路焊接过程中的故障分析电源短路,最有可能的就是焊接的过程中焊锡太多导致;焊点呈现圆球状,这样的焊点极有可能出现虚焊,还有一些空间很小的地方在焊完以后一定要测试一下是否短路或者断路;电源指示灯亮度太暗,有可能是与其串联的电阻太大导致的5.3程序编写过程中的故障分析 LED循环亮灯的问题,如果用_corol_()函数,必须要要包含相应头文件,这个函数每调用一次左移一位,所以要是整个LED循环亮的就得调用循环。 LCD中出现的问题最多,首先要明白1602的时序问题,还有显示的原理,1602没有汉字字库,只能显示ASSII码,最初编写写命令write_com()和写数据write_data()函数的过程中没有对RW端口进行操作,结果导致1602不能驱动的问题,还有可能出现的问题就是1602的使能端连接到138译码器的Y2,这就要求对138译码器的原理必须掌握,其实138译码器最重要的就是其对应的真值表; 数码管用到了373锁存器,通过对两个373的控制以实现对两位数码管的控制,ALE端负跳变实现锁存。5.4实物演示效果图5.4.1LCD效果图图5.4.2数码管效果图图5.4.3LED效果图结论这次的实验,无论在开发板还是在仿真图上都得到了预想的结果,这个让我们从一些感性的认识一下子进入到可触控的实际的认识,换句话说,看吧,东西就在眼前。或许有很多同学会怀疑我就写了一个程序,下载到里面,它怎么会实现的。其实我也想了很多,你不就是给他的芯片里写了一些字符吗,他怎么会实现物理开关般的作用,其实这个问题不用多问,我觉得我们暂时知道这个就可以了,不用死钻牛角尖。当然,这次的团队合作是这次试验成功的不可缺少的因素。很多时候,尤其在一些大的工程里,可能每个人只是负责一个部分,这个时候懂得团队的合作是发展的需要。谢辞这次的试验,对于三位老师的教导我表示深深地感谢,以及老师们为我们精心准备的开发板来让我们实质性的体验。当然,我还得感谢我的队员,正是我们的相互合作,共同努力才得以解决在焊接过程中遇到的一些问题,才会又快又好地焊接PCB板。参考文献[1]林立张俊亮编单片机原理及应用[M].北京:电子工业出版社,2012[2]周润景等编Proteus入门使用教程.北京:电子工业出版社,2007[3]谭浩强编C程序设计.北京:清华大学出版社,1991[4]郭天祥编51单片机C语言教程.北京:电子工业出版社,2008附录一1、数码管内部引脚及功能下面将介绍常用LED数码管内部引脚图数码管实物图图1LED数码管引脚定义图2LED为共阴方式图3数码管内部结构原理图图32、74LS373原理及引脚图74LS373功能表LEDQ0111010000×不变1××高阻态74LS373的三种工作方式:跟随(=0,LE=1,输出跟随输入)锁存(=0,LE从高变为低负跳变时,锁存D0~D7)高阻(=1,Q0~Q7输出为高阻,相当于断开)3、74LS138原理及引脚图74LS138真值表注:1表示高电平,0表示低电平,×表示任意【C为高位,A为低位】【强调:要使138芯片工作,G1接高电平“1”,和接低电平“0”】74LS138引脚图4、LCD1602工作原理及引脚图LCD1602的工作电流2.0mA(5.0V)9013的驱动电流达40mA,仿真时可以选择一个NPN三极管。所以从低到高时,LCD1602的E端出现高到低的负跳变。1602采用标准的16脚接口,其中:第1脚:VSS为电源地;第2脚:VCC接5V电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令;第7~14脚:D0~D7为8位双向数据端;第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。LCD1602的第5脚:,读写操作选择(1-读,0-写)。RS寄存器及操作00指令寄存器写入01忙信号和地址计数器读出10数据寄存器写入11数据寄存器读出LCD1602的第6脚:E端为使能端,当E端由高电平跳变成低电平时(负跳变),液晶模块执行命令。【类似于74LS373,需要负跳变】执行一条命令或写入一个数据,都要使E有一个负跳变。附录二程序设计////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include<reg52.h>#include"delay.h"#include"led.h"#include"lcd.h"#include"smg.h"sbitkey0=P3^2;sbitkey1=P3^3;sbitkey2=P3^4;sbitkey3=P3^5;voidmain(){ while(1) { if(key0==0) { delay_ms(3); if(key0==0) led_program(); } if(key3==0) { delay_ms(3); if(key3==0) lcd_program(); } if(key2==0) { delay_ms(3); if(key2==0) smg_program(); } }}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include"delay.h"#include"led.h"#include<reg52.h>#include<intrins.h>voidled_program(){ uinti; uchara,b; a=0xfe; //11111110 b=0x7f; //01111111 while(1) { P2=0x00; delay_ms(800); P2=0xff; delay_ms(800); P2=0xaa; //10101010 //低电平有效 delay_ms(800); P2=0x55; //01010101 delay_ms(800); //循环亮灯 i=500; while(i>=20) { P2=a; delay_ms(i); a=_crol_(a,1); i=i-10; } i=10; while(i<=500) { P2=b; delay_ms(i); b=_cror_(b,2); i=i+10; } P2=0xfc; delay_ms(500); P2=0x3f; delay_ms(500); P2=0xf3; delay_ms(500); P2=0xcf; delay_ms(500); P2=0xe7; delay_ms(500); }}///////////////////////////////////////////////////////////////////////////////////////#ifndef_LED_H_#define_LED_H_ #defineucharunsignedchar#defineuintunsignedintvoidled_program(void);#endif//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef_DELAY_H__#define_DELAY_H__#defineucharunsignedchar#defineuintunsignedintvoiddelay_ms(uintt);#endif////////////////////////////////////////////////////////////////#include"delay.h"voiddelay_ms(uintt){ uinti,j; for(i=t;i>0;i--) for(j=110;j>0;j--);}///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#ifndef_LCD_H_#define_LCD_H_ #defineucharunsignedchar#defineuintunsignedintvoidLCD_EN_0();voidLCD_EN_1();voidwrite_com(ucharcom);voidwrite_data(uchardate);voidLcdinit();voiddisplay_time(ucharadd,uchardate);voidlcd_program(void);#endif////////////////////////////////////////////////////////////////////////#include"lcd.h"#include"delay.h"#include<reg52.h>sbitLcdrs=P1^6;sbitLcdrw=P1^7;sbitE3_138=P1^5;ucharwelcome_mode[]="WelcometoMCU";ucharname_mode[]="chaoweili";ucharxuehao_mode[]="B11050807"; uintcount=0;ucharshi,fen,miao;//数据口为P0;A0=P25;A1=P26;A2=P27voidLCD_EN_1() //对应138Y2{ E3_138=1; P2=0x5f; //0101f; }voidLCD_EN_0(){ E3_138=0; } voidwrite_com(ucharcom){ Lcdrs=0; Lcdrw=0; P0=com; delay_ms(5); LCD_EN_1(); //Y2为0; delay_ms(5);LCD_EN_0(); }voidwrite_data(uchardate){ Lcdrs=1; Lcdrw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论