基于单片机智能温控流水灯_第1页
基于单片机智能温控流水灯_第2页
基于单片机智能温控流水灯_第3页
基于单片机智能温控流水灯_第4页
基于单片机智能温控流水灯_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要STM32是和8位单片机不同的,它只是可以做到使寄存器进行编程,而且使用官方提供的库文件进行编程,这样子的编程就比较容易移植,同时我们写代码的时候就也比较方便了,它包括一系列32位产品有的功能,比如说:集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性。STM32还保持了集成度高和易于开发的特性。因为STM32单片机制造价格也比较便宜所以本设计选择了STM32单片机来实现温控流水灯的设计。这次设计的单片机温控流水灯系统主要部分就是STM32单片机和LED流水灯以及温度湿度显示器。通过对STM32单片机的控制操作,让它可以检测到温度差异的信号,来决定LED流水灯是否闪亮。通过温湿度显示器我们可以了解到单片机所接受的温度来判断系统是否对应成功,整个设计的电路具有易于操作,体积小,设计简单,功耗小特点。最终实现利用STM32单片机实现基于单片机的温控流水灯,我们会通过采集温度传感器值,根据温度的大小,控制流水灯的熄灭闪亮。于是我设计了三种模式分别是:当温度高于35度时,单片机上围绕成心形的流水灯一闪一灭;当温度低于25度时,围绕成矩形流水灯一闪一灭;当温度在约25-35度之间时,排列的跑马灯流水灯循环点亮。我希望我们可以利用温控流水灯系统将我们的城市装饰的更加的漂亮和浪漫,家里可以根据不同的温度来亮起适合的灯光给你一种舒适的感觉,也觉得特别的好奇以前也没有做过这方面的东西,所以对我来说这个设计还是特别有意义的。关键词:STM32单片机;心形流水灯;矩形流水灯;跑马灯流水灯AbstractSTM32isdifferentfrom8-bitsinglechipmicrocomputer.Itcanonlymakeregisterprogramanduseofficiallibraryfiletoprogram,sothatsubprogrammingiseasiertotransplant.Atthesametime,whenwewritecode,itismoreconvenient.Itincludesaseriesoffunctionsof32-bitproducts,suchas:sethighperformance,real-timefunction,digitalsignalprocessing,lowpowerconsumptionAndlowvoltageoperation.STM32alsomaintainshighintegrationandeasytodevelopfeatures.BecauseSTM32single-chipischeapertomanufacture,STM32single-chipischosentorealizethedesignoftemperaturecontrolledrunningwaterlampThemainpartofthesinglechipmicrocomputertemperaturecontrolwaterlampsystemisSTM32singlechipmicrocomputer,LEDwaterlampandtemperatureandhumiditydisplay.ThroughthecontroloperationofSTM32single-chipmicrocomputer,itcandetectthesignaloftemperaturedifferencetodeterminewhethertheLEDrunningwaterlampisflashing.Throughthetemperatureandhumiditydisplay,wecanknowthetemperatureacceptedbythesingle-chipmicrocomputertojudgewhetherthesystemissuccessfulornot.Thewholecircuithasthecharacteristicsofeasyoperation,smallsize,simpledesignandsmallpowerconsumption.Finally,weuseSTM32MCUtorealizethetemperaturecontrolwaterlampbasedonSCM.Wewillcontrolthewaterlamptogooutandflashaccordingtothetemperaturebycollectingthetemperaturesensorvalue.SoIdesignedthreemodesrespectively:whenthetemperatureishigherthan35degrees,therunningwaterlampintheshapeofaheartwillflashoff;whenthetemperatureislowerthan25degrees,therunningwaterlampintheshapeofarectanglewillflashoff;whenthetemperatureisbetween25-35degrees,therunningwaterlampinthearrangementwillturnon.Ihopethatwecanusethetemperaturecontrolledrunningwaterlampsystemtodecorateourcitymorebeautifullyandromantically.Athome,youcanlightupsuitablelightsaccordingtodifferenttemperaturestogiveyouacomfortablefeeling.IalsofeelthatIamparticularlycuriousandhaven'tdoneanythinginthisfieldbefore,sothisdesignisofspecialsignificancetome..Keywords:STM32singlechipmicrocomputer;Heart-shapedwaterlamp;Rectangularrunningwaterlamp;Horseracinglantern目录1前言 11.1本设计的目的、意义及应达到的技术要求 21.1.2研究的目的 21.1.3研究的内容 21.1.4目的意义以及技术要求 22设计原理以及方案的选择 32.1单片机工作的前提和设计原理 32.2单片机的基本原理 33单片机的选择及其介绍 43.1STM32单片机的简单介绍 43.1.1关于STM32概览 43.1.2关于SYM32的GPIO介绍 54电路的硬件设计和分析 74.1LED灯的设计选择 74.2选取的是STM32最小系统的硬件设计 94.3LED灯的控制 94.4温度显示设计 105电路的硬件设计和分析 125.1Keil软件的使用和仿真图,电路软件的设计 12参考文献 20致谢 21附录 22前言在现在进入21世纪这个科技飞速发展的时代,将会出现很多智能自动化的东西,我所选择的就是关于智能温控这一方面,因为我觉得温度是和我们息息相关的东西,我们无时不刻都在感受着温度的存在,所以我觉得智能温控系统是恨值得我们去研究的,并且在这个高科技世纪,我们也将越来越需要更多大的智能电子设备,这个温控系统有很好的前景,市场需求也会很大,毕竟和我们的日常生活相关,因为单片机智能温控操作比较简单,而且稳定性能也比较好,价格也相对的比较便宜,所以我觉得一个可以通过单片机按照我们所需要的温度范围实现显示并让它能够智能控制其运转的系统具有很大的研究意义。当今灯光照明时代已经发展到了LED灯的时代。相信不用多长时间,LED灯将会取代所有的灯光照明,成为最大,最流行的照明工具。发光二极管的由来是因为在用磷砷化镓,磷化镓和碳化硅所组成的物质上加上正向电压的时候这个电子与空穴就会复合,它就会自动的发射出光来。在电路板上我们所设计围绕成心形和矩形还有一字排开的跑马灯用的都是LED灯。发光二极管中的红色光由其中的磷砷化镓二极管发出的,我们用的也是红色的发光二极管。为什么选用LED灯是因为它具有发光效率髙,能耗少,安全可靠性强,利于环保,制作也简单便宜的特点。在当今社会LED的应用主要用于建筑外观照明,景观照明,室内照明,娱乐场所及舞台照明,屏幕显示,汽车照明等领域我希望它能够在更多的领域上起到作用,小小的东西可以有大的作用,让我们的城市变得更加的漂亮,可以的话也希望能够有更多的用处。本设计最终将会实现利用STM32单片机实现基于单片机的温控流水灯,通过采集温度传感器值,通过显示屏让温度显示出来根据温度值,控制流水灯输出模式。当温度高于35度时,心形环绕的流水灯一闪一灭;当温度低于25度时,矩形环绕的流水灯一闪一灭;当温度在25-35度之间时,跑马灯流水灯循环点亮,进而表现出温控智能系统。1.1本设计的目的、意义及应达到的技术要求1.1.1研究的目标(1)温度的显示。(2)温度的范围。(3)单片机的焊接。(4)流水灯的闪亮。(5)实物的提交。1.1.2研究内容(1)设计一个单片机智能温控流水灯闪亮。1.1.3需要解决的问题(1)选择LED灯的时候,我们应该选用几个灯,选择什么样功率的LED灯才能让单片机更稳定安全不会被烧坏,应该以什么样的形式才能让人更能简单的理解。(2)关于电源驱动应该怎么安排,对于整个电路才是安全合适的。(3)怎么去编程序才能更好的让我们的智能温控流水灯更好的实现。(4)怎么让温度更快的上升。(5)该选择什么样的温度范围才能更体现智能温控的效果。1.1.4目的意义以及技术要求目的是通过以单片机为核心实现智能温控流水灯的熄灭点亮的系统。通过单片机的控制我们能让城市变的更加的漂亮比如说流水灯在舞台、广告牌、路灯、建筑上面的作用,可以有很出色的效果。在技术要求上仅仅是单片机的知识是不够的还需要硬件结构和具体的应用对象的特点上结合来完善系统。对源代码还有仿真软件的运用也是需要的。1.单片机最小系统:通过对单片机最小系统的研究,掌握单片机各引脚功能,理解单片机工作过程及原理,以及与外部扩展器件的连接,能够自己运用单片机来解决实际问题。2.单片机C语言:C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如各种单片机、DSP、ARM等。3.温控流水灯系统是以STM32单片机核心的单片机组成,编写程序控制流水灯,并能实现了心形流水灯、矩形流水灯、跑马流水灯依次次点亮,熄灭的“流水”效果。2设计原理以及方案的选择这次设计任务的要求是制作单片机智能用温度控制流水灯闪亮。在这次设计中我选择的方案是:使用STM32单片机作为这次设计的主控制电路然后编写实现这次目的对应的程序让它能够实现智能温控流水灯。使用KeilC51对单片机进行模拟实现稳定控制LED的闪亮。所以这次程序设计中,我才用先写出代码然后用KeilC51将代码放入,来检验设计是否能够成功,用代码模拟温度实现对心形,矩形,一字型流水灯的闪亮控制,这样我就可以选择合适想要的温度来实现设计的成功,并且能体现出它的意义。2.1单片机工作的前提和设计原理其实单片机就相当于一个微型的计算机,它比电脑就单单少了一个I/O设备。单片机想要正常工作必须满足三大原理1单片机供电电源正常,2单片机复位管不能出现复位的信号,3单片机的晶振有没有起振。要有电源肯定是首要的条件,所以我在电路板上设计了一个能够通电的电源装置,只用接上接头插上电源我们的单片机就能正常的运行了。同时单片机在使用的时候我们都会先检查我我们的芯片和板子有没有得到正确的电源。在使用之前除了电源需要检查以外,我们还需要测量单片机的复位管脚有没有出现复位信号,如果一直在复位状态,那么我们的单片机肯定是不能正常运行的。为了成功引起晶振,我们也进行了晶振频率的选择还有电容的选择。2.2单片机的基本原理单片机通常都是有控制器、储存器、输入输出设备以及控制器组成的。说的简单一点,单片机就是单纯的来实现我们赋予它指令的工作方式,它会自动完成我们给它下达的指令,也就是它运行程序的过程,它会运行我们用程序代码写下的各种作用的命令,每一条指令都是对应一个基本的操作。最终所有的指令全部完成,单片机就是通过它的指令系统,不同类型的单片机它的指令系统也是不同的。我们想要让单片机自动的去完成我们指定的某一任务,就必须把所有的问题都编写成为统一的指令(解决问题的一系列指令),这些指令的集合体就是我们所说的程序了[1]。单片机的程序都是放在存储器中的,因为它是具备储存功能的部位,我们把指令都放在储存器中的单元里面,这些单元类似于一间一间的房子,我们就把单元放在里面,单元里面的指令都是一个一个对应的就像是单独的一个门牌号码,这个门牌号码就是储存的地址,这个地址叫做存储单元地址,这样我们就能很简单的知道这个储存单元的地址了,我们需要使用的时候就是指令被取出来,然后再由我们的单片机执行。我们的程序都是按照一定的顺序被执行的,也就是说我们输入的指令也是按照顺序来的。单片机就是可以按照顺序的把指令取出来然后去运行。在单片机中存在程序计数器PC,这个东西能够追踪我们指令所在的储存单元地址,想要运行命令的时候就会给程序计数器PC第一条指令所在的地址,然后执行每一条命令,计数器中的内容就会自动的增加,这样就能稳定我们指令的顺利进行。所以使用单片机只要我们把指令一条一条的写好,保证硬件的条件,我们就可以得到我们所需要的结果。3.单片机的选择及其介绍3.1STM32单片机的简单介绍STM32的最大特点就是高性能、低成本、低消耗。STM32是和8位单片机不同的,它只是可以做到使寄存器进行编程,而且使用官方提供的库文件进行编程,这样子的编程就比较容易移植,它和51结构单片机的内置UART是不同的,一个是通用异步收发器不是同一个时钟线,一个是同步和异步都可以的收发器,也带着同样的时钟线,其实差的也不大就是同步用的频率比较,异步用的比较多而已。同时我们写代码的时候就也比较方便了,这也是我选择它的最大原因。如图3.1这个单片机仿真图是我设计所用单片机仿真图:图3.1STM32管脚图3.1.1关于STM32概览我们的STM32是基于32位32位Cortex™-M3内核,它的工作频率是可以达到72Mhz的。STN32的主要是四个控制单元和四个相对应的受控单元,它们8个都是有一条AHB线连着的。控制单元有:DCode总线、系统总线、通用DMA1和DMA2,受控单元是内部SRAM、FSMC、AHB和内部FLash。STM32使用的程序储存器是Flash和SRAM数据储存器,它们一个可以达到64K或者128K字节,另一个着是20K字节[2]。Icode总线:专门让我们进行指令预取。我们可以通过它连接M3内核指令总线与Flash的指令接口。Dcode总线:专门用于完成常量加载和调试访问的总线。我们可以通过用它连接M3内核DCode总线与Flash的数据接口。System总线:专门让我们去协调内核和DMA之前的通信输入输出。也可以让它连接M3内核系统总线与总线矩阵BusMatrix。DMA总线:专门用于我们去协调DCode、DMA、SRAM、Flash和他外设的访问。也是连接DMA的AHB主接口与总线矩阵BusMatrix的作用。BUSMATRIX总线矩阵:它是有8各部分组成,分别是四个控制单元和四个被控制单元:DCode、系统总线、DMA1、DMA2、总线FLITF、SRAM、FSMC、AHB2APB桥。。所以我们使用轮换算法管理内核系统总线与DMA主总线之间访问的仲裁的方法来操作它们。AHB/APBbridges:需要先设置寄存器RCC-AHBENR打开该设备的时钟才能使用它,其中APB1的使用速度要低于36MHz,APB2的使用速度要高72MHz,它提供了它们两总线之中的同步连接,当我们复位以后除了SRAM和FLITF以外的东西都会被自动关闭。AHB(高级高性能总线,AdvancedHighperformanceBus)就是一个总的线路,它连接着CPU、DMA、DSP这种高性能的模块,它是由三个部分组成的分别是模块、从模块、基础结构,数据的传输会通过主模板发起从模板的回应。APB(高级外围总线,AdvancedPeripheralBus)它唯一的一个模板就是APB桥,主要是用于USRT低宽带和外设之前的连线相当于一个外围线路的总线。3.1.2关于STM32的GPIO介绍图3.2LQFP48引脚定义图我们的STM32都是用LQFP48装的,它一共有37个IO引脚,分别是被五个组控制接收的,是PA15个、PB15个、PC3个、PD2个、PE0个,其中16个IO接口可以在外部中断,接口大部分都可以兼容5V的信号。所有的IO接口的接受和输出8mA的电流,灌入的电流也可以达到20mA。STM32一共有六种种寄存器,两种32位配置的寄存器,GPOPX-CEL、GPIOX-CRH,还有两种32位的数据寄存器,GPIOX-BRR、GPIOX-ODRR,一种32位复位寄存器GPIOX-BSRR,最后一种是32位锁定寄存器GPIOX-LCKR。我们的输出分为浮空输出和开漏输出,输入又分为浮空输入和上啦输入,复用也分为复用推挽输出和复用开漏输出,它们都可以由GPIO通过软件控制配置。STM32的GPIO都由承受大电流通过的承受力,所以可以方便我们锁定,就可以避免让其他GPIO相关寄存器损坏[2]。3.1.3关于STM32的通信接口STM32拥有9个接口:1个USB接口、1个CAN接口、2个SPI接口。3个USART接口、2个IC接口[1]。IC:可以让工作有四个模式:多主模式、从模式、标准模式、快速模式。接口支持两种寻址:10位寻址和7位寻址,IC的线是很短的不会超过2M,它的7位从模式可以内置硬件CRC发生器以及校验器,它是支持用DMA操作系统的。STN32的链接都必须是同一个地址并且支持SMBus和PMBus两总线的。USART:功能是十分强大的,提供LIN主/从功能,兼容ISO7816智能卡,同时也是支持三种传输编解码的:IRDASIREMDEC。它是由硬件信号管理的。它和IC一样是支持DMA操作的,它的1接口输出输入速度可以达到4.5,Mbit/S,剩下的接口都可以到2.25Mbit/S。SPI:使用主、从模式就可以在双工和半双工的输出输入速度达到4.5Mbit/S,因为有两个SPI接口,分频器都能产生8种模式的频率。我可以都选择的配置8位和16位的帧数,同样STM32的SPI也可以进行DMA操作。CAN:可以有两规范分别是CAN2.0A和CAN2.0B。都可以达到1Mbit/S,可以接收两种帧,一个是11位标识的标准帧,一个是29位的标准帧。USB:SMT32的速度是非常快的,具有一个内部的12Mbts/S的全速度USB控制器,可以控制它的使用,并且有一个专用48MHz的相环PLL直接从内部产生。4电路的硬件设计和分析4.1设计选取的是STM32最小系统的硬件电路设计大家都知道单片机工作起来都是执行我们所使用的程序代码,每个部分会完成我们设定的任务。所以如果一个单片机芯片没有输入完成用户程序,那么它肯定就不能正常的工作了。就算一个单片机芯片输入了我们的程序后再运行也不一定能成功,这是为什么因为需要一个完整的系统,单片机工作的时候是非常依靠单片机最小的系统的[3]。STM32的最小系统是有五大部分组成:1.电源系统图4.1电源电路电源是使用芯片供电,稳压器使用3.3V。2.时钟电路4.2时钟电路时钟的晶振一般都是用石英石组成的,为什么会使用石英石,是因为它本身是有电效应的,如果我们在它的晶片两边加上一个电场力的话,我们就让晶体发生变形,这个叫做机械变形,一个稳定的电场力会让晶体产生机械振动就,晶体形变振动就会产生我们所需要的交变电场了。我们的电场力电压是很小的,但是要让它的振动频率是很稳定的,当外加的交变电压频率和我们使用的石英石晶片自己有的频率一样的是时候就会产生电压谐振。晶振电路就是主要的时钟,它相当于整个系统的心跳节拍。所有的外部工作,还有CPU的运作都要基于这个时钟。STM32晶振是分两种,一种是无源,一种是有源。但是他们的本质都是一样的,我们称为皮尔斯震荡电路。但是对于单片机来说,它的内部集成电阻.电源.反相放大器三种,我们只需要外接晶体就能完成,这就是我们的单片机的无源晶振。3.调试4.复位电路图4.3复位电路引脚NRST是我们的主控芯片,也就是低电平复位,STM32的按键复位就是属于系统复位的。电容它的作用就是起到了按键消抖,是专门为了防止我们发生操作失误后会产生大约10ms的抖动,这对于我们NRST来控制已经算是特别长的时间了,足够我们进行多次的复位动作。5.芯片图4.4芯片基础4.2LED灯的设计选择为了实现单片机温控流水的系统效果更好的展示,我是准备了三种不同的情况,一个是一字排列的LED灯,让他们在一定的温度下形成跑马流水灯的样子,二就是一个矩形的排列方式,三就是一个心形状的排列方式。但是由于电力承受的原因我害怕把板子烧坏心形流水灯我就让它少亮了几个也算是能达到我们预计的效果。4.3LED灯的控制下面这个是我的LED的仿真模拟图4.5和图4.6,我分别用了三种情况来控制上面也提到过的心型、矩形、一字型,通过GND来连接他们,同时我也用计算机算出来它们的限流电阻是多少,然后连接在它们的下方或者旁边。图4.5LED仿真图图4.6LED仿真图4.4温度的显示设计关于温度多少的显示,我是做了一个温度的显示屏,因为只找到温度和湿度一起的,所以我就设计了温度和湿度一起感受的探头。下面是我仿真图下的显示屏图4.7。图4.7显示屏仿真图5Keil软件的使用和仿真图,电路软件的设计5.1GPIO口高低电平以下程序的编写我分别对高低电平进行了定义,对GPIO口设定了对应心、矩形、一字型排列的LED灯的情况,高电平就亮,低电平就不亮的设定。程序如下:#include"sys.h"#include"main.h"floatHumidity,Temperature;//矩形流水灯#defineLED_J_HGPIO_SetBits(GPIOB,GPIO_Pin_12)#defineLED_J_LGPIO_ResetBits(GPIOB,GPIO_Pin_12)//心流水灯#defineLED_X_HGPIO_SetBits(GPIOB,GPIO_Pin_13)#defineLED_X_LGPIO_ResetBits(GPIOB,GPIO_Pin_13)//流水的1#defineLED_L_1_HGPIO_SetBits(GPIOB,GPIO_Pin_10)#defineLED_L_1_LGPIO_ResetBits(GPIOB,GPIO_Pin_10)//流水的2#defineLED_L_2_HGPIO_SetBits(GPIOB,GPIO_Pin_2)#defineLED_L_2_LGPIO_ResetBits(GPIOB,GPIO_Pin_2)//流水的3#defineLED_L_3_HGPIO_SetBits(GPIOB,GPIO_Pin_1)#defineLED_L_3_LGPIO_ResetBits(GPIOB,GPIO_Pin_1)//流水的4#defineLED_L_4_HGPIO_SetBits(GPIOB,GPIO_Pin_0)#defineLED_L_4_LGPIO_ResetBits(GPIOB,GPIO_Pin_0)//流水的5#defineLED_L_5_HGPIO_SetBits(GPIOA,GPIO_Pin_7)#defineLED_L_5_LGPIO_ResetBits(GPIOA,GPIO_Pin_7)5.2GPIO口初始化设定因为我的设计是不同的温度控制不同的灯。所以进行GPIO的初始化让灯关闭不亮,然后随着温度的上升来判断什么灯型的闪亮。程序如下:voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//开漏输出//GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;//心形号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//1号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//2号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//3号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//4号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//5号灯GPIO_Init(GPIOA,&GPIO_InitStructure); //线全部关灯 LED_L_1_H;//关灯1 LED_L_2_H;//关灯2 LED_L_3_H;//关灯3 LED_L_4_H;//关灯4 LED_L_5_H;//关灯5 LED_X_L;//关灯矩形 LED_J_L;//关灯心形//GPIO_SetBits(GPIOA,GPIO_Pin_4);}5.3温湿度的获取和灯型的闪亮。我们的设计最终的目的就是为了单片机智能温控LED灯的闪亮。所以设计了温度的获取流程,还有就是我们LED灯分成了3种灯型排列。分别在三种温度下会有不同的灯型会进行闪亮分,别是温度大于35度的时候关闭矩排列形和一字型排列LED灯的闪亮进行心形排列的LED灯闪亮一秒全亮一秒全灭,当温度在25到35度之间的时候关闭心型LED灯和一字型LED灯矩形排列LED灯一秒亮一秒灭,当温度在小于25度的时候关闭心型排列LED灯和矩形排列LED灯一字型流水灯循环点亮一秒一个。程序如下://1S模块执行函数//floatHumidity,Temperature;voidTASK1(void*parameter){// floatTemp;//温度// floatHum;//湿度 charString[10]={0x00}; Temperature=SHT2X_GetTempHM(); Humidity=SHT2X_GetHumiHM(); { sprintf(String,"Temp:%02.02f",Temperature); OLED_ShowString(0,0,(u8*)String,16); sprintf(String,"Humidity:%02.02f",Humidity); OLED_ShowString(0,2,(u8*)String,16); }return;}//100MS执行一次voidTASK2(void*parameter){ staticu8t=0; if(Temperature>35) { LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//关闭流水灯关其他灯 LED_J_L;//关闭矩形灯 //心形流水灯一秒全亮一秒全灭 if(t==1) { //心形点亮 LED_X_H; } else { //心形熄灭 LED_X_L; } t=(t+1)%2; } elseif(Temperature<=35&&Temperature>=25) { //跑马灯流水灯循环点亮一秒一个 //矩形流水灯一秒全亮一秒全灭 LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//关闭流水灯关其他灯 LED_X_L;//关闭心形灯 if(t==1) { //心形点亮 LED_J_H; } else { //心形熄灭 LED_J_L; } t=(t+1)%2; } else { //开启流水灯 //先关闭其他灯 LED_J_L;//关闭矩形灯 LED_X_L;//关闭心形灯 switch(t) { case0x00:LED_L_1_L;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//开1号灯关其他灯 break; case0x01:LED_L_1_H;LED_L_2_L;LED_L_3_H;LED_L_4_H;LED_L_5_H;//开2号灯关其他灯 break; case0x02:LED_L_1_H;LED_L_2_H;LED_L_3_L;LED_L_4_H;LED_L_5_H;//开3号灯关其他灯 break; case0x03:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_L;LED_L_5_H;//开4号灯关其他灯 break; case0x04:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_L;//开5号灯关其他灯 break; } t=(t+1)%5; }return;}5.5Keil软件的使用Keil是美国KeilSoftware公司出品的软件,用起来真的很方便,但是不能直接进行硬件仿真,我们必须有一个单片机真是器具的硬件设备才可以进行我们想要的仿真。就算是如此目前Keil也是现在很流行的代码编写软件,它在编写上面是比汇编强很多的,在C语言的维护、结构以及功能的方面是有很大的优势的,所以用的人也就变得越来越多,它的仿真调试器是在内完整开发的十分的强大,Keil提供了不仅仅是C语言的编写包括C编译器、宏汇编、链接器、库管理等,因为是通过集成开发环境所以十分的俱全。所以说如果你是要进行C语言编程,那么它一定是你的上上之选,它的集成环境是非常方便使用的,所以仿真调试也是很强大的,能让我更清晰的了解。关于如何使用Keil分为五个步骤1.启动软件2建立工程3建立并添加源文件4配置工程属性5程序调试5.6系统电路仿真图。参考文献[1]百度文献:/question/412690644.html[2]百度文献:/p/83101591[3]百度文献:/p/92483993谢辞一个学期的毕业设计也就这样结束了,也就是说我的大学生涯就要结束了,在大学里面遇到了很多事情,让我成长的特别的多,让我学会了如何在社会之中立足,从一个什么都不懂的人学会了如何去自己照顾自己。最主要的是我在大学中学会了如何去感恩,要做一个会感恩的人,感谢大家对我的帮助和教导。真的非常舍不得就这有毕业了,但是我知道天下总没有不散的宴席,还是再想说特别感谢老师们的帮助还有同学们对我的支持希望大家都能过上自己喜欢的生活在这次设计中,我觉得我学到了很多,只要你愿意努力那么你就一定会得到回报,在设计中,我遇到了很多的困难,我感觉就是一个难题又一个难题的在前面等着我去解决,是没有任何捷径的,只能一个一个去解决,代码该怎么写,程序该用哪一个等等问题,真的特别感觉指导老师的帮助,不懂了就问,老师都会仔细的教我,该怎么做该怎么做,同学们的帮助也是特别重要的,可以很快的理清思路,做事也会得心应手一些,只要肯努力没有办不到的事情。最后再次感谢老师的指导和同学的帮助。附录附录1程序源代码#include"sys.h"#include"main.h"//////////////////////////////////////////////////////////////环境温湿度的值floatHumidity,Temperature;//矩形流水灯#defineLED_J_HGPIO_SetBits(GPIOB,GPIO_Pin_12)#defineLED_J_LGPIO_ResetBits(GPIOB,GPIO_Pin_12)//心流水灯#defineLED_X_HGPIO_SetBits(GPIOB,GPIO_Pin_13)#defineLED_X_LGPIO_ResetBits(GPIOB,GPIO_Pin_13)//流水的1#defineLED_L_1_HGPIO_SetBits(GPIOB,GPIO_Pin_10)#defineLED_L_1_LGPIO_ResetBits(GPIOB,GPIO_Pin_10)//流水的2#defineLED_L_2_HGPIO_SetBits(GPIOB,GPIO_Pin_2)#defineLED_L_2_LGPIO_ResetBits(GPIOB,GPIO_Pin_2)//流水的3#defineLED_L_3_HGPIO_SetBits(GPIOB,GPIO_Pin_1)#defineLED_L_3_LGPIO_ResetBits(GPIOB,GPIO_Pin_1)//流水的4#defineLED_L_4_HGPIO_SetBits(GPIOB,GPIO_Pin_0)#defineLED_L_4_LGPIO_ResetBits(GPIOB,GPIO_Pin_0)//流水的5#defineLED_L_5_HGPIO_SetBits(GPIOA,GPIO_Pin_7)#defineLED_L_5_LGPIO_ResetBits(GPIOA,GPIO_Pin_7)////////////////////////////////////////////////////////////voidGPIO_Configuration(void)GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//开漏输出//GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;//心形号灯GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//1号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//2号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//3号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//4号灯GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//5号灯GPIO_Init(GPIOA,&GPIO_InitStructure);//线全部关灯 LED_L_1_H;//关灯1 LED_L_2_H;//关灯2 LED_L_3_H;//关灯3 LED_L_4_H;//关灯4 LED_L_5_H;//关灯5 LED_X_L;//关灯矩形 LED_J_L;//关灯心形//GPIO_SetBits(GPIOA,GPIO_Pin_4);}//系统中断管理voidNVIC_Configuration(void){__enable_irq();//开启中断/*ConfiguretheNVICPreemptionPriorityBits*///NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断优先级分组为组2:2位抢占优先级,2位响应优先级//#ifdefVECT_TAB_RAM/*SettheVectorTablebaselocationat0x20000000*///NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);//#else/*VECT_TAB_FLASH*//*SettheVectorTablebaselocationat0x08000000*///NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);//#endif}//中断向量的重新映射voidVectorTableRemap(void){//#defineVECTOR_SIZE0xC0//中断向量一共48个,每个4字节,一共48*4=192///*RelocatebysoftwarethevectortabletotheinternalSRAMat0x20000000***////*CopythevectortablefromtheFlash(mappedatthebaseoftheapplication//loadaddressAPP_IMAG_LOCATION)tothebaseaddressoftheSRAMat0x20000000.*/// memcpy((uint32_t*)0x20000000,(uint32_t*)FRAMEWORK_BOOT_BASE_ADDR,VECTOR_SIZE);///*EnabletheSYSCFGperipheralclock*/// // RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);///*RemapSRAMat0x00000000*/// SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM); }//配置系统时钟,使能各外设时钟voidRCC_Configuration(void){SystemInit();// VectorTableRemap();//重新映射中断向量不是正式版不需要。// RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA//|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC//|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE// |RCC_APB2Periph_ADC1|RCC_APB2Periph_AFIO//|RCC_APB2Periph_SPI1,ENABLE);// RCC_APB2PeriphClockCmd(//RCC_APB2Periph_USART1RCC_APB2Periph_SYSCFG//|RCC_APB2Periph_ADC1//|RCC_APB2Periph_SPI1//|RCC_APB2Periph_SYSCFG,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB1Periph_TIM3//|RCC_APB1Periph_SPI2,ENABLE);RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB|RCC_AHBPeriph_GPIOC|RCC_AHBPeriph_GPIOF//|RCC_AHBPeriph_GPIOF,ENABLE);//RCC_APB1PeriphClockCmd(//RCC_APB1Periph_USART2//|RCC_APB1Periph_USART3//|RCC_APB1Periph_TIM2//|RCC_APB1Periph_USART2 //,ENABLE);// RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);}u32serialid=0x08000001;//序列号intmain(void){ ////RCC时钟初始化RCC_Configuration();//SysTickInt滴答时钟初始化SysTickInit();//系统中断管理NVIC_Configuration();//GPIO管理GPIO_Configuration(); SHT2X_INIT();//温湿度初始化OLED091INIT(); //初始化OLEDOLED_Display_On();//打开显示屏幕 OLEDClear();//屏幕清理//TASK_Timer_Init(10-1);//10*0.1ms的最小单位=1MS//IWDG_Init(4,2800); //与分频数为64,控制值为100=4。重载值为800,溢出时间为1s左右计算公式为256*3125/40=100000mswhile(1){Task_Process();}}//1S模块执行函数//floatHumidity,Temperature;voidTASK1(void*parameter){// floatTemp;//温度// floatHum;//湿度 charString[10]={0x00}; Temperature=SHT2X_GetTempHM(); Humidity=SHT2X_GetHumiHM(); { sprintf(String,"Temp:%02.02f",Temperature); OLED_ShowString(0,0,(u8*)String,16); sprintf(String,"Humidity:%02.02f",Humidity); OLED_ShowString(0,2,(u8*)String,16); } return;}//100MS执行一次voidTASK2(void*parameter){ staticu8t=0; if(Temperature>35) { LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//关闭流水灯关其他灯 LED_J_L;//关闭矩形灯 //心形流水灯一秒全亮一秒全灭 if(t==1) { //心形点亮 LED_X_H; } else { //心形熄灭 LED_X_L; } t=(t+1)%2; } elseif(Temperature<=35&&Temperature>=25) { //跑马灯流水灯循环点亮一秒一个 //矩形流水灯一秒全亮一秒全灭 LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//关闭流水灯关其他灯 LED_X_L;//关闭心形灯 if(t==1) { //心形点亮 LED_J_H; } else { //心形熄灭 LED_J_L; } t=(t+1)%2; } else { //开启流水灯 //先关闭其他灯 LED_J_L;//关闭矩形灯 LED_X_L;//关闭心形灯 switch(t) { case0x00:LED_L_1_L;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_H;//开1号灯关其他灯 break; case0x01:LED_L_1_H;LED_L_2_L;LED_L_3_H;LED_L_4_H;LED_L_5_H;//开2号灯关其他灯 break; case0x02:LED_L_1_H;LED_L_2_H;LED_L_3_L;LED_L_4_H;LED_L_5_H;//开3号灯关其他灯 break; case0x03:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_L;LED_L_5_H;//开4号灯关其他灯 break; case0x04:LED_L_1_H;LED_L_2_H;LED_L_3_H;LED_L_4_H;LED_L_5_L;//开5号灯关其他灯 break; } t=(t+1)%5; }return; }Task_Structtasks[]={//用各个任务的函数名初始化//系统调度一次100ms,(100*10)ms=1s调度一次{0,1000,1000,TASK1},//1秒执行一次GPRS程序{0,1000,1000,TASK2},//485点名程序//{0,100,100,TASK3},//485解析程序// {0,1000,1000,TASK4},//数据发送};u32task_count=sizeof(tasks)/sizeof(Task_Struct);voidTask_Process(void){u8i=0;for(i=0;i<task_count;++i)//遍历任务数组{if(tasks[i].isRun)//若任务可执行,则执行任务{tasks[i].TaskPointer(NULL);tasks[i].isRun=0;//将标志位清零IWDG_Feed();}}}voidTIM3_IRQHandler(void)//TIMER3中断{u8i=0;if(RESET!=TIM_GetITStatus(TIM3,TIM_IT_Update))//检查TIM3更新中断发生与否{TIM_ClearITPendingBit(TIM3,TIM_IT_Update);for(i=0;i<task_count;++i)//遍历任务数组{if(tasks[i].TimerSlice)//判断时间片是否到了{--tasks[i].TimerSlice;if(0==tasks[i].TimerSlice)//时间片到了{tasks[i].isRun=0x01;//置位表示任务可以执行tasks[i].TimerSlice=tasks[i].SliceNumber;//重新加载时间片值,为下次做准备}}}} }附录2仿真电路图附录3实物图

