智能仪器仪表 3[1].ppt_第1页
智能仪器仪表 3[1].ppt_第2页
智能仪器仪表 3[1].ppt_第3页
智能仪器仪表 3[1].ppt_第4页
智能仪器仪表 3[1].ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

第三章96系列单片机简介及应用实例,主要内容3.1硬件结构3.2MCS-96指令系统3.380C196KB单片机应用实例目的:通过一种单片机的设计实例,掌握智能仪器仪表中CPU设计的一般方法。,3.1硬件结构,主要内容3.1.1内部定时3.1.2存储空间3.1.3芯片配置寄存器CCR3.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个状态周期,在12M的晶振下:1个状态周期=3个时钟周期=1/12000000*3s=1/4s(8T)80C196为2分频结构:1个状态周期=2个时钟周期=1/12000000*2s=1/6s,3.1.2存储空间,寄存器组合空间()专用寄存器空间掉电保护空间ROM空间的寻址,存储空间,3.1.3芯片配置寄存器CCR,CCR的内容由用户预先写入018H单元(芯片配置字节),系统复位时,该芯片配置字节被自动送入CCR寄存器。(8位总线时一般为0BDH),3.1.4状态和控制寄存器,8098有两个I/O控制寄存器IOC0和IOC1IOC0控制定时器2和高速输入线。IOC1控制某些引脚功能、中断源和两个HSO引脚。,控制寄存器,状态寄存器,3.1.5中断结构(详细),设置中断向量,;设置HSI,TIME,SPCON的中断向量ORG2000HDCWTYCINT;T1溢出中断ORG2004HDCWHSIINT;HSIINT-高速输入中断ORG200AHDCWTIMEINT;TIMEINT-软件定时中断,3.1.6定时器,系统中有两个16位定时器,定时器1和定时器2。定时器1作为实时时钟用来同步其他事件。它自由运行,每8个状态周期加1。(定时器+1时间为8T=?)该计数器在任何时刻均可读出,但一般不可改写,且除芯片复位之外也没有其他手段使其停止计数并恢复为0。,定时器(续),定时器1产生高速输入单元HSI和高速输出单元HSO的基准时间。定时器溢出时可用来产生中断,溢出间隔时间(在12M晶振下):0FFFFH*8*T=65535*8*1/4131ms(三分频系列,如8098)0FFFFH*8*T=65535*8*1/687ms(二分频系列,如80C196),T1溢出中断服务子程序,TYCINT:PUSHFPOPFRET,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,方式选择位事件定义008个正跳变为一个事件01每个正跳变为一个事件10每个负跳变为一个事件11每个跳变(正和负)均为事件,二HSI状态寄存器HSI_STATUS),各位的定义同图3.9其中低位表示本引脚上是否有事件发生;高位表示本引脚的现行状态。,三HSI的控制和操作,有关控制见HSI_MODE、IOC0、IOC1、INT_MASK、INT_PENDING以及中断向量。中断发生后:先读HSI的状态,后读其中断时间。(两者均得读,且顺序读),HSIINT子程序(记录脉冲),HSIINT:PUSHFLDBHSIBJ,HSISTAJBSHSIBJ,0,HI0;判断是否0口中断JBSHSIBJ,2,HI1;判断是否1口中断JBSHSIBJ,4,HI2;2JBSHSIBJ,6,HI3;3SJMPHSIFHHI0:STHSITIM,HI0T;读时间到HI0T中POPFRET,3.1.8高速输出单元,HSO输出控制LDBHSO_COMMAND,#WHAT_TO_DOADDHSO_TIME,TIMER1,#WHEN_TO_DO_IT,高速输出单元(续),软件定时1ms中断服务子程序,TIMEINT:PUSHFDILDBHSOCOM,#38H;重设TIMEINTADDHSOTIM,TIMER1,#TIJG;12M=#7506M=#375EIINCZDCS;中断次数加1POPFRET,3.1.9模拟接口,模拟输入AD_COMMANDAD_RESULT,脉冲宽度调制输出(PWM),数/模转换可以通过脉冲宽度PWM输出来实现,PWM输出波形是一个重复周期为256个状态周期,而占空比可变,占空比的变化通过向PWM寄存器写入新值来实现。对此波形进行积分,那么,即可得到一个DC电平,通过改变占空比,可使该电平分256个阶梯变化。,AD变换子程序,ADBH:LDBTDHAO,ACHTDH;TDHAO标记ACHTDHORBTDHAO,#00001000BLDBADCOM,TDHAO;立即启动AD变换NOPNOPNOPADDD1:LDBBL,ADL;等待AD变换的完成JBSBL,3,ADDD1LDBBL,ADLLDBBH,ADHSHRBX,#6ADDADLJD,BX;累计A/D变换值ADDCADLJG,#0INCADBHCS;A/D变换次数+1RET,3.1.10串行口,方式0:同步方式,通常用在以移位寄存器为基础的I/O扩展方面方式1:标准异步通讯方式。,串行口(续),方式2和方式3:用于多机通讯,串行口(续),串行口的控制,串行口波特率设置,1.98:方式0=方式1、2、3=因为波特率寄存器的最高位用于对内部时钟源的选择,当用XTAL1时,固定为“1”,2.96系列单片机的波特率设置,方式0=方式1、2、3=,基于串行口的多机通讯,串行口方式2和方式3是提供给多机通讯用的。在方式2下若所接收到的第9位数据非1,则不会发生串行口中断,而方式3则均会中断。在多机系统中,当主机欲向某从机发送数据时,它首先发出一帧地址以确定目的从机。地址帧和数据帧的不同点在于,前者之第9位数据位为1,后者之该位为0。,在方式2下,数据帧不会引起任何从机中断。然而,地址帧却将在所有从机中激发中断。这样,各从机便在各自的中断服务程序中检查所收到的字节是否等于自己的地址。相等者即为被呼叫的从机,于是它便切换到方式3下运行,以接收此后主机发来的数据;并回送主机数据后恢复到方式2下等待。未被呼叫的多个从机则仍留在方式2下继续自己的作业。,通讯举例:主机和2号从机进行数据交换1、主机和全部从机工作于方式2;2、主机以第9位为1发送地址码2;3、全部从机接收中断,2号判定被呼叫转入方式3;其它从机仍然工作与方式2;4、主机发送数据,DB9=0,2号中断接收;5、2号反送主机数据,主机接收;6、主机和2号从机再转入方式2待命。,串口中断服务程序,SERINT:PUSHFRDAGA:LDBSPTEMP,SPSTATORBTEMP,SPTEMPANDBSPTEMP,#60HJNERDAGAJBSTEMP,5,TRANSJBSTEMP,6,GETSJMPSEROUT,3.1.11监视定时器,在12M晶振下:98:WATCHDOG溢出时间为:16ms96:WATCHDOG溢出时间为:10.67ms监视定时器的驱动:(连续写入)DILDBWATCHD,#1EHLDBWATCHD,#0E1HEI,3.1.12复位和掉电保护,在电源处于正常范围且振荡器稳定后,RESET引脚上至少保持两个状态周期的低电平就可使系统复位。RESET引脚电压升高后,系统将执行10个状态周期的内部复位序列。在此期间,芯片配置字节CCR被从2018H单元读出并进而写入芯片CCR寄存器。,上电复位可用电容、单稳或其他方法实现,条件是它们能够提供一个宽度要比Vcc和振荡器稳定下来所需的时间至少长两个状态周期的负脉冲。对于96系列单片机,复位电平是低电平有效。,3.2MCS-96指令系统,主要内容3.2.1操作数类型()3.2.2操作数的寻址()3.2.3程序状态字PSW3.2.4指令系统,3.2.1操作数类型,字节型(BYTE)字型(WORD)短整数型(SHORT_INTEGER)整数型(INTEGER)位型(BIT)双字型(DOUBLE_WORD)长整数型(LONG_INTEGER),3.2.2操作数的寻址(详细),寄存器直接寻址(LDAX,BX)间接寻址(LDAX,BX)自动增量间接寻址(LDAX,BX+)立即寻址(LDAX,#1234)短变址寻址(LDAX,123BX)长变址寻址(LDAX,1234BX)栈指针寄存器寻址(LDAX,2SP),3.2.3程序状态字PSW,3.2.4指令系统,8098单片机共有100条指令。80C196单片机共用112条指令,其中的100条与8098完全相同。专用指令如:CMPL/MOVB/JNZW等都是98所没有的。(详细),1.数据传送指令,LDLDBSTSTBLDBSE(短整数整数)LDBZE(字节字)LDAX,BX;LDBAL,BLSTAX,BX;STBAL,BLLDBSELDBZE不常用,2.算术运算指令,ADDADDBADDCADDCBSUBSUBBSUBCSUBCBCMPCMPBMULUMULUBMULMULBDIVUDIVUBDIVDIVBCMPL(双字比较80C196)注意有无符号和操作数类型MULU(16*16=32)MULUB(8*8=16)无符号DIVU(32/16=16低16=商高16=余数)DIVUB(16/8=8低8=商高8=余数)课堂练习:将1234分解为BCD码,BCD变换子程序BCSD为入口,AXBX为转换的压缩BCD码,BCDBH:CLRAXCLRBCSGDIVUBCSD,#1000ORAX,BCSDSHLAX,#4LDBCSD,BCSGCLRBCSGDIVUBCSD,#100ORAX,BCSDSHLAX,#4LDBCSD,BCSGCLRBCSG,DIVUBCSD,#10ORAX,BCSDSHLAX,#4ORAX,BCSGSTBAL,BLSTBAL,BHHSHRBBL,#4ANDBBHH,#00001111BSTBAH,ALSHRBAL,#4ANDBAH,#00001111BPMXYH:RET,3.逻辑操作指令,ANDANDBORORBXORXORBANDBAL,#11101111B;指定位清0ORBAL,#00010000B;指定位置1XORBAL,#00010000B;指定位取反,4.栈操作指令,PUSHPUSHFPOPPOPFPUSHAPOPA(双字进栈80C196专用)PUSHFPUSHAX;96的堆栈向下生成SP=SP-2PUSHBX;若SP原为0F0H,BX压栈后SP=0EEHPOPBX;先入后出POPAXPOPF,5.转移操作指令,LJMPSJMPBRLCALLSCALLRETTRAP(软件中断陷井,用户不用),6.条件转移指令,JCJNCJNHJEJHJNEJVJNVJGEJLTJVTJNVTJGTJLEJSTJNSTCMPBAL,BLJNHADDRESS0;当AL=BL时跳转,7.位为0或位为1的转移指令,JBS(位为1跳转)JBC(位为0跳转)JBSAL,0,ADDRESS1;当AL的第0位=1时跳转JBCAL,0,ADDRESS2;当AL的第0位=0时跳转,8.循环控制指令,DJNZDJNZW(一个字的递减,80C196所有)LDBAL,#8LOOP1:LDBBL,#0F0HLOOP0:NOPDJNZBL,LOOP0DJNZAL,LOOP1,9.单寄存器指令,DECDECBNEGNEGBINCINCBEXTEXTB(符号扩展)NOTNOTBCLRCLRBNEG求补=求反1例如:-1=11111111B1=00000001,1求反=11111110B,求反+1=11111111B再例如DS1820输出的温度值为补码,若收到00000001B则为1,若收到11111111B则为-1。,10.移位指令,SHLSHLBSHLLSHRSHRBSHRLSHRASHRABSHRAL注:SHRA为带符号右移,移位后左边补1SHRALAL(AL=#11000011B);AL结果=#11100001B,11.专用指令,SETCCLRCCLRVTRSTDIEINOPSKIPNORMLRST机器码为0FFH,软件复位数据总线D0D7接上拉排阻,若程序跑飞到无效地址,取回指令为0FFH使系统复位。,12.块移动(80C196所有),BMOVBMOVIBMOVLREG,WREG其中LREG为源地址(低16位)指针和目的地址(高16位)指针的组合,WREG为移动的字数BMOVLREG(高16位=5000H低16位=4000H),WREG(16位=100)上面语句的作用为将以4000H为首地址的100个字的数块移到以5000H为首地址的存储器中中,13.伪指令,REG:定义寄存器地址ORG:定义程序代码段地址DSBDSW:定义寄存器地址的代码DCBDCW:在指定的存储空间定义常数,即直接将常数存放于指定地址存储空间EQU:定义常数代码END:程序结束标记,3.380C196KB单片机测控系统应用实例,主要内容(机车随车质量状态检测诊断报警装置)3.3.1装置研制背景3.3.2系统总体结构、检测参数及功能()3.3.3系统软硬件设计()3.3.4试验及结论,3.3.1装置研制背景,目前,根据铁道部规定,机车实行定期大

温馨提示

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

评论

0/150

提交评论