第9章 单片机应用系统设计ppt课件.ppt
《第9章 单片机应用系统设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第9章 单片机应用系统设计ppt课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 单片机应用系统设计单片机应用系统设计第一章第一章 单片机基础知识单片机基础知识 第九章第九章 单片机应用系统设计单片机应用系统设计第九章第九章 单片机应用系统设计单片机应用系统设计 交通灯的模拟控制交通灯的模拟控制 简易波形发生器简易波形发生器 温度的测量与报警温度的测量与报警内容提要内容提要第九章第九章 单片机应用系统设计单片机应用系统设计9.1 单片机应用系统构成单片机应用系统构成 单片机应用系统主要由单片机应用系统主要由单片机基本部分单片机基本部分、输入部分和输输入部分和输出部分构成出部分构成,典型的单片机应用系统框图如图,典型的单片机应用系统框图如图9.19.1所示。所示。
2、 第九章第九章 单片机应用系统设计单片机应用系统设计1. 1.需求分析需求分析 需求分析就是要明确所设计的单片机应用系统要需求分析就是要明确所设计的单片机应用系统要“做什么做什么”和和“做的结果怎样做的结果怎样”。需求分析包括的主要内容如下:输入。需求分析包括的主要内容如下:输入信号、输出信号、系统结构、控制精度、系统接口、扩充设信号、输出信号、系统结构、控制精度、系统接口、扩充设计以及可靠性设计等方面。计以及可靠性设计等方面。9.2 应用系统设计步骤应用系统设计步骤 2. 2.总体方案设计总体方案设计 总体方案设计就是要从宏观上解决总体方案设计就是要从宏观上解决“怎样做怎样做”的问题。的问题
3、。按照由简到繁的原则,一般先进行总体设计,系统的总体设按照由简到繁的原则,一般先进行总体设计,系统的总体设计方案要解决的是:系统采用何种方法、以怎样的结构组成,计方案要解决的是:系统采用何种方法、以怎样的结构组成,以及功能模块的具体划分,彼此间的关系,指标的分解等问以及功能模块的具体划分,彼此间的关系,指标的分解等问题。其主要内容应包括:技术路线或设计途径、采用的关键题。其主要内容应包括:技术路线或设计途径、采用的关键技术、系统的体系结构、主要硬件的选型和加工技术、软件技术、系统的体系结构、主要硬件的选型和加工技术、软件平台和开发语言、测试条件和测试方法、验收标准和条文等。平台和开发语言、测试
4、条件和测试方法、验收标准和条文等。第九章第九章 单片机应用系统设计单片机应用系统设计4. 4.软件设计与调试软件设计与调试 软件设计随单片机应用系统的不同而不同,软件设计的软件设计随单片机应用系统的不同而不同,软件设计的流程图如图流程图如图9.2所示。所示。3. 3.硬件设计与调试硬件设计与调试 一个单片机应用系统的硬件设计包含两部分内容:一是一个单片机应用系统的硬件设计包含两部分内容:一是系统扩展,即当单片机内部的功能单元不能满足应用系统的系统扩展,即当单片机内部的功能单元不能满足应用系统的要求时必须进行片外扩展,选择适当的芯片,设计相应的电要求时必须进行片外扩展,选择适当的芯片,设计相应的
5、电路;二是系统的配置,即按照系统功能要求配置外围设备,路;二是系统的配置,即按照系统功能要求配置外围设备,如通信接口、键盘、显示器、打印机、如通信接口、键盘、显示器、打印机、A/D转换器、转换器、D/A转换转换器等,要设计合理的接口电路。器等,要设计合理的接口电路。第九章第九章 单片机应用系统设计单片机应用系统设计第九章第九章 单片机应用系统设计单片机应用系统设计9.3 应用设计举例应用设计举例9.3.1 交通灯的模拟控制1、 设计要求 利用利用51单片机模拟交通灯的控制,实现某路口东西方向单片机模拟交通灯的控制,实现某路口东西方向和南北方向各和南北方向各30秒倒计时的绿灯通行,然后秒倒计时的
6、绿灯通行,然后5秒黄灯闪烁,秒黄灯闪烁,再切换至再切换至30秒的红灯等待。另外,用两个按键模拟路口人秒的红灯等待。另外,用两个按键模拟路口人流量情况,当有其一按键按下时,模拟该方向的人流指示流量情况,当有其一按键按下时,模拟该方向的人流指示灯亮,表示该方向人流量大,则该方向延时灯亮,表示该方向人流量大,则该方向延时30秒的绿灯通秒的绿灯通行。行。第九章第九章 单片机应用系统设计单片机应用系统设计2、 硬件电路设计 (1)交通灯的模拟控制,其硬件结构框图如交通灯的模拟控制,其硬件结构框图如9.3所示。所示。(2)交通灯的模拟控制,其交通灯的模拟控制,其电路仿真图电路仿真图如如9.4所示。所示。第
7、九章第九章 单片机应用系统设计单片机应用系统设计第九章第九章 单片机应用系统设计单片机应用系统设计 仿真图仿真图9.4中,数码管显示倒计秒时间,东西方中,数码管显示倒计秒时间,东西方向网络标号分别是:向网络标号分别是:dx1,dx2,dx3表示车辆红、黄、表示车辆红、黄、绿灯;绿灯;rx3,rx4表示人行道红、绿灯。南北方向网表示人行道红、绿灯。南北方向网络标号分别是:络标号分别是:nb1,nb2,nb3表示车辆红、黄、绿表示车辆红、黄、绿灯;灯;rx1,rx2表示人行道红、绿灯。按键表示人行道红、绿灯。按键a1按下,按下,D21灯亮,模拟南北方向人流量大,按键灯亮,模拟南北方向人流量大,按键
8、a2按下,按下,D22灯亮,模拟东西方向人流量大。灯亮,模拟东西方向人流量大。第九章第九章 单片机应用系统设计单片机应用系统设计3、 软件设计#include reg52.h#include reg52.h/此文件中定义了单片机的一些特殊功能寄此文件中定义了单片机的一些特殊功能寄存器存器#define uint unsigned int /#define uint unsigned int /对数据类对数据类型进行声明定义型进行声明定义#define uchar unsigned char#define uchar unsigned charsbit LSA=P22;sbit LSA=P22;
9、sbit LSB=P23;sbit LSB=P23;sbit LSC=P24;sbit LSC=P24;/-/-定义使用的定义使用的IOIO口口-/-/sbit RED10 = P10; /sbit RED10 = P10; /上人行道红灯上人行道红灯sbit GREEN10 = P11; /sbit GREEN10 = P11; /上人行道绿灯上人行道绿灯sbit RED11 = P12;sbit RED11 = P12;sbit YELLOW11= P13;sbit YELLOW11= P13;sbit GREEN11 = P14;sbit GREEN11 = P14;sbit RED00
10、 = P30;sbit RED00 = P30;/右人行道红灯右人行道红灯sbit GREEN00 = P31;sbit GREEN00 = P31;/右人行道绿灯右人行道绿灯sbit RED01 = P15;sbit RED01 = P15;sbit YELLOW01= P16;sbit YELLOW01= P16;sbit GREEN01 = P17;sbit GREEN01 = P17;sbit up = P25;sbit up = P25; / /上人流量多的时候上人流量多的时候sbit rightsbit right= P26;= P26; / /右人流量多的时候右人流量多的时候un
11、signed int k=0;unsigned int k=0;unsigned int l=0;unsigned int l=0;sbit north = P36;sbit north = P36;sbit east = P37;sbit east = P37;uchar code uchar code smgduan17=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0smgduan17=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79
12、,x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/0 x71;/显示显示0F0F的值的值uchar DisplayData8;uchar DisplayData8;uchar Second;uchar Second;第九章第九章 单片机应用系统设计单片机应用系统设计/ /* * 函函 数数 名名: delay: delay* * 函数功能函数功能: : 延时函数延时函数* */ /void delay(uint t)void delay(uint t) while(t-);while(t-); / /* *函函 数数 名名
13、: DigDisplay: DigDisplay* * 函数功能函数功能 : : 数码管动态扫描函数,循环数码管动态扫描函数,循环扫描扫描8 8个数码管显示个数码管显示* */ /void DigDisplay()void DigDisplay() uchar j;uchar j;for(j=0;j8;j+)for(j=0;j8;j+) switch(j) /位选,选择点亮的数码管位选,选择点亮的数码管 case(0): LSA=0;LSB=0;LSC=0; break;/显示第显示第0位位 case(1): LSA=1;LSB=0;LSC=0; break;/显示第显示第1位位 case(2
14、): LSA=0;LSB=1;LSC=0; break;/显示第显示第2位位 case(3): LSA=1;LSB=1;LSC=0; break;/显示第显示第3位位 case(4): LSA=0;LSB=0;LSC=1; break;/显示第显示第4位位 case(5): LSA=1;LSB=0;LSC=1; break;/显示第显示第5位位 case(6): LSA=0;LSB=1;LSC=1; break;/显示第显示第6位位 case(7): LSA=1;LSB=1;LSC=1; break;/显示第显示第7位位 P0=DisplayDataj;/发送段码发送段码 delay(100)
15、; /间隔一段时间扫描间隔一段时间扫描 P0=0 x00;/消隐消隐 第九章第九章 单片机应用系统设计单片机应用系统设计/* * 函函 数数 名名: Timer1Init: Timer1Init/* * 函数功能函数功能: : 定时器定时器1 1初始化初始化void Timer1Init()void Timer1Init() TMOD|=0X10;/TMOD|=0X10;/选择为定时器选择为定时器1 1模式,工模式,工作方式作方式1 1,仅用,仅用TR1TR1打开启动。打开启动。TH1=(65536-50000)/256;TH1=(65536-50000)/256;/给定时给定时器赋初值,定时
16、器赋初值,定时50ms50msTL1=(65536-50000)%256;TL1=(65536-50000)%256;ET1=1;/ET1=1;/打开定时器打开定时器1 1中断允许中断允许EA=1;/EA=1;/打开总中断打开总中断TR1=1;/TR1=1;/打开定时器打开定时器 /* * 函函 数数 名名 : zsd: zsd/* * 函数功能函数功能: :判断模拟人流量的按键及标判断模拟人流量的按键及标志志LEDLED灯灯void zsd()void zsd() if(up=1) if(up=1) north=1; north=1; if(up=0) if(up=0) north=0; n
17、orth=0; if(right=1) if(right=1) east=1; east=1; if(right=0) if(right=0) east=0; east=0; 第九章第九章 单片机应用系统设计单片机应用系统设计/* * 函函 数数 名名: main: main/* * 函数功能函数功能: : 主函数主函数void main()void main() uchar we=1,pd=1;uchar we=1,pd=1;Second = 1;Second = 1;Timer1Init();Timer1Init();while(1)while(1) zsd(); zsd();if(Sec
18、ond = 71)if(Second = 71) Second = 1; Second = 1;/-/-南北方向通行,南北方向通行,3030秒秒-/-/if(Second 31)if(Second 30) /if(Second30) /如果人流量多,再次倒计时如果人流量多,再次倒计时3030秒秒 if(k=0&pd) if(k=0&pd) Second=1;k=1;pd=0; Second=1;k=1;pd=0;else else Second=31;pd=1;Second=31;pd=1; /-/-黄灯等待切换状态,黄灯等待切换状态,5 5秒秒-/-/ else if(Second 36)
19、else if(Second 36) DisplayData0 = 0 x00; DisplayData0 = 0 x00;DisplayData1 = 0 x00;DisplayData1 = 0 x00;DisplayData2 = smgduan(35 - Second) % 100 DisplayData2 = smgduan(35 - Second) % 100 / 10;/ 10;DisplayData3 = smgduan(35 - Second) %10;DisplayData3 = smgduan(35 - Second) %10;DisplayData4 = 0 x00;D
20、isplayData4 = 0 x00;DisplayData5 = 0 x00;DisplayData5 = 0 x00;DisplayData6 = DisplayData2;DisplayData6 = DisplayData2;DisplayData7 = DisplayData3;DisplayData7 = DisplayData3;DigDisplay();DigDisplay(); /-/-黄灯阶段黄灯阶段-/-/P1= 0 xFF; /P1= 0 xFF; /将所有的灯熄灭将所有的灯熄灭RED00 = 1;RED00 = 1;GREEN00 = 1;GREEN00 = 1;Y
21、ELLOW11 = 0; /YELLOW11 = 0; /南北黄灯亮南北黄灯亮RED10= 0; /RED10= 0; /上人行道红灯亮上人行道红灯亮ELLOW01 = 0; /ELLOW01 = 0; /东西红灯亮东西红灯亮RED00 = 0; /RED00 = 0; /右人行道红灯亮右人行道红灯亮 /-/-东西方向通行东西方向通行-/-/else if(Second 66) else if(Second 65)/ if(Second65)/如果人流量多,再次倒计时如果人流量多,再次倒计时3030 if(l=0&we) if(l=0&we) Second=36;l=1;we=0; Secon
22、d=36;l=1;we=0; else Second=66;we=1; else Second=66;we=1; /-/-黄灯等待切换状态,黄灯等待切换状态,5 5秒秒-/-/else else DisplayData0 = 0 x00; DisplayData0 = 0 x00; DisplayData1 = 0 x00; DisplayData1 = 0 x00; DisplayData2 = smgduan(70 - Second) % DisplayData2 = smgduan(70 - Second) % 100 / 10;100 / 10;DisplayData3 = smgdu
23、an(70 - Second) DisplayData3 = smgduan(70 - Second) %10;%10;DisplayData4 = 0 x00;DisplayData4 = 0 x00;DisplayData5 = 0 x00;DisplayData5 = 0 x00;DisplayData6 = DisplayData2;DisplayData6 = DisplayData2;DisplayData7 = DisplayData3;DisplayData7 = DisplayData3;DigDisplay();DigDisplay();第九章第九章 单片机应用系统设计单片
24、机应用系统设计/-/-黄灯阶段黄灯阶段-/-/P1 = 0 xFF; /P1 = 0 xFF; /将所有的灯熄灭将所有的灯熄灭RED00 = 1; GREEN00 = 1;RED00 = 1; GREEN00 = 1;YELLOW11 = 0; /YELLOW11 = 0; /南北黄灯亮南北黄灯亮RED10RED10= 0; /= 0; /上人行道红灯亮上人行道红灯亮YELLOW01 = 0; /YELLOW01 = 0; /东西红灯亮东西红灯亮RED00 = 0; /RED00 = 0; /右人行道红灯亮右人行道红灯亮 /* * 函函 数数 名名 : void Timer1() interr
25、upt 3: void Timer1() interrupt 3/* * 函数功能函数功能: : 定时器定时器1 1中断函数中断函数void Timer1() interrupt 3void Timer1() interrupt 3 static uchar i;static uchar i;TH1=(65536-50000)/256;TH1=(65536-50000)/256;/给定时器赋给定时器赋初值,定时初值,定时50ms50msTL1=(65536-50000)%256;TL1=(65536-50000)%256;i+;i+;if(i=20)if(i=20) i=0;i=0;Secon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 单片机应用系统设计ppt课件 单片机 应用 系统 设计 ppt 课件
限制150内