《项目4__流水灯的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试.ppt》由会员分享,可在线阅读,更多相关《项目4__流水灯的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、项目4_流水灯的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试任务一:设计任务一:设计8路流水灯电路路流水灯电路 学习目标:学习目标:l正确理解正确理解8路流水灯电路工作原理路流水灯电路工作原理l能能讲讲出制作出制作8路流水灯所需元器件名称及型号路流水灯所需元器件名称及型号l能在面包板、多孔板上制作能在面包板、多孔板上制作8路流水灯硬件电路路流水灯硬件电路l学会学会检测检测8路流水灯能否正常工作的方法路流水灯能否正常工作的方法图图4-1 常见的彩灯流水灯常见的彩灯流水灯流水灯流水灯电电路是在路是在项项目一目一“指示灯电路指示灯电路”基础上扩展而来,即在指示基础上扩展而来,即在指示灯
2、电路基础上将一路扩展示灯电路基础上将一路扩展示为为八路。八路。如如图图4-2所示,先忽略单片机不看,将原本要接入单片机的所示,先忽略单片机不看,将原本要接入单片机的8个端个端口连接起来,使用一个开关口连接起来,使用一个开关K和一个和一个5V直流直流电电源控制,源控制,8条支路相同,条支路相同,都是由都是由1个电阻、个电阻、1个二极管构成,总电流是各支电路之和。合上开个二极管构成,总电流是各支电路之和。合上开关关K,8路发光二极管全导通;断开开关路发光二极管全导通;断开开关K,8路发光二极管全熄灭。路发光二极管全熄灭。如如图图4-2选用元件为:选用元件为:8个个3mm红红色色 LED 发发光二极
3、管、光二极管、个个0.25W四色四色环环碳膜碳膜电电阻阻1、一个、一个5V开关开关电电源、一个源、一个8.58.5mm 双排自双排自锁锁开关。流开关。流过过开关的开关的工作工作电电流:流:I1=(E-2)/R =(5V-2V)/1K=3mAI =8I1 =8 3 =24 mA上述开关如果再演上述开关如果再演变变成接入成接入单单片机的个端口,只要控片机的个端口,只要控制制单单片机的每个口通与断,就能控制片机的每个口通与断,就能控制8路流水灯的亮与灭。路流水灯的亮与灭。图图4-2 8路流水灯电路连接图路流水灯电路连接图知识链接何何谓谓共阳共阳电电路:在一个路:在一个电电路中,都是由路中,都是由电电
4、源向各元件供源向各元件供电电,使得元件,使得元件有有电电流通流通过过而正常工作。在而正常工作。在单单片机控制片机控制电电路中,若功能相同路中,若功能相同的若干的若干支支电电路路有一端合并在一起,该端加高电平、另一端加低电平,支路能工作的有一端合并在一起,该端加高电平、另一端加低电平,支路能工作的这些这些电电路称之路称之为为共阳共阳电电路,路,反之反之,这这些些电电路称路称为为共阴共阴电电路。路。早期普通型早期普通型单单片机每片机每I/O口向外供电电流口向外供电电流(拉电流拉电流)最大值为最大值为230uA,由,由外电路向单片机输送电流外电路向单片机输送电流(灌电流灌电流)最大值为最大值为6mA
5、。STC10、STC 11、STC 12、STC 15系列芯片,默认值与普通单片机拉电流相同,而系列芯片,默认值与普通单片机拉电流相同,而灌灌电电流最大流最大值值可达可达20mA。STC公司芯片从公司芯片从STC10系列开始,可以通过软件系列开始,可以通过软件设置使得芯片拉电流最大值达到设置使得芯片拉电流最大值达到20mA,但使用时注意加限流电阻,以,但使用时注意加限流电阻,以防损坏单片机。防损坏单片机。通通过过一个普通一个普通单单片机芯片的片机芯片的总电总电流,一般不超流,一般不超过过71mA左右,左右,STC公司公司芯片从芯片从STC10系列芯片系列芯片开始,开始,总电总电流流可达可达12
6、0mA,因此在设计、选择元件时,因此在设计、选择元件时,要考虑总电流这个因素。这就是为什么在单片机设计电路中一般让要考虑总电流这个因素。这就是为什么在单片机设计电路中一般让I/O低电平低电平工作的原因。工作的原因。假假设设使用使用STC15系列单片机,并且只使用单片机个口对路流水灯系列单片机,并且只使用单片机个口对路流水灯进行控制,因为总电流可以达进行控制,因为总电流可以达120mA,理论上,假设路最大电流工作,理论上,假设路最大电流工作,每,每路的最大路的最大电电流可达:流可达:120/8=15 mA,单片机一般压降为,单片机一般压降为0.5V,LED压降简单压降简单计算为计算为2V,因此通
7、过,因此通过限限流流电电阻的阻的电压电压大小大小为为2.5V,每路最大电流为,每路最大电流为15 mA,因此电阻值最小应是:因此电阻值最小应是:2.5V/15 mA=167,理论上,理论上167以上电阻都可以使用,以上电阻都可以使用,一般单片机电路中常见到一般单片机电路中常见到300左右左右限限流流电电阻阻就是根据就是根据这这个原理个原理设计设计的。的。但是但是单单片机内部运行片机内部运行时时有有电电流,同流,同时还时还要要带带其它其它负载负载工作,工作,选择电选择电阻的阻的依据,只要依据,只要最低电流最低电流满满足用足用户户要求就行。要求就行。查阅资料,查阅资料,如果如果3mm红色红色 LE
8、D 发光二极管在发光二极管在2.5电源工作下,可电源工作下,可串串最大最大电电阻是多少?阻是多少?(选择不同型号的选择不同型号的LED,最大值是不一样的,工作中一,最大值是不一样的,工作中一般都是选用熟悉的元件进行设计般都是选用熟悉的元件进行设计)图图4-3为单片机控制为单片机控制8路共阳流水灯电路的工作原理图。路共阳流水灯电路的工作原理图。图图4-3 单片机控制单片机控制8路共阳流水灯电路的工作原理图路共阳流水灯电路的工作原理图任务实施1一、在面包板上制作一、在面包板上制作8路共阳流水灯硬件电路路共阳流水灯硬件电路1选择元器件选择元器件(1)(1)1只只SYB-130万能面包板;万能面包板;
9、(2)(2)8只只0.25W四色环碳膜四色环碳膜1K K电阻;电阻;(3)(3)8只只3mm红色红色 LED发光二极管;发光二极管;(4)(4)4根双公,根双公,20CM杜邦线;杜邦线;(5)(5)1只只8.5*8.5mm 双排自锁开关;双排自锁开关;(6)(6)1只只5V开关电源。开关电源。2如图如图4-4所示所示,是插建共阳八路流水灯的参考实物图。是插建共阳八路流水灯的参考实物图。3在面包板上按图在面包板上按图4-4所示进行实物图插件所示进行实物图插件(1)双排自锁开关:一端插到隔槽上面第二至四竖槽空孔内,另双排自锁开关:一端插到隔槽上面第二至四竖槽空孔内,另一端插隔槽下方一端插隔槽下方。
10、(2)电阻:一端分别插入隔槽上面竖槽空孔内,另一端插入隔槽电阻:一端分别插入隔槽上面竖槽空孔内,另一端插入隔槽下面竖槽空孔内。若电阻下端直接插入电源地下面竖槽空孔内。若电阻下端直接插入电源地横槽空孔内,不能横槽空孔内,不能实实现对现对每路每路单单独控制。独控制。(3)发光二极管:长脚端是二极管的正极,将长脚端全部插入电发光二极管:长脚端是二极管的正极,将长脚端全部插入电源正极横槽空孔内,另一端与电阻端相接。源正极横槽空孔内,另一端与电阻端相接。(4)双公杜邦线:第一根线电源正极引入线,与自锁开关相接;第双公杜邦线:第一根线电源正极引入线,与自锁开关相接;第二根线设为电源地引入线,与电源地横槽相
11、接;第三根线自锁开关、二根线设为电源地引入线,与电源地横槽相接;第三根线自锁开关、电源正极横槽连接线,开关开启后给每个支路供电使用;第四根线电源正极横槽连接线,开关开启后给每个支路供电使用;第四根线用来检测每路工作是否正常,一端插电源用来检测每路工作是否正常,一端插电源地地横槽内横槽内,另一端,另一端悬悬空,空,准准备备与每路与每路电电阻下端相阻下端相连连。任务评价1 将第四根将第四根悬悬空端分空端分别别插入隔槽下插入隔槽下方方对应电对应电阻阻竖竖槽中,若槽中,若对应对应上上面面竖竖槽槽发发光二极管亮,光二极管亮,说说明接插完好,若不亮,需使用万用表明接插完好,若不亮,需使用万用表进进行行检测
12、检测。可能是下列几种情况:。可能是下列几种情况:(1)(1)元件是否元件是否损损坏坏;(2)(2)电电源是否供源是否供电电;(3)(3)元件是否插好元件是否插好;(4)(4)发发光二极管是否插反光二极管是否插反;(5)(5)是否按了自是否按了自锁锁开关开关。根据不同根据不同现现象象进进行排除,直到故障全部排除,行排除,直到故障全部排除,8路均能点亮为路均能点亮为止。止。任务实施2二、在多孔板上制作二、在多孔板上制作8路共阳流水灯硬件电路路共阳流水灯硬件电路 1选择元器件选择元器件(1)1只只159cmcm多孔板多孔板;(2)8只只3mm红色红色 LED发光二极管;发光二极管;(3)1根根2.5
13、4间距间距/1*40P排针;排针;(4)8只只0.25W四色环碳膜四色环碳膜1K K电阻;电阻;(5)1只只5V5V开关开关电电源源;(6)焊接工具、焊丝等焊接工具、焊丝等 。2如图如图4-5所示,是参考焊接的共阳八路流水灯实物图。所示,是参考焊接的共阳八路流水灯实物图。3在多孔板上按图在多孔板上按图4-5所示进行实物焊接所示进行实物焊接(1)排针:分两组,一组为电源正极引入端,一般焊接排针:分两组,一组为电源正极引入端,一般焊接2个排针端子;另个排针端子;另一组为一组为8个排针端子,供个排针端子,供8路信号引入。路信号引入。(2)电阻:一端分别焊接到电阻:一端分别焊接到8个排针端子,另一端分
14、别与发光二极管负极个排针端子,另一端分别与发光二极管负极焊接。焊接。(3)发光二极管:长脚焊接在一起,引入到电源正极排针端子,另一端分发光二极管:长脚焊接在一起,引入到电源正极排针端子,另一端分别与电阻焊接。别与电阻焊接。任务评价2将将电电源正极插在源正极插在2个排针端子的一个端子,负极分别依次插在个排针端子的一个端子,负极分别依次插在8个排个排针端子上,若对应端子发光二极管亮,说明焊接完好,若不亮,需使针端子上,若对应端子发光二极管亮,说明焊接完好,若不亮,需使用万用表进行检测。可能是下列几种情况:用万用表进行检测。可能是下列几种情况:(1)元件是否损坏;元件是否损坏;(2)电源是否供电;电
15、源是否供电;(3)元件是否虚焊;元件是否虚焊;(4)发光二极管是否插反。发光二极管是否插反。根据不同根据不同现现象象进进行排除,直到故障全部排除,行排除,直到故障全部排除,8路均能点亮为止。路均能点亮为止。通通过过以上学以上学习习,根据任,根据任务实务实施施过过程,将完成任程,将完成任务务情况情况记记入入教材教材表表4-1中,完成任务评价。中,完成任务评价。任务拓展根据根据图图4-6所示,完成下面两个任务:所示,完成下面两个任务:(1)在面包板上制作在面包板上制作8路共阴流水灯硬件电路共阴流水灯硬件电路路(2)在多孔板上制作在多孔板上制作8路共阴流水灯硬件电路共阴流水灯硬件电路路任务二:在任务
16、二:在Proteus仿真软件中实现流水功能仿真软件中实现流水功能学习目标:学习目标:l能使用能使用STC15最小系统调试出流水灯模块的简单流水功能最小系统调试出流水灯模块的简单流水功能l能运用Proteus仿真软件和Keil C51软件实现流水灯设计和仿真任务呈现根据已学指示灯根据已学指示灯电电路,路,发发光二极管被点亮,阴极光二极管被点亮,阴极须须加一个低加一个低电电平,阳平,阳极加高极加高电电平。一般平。一般发发光二极管工作光二极管工作电电流在流在3mA至至10mA之间,发光二极管之间,发光二极管被点亮的最小电流为被点亮的最小电流为3mA,被点亮后的压降值为,被点亮后的压降值为1.7V,V
17、cc=+5V,电阻,电阻上的电压为上的电压为3.3V,根据欧姆定律,根据欧姆定律R=3.3V/3mA=1.1K,因此要选用,因此要选用1K的电的电阻。阻。如如图图4-7所示,所示,如果要如果要让让接在接在P0.0口的口的LED1亮起来,只要把亮起来,只要把P0.0口的电口的电平变为低电平就可以了;相反,如果要让接在平变为低电平就可以了;相反,如果要让接在P0.0口的口的LED1熄灭,须把熄灭,须把P0.0口的电平变为高电平;同理,接在口的电平变为高电平;同理,接在P0.1P0.7口的其它口的其它7个个LED的点的点亮和熄灭的方法同亮和熄灭的方法同LED1。那么要那么要实现实现流水灯功能,只要将
18、流水灯功能,只要将发发光二极管光二极管LED1LED8依次点依次点亮、熄灭,亮、熄灭,8只只LED灯便会按一定规律亮熄灯便会按一定规律亮熄做流水灯了。做流水灯了。还应还应注意一点,由于人眼的注意一点,由于人眼的视觉视觉滞滞留效留效应应以及以及单单片机片机执执行每条行每条指令的指令的时间时间很短,在控制二极管亮很短,在控制二极管亮灭灭的的时时候候应该应该延延时时一段一段时间时间,否,否则则就看不到就看不到“流水流水”效果了。效果了。想一想想一想 若将若将8路共阳流水灯模块连接到路共阳流水灯模块连接到P1口、口、P2口或口或P3口口也能实现也能实现“流水流水”效果么效果么?若将若将8路共阳流水灯模
19、块换成路共阳流水灯模块换成8路共阴流水灯模块路共阴流水灯模块连接到连接到P1口,如何控制口,如何控制P0口实现口实现“流水流水”效果?效果?本次任务让让8盏盏LED实现实现“流水流水”效果的效果的变变化化规规律是:从律是:从低位向高位低位向高位流水一次。流水一次。分分别别完成如下三个小任完成如下三个小任务务。(1)使用使用Keil C51软件编写程序,在软件编写程序,在Keil C51软件中观察软件中观察P0口值变化口值变化规律。规律。(2)使用传统使用传统51芯片的最小系统与芯片的最小系统与8路流水灯模块在路流水灯模块在Proteus仿真软件仿真软件实现流水功能。实现流水功能。(3)使用带硬
20、件仿真的使用带硬件仿真的STC15单片机最小系统与单片机最小系统与8路流水灯模块进行路流水灯模块进行实物连接、调试,实现流水功能实物连接、调试,实现流水功能程序分析程序1:如图4-8所示,是流水灯实现流水功能的流程图。程序功能是:8路共阳流水灯按从D1至D8的顺序依次点亮,每次只有一盏灯亮,点亮时间是1s。请打开光盘中项目四相关程序阅读。程序2调试程序功能是:8路共阳流水灯按从低位向高位的顺序依次点亮,每次一盏灯亮起后不熄灭,直到所有8盏灯全部点亮,时间间隔是1s。请打开光盘中项目四相关程序阅读。任务实施一、一、Keil C51软件仿真软件仿真使用使用Keil C51软件进行编辑、调试、编译程
21、序后,参考软件进行编辑、调试、编译程序后,参考“附录附录6:Keil C51的软件、硬件仿真的软件、硬件仿真”,设置好,设置好Keil C51软件仿真参数,通过软件仿真参数,通过Keil C51软件下的主菜单,进行如下操作软件下的主菜单,进行如下操作【Peripherals】【I/O-Ports】【Port 0】后,在工作界面中出现】后,在工作界面中出现“Port 0”窗口,在窗口,在该该窗口中可窗口中可观观察察P0口口值变化规律。值变化规律。二、在二、在Proteus仿真软件实现流水功能仿仿真软件实现流水功能仿真真1.打开打开Proteus仿真仿真软软件,出入件,出入仿真仿真软软件件主操作界
22、面。主操作界面。2选择元件。选择元件。在元器件在元器件浏览浏览区区单击单击元器件元器件选择选择按按钮钮“P”,从从弹弹出的出的“Pick Devices”拾取元器件对话拾取元器件对话框中拾取所需的元器件。框中拾取所需的元器件。元件清元件清单单如下:一个如下:一个传统传统C51单片机,最单片机,最小系统中的所有元器件,小系统中的所有元器件,8只红色发光二极只红色发光二极管管LED-RED、8只只1K电阻电阻RES。如如图图4-11所示,是流水灯电路所需元件一所示,是流水灯电路所需元件一览表。览表。3放置元件与放置元件与连线连线。参考。参考图图4-12所示,对流水灯电路进行元件放置与连所示,对流水
23、灯电路进行元件放置与连线。线。4添加添加电电源与信号地源与信号地在在Proteus软件中,单片机芯片默认已经添加电源与地,可以省略,但软件中,单片机芯片默认已经添加电源与地,可以省略,但外围电路的电源与信号地不能省略。外围电路的电源与信号地不能省略。5总线总线的使用的使用所所谓谓“总线总线”,就是为了简化原理图,将原先数条并行的导线用一条,就是为了简化原理图,将原先数条并行的导线用一条导线来表示。图导线来表示。图4-12中相对其它较粗的那条线就是总线。下面介绍总中相对其它较粗的那条线就是总线。下面介绍总线的绘制方法。线的绘制方法。(1)在左侧的在左侧的“模式选择工具栏模式选择工具栏”中,单击第
24、六个按钮:中,单击第六个按钮:“”总线总线模式,如图模式,如图4-13(b)所示。所示。(2)在图形编辑窗口中,将在图形编辑窗口中,将P0.0 0P0.7 的的8个引脚和个引脚和D1D8的的8个发个发光二极管相连,除了使用传统的手动单个一一对应连接的方法,还可光二极管相连,除了使用传统的手动单个一一对应连接的方法,还可以使用总线方法。以使用总线方法。在画在画总线总线的起始的起始处单击处单击一下,默一下,默认为总线认为总线起始点,起始点,移移动动鼠鼠标标指指针针就会画出就会画出总线总线,按照自己,按照自己设计设计的路的路线线画完画完总线总线,在,在结结束束点点处处双双击击左左键键,即表示,即表示
25、该该段段总线绘总线绘制完制完毕毕。如。如图图4-13(a)所示。所示。(3)画总线拐角。画总线拐角。如如图图4-13(a)所示,直角总线给我的视觉不理想,一般拐角处使用所示,直角总线给我的视觉不理想,一般拐角处使用45度斜度斜钱,总线分支线的倾角一般与总路平行。钱,总线分支线的倾角一般与总路平行。画拐角的方法:光画拐角的方法:光标标到拐角开始到拐角开始处时单击处时单击左左键键一次,按下一次,按下“ctrl”键,移键,移动鼠标至拐角结束处,再单击左键一次,松开动鼠标至拐角结束处,再单击左键一次,松开“ctrl”键。键。(4)画总线分支线。总线分支线是指连接总线和元器件引脚的连线,画总线分支线。总
26、线分支线是指连接总线和元器件引脚的连线,例如:单击引脚例如:单击引脚39,引出一条线,在总线上和引脚,引出一条线,在总线上和引脚39相应的地方再单击左相应的地方再单击左键一次,即可将两部分连接。若连线形状相同,如键一次,即可将两部分连接。若连线形状相同,如38脚与总线的连线,双脚与总线的连线,双击鼠标左键即可自动完成与总线的连接,同理可以完成其它总线分支线的击鼠标左键即可自动完成与总线的连接,同理可以完成其它总线分支线的连接。连接。(5)标注导线标注导线标签标签号。号。总线总线和和总线总线分支分支线线画好之后,需要画好之后,需要给对应给对应的的连线连线标标注注标签标签号。注意:相互接通的号。注
27、意:相互接通的连线连线必必须标须标注相同的注相同的标签标签号。如:号。如:P0.0口口对应的引脚对应的引脚39与发光二极管与发光二极管D1 1是需要相是需要相连连的,的,标标注注标签标签号号时时,引脚,引脚39与与总线连接的连线标签号为总线连接的连线标签号为8,则,则D1与总线连接的连线标签号也要是与总线连接的连线标签号也要是8,如,如图图4-14所示。所示。6 6在在Keil C51软件中完成程序的编写,生成软件中完成程序的编写,生成HEX文件。在文件。在Proteus仿真软件,没有仿真软件,没有1T芯片数据库,但不影响使用其它芯片仿真芯片数据库,但不影响使用其它芯片仿真观察效果。调试程序可
28、使用程序分析中例观察效果。调试程序可使用程序分析中例1或例或例2 程序,程序,调调整整Delay10ms()的相关参数如下。的相关参数如下。void Delay10ms()/11.0592MHzunsigned char i,j;i=18;/12T i=18 ,1T i=108 j=235;/12T j=235 ,1T j=1 145 do while(-j);while(-i);7 7在在Proteus仿真软件,双击仿真软件,双击U1单片机加载单片机加载HEX运行程序,如运行程序,如图图4-16所示。所示。三、硬件仿真三、硬件仿真1硬件接线部分:使用硬件接线部分:使用IAP15F2K61S单
29、单片机最小系片机最小系统统、8路共阳路共阳流水灯模块及电源模块。单片机流水灯模块及电源模块。单片机P0口与口与流水灯模流水灯模块块使用使用8路双母杜路双母杜邦线邦线相相连连,接口按,接口按位号位号从小到大从小到大顺顺序一一序一一对应对应相相连连。流水灯模。流水灯模块块的的电电源正接最小系源正接最小系统统中的中的“外模块使用外模块使用”正极端。正极端。如如图图4-17所示,是带硬件仿真功能的所示,是带硬件仿真功能的STC15最小系统、最小系统、8路共阳流路共阳流水灯模块实物连接参考图。水灯模块实物连接参考图。2软件使用部分:参考附录软件使用部分:参考附录6中的中的Keil C51硬件仿真。硬件仿
30、真。打开打开“STC-ISP下载编程烧录软件下载编程烧录软件”,设置,设置【Keil仿真设置仿真设置】【添加【添加STC仿真驱动仿真驱动到到Keil中中】【将【将IAP15F2K61S设设置置为为2.0版版仿真芯片仿真芯片】。】。打开打开Keil C51软件,设置软件,设置【Project】【Option for Target Target 1】【Debug】【USE、仿真驱动、仿真驱动、Setting】。通】。通过过上述上述处处理,在理,在Keil C51环境下编写、调试、编译程序,可以对单片机进行硬件仿真的调试。环境下编写、调试、编译程序,可以对单片机进行硬件仿真的调试。如果不如果不进进行
31、硬件仿真行硬件仿真调试调试,可参考,可参考“附录附录5:单片机烧写程序:单片机烧写程序”相关相关内容,进行程序下载后调试。下载程序调试可以不使用带硬件内容,进行程序下载后调试。下载程序调试可以不使用带硬件仿真功仿真功能的芯片,能的芯片,调试过调试过程中,若程中,若发现发现程序不能程序不能实现实现相相应应功能,改好程序,功能,改好程序,须经过须经过再次再次编译编译后,重新下后,重新下载载程序才能程序才能观观察运行效果,下察运行效果,下载载程序程序时时注注意芯片型号、意芯片型号、实际连实际连接串口等参数与下接串口等参数与下载软载软件中的相关参数件中的相关参数须须吻合。吻合。任务评价1硬件检测硬件检
32、测判断硬件任判断硬件任务务完成是否完好,完成是否完好,须须使用万用表等工具使用万用表等工具进进行行检测检测,关关键键点如下:点如下:(1)5V电源是否正确输出;电源是否正确输出;(2)STC15芯片在锁紧座上的放置位置是否正确;芯片在锁紧座上的放置位置是否正确;(3)加电可直接检测共阳流水灯模块是否完好;加电可直接检测共阳流水灯模块是否完好;(4)连接顺序是否正确。连接顺序是否正确。2软件检测软件检测 本任本任务务程序相程序相对简单对简单,经过经过几个任几个任务对务对程序程序编辑编辑、调试积调试积累不少累不少经验经验。若不能。若不能调试调试到相到相应结应结果,主要果,主要检查检查如下几点:如下
33、几点:(1)程序输入、调试、编译无错误,可通过软件仿真观察程序输入、调试、编译无错误,可通过软件仿真观察P0口值的变化口值的变化情况,判断程序中初值等设置是否有误;情况,判断程序中初值等设置是否有误;(2)进行硬件仿真设置时,一定要在进行硬件仿真设置时,一定要在Keil C51软件中对软件中对STC芯片及串口芯片及串口号进行正确设置,若这号进行正确设置,若这2项参数设置错误,不能继续下一步的调试,请参项参数设置错误,不能继续下一步的调试,请参考考“附录附录6:Keil C51软件、硬件仿真软件、硬件仿真”相关部分进行修改;相关部分进行修改;(3)使用检测设备检查问题。运行结果经反复调试没达到理
34、论值,故障使用检测设备检查问题。运行结果经反复调试没达到理论值,故障比较隐蔽,可使用万用表或示波器测试比较隐蔽,可使用万用表或示波器测试P0口等重要观察点的电平变化,口等重要观察点的电平变化,找出问题。找出问题。任务拓展本任务仅完成了简单流水功能。课后在硬件没有变化的情况下,调试程序实现:让8路流水灯按你想到的顺序亮起来。如一个个按顺序亮、向左移动亮、向右移动亮、四个四个交替亮等等,能实现二至三种不同流水功能。任务三任务三 实现多种花样流水功能实现多种花样流水功能学习目标学习目标l掌握使用掌握使用Proteus仿真软件调试出流水灯模块的多种花样流水功能仿真软件调试出流水灯模块的多种花样流水功能
35、l掌握使用STC15最小系统调试出流水灯模块的多种花样流水功能任务呈现 户户外广告屏、霓虹灯、广告彩灯等宣外广告屏、霓虹灯、广告彩灯等宣传传工具,工具,长长期期竖竖立立户户外,外,外外观观没没发发生生变变化,但色彩、宣化,但色彩、宣传传的内容可以不断地更新。原来它的内容可以不断地更新。原来它们们通通过计过计算机、手机、通算机、手机、通讯设备讯设备,更改了运行内容,更改了运行内容,让让用用户户使用很方使用很方便,便,这这些宣些宣传传工具因工具因实实用性用性强强而得到推广。而得到推广。本任本任务务的硬件仍使用任的硬件仍使用任务务二中的模二中的模块块,如,如图图4-17所示,使用的所示,使用的硬件模
36、块是:硬件模块是:STC15最小系统模块、最小系统模块、8路共阳流水灯模块及电源模块。路共阳流水灯模块及电源模块。想一想如何实现“多样流水”效果?本次任务让让8盏盏LED实现实现“多样流水多样流水”效果的效果的变变化化规规律是:从右至左流水一次,律是:从右至左流水一次,再从左至右流水一次,然后全亮、全熄各二次。分再从左至右流水一次,然后全亮、全熄各二次。分别别完成如下三个小完成如下三个小任任务务。(1)使用使用Keil C51软件编写程序,在软件编写程序,在Keil C51软件中观察软件中观察P0口值变化口值变化规律。规律。(2)使用使用传统传统51芯片的最小系统、芯片的最小系统、8路共阳流水
37、灯模块在路共阳流水灯模块在Proteus仿真仿真软件实现多种花样流水功能。软件实现多种花样流水功能。(3)使用使用带带硬件仿真的硬件仿真的STC15单片机最小系统、单片机最小系统、8路共阳流水灯模块路共阳流水灯模块进行实物连接、调试,实现多种花样流水功能。进行实物连接、调试,实现多种花样流水功能。程序分析请打开光盘中项目四相关程序阅读。知识链接C语言介绍:头文件语言介绍:头文件在在C51单片机编程中,常使用到一些头文件。这些头文件将常用寄存器单片机编程中,常使用到一些头文件。这些头文件将常用寄存器的地址、特殊寄存器的位地址、常用的函数定义在头文件中,使用时不的地址、特殊寄存器的位地址、常用的函
38、数定义在头文件中,使用时不需要记住那些地址值或编写已定义好的函数,只须记住已在头文件定义需要记住那些地址值或编写已定义好的函数,只须记住已在头文件定义的对应符号及函数,提高了编程效率。现对常用的的对应符号及函数,提高了编程效率。现对常用的reg51.h、intrins.h头文头文件作简单介绍。件作简单介绍。1reg51.h reg 51内部规定的内部规定的SFR寄存器地址与寄存器地址与INTEL MCS-8051单片机相同,单片机相同,即任何一种型号的即任何一种型号的51单片机都有的基本单片机都有的基本SFR,reg52则是对则是对reg51进行扩进行扩充,增加了充,增加了T2和和DPTR1。
39、因此可以认为。因此可以认为reg51是是reg52的子集,此外对于的子集,此外对于不同厂家生产的不同厂家生产的51单片机,如单片机,如STC、Philips,Atmel等都有自己相应的等都有自己相应的SFR定义头文件。定义头文件。(1)在在reg51.h头文件中头文件中规规定符号名与地址的定符号名与地址的对应对应关系。关系。例:例:sfr P1=0 x90;即定即定义义P1与地址与地址0 x90对应,对应,P1口的地址就是口的地址就是0 x90(0 x90 是是C语言中十语言中十六进制数的写法,相当于汇编语言中写六进制数的写法,相当于汇编语言中写90H)。sfr并非标准并非标准C语言的关键字,
40、而是语言的关键字,而是Keil为能直接访问为能直接访问80C51中的中的SFR而提供一个新的关键词,其用法是:而提供一个新的关键词,其用法是:sfr 变量名变量名 =地址值;地址值;(2)符号符号P10来表示来表示P1.0 引脚。引脚。在在C语言里,如果直接写语言里,如果直接写P1.0,C编译器并不能识别,而且编译器并不能识别,而且P1.0也不是一也不是一个合法的个合法的C语言变量名,所以得给它另起一个名字,这里起名为语言变量名,所以得给它另起一个名字,这里起名为P10,可,可是是P10是不是就是是不是就是P1.0呢?你这么认为,呢?你这么认为,C编译器可不这么认为,所以必须编译器可不这么认为
41、,所以必须给它们建立联系,这里使用了给它们建立联系,这里使用了Keil C的关键字的关键字sbit 来定义,来定义,sbit 的用法有的用法有三种:三种:第一种方法:第一种方法:sbit 位变量名地址值位变量名地址值第二种方法:第二种方法:sbit 位变量名位变量名SFR名称名称变量位地址值变量位地址值第三种方法:第三种方法:sbit 位变量名位变量名SFR地址值地址值变量位地址值变量位地址值如定如定义义PSW 中的中的OV 可以用以下三种方法:可以用以下三种方法:sbit OV=0 xd2;说明:说明:0 xd2是是OV的位地址值的位地址值sbit OV=PSW2;说明:其中说明:其中PSW
42、必须先用必须先用sfr定义好定义好sbit OV=0 xD02;说明:说明:0 xD0就是就是PSW的地址值的地址值因此因此这这里用里用sfr P10=P10;就是定义用符号就是定义用符号P10来表示来表示P1.0引脚,如果你愿意也可引脚,如果你愿意也可以起以起P1_0一类的名字,只要在一类的名字,只要在下面程序中也随之更改就行了。下面程序中也随之更改就行了。2intrins.hintrins.h中定义的常用函数如下:中定义的常用函数如下:_crol_(val,n)、_irol_(val,n)、_lrol_(val,n)函数,函数,将将变变量量val循循环左移环左移n位位_cror_(val,
43、n)、_iror_(val,n)、_lror_(val,n)函数,函数,将将变变量量val循循环右移环右移n位位void _nop_()函数可用于程序中的时间延时,产生一个函数可用于程序中的时间延时,产生一个NOP 指令指令bit _testbit_(bit x)函数对字节中的一位进行测试函数对字节中的一位进行测试使用使用这这些函数,些函数,则则程序开始程序开始处处,必,必须须引用引用intrins.h头文件。头文件。任务实施同本项目中任务二“任务实施”,不同之处是程序内容,其它操作均相同。任务评价同本项目中任务二“任务评价”。不同之处着重考察提高编程及排障能力。通过以上学习,根据任务实施过程
44、,将完成任务情况记入教材的表4-3中,完成任务评价。任务拓展本任务仅实现四种流水变化情况,变化规律实际上有很多种,设计程序实现:让8路流水灯按你想到的顺序亮起来,如按二个二个顺序亮、向左移动并慢慢变亮、向右移动并慢慢亮、四个四个交替亮等等。项目总结通过本项目的实施,掌握了8路流水灯电路模块的工作原理、元件的选择、构建相应硬件电路,通过实践对电路知识有更深刻的理解,对电路的电参数计算有了新的认识。通过流水灯电路模块与单片机最小系统硬件连接,并调试通过了流水功能、多样流水功能等程序,硬件上进一步提高了模块间连接的能力,软件上熟悉了编程软件Keil C51、单片机仿真软件Proteus的使用。在调试
45、程序过程中,学会了软件仿真、硬件仿真、下载程序时芯片、串口等功能参数的设置,提高了解决软件、硬件出错排障能力。课后练习4-1何谓共阳极电路及共阴极电路?4-2如何选择共阳流水灯电路元件?4-3单片机外挂电路一般为何选择共阳电路?4-4STC10/STC11/STC12/STC15系列芯片拉电流、灌电流与传统单片机有什么不同?4-5画出8路共阴、共阳流水灯电路图。4-6简述使用Keil C51软件进行软件仿真的调试步骤。4-7简述使用Keil C51软件进行硬件仿真的调试步骤及调试条件。4-8编写程序实现从左至右逐一点亮一盏灯,直至八盏灯全亮。4-9编写程序实现从右至左逐一点亮一盏灯,直至八盏灯全亮。4-10编写程序实现从左至右,每次只点亮一盏灯。4-11编写程序实现从右至左,每次只点亮一盏灯。4-12编写程序实现从右至左,每次点亮二盏灯。4-13请设计出一款只属于自己的花样流水灯点亮和闪烁方式,并设计出相应程序。60感谢阅读!