电脑不启动故障诊治了解电脑启动的过程在诸多电脑故障中,无法正常启动是最令用户头痛的事了。笔者长期从事维护电脑的工作,在这个方面积累了一些经验,现在就将这些经验整理归纳出来与朋友们分享。本文将以家用电脑和windows98操作系统为基础,介绍电脑无法正常启动故障的诊治。要想准确地诊断电脑不启动故障,首先要了解的起动过程,当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还没有完全稳定,主板控制芯片组会根据CMOS中的CPU主频设置向CPU发出一个Reset(重置)信号,让CPU初始化,电压完全稳定后,芯片组会撤去Reset信号,CPU马上从地址FFFF0H处执行一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS首先要做的事情就是进行POST(PowerOnSelfTest,加电自检)。POST的主要任务是检测系统中的一些关键设备(电源、CPU芯片、BIOS芯片、定时器芯片、数据收发逻辑电路、DMA控制器、中断控制器以及基本的64K内存和内存刷新电路等)是否存在和能否正常工作,如内存和显卡等。自检通过后,系统BIOS将查找显示卡的BIOS,由显卡BIOS来完成显示卡的初始化,显示器开始有显示,自此,系统就具备了最基本的运行条件,可以对主板上的其它部分进行诊断和测试,再发现故障时,屏幕上会有提示,但一般不死机,接着系统BIOS将检测CPU的类型和工作频率,然后开始测试主机所有的内存容量,内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的相关参数、硬盘参数和访问模式等。标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中已安装的即插即用设备。每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。最后系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是Windows最基本的系统文件。IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作,一切顺利结束,电脑正常启动。根据故障现象诊治了解电脑启动的过程,故障就好判断了,下面我们就根据故障现象开始诊治了:现象一:系统完全不能启动,见不到电源指示灯亮,也听不到冷却风扇的声音。这时,基本可以认定是电源部分故障,检查:电源线和插座是否有电、主板电源插头是否连好,UPS是否正常供电,再确认电源是否有故障,最简单的就是替换法,但一般用户家中不可能备有电源等备件,这时可以尝试使用下面的方法(注意:要慎重):先把硬盘,CPU风扇,或者CDROM连好,然后把ATX主板电源插头用一根导线连接两个插脚(把插头的一侧突起对着自己,上层插脚从左数第4个和下层插脚从右数第3个,方向一定要正确),然后把ATX电源的开关打开,如果电源风扇转动,说明电源正常,否则电源损坏。如果电源没问题直接短接主板上电源开关的跳线,如果正常,说明机箱面板的电源开关损坏。现象二:电源批示灯亮,风扇转,但没有明显的系统动作。这种情况如果出现在新组装电脑上应该首先检查CPU是否插牢或更换CPU,而正在使用的电脑的CPU损坏的情况比较少见(人为损坏除外),损坏时一般多带有焦糊味,如果刚刚升级了BIOS或者遭遇了CIH病毒攻击,这要考虑BIOS损坏问题(BIOS莫名其妙的损坏也是有的),修复BIOS的方法很多杂志都介绍过就不重复了;确认CPU和BIOS没问题后,就要考虑CMOS设置问题,如果CPU主频设置不正确也会出现这种故障,解决方法就是将CMOS信息清除,既要将CMOS放电,一般主板上都有一个CMOS放电的跳线,如果找不到这个跳线可以将CMOS电池取下来,放电时间不要低于5分钟,然后将跳线恢复原状或重新安装好电池即可;如果CPU、BIOS和CMOS都没问题还要考虑电源问题:PC机电源有一个特殊的输出信号,称为POWERGOOD(PG)信号,如果PG信号的低电平持续时间不够或没有低电平时间,PC机将无法启动。如果PG信号一直为低电平,则PC机系统始终处于复位状态。这时PC机也出现黑屏、无声响等死机现象。但这需要专业的维修工具外加一些维修经验,因此,建议采用替换法;电源没有问题就要检查是否有短路,确保主板表面不和金属(特别是机箱的安装固定点)接触。把主板和电源拿出机箱,放在绝缘体表面,如果能启动,说明主板有短路现象;如果还是不能启动则要考虑主板问题,主板故障较为复杂,可以使用替换法确认,然后更换主板。现象三:电源指示灯亮,系统能启动,但系统在初始化时停住了,而且可以听到嗽叭的鸣叫声(没有视频):根据峰鸣代码可以判断出故障的部位。ccid_page/AwardBIOS1短声:说明系统正常启动。表明机器没有问题。2短声:说明CMOS设置错误,重新设置不正确选项。1长1短:说明内存或主板出错,换一个内存条试试。1长2短:说明显示器或显示卡存在错误。检查显卡和显示器插头等部位是否接触良好或用替换法确定显卡和显示器是否损坏。1长3短:说明键盘控制器错误,应检查主板。1长9短:说明主板FlashRAM、EPROM错误或BIOS损坏,更换FlashRAM。重复短响:说明主板电源有问题。不间断的长声:说明系统检测到内存条有问题,重新安装内存条或更换新内存条重试。AMIBIOS1短:说明内存刷新失败。更换内存条。2短:说明内存ECC较验错误。在CMOS中将内存ECC校验的选项设为Disabled或更换内存。3短:说明系统基本内存检查失败。换内存。4短:说明系统时钟出错。更换芯片或CMOS电池。5短:说明CPU出现错误。检查CPU是否插好。6短:说明键盘控制器错误。应检查主板。7短:说明系统实模式错误,不能切换到保护模式。8短:说明显示内存错误。显示内存有问题,更换显卡试试。9短:说明BIOS芯片检验和错误。1长3短:说明内存错误。内存损坏,更换。1长8短:说明显示测试错误。显示器数据线没插好或显示卡没插牢。现象四:系统能启动,有视频,出现故障提示,这时可以根据提示来判断故障部位。下面就是一些常见的故障提示的判断:一、提示“CMOSBatteryStateLow”原因:CMOS参数丢失,有时可以启动,使用一段时间后死机,这种现象大多是CMOS供电不足引起的。对于不同的CMOS供电方式,采取不同的措施:1.焊接式电池:用电烙铁重新焊上一颗新电池即可;2.钮扣式电池:直接更换;3.芯片式:更换此芯片,最好采用相同型号芯片替换。如果更换电池后时间不长又出现同样现象的话,很可能是主板漏电,可检查主板上的二极管或电容是否损坏,也可以跳线使用外接电池,不过这些都需要有一定的硬件维修基础才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS检验和读出错;提示“CMOSSystemOptionNotSet”,CMOS系统未设置;提示“CMOSDisplayTypeMismatch”,CMOS中显示类型的设置与实测不一致;提示“CMOSMemorySizeMismatch”,主板上的主存储器与CMOS中设置的不一样;提示“CMOSTime&DateNotSet”,CMOS中的时间和日期没有设置。这些都需要对CMOS重新设置。三、提示“KeyboardInterfaceError”后死机原因:主板上键盘接口不能使用,拔下键盘,重新插入后又能正常启动系统,使用一段时间后键盘无反应,这种现象主要是多次拔插键盘引起主板键盘接口松动,拆下主板用电烙铁重新焊接好即可;也可能是带电拔插键盘,引起主板上一个保险电阻断了(在主板上标记为Fn的东西),换上一个1欧姆/0.5瓦的电阻即可。四、自检过程中断在xxxKCache处这表示主板上Cache损坏,可以在CMOS设置中将“ExternalCache”项设为“Disable”故障即可排除。同理,在自检主板部件时出现中断,则可以认为该部件损坏,解决方法一般可以在CMOS中将其屏蔽,如果不能屏蔽该部件最好更换主板。五、提示“FDDControllerFailure”BIOS不能与软盘驱动器交换信息;提示“HDDControllerFailure”,BIOS不能与硬盘驱动器交换信息。应检查FDD(HDD)控制卡及电缆。六、提示“8042GateA20Error”8042芯片坏;提示“DMAError”,DMA控制器坏。这种故障需要更换。七、提示“DisplaySwitchNotProper”主板上的显示模式跳线设置错误,重新跳线。八、提示“KeyboardisLock...Unlockit”键盘被锁住,打开锁后重新引导系统。九、IDE接口设备检测信息为:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示该IDE接口都没有找到硬盘,如果该IDE口确实接有硬盘的话,则说明硬盘没接上或硬盘有故障,可以从以下几方面检查:1、硬盘电源线和数据线是否接触不良,或换一根线试试;2、CMOS设置有无错误,进入CMOS将“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三项的的“TYPE”都设置成“Auto”;3、替换法确认硬盘本身有故障。十、IDE接口设备检测信息下面显示“Floppydisk(s)fail(40)”出错信息表示CMOS所指定的软盘驱动器有问题。判断和解决的方法与硬盘相似。现象五:系统不能引导。这种故障一般都不是严重问题,只是系统在找到的用于引导的驱动器中找不到引导文件,比如:BIOS的引导驱动器设置中将软驱排在了硬盘驱动的前面,而软驱中又放有没有引导系统的软盘或者BIOS的引导驱动器设置中将光驱排在了硬盘驱动的前面,而光驱中又放有没有引导系统的光盘,这个都很简单,将光盘或软盘取出就可以了,实际应用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多数都是这个原因。如果是硬盘不能引导的话一般有两种情况:一种是硬盘数据线没有插好,另一种就是硬盘数据损坏。前者一般多会出现硬盘

温馨提示

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

评论

0/150

提交评论