智能仪器仪表 3[1]

上传人:仙*** 文档编号:243378499 上传时间:2024-09-22 格式:PPT 页数:64 大小:511KB
返回 下载 相关 举报
智能仪器仪表 3[1]_第1页
第1页 / 共64页
智能仪器仪表 3[1]_第2页
第2页 / 共64页
智能仪器仪表 3[1]_第3页
第3页 / 共64页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第三章,96系列单片机简介及应用实例,主要内容,3.1 硬件结构,3.2,MCS-96,指令系统,3.3 80,C196KB,单片机应用,实例,目的:通过一种单片机的设计实例,,掌握,智能仪器仪表中,CPU,设计的一般方法,。,3.1 硬件结构,主要内容,3.1.1 内部定时,3.1.2 存储空间,3.1.3 芯片配置寄存器,CCR,3.1.4,状态和控制寄存器,3.1.5 中断结构 (,),重点,3.1.6 定时器,3.1.7 高速输入单元 (,),3.1.8 高速输出单元 (,),3.1.9 模拟接口,3.1.10 串行口 (,),3.1.11 监视定时器,3.1.12 复位和掉电保护,3.1.1内部定时,内部定时(续),8098,为,3,分频,结构,即每,3,个时钟周期为,1,个状态周期,在,12,M,的晶振下:,1,个状态周期,=3,个时钟周期,=1/12000000*3,s=1/4s (,8T,),80C196,为,2,分频,结构:,1,个状态周期,=2,个时钟周期,=1/12000000*2,s=1/6s,3.1.2存储空间,寄存器组合空间 (,),专用寄存器空间,掉电保护空间,ROM,空间的寻址,存储空间,3.1.3芯片配置寄存器,CCR,CCR,的内容由用户预先写入,018,H,单元(芯片配置字节),系统复位时,该芯片配置字节被自动送入,CCR,寄存器。(,8,位总线时一般为,0,BDH,),3.1.4状态和控制寄存器,8098,有两个,I/O,控制寄存器,IOC0,和,IOC1,IOC0,控制定时器,2,和高速输入线。,IOC1,控制某些引脚功能、中断源和两个,HSO,引脚。,控制寄存器,状态寄存器,3.1.5中断结构 (,详细,),设置中断向量,;,设置,HSI,TIME,SPCON,的中断向量,ORG,2000H,DCWTYCINT,;T1,溢出中断,ORG,2004H,DCWHSIINT,;HSIINT-,高速输入中断,ORG,200AH,DCWTIMEINT,;TIMEINT-,软件定时中断,3.1.6,定时器,系统中有,两个,16,位定时器,,定时器,1,和定时器,2,。定时器,1,作为实时时钟用来同步其他事件。它自由运行,每,8,个状态周期加,1,。(定时器,+1,时间为,8,T=,?,),该计数器在任何时刻均,可读出,,但,一般不可改写,,且除芯片复位之外也没有其他手段使其停止计数并恢复为,0,。,定时器(续),定时器,1,产生高速输入单元,HSI,和高速输出单元,HSO,的,基准时间,。,定时器溢出时可用来产生中断,溢出间隔时间(在,12,M,晶振下):,0,FFFFH*8*T=65535*8*1/4131ms,(,三分频,系列,如,8098,),0,FFFFH*8*T=65535*8*1/687ms,(,二分频,系列,如,80,C196,),T1,溢出中断服务子程序,TYCINT:PUSHF,POPF,RET,3.1.7高速输入单元,HSI,运行方式,HSI,状态寄存器(,HSI_STATUS,),HSI,的控制和操作,(,),(,详细,),高速输入概述,高速输入单元,HSI,可用定时器,1,作实时时钟来记录外部事件发生的时间。,“高速”表示事件的获取无需,CPU,的干预,。,该单元有四条高速输入线,(,HSI.0-3),,,其中,HSI.2-3,为双向引线,和,HSO.4-5,共用同一引脚。由,IOC0,和,IOC1,确定。,一,HSI,运行方式,HSI_MODE,方式选择位 事件定义,00,8,个正跳变为一个事件,01,每个正跳变为一个事件,10,每个负跳变为一个事件,11,每个跳变(正和负)均为事件,二,HSI,状态寄存器,HSI_STATUS,),各位的定义同图,3.9,其中,低位,表示本引脚上,是否有事件发生,;,高位,表示本引脚的,现行状态,。,三,HSI,的控制和操作,有关控制见,HSI_MODE,、,IOC0,、,IOC1,、,INT_MASK,、,INT_PENDING,以及,中断向量,。,中断发生后:,先读,HSI,的状态,,后读,其中断,时间,。(,两者均得读,且顺序读,),HSIINT,子程序,(,记录脉冲,),HSIINT: PUSHF,LDBHSIBJ,HSISTA,JBSHSIBJ,0,HI0,;,判断是否,0,口中断,JBSHSIBJ,2,HI1,;,判断是否,1,口中断,JBSHSIBJ,4,HI2,;2,JBSHSIBJ,6,HI3,;3,SJMPHSIFH,HI0:STHSITIM ,HI0T,;,读时间到,HI0T,中,POPF,RET,3.1.8高速输出单元,HSO,输出控制,LDB HSO_COMMAND, #WHAT_TO_DO,ADD HSO_TIME,TIMER1, #WHEN_TO_DO_IT,高速输出单元(,续),软件定时,1,ms,中断服务子程序,TIMEINT:PUSHF,DI,LDBHSOCOM ,#38H,;,重设,TIMEINT,ADDHSOTIM ,TIMER1 ,#TIJG,;12M=#750 6M=#375,EI,INCZDCS,;,中断次数加,1,POPF,RET,3.1.9模拟接口,模拟输入,AD_COMMAND,AD_RESULT,脉冲宽度调制输出(,PWM,),数,/,模,转换可以通过脉冲宽度,PWM,输出来实现,,PWM,输出波形是一个重复周期为,256,个状态周期,而,占空比可变,,占空比的变化通过向,PWM,寄存器写入新值来实现。对此波形进行积分,那么,即可得到一个,DC,电平,通过改变占空比,可使该电平分,256,个阶梯变化。,AD,变换子程序,ADBH:LDBTDHAO,ACHTDH,;TDHAO,标记,ACHTDH,ORBTDHAO,#00001000B,LDBADCOM,TDHAO,;,立即启动,AD,变换,NOP,NOP,NOP,ADDD1:LDBBL,ADL,;,等待,AD,变换的完成,JBSBL,3,ADDD1,LDBBL,ADL,LDBBH,ADH,SHRBX,#6,ADDADLJD,BX,;,累计,A/D,变换值,ADDCADLJG,#0,INCADBHCS,;A/D,变换次数,+1,RET,3.1.10串行口,方式,0,:同步方式,通常用在以移位寄存器为基础的,I/O,扩展方面,方式,1,:标准异步通讯方式,。,串行口(,续),方式,2,和方式,3,:用于多机通讯,串行口(,续),串行口的控制,串行口波特率设置,1. 98,:方式,0=,方式,1,、,2,、,3=,因为波特率寄存器的,最高位,用于对内部时钟源的选择 ,,当用,XTAL1,时,固定为“,1”,BAUDRATE,方式,0,方式,1,、,2,、,3,12,M,6M,9600,8137,H,8013,H,8009,H,4800,8270,H,8026,H,8000,H+19,2. 96,系列单片机的波特率设置,方式,0=,方式,1,、,2,、,3=,BAUDRATE,6M,8M,10,M,12,M,9600,38,51,64,77,4800,77,103,129,155,基于串行口的多机通讯,串行口方式,2,和方式,3,是提供给多机通讯用的。,在方式,2,下若所接收到的第,9,位数据非,1,,则不会发生串行口中断,而方式,3,则均会中断。,在多机系统中,当主机欲向某从机发送数据时,它首先发出一帧地址以确定目的从机。地址帧和数据帧的不同点在于,前者之第,9,位数据位为,1,,后者之该位为,0,。,在方式,2,下,,数据帧不会引起,任何从机,中断,。然而,,地址帧却,将在所有从机中激发,中断,。这样,各从机便在各自的中断服务程序中检查所收到的字节,是否等于自己,的地址。,相等者,即为被呼叫的从机,于是它便,切换到方式,3,下运行,以接收此后主机发来的数据;并回送主机数据后恢复到方式,2,下等待。,未被呼叫,的多个从机则仍留在,方式,2,下继续自己的作业。,主机,1,2,n,通讯举例:主机和,2,号从机进行数据交换,1,、主机和全部从机工作于方式,2,;,2,、主机以第,9,位为,1,发送地址码,2,;,3,、全部从机接收中断,,2,号判定被呼叫,转入方式,3,;其它从机仍然工作与方式,2,;,4,、主机发送数据,,DB9=0,,,2,号中断接收;,5,、,2,号反送主机数据,主机接收;,6,、主机和,2,号从机再转入方式,2,待命。,串口中断服务程序,SERINT: PUSHF,RDAGA:LDBSPTEMP,SPSTAT,ORBTEMP,SPTEMP,ANDBSPTEMP,#60H,JNERDAGA,JBSTEMP,5,TRANS,JBSTEMP,6,GET,SJMPSEROUT,3.1.11监视定时器,在,12,M,晶振下:,98,:,WATCHDOG,溢出时间为:,16,ms,96,:,WATCHDOG,溢出时间为:,10.67,ms,监视定时器的驱动:,(,连续写入,),DI,LDB WATCHD,#1EH,LDB WATCHD,#0E1H,EI,3.1.12复位和掉电保护,在电源处于正常范围且振荡器稳定后,,RESET,引脚上至少保持两个状态周期的低电平就可使系统复位。,RESET,引脚电压升高后,系统将执行,10,个状态周期的内部复位序列,。在此期间,芯片配置字节,CCR,被从,2018,H,单元读出并进而写入芯片,CCR,寄存器,。,上电复位可用电容、单稳或其他方法实现,条件是它们能够提供一个宽度要比,Vcc,和振荡器稳定下来所需的时间至少长两个状态周期的负脉冲。对于,96,系列单片机,,复位电平是低电平有效,。,3.2,MCS-96,指令系统,主要内容,3.2.1操作数类型 (,),3.2.2操作数的寻址 (,),3.2.3程序状态字,PSW,3.2.4,指令系统,3.2.1操作数类型,字节型(,BYTE,),字型(,WORD,),短整数型(,SHORT_INTEGER,),整数型(,INTEGER,),位型(,BIT,),双字型(,DOUBLE_WORD,),长整数型(,LONG_INTEGER,),3.2.2 操作数的寻址 (,详细,),寄存器直接寻址,(,LD AX,BX),间接寻址,(,LD AX,BX),自动增量间接寻址,(,LD AX,BX+),立即寻址,(,LD AX,#1234),短变址寻址,(,LD AX,123BX),长变址寻址,(,LD AX,1234BX),栈指针寄存器寻址,(,LD AX,2SP),3.2.3程序状态字,PSW,3.2.4指令系统,8098,单片机共有,100,条指令。,80,C196,单片机共用,112,条指令,其中的,100,条与,8098,完全相同。专用指令如:,CMPL/MOVB/JNZW,等都是,98,所没有的。,(,详细,),1.,数据传送指令,LD LDB ST STB LDBSE,(,短整数整数),LDBZE,(,字节字),LD AX,BX; LDB AL,BL,ST AX,BX; STB AL,BL,LDBSE LDBZE,不常用,2.,算术运算指令,ADD ADDB ADDC ADDCB SUB SUBB SUBC SUBCB CMP CMPB MULU MULUB MUL MULB DIVU DIVUB DIV DIVB CMPL,(,双字比较,80,C196,),注意有无符号和操作数类型,MULU(16*16=32) MULUB(8*8=16),无符号,DIVU(32/16=16,低,16=,商 高,16=,余数),DIVUB(16/8=8,低,8=,商 高,8=,余数),课堂练习:将,1234,分解为,BCD,码,BCD,变换子程序,BCSD,为入口,AX BX,为转换的压缩,BCD,码,BCDBH:CLRAX,CLRBCSG,DIVUBCSD,#1000,ORAX,BCSD,SHLAX,#4,LDBCSD,BCSG,CLRBCSG,DIVUBCSD,#100,ORAX,BCSD,SHLAX,#4,LDBCSD,BCSG,CLRBCSG,DIVUBCSD,#10,ORAX,BCSD,SHLAX,#4,ORAX,BCSG,STBAL,BL,STBAL,BHH,SHRBBL,#4,ANDBBHH,#00001111B,STBAH,AL,SHRBAL,#4,ANDBAH,#00001111B,PMXYH:RET,3.,逻辑操作指令,AND ANDB OR ORB XOR XORB,ANDB AL,#11101111B,;,指定位清,0,ORB AL,#00010000B,;,指定位置,1,XORB AL,#00010000B,;,指定位取反,4.,栈操作指令,PUSH PUSHF POP POPF PUSHA POPA,(,双字进栈,80,C196,专用),PUSHF,PUSH AX,;,96,的堆栈向下生成,SP=SP-2,PUSH BX ;,若,SP,原为,0,F0H,,,BX,压栈后,SP=0EEH,POP BX ;,先入后出,POP AX,POPF,5.,转移操作指令,LJMP SJMP BR LCALL SCALL RET TRAP,(,软件中断陷井,用户不用),6.,条件转移指令,JC JNC JNH JE JH JNE JV JNV JGE JLT JVT JNVT JGT JLE JST JNST,CMPBAL,BL,JNHADDRESS0 ;,当,AL=BL,时跳转,7.,位为,0,或位为,1,的转移指令,JBS,(,位为,1,跳转),JBC,(,位为,0,跳转),JBS AL,0,ADDRESS1 ;,当,AL,的第,0,位,=1,时跳转,JBC AL,0,ADDRESS2 ;,当,AL,的第,0,位,=0,时跳转,8.,循环控制指令,DJNZ DJNZW,(,一个字的递减,,80,C196,所有),LDB AL,#8,LOOP1: LDBBL,#0F0H,LOOP0: NOP,DJNZ BL,LOOP0,DJNZ AL,LOOP1,9.,单寄存器指令,DEC DECB NEG NEGB INC INCB EXT EXTB(,符号扩展,),NOT NOTB CLR CLRB,NEG,求补,=,求反,1,例如:,-1=11111111,B,1=00000001,1,求反,=11111110,B,求反,+,1=,11111111,B,再例如,DS1820,输出的温度值为补码,若收到,00000001,B,则为,1,,若收到,11111111,B,则为,-1,。,10.,移位指令,SHL SHLB SHLL SHR SHRB SHRL SHRA SHRAB SHRAL,注:,SHRA,为带符号右移,移位后左边补,1,SHRAL AL(AL=#11000011B);AL,结果,=#11100001,B,11.,专用指令,SETC CLRC CLRVT RST DI EI NOP SKIP NORML,RST,机器码为,0,FFH,,,软件复位,数据总线,D0,D7,接上拉排阻,若程序跑飞到无效地址,取回指令为,0,FFH,使系统复位。,12.,块移动(,80,C196,所有),BMOV BMOVI,BMOV LREG,WREG,其中,LREG,为源地址(低,16,位)指针和目的地址(高,16,位)指针的组合,,WREG,为移动的字数,BMOV LREG(,高,16,位,=5000,H,低,16,位,=4000,H),WREG(16,位,=100,),上面语句的作用为将以,4000,H,为首地址的,100,个字的数块移到以,5000,H,为首地址的存储器中中,13.,伪指令,REG,:,定义寄存器地址,ORG,:,定义程序代码段地址,DSB DSW,:,定义寄存器地址的代码,DCB DCW,:,在指定的存储空间定义常数,即直接将常数存放于指定地址存储空间,EQU,:,定义常数代码,END,:,程序结束标记,3.3 80,C196KB,单片机测控系统应用实例,主要内容,(机车随车质量状态检测诊断报警装置),3.3.1 装置研制背景,3.3.2 系统总体结构、检测参数及功能 (),3.3.3 系统软硬件设计 (),3.3.4 试验及结论,3.3.1 装置研制背景,目前,根据铁道部规定,,机车实行定期大修、段修,,在段修中经常存在某些部件尚可运行,而某些部件应早该更换的问题,这样势必存在浪费和事故。因此有必要设计一种,随车的仪器,,随车检测重要参数,并随车诊断报警、记录机车随车实时的动态信息,数据转储后,通过地面数据分析处理,诊断出是否存在故障隐患,,以保运输安全。,3.3.2 系统总体结构、检测参数及功能,系统总体结构、检测参数及功能(续),装置检测诊断的内容,语音报警和应急故障处理提示的部分内容,系统总体功能,(,详细,),3.3.3 系统软硬件设计,装置关键硬件的设计,单总线数字式,DS18B20,传感器编码与自动寻码定位,系统软件设计,系统软硬件详细功能描述,系统主机硬件的研制,系统传感器的选取,系统主机软件的研制,PC,机软件的研制,装置硬件,原理图,CPU,板,信号采集和调理板,3.3.4 试验及结论,装置综合应用计算机软硬件技术、数据采集、记录、显示及存储技术,实现对机车主要的电参数、电气线路状态、油耗率、热工参数、轴温及火情等质量参数的实时采集、记录、显示,并进行实时的机车故障诊断、语音定点定性报警提示,通过数据转储地面分析处理,参数性能变化趋势和机车故障先兆信息,及时发现机车故障隐患,从而提高机车质量,确保运输安全。,本章小结,本章重点介绍了,96,系列单片机的硬件结构、软件操作以及一个基于,80,C196KB,的随车智能仪表的设计实例。,通过,96,系列单片机的实例,大家掌握智能仪表,CPU,的一般设计方法。,本章作业,本章内容很多,有许多细节希望大家课下仔细阅读相关章节。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!