资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,*,单击此处编辑母版标题样式,2,1,第,8,章,80C51,应用系统设计方法,单片机应用系统,设计,8.1,课程设计示例,单片机数字时钟,8.2,毕业设计示例,基于,18B20,的温度监测系统设计,8.3,2,2,可靠性高,8.1.1,系统设计的基本要求,处于前端数据采集、控制输出,系统规划时要考虑可靠性措施,设计时要考虑故障自动检测和处理环节,8.1,单片机应用系统设计过程,操作简单,设计观念:注重使用和维修,功能设置:开关简洁、顺序明了、符号直观,性价比高,2,3,确定任务,8.1.2,系统设计的步骤,前提:市场需求,目标:克服旧缺点、开发新功能,规划:系统功能、技术指标、系统构成,方案设计,单片机型号选择,硬件与软件的功能划分,应采取的可靠性措施,2,4,硬件设计,单片机基本系统设计,扩展电路和输入,/,输出通道设计,人机界面设计,软件设计,功能模块化:信号采集、控制算法、人机交互,设计方法:模块化设计、自顶向下设计,开发流程见下图,2,5,2,6,交流电源干扰及其抑制,干扰现象,持续时间:几个纳秒,幅度约在,50V,4000V,使系统的程序,“,跑飞,”,8.1.3,提高系统可靠性的方法,电源干扰及其抑制,抑制措施,尽量远离干扰源,采用交流电源滤波器,采用交流稳压器,采用,1:1,隔离变压器,2,7,直流电源抗干扰措施,采用高质量集成稳压电路单独供电,采用直流开关电源,采用,DC,DC,变换器,2,8,地线干扰及其抑制,一点接地和多点接地的应用,数字地与模拟地的连接原则,印刷电路板的地线分布原则,信号电缆屏蔽层的接地,其它提高系统可靠性的方法,使用微处理器监控电路,软件抗干扰措施,输入,/,输出抗干扰,避免系统,“,死机,”,2,9,8.2,课程设计示例,单片机数字时钟,8.2.1,数字时钟的设计要求,采用,8,个,LED,数码管显示。时间为,“,时,分,秒,”,形式,日期为,“,年,月,日,”,形式。两种显示形式通过按键进行切换。,采用,4,个按键进行功能控制。,AN1,键。,按下,AN1,键完成,“,运行,”,与,“,设置,”,两种状态切换。,AN2,键。,按下,AN2,键完成设置状态指示信息显示位置调整。,设置状态指示信息显示位置有,3,个,分为右、中、左(如设置指示在,“,中,”,时,表示调整分或月的设置值)。指示信息用两位小数点表示,位置由,AN2,键调整,每按一次,AN2,键,位置改变一次。另外,长按,AN2,键时,设置的内容生效。,AN3,键。,按下,AN3,键完成,“,时间,”,与,“,日期,”,两种形式的切换。,AN4,键。,按下,AN4,键完成调制内容加,1,。调制内容达到相应上限时,回卷到,0,再继续调整(如调整,“,月,”,时,达到,12,时要回卷到,0,)。,计算,2100,年之前的秒、分、时、日、星期、月和年,;,31,字节静态,RAM;,工作电流小于,300nA,,有备份电源和涓流充电能力。,8.2.2 DS1302,的功能简介,DS1302,引脚定义,I/O,:数据输入,/,输出引脚,SCLK,:串行时钟输入引脚,RST,复位引脚,GND,:接地引脚,Vcc1,、,Vcc2,:工作电源、备份电源引脚,X1,、,X2,:晶振接入管脚。晶振频率为,32.768KHz,。,10,2024/12/3 周二,命令字格式,DS1302,的操作,位:,D7,D6,D5,D4,D3,D2,D1,D0,1,R/C,A4,A3,A2,A1,A0,R/W,D7,位:固定为,1,R/C,位:为,0,时选择操作时钟,为,1,时选择操作,RAM,A4A3A2A1A0:,操作地址,R/W,位:为,0,时进行写操作,为,1,时进行读操作,11,2024/12/3 周二,读写操作时序,字节写,字节读,多字节操作,(突发模式),每次写入或读出,8,个字节时钟日历数据或,31,个字节,RAM,数据。与单字节时相似,,仅需将,A0A4,换成,“,11111,”,。,12,2024/12/3 周二,DS1302,的寄存器及,RAM,日历时钟相关寄存器,寄存器名,命令字节,范 围,位内容,写,读,D7,D6,D5,D4,D3,D2,D1,D0,秒,80H,81H,00,59,CH,秒的十位,秒的个位,分,82H,83H,00,59,0,分的十位,分的个位,时,84H,85H,01,12,或,00,23,12/24,0,A/P,HR,小时个位,日,86H,87H,01,31,0,0,日的十位,日的个位,月,88H,89H,01,12,0,0,0,0/1,月的个位,星期,8AH,8BH,01,07,0,0,0,0,0,星期几,年,8CH,8DH,00,99,年的十位,年的个位,13,2024/12/3 周二,注意:,1,、秒寄存器的,CH,位:,置,1,,时钟停振,进入低功耗态;,置,0,,时钟工作。,2,、小时寄存器的,D7,位:,置,1,,,12,小时制(,D5,置,1,表示上午,置,0,表示下午);,置,0,,,24,小时制(此时,D5,、,D4,组成小时的十位)。,14,2024/12/3 周二,其它寄存器及,RAM,寄存器名,命令字节,范 围,位内容,写,读,D7,D6,D5,D4,D3,D2,D1,D0,写保护,8EH,8FH,00H,80H,WP,0,涓流充电,90H,91H,-,TCS,DS,RS,时钟突发,BEH,BFH,-,-,RAM,突发,FEH,FFH,-,-,RAM0,C0H,C1H,00H,FFH,RAM,数据,00H,FFH,RAM30,FCH,FDH,00H,FFH,15,2024/12/3 周二,注意:,1,、,WP,:写保护位:置为,1,时,写保护;置为,0,时,未写保护。,2,、,TCS,:,1010,时慢充电;,DS,为,01,,选一个二极管,为,10,,选,2,个二极管;,11,或,00,,禁止充电。,3,、,RS,:与二极管串联电阻选择。,00,,不充电;,01,,,2K,电阻;,10,,,4K,电阻;,11,,,8K,电阻。,16,2024/12/3 周二,8.2.3 DS1302,的操作子程序,字节写操作,void WByte1302(uchar ch),uchar i;,for(i=0;i 1;,io=CY;,sclk=1;,D4us();,字节读操作,uchar RByte1302(),uchar i,ch=0;,io=1;/,设置为输入口,for(i=0;i 1;,if(io=1),ch=ch|0 x80;,sclk=1;,D4us();,return(ch);,17,2024/12/3 周二,读,ds1302,某地址的数据,uchar R1302FromAddr(uchar addr),uchar ch;,reset=0;,D4us();,sclk=0;/,为低电平时,D4us();,reset=1;/,才能置为高电平,D4us();,WByte1302(addr);/,先写地址,ch=RByte1302();/,然后再读数据,sclk=1;,reset=0;,return(ch);,18,2024/12/3 周二,设置,ds1302,时间和日期,void Set1302Time(uchar addr,uchar*p,uchar n),W1302DataToAddr(0 x00,0 x8e);/,写允许,for(;n 0;n-),W1302DataToAddr(*p,addr);,p+;,addr=addr+2;,W1302DataToAddr(0 x80,0 x8e);/,写保护,19,2024/12/3 周二,读,ds1302,当前时间和日期,void R1302Time(uchar addr,uchar*p,uchar n),for(;n 0;n-),*p=R1302FromAddr(addr);,p+;,addr=addr+2;,20,2024/12/3 周二,DS1302,初始化,void Init1302(),reset=0;,sclk=0;,W1302DataToAddr(0 x00,0 x8e);/,写控制字,允许写操作,W1302DataToAddr(0 x00,0 x80);/,时钟启动,W1302DataToAddr(0 xa6,0 x90);/,一个二极管,4K,电阻充电,W1302DataToAddr(0 x80,0 x8e);/,写控制字,禁止写操作,21,2024/12/3 周二,8.2.4,数字时钟硬件电路,22,2024/12/3 周二,8.2.5,数字时钟的程序实现,模块划分,代码实现(略),23,2024/12/3 周二,8.2.6,数字时钟的,Proteus,仿真,24,2024/12/3 周二,8.3,毕业设计示例,单片机综合验证系统设计,8.3.1,综合验证系统方案确定,配置经典器件,8,个,LED,;,4,位,7,段,LED,数码管;,1,个蜂鸣器;,3,个按键;,1,个温度传感器,DS18B20,;,1,个实时时钟芯片,DS1302,;,1,个,D/A,转换芯片,TLC5615;,1,个,A/D,转换芯片,TLC549,;,1,个,AT24C04,储存芯片;,1,个,MAX232,芯片及串口连接器。,支持扩展部件,LCD1602,字符液晶模块;,LCD12864,点阵液晶模块;,电机驱动接口;,HMI,人机接口设备。,25,2024/12/3 周二,8.3.2 HMI,及,MODBUS,协议简介,HMI,人机接口,基本功能:,1,、信息的实时显示;,2,、信息的自动采集与储存;,3,、历史数据的趋势显示;,4,、图形界面控件的组态;,5,、事件越限报警与记录等。,26,2024/12/3 周二,MODBUS,协议,ModBus,可分为两种传输模式:,ASCII,模式和,RTU,模式。,ASCII,模式:当控制器设为在,ModBus,网络上以,ASCII,模式通信,在消息中的每个,8Bit,字节都作为两个,ASCII,字符发送。这种方式的主要优点是字符发送的时间间隔可达到,1,秒而不产生错误。,ASCII,模式的消息帧,起始位,设备地址,功能码,数据,LRC,校验,结束符,:,2,个字符,2,个字符,N,个字符,2,个字符,0DH,0AH,27,2024/12/3 周二,RTU,模式:消息帧中的每个,8,位字节包含两个,4,位的十六进制字符。与,ASCII,模式相比,在同样的波特率下可比,ASCII,模式传送更多的数据。,RTU,模式的消息帧,起始位,设备地址,功能码,数据,CRC,校验,结束符,T1-T2-T3-T4,8,位,8,位,N,个,8,位,16,位,T1-T2-T3-T4,28,2024/12/3 周二,RTU,模式和,ASCII,模式的比较,RTU,模式报文中每个,8,位字节含有两个,4,位十六进制字符。,RTU,模式主要优点是较高的数据密度,在相同的波特率下比,ASCII,模式有更高的吞吐率。每个报文必须以连续的字符流传送。,RTU,模式采用,CRC,校验。,ASCII,模式报文中的每个,8,位子节以两个,ASCII,字符发送。当通信链路或者设备无法符合,RTU,模式时使用该模式。由于一个字节需要两个字符,所以,ASCII,模式比,RTU,模式效率低。,ASCII,模式采用,LRC,校验。,29,2024/12/3 周二,8.3.3,综合验证系统的硬件电路,单片机最小系统电路,30,2024/12/3 周二,A/D,及,D/A,转换电路,31,2024/12/3 周二,实时时钟、,24C04,及,18B20,电路,32,2024/12/3 周二,LED,数码管电路,33,2024/12/3 周二,UART,接口电路,34,2024/12/3 周二,电源、按键及,ISP,接口电路,35,2024/12/3 周二,驱动、,LCD,字符及点阵扩展电路,36,2024/12/3 周二,蜂鸣器、,LED,及电机驱动电路,系统软件略!,37,2024/12/3 周二,Thank You!,38,2,
展开阅读全文