




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验内容 实验6 掌握9S12单片机IO口的基本程序调试 学会使用BDM和实际实验系统编程下载 事先看一下实验板原理图和 CodeWarriorV5 0开发环境快速入门 工程创建for9S12DG128B doc 或 CodeWarriorV5 0开发环境快速入门 工程创建for9S12XDT512 doc 一部分同学的实验板是带协处理器的9S12XDT512 拿到实验板后先看一下板上单片机的型号 1 编写并实现LED排灯 D2 D10 显示程序 实现花灯显示 即01010101和10101010动态显示 0表示灯灭 1表示灯亮 2 编写并实现LED排灯 D2 D10 显示程序 分别实现从左向右逐个点亮和从右到左逐个点亮的流水灯显示 3 编写并实现LED排灯 D2 D10 显示程序 实现按键与LED的关联 即4个按键S3 S6控制4个LED灯 按键按下相应的灯亮 松开相应的灯灭 要求1 用到延时的地方需用软件延时实现 2 有完整的程序和注释 并最后总结实现原理 实验7 掌握9S12单片机ECT模块的使用方法要求1 描述什么是输入捕捉和输出比较 描述9S12单片机ECT模块主要寄存器设置 2 用ECT模块延时代替实验6中用到的软件延时 实现实验6中的各种LED排灯 D2 D10 显示效果 3 要有完整的程序和注释 并最后总结实现原理 实验8 掌握9S12单片机实现数码管显示要求1 在四位数码管上循环显示 共 个数中的某连续四位 如下图所示 2 程序中需要延时的地方用软件延时实现 3 要有完整的程序和注释 并最后总结实现原理 0123456789ABCDE 实验9 掌握9S12单片机实现数码管显示要求1 在四位数码管上循环显示 共 个数中的某连续四位 如下图所示 2 程序中需要延时的地方用ECT模块延时实现 3 要有完整的程序和注释 并最后总结实现原理 0123456789ABCDE 实验10 掌握9S12单片机AD和显示综合编程与调试要求1 实验板上单片机AD模块的AN15引脚接了可调电位器RV1 见实验板原理图 要求实现对可调电位器上的电压进行AD转换 10位精度 并对采样结果进行数字滤波 即对采样多次 如10次 的结果排序并掐头去尾求平均值 将滤波后的结果 转换成十进制 送四位数码管显示 2 调节可调电位器 观察数码管显示变化规律 3 要有完整的程序和注释 画出程序流程图并最后总结实现原理 AD采样 数字滤波 第七章IO接口及增强型捕捉定时器模块 7 1通用I O接口 7 2I O接口的功能及设置方法 7 3增强型定时器ECT模块 内容提要 7 1通用I O接口 I O 检测 控制 PORTA PORTB PORTE和PORTK在芯片处于扩展方式下被用作总线信号 PORTT PORTP PORTS PORTM PORTJ和PORTH被集成在端口集成模块 PIM 内 与片内其他功能模块的引脚复用 MC9S12DG128单片机并行I O的复用功能 7 2I O接口的功能及设置方法 通用I O接口一般可以设置输入输出 驱动能力 内部上拉或下拉电阻 中断输入等功能 每个I O接口都有各自的寄存器 数据寄存器 并行I O接口都有数据寄存器进行数据的读取和发送 PortJI ORegister PTJ Read Anytime Write Anytime IfthedatadirectionbitsoftheassociatedI Opinsaresetto1 areadreturnsthevalueoftheportregister otherwisethevalueatthepinsisread PortJInputRegister PTIJ Read Anytime Write Never writestothisregisterhavenoeffect Thisregisteralwaysreadsbackthestatusoftheassociatedpins Thiscanbeusedtodetectoverloadorshortcircuitconditionsonoutputpins 方向寄存器 MC9S12单片机中的I O接口除了PORTAD只可作为输入口外 一般都是双向并行口 因此都配置了一个方向寄存器 DDRx I O接口每个引脚的输入输出方向由各方向寄存器的对应位来设置 方向寄存器的某位为 0 表示相应的引脚为输入引脚 为 1 表示相应的引脚为输出引脚 驱动控制寄存器 MC9S12单片机可以设置I O接口的驱动能力 当I O接口为输出口时此功能有效 此寄存器的相应位为 1 则表示全额驱动能力 为 0 则表示缩减驱动能力 后者的驱动能力是前者的三分之一 拉电阻控制寄存器 MC9S12单片机的各个I O接口内置了拉电阻 可以通过编程来设置是否使用拉电阻 拉电阻的主要作用是当电路驱动器关闭时给线路 节点 一个固定电平 可以提高总线的抗电磁干扰能力 拉电阻控制寄存器的相应位为 1 则使用拉电阻 为 0 则不使用拉电阻 另外 可以使用极性选择寄存器选择拉电阻的极性 即选择拉电阻为上拉或者下拉 相应位为 1 则表示下拉电阻 为 0 则表示上拉电阻 注意 PORTA PORTB和PORTE只能使用上拉电阻 所以并不设有极性选择寄存器 中断允许 标志寄存器 MC9S12单片机的I O接口PORTJ PORTP PORTH 具有中断功能 可以通过软件编程来允许或禁止 相应位为 1 表示允许中断 0 表示禁止中断 具有中断能力的I O口都有各自的中断标志寄存器 对应位为 1 表示有中断发生 0 表示无中断发生 另外 还有中断边沿选择寄存器 相应位为 1 表示上升沿中断 0 表示下降沿中断 当检测到有效中断边沿时 中断标志寄存器PIFJ相应位被置一 产生中断并进入相应的中断服务程序 课本6 1 2程序举例 8缓冲器 include includevoidinterrupt24PJI void 声明中断函数 voidmain void EnableInterrupts DDRJ 0 x00 PORTJ作为输入 DDRB 0 xFF PORTB作为输出 PORTB 0 xff 灯全灭 DDRA 0 xff PORTA输出 PORTA 0 x00 PORTA全为低电平 PPSJ 0 xff 上升沿中断 PIEJ 0 xff 中断使能 for PORTA 0b11000000 产生中断 pragmaCODE SEGNON BANKEDvoidinterrupt24PJI void 中断服务程序 中断向量号为24 PORTB 0 xf0 LED灯高四灭 低四亮 pragmaCODE SEGDEFAULT 9S12中断程序必须定位于non banked区域 必须有这两个pragma语句 课本6 1 2程序说明 使用PORTJ口的中断功能 设置PORTA口为输出口 PORTA的第6脚和PORTJ的第6脚硬件相连 PORTB为输出口 用来控制8个LED灯 PORTJ开中断 并且设置为上升沿触发 首先PORTA初始化为0 PORTB为0 xff 此时LED灯全灭 在循环中设置PORTA第6位为高电平 产生中断 在中断服务程序中设置LED灯低4位亮 高4位不亮 表示已经进入中断 如何得知中断向量号 向量号0 向量号1 向量号24 依次向下数 中断向量表 书上有 本课程实验板原理图见pdf文件另参考 实验板上所用芯片 中的文档前面那个例程不适用本课程实验板 让实验板上的小灯 D10 D2 循环点亮 include commondefinesandmacros include derivativeinformation pragmaLINK INFODERIVATIVE mc9s12dg128b voiddeley unsignedintd inti for i 0 i 1 if d 0 d 0 x80 for waitforever pleasemakesurethatyouneverleavethisfunction 该程序也可写成如下 include commondefinesandmacros include derivativeinformation pragmaLINK INFODERIVATIVE mc9s12dg128b definePortA volatileunsignedchar 0 defineDdrA volatileunsignedchar 2 voiddeley unsignedintd inti for i 0 i 1 if d 0 d 0 x80 for waitforever IC OC的定义 InputCapture OutputCompare输入捕捉和输出比较IC 用来监测外部的事件和输入信号 当外部事件发生或信号发生变化时 在指定的输入捕捉引脚发生一个指定的沿跳变 可以指定该跳变是上升沿还是下降沿 定时器捕捉到特定的沿跳变后 把计数寄存器当前的值锁存到通道寄存器 ECT模块有8个IC通道分别为IC0 IC7 IC0 IC3是标准的带有保持器的缓冲通道 而IC4 IC7不带有保持器 OC 用程序的方法在规定的时刻输出需要的电平 实现对外部电路的控制 通道为OC0 OC7 ECT模块的外部引脚 共有8个外部引脚 分别为IOC0 IOC7 与PORTT复用 7 3增强型定时器ECT模块 ECT模块结构 一个16位向上带可编程预分频的主计数器 一个16位的带可编程预分频的模数向下计数器8个独立的定时器通道 每个通道具备输入捕捉和输出比较功能4个8位脉冲累加器 也可设置成2个16位脉冲累加器 通过对寄存器编程可以实现不同的功能 定时器结构 预分频选择PR 2 0 MClock 1248163264128 TCNT 15 0 DATABUS PIN R R R R 1 计数器使能0 计数器禁止 TENTSWAITSFRZTFFCA TSCR1 定时器控制寄存器 RST 00000000 TCNTCLK TEN B0 B7B8 B15 R Reserved 0006 AddressOffset 0004 05 模块时钟 计数器寄存器 脉冲累加器 计时器溢出时 对溢出标志位置位 如允许中断 则向CPU发出中断请求 定时器 预分频 计数器 寄存器 编程步骤 用途 产生定时器溢出中断初始化设定预分频系数定时器溢出中断使能定时器使能中断函数清标志位用户自己的代码 voidECT Init void TSCR2 PR 7 prescalefactoris8 busclock 128TSCR2 TOI 1 timeroverflowinterruptenableTSCR1 TEN 1 timerenable voidinterrupt16Int TimerOverFlow void TFLG2 TOF 1 cleartimeroverflowflag 用户自己的代码 定时器溢出中断例程 可在实验板上运行 include commondefinesandmacros include derivativeinformation pragmaLINK INFODERIVATIVE mc9s12dg128b pragmaCODE SEGNON BANKED 9S12中断程序必须定位于non banked区域interrupt16voidInt TimerOverFlow void TFLG2 TOF 1 cleartimeroverflowflag 用户自己的代码PORTA PORTA pragmaCODE SEGDEFAULT 9S12中断程序必须定位于 non banked区域 必须有这两个pragma语句 voidmain void EnableInterrupts TSCR2 PR0 1 TSCR2 PR1 1 TSCR2 PR2 0 prescalefactorTSCR2 TOI 1 timeroverflowinterruptenableTFLG2 TOF 1 TSCR1 TEN 1 timerenableDDRA 0 xFF PORTA 0 xFF for 输出比较功能 16位自由运行计数器 16位输出比较寄存器比如设置为 0 x5678 软件可以修改 引脚控制逻辑 中断请求 CxF 状态标志位置位 当比较发生时 值相等时 CxI 中断屏蔽 通过软件使能 共有8个输出比较通道 每个通道有自己的向量表和控制寄存器 在特定的时刻输出一个信号 当比较寄存器的值和计数器的值相等时 采取行动比如 当TCNT 0 x5678 TCNT TCx PinOCx 比较器 相等 置位 OR OR 清零 翻转 输出比较寄存器 C7FC6FC5FC4FC3FC2FC1FC0F OM7 OL7 OM6 OL6 OM5 OL5 OM4 OL4 1 TC7 TC0 2 TFLG1 3 TIE 4 TCTL1 比较 捕捉标志位写 1 清除中断状态标志位 比较 捕捉屏蔽位0 屏蔽中断请求1 中断请求允许 输出模式和输出电平 O7 OC0 5 TCTL2 RST 00000000 0008 RST 00000000 RST 00000000 RST 00000000 000C 000E 0009 AddressOffset 0010 0011 001E 001F C7IC6IC5IC4IC3IC2IC1IC0I OM3 OL3 OM2 OL2 OM1 OL1 OM0 OL0 FOC7FOC6FOC5FOC4FOC3FOC2FOC1FOC0 6 CFORC B7B6B5B4B3B2B1B0 RST 00000000 0001 输出强制比较寄存器 输出比较 OC7 OC0 中断 清除中断 对TFLG1其中的CxF写 1 不要使用位操作使用OC7 OC0向量表单片机复位时 自由运行计数器 TCNT 被初始化为 0000 并且被禁止输出比较寄存器被初始化为 0000捕捉 比较引脚与比较功能断开中断被禁止标志位被清零强制比较位被清零 输出比较 通道7OC7 1of2 用途 1 多个输出比较引脚的控制2 通过2个输出比较来控制1个引脚 可以输出短脉冲在每个时钟周期内 输出比较寄存器7和自由运行的计数器进行比较如果它们的值相等 则 1 中断标志位被置12 输出引脚OC7 OC0的状态被改变或 和产生中断OC7可以影响多个引脚 OC7 OC0 当OC7和OC7 OC0某个引脚的动作有冲突时 OC7的动作将被执行 输出比较7 2of2 C7IC6FC5FC4FC3FC2FC1FC0F OC7M7OC7M6OC7M5OC7M4OC7M3OC7M2OC7M1OC7M0 4 TIE 定时器中断允许使能 5 OC7M OC7MASK B7 B0 1 TC7 16位比较寄存器7 RST 00000000 RST 00000000 0002 000C C7FC6FC5FC4FC3FC2FC1FC0F RST 00000000 000E B7 B0 2 TCNT 16 位计数器 B15 B0 RST 0 0 0004 05 B7 B0 3 TFLG1 标志位 OC7D7OC7D6OC7D5OC7D4OC7D3OC7D2OC7D1OC7D0 6 OC7D OC7DATA RST 00000000 0003 B7 B0 OC7MASK根据寄存器的设置 可以控制任意一路或全部输出比较引脚 OC7DATA当OC7比较事件发生时 引脚的逻辑电平 定时器溢出时电平翻转 TOV7TOV6TOV5TOV4TOV3TOV2TOV1TOV0 TOVx 定时器溢出时 电平翻转只有当通道被配置成输出比较时 才有效 AddressOffset 0007 RST 0 0 1 TTOV 定时器溢出时电平翻转寄存器 000D 2 TSCR2 定时器系统控制寄存器 RST 00000000 B7 B0 TOI000TCREPR2PR1PR0 1 定时器由OC7比较事件发生来复位0 定时器自由运行 输入捕捉 IC7 IC0 1of3 用途 1 测量事件发生的间隔时间2 对实时时间进行响应输入捕捉能感应到引脚上的电平的变化如果发现电平变化 则 1 计数器的值被保存到到输入捕捉寄存器中 状态标志位被置12 如果中断允许 则向CPU发出中断请求 ABS应用举例 PT0 PT1 PT2 SENSOR1 SENSOR2 SENSOR3 SENSOR4 PB1 PB2 PB3 PB4 BRAKE FLUID PUMP SYSTEM SIGNALCONDITIONINGLOGIC IC PA SIGNALCONDITIONINGLOGIC SIGNALCONDITIONINGLOGIC SIGNALCONDITIONINGLOGIC PT3 左前轮右前轮左后轮右后轮 HCS12 TIMER 定时器输入捕捉测量车轮转速发送命令到刹车压力调节阀来调节压力 IC PA IC PA IC PA 如果左右轮速脉冲周期不等 则 调节电磁阀 输入捕捉功能 比较 捕捉单元16位自由运行计数器 16位输入捕捉锁存器 捕捉发生时 状态位置1 向CPU发出中断请求 Edge 沿选择检测 ICx CxF CxI 上升 下降沿 可选中断屏蔽 当外部事件发生时 或外部信号输入发生变化时 记录当前时间 TCNT TCx 延时计数器 000000DLY1DLY0 Bit76543210 DLYCT 延时计数器控制寄存器 DLY 1 0 DelayCounterValues00 Disabled01 256MClocks10 512MClocks11 1024MClocks AddressOffset 0029 注 如果输入信号电平和跳变之前的电平相反时 延时计数器在当前时钟计数时刻产生一个脉冲 它用来去除噪声 OR OR 应用 ABS刹车 雷达测距 发动机 引脚 共有8个输入捕捉通道 每个通道有自己的向量表和控制寄存器 输入捕捉 IC7 IC0 2of3 B2 B1 B0 EDGxB 输入捕捉沿控制 IC7 IC0 EDGxA ICxEDGE 0101 无边沿 ICx禁止上升沿下降沿任何沿 4 TCTL3 C7FC6FC5FC4FC3FC2FC1FC0F C7IC6IC5IC4IC3IC2IC1IC0I 2 TFLG1 3 TIE 1 TC7 TC0 EDG7BEDG7AEDG6BEDG6AEDG5BEDG5AEDG4BEDG4A 5 TCTL4 EDG3BEDG3AEDG2BEDG2AEDG1BEDG1AEDG0BEDG0A RST 00000000 RST 00000000 RST 00000000 RST 00000000 000E 000C 000A 000B AddressOffset 0010 0011 001E 001F 比较 捕捉标志位写 1 清除中断状态标志位 比较 捕捉屏蔽位0 屏蔽中断请求1 中断请求允许 0011 增强型捕捉 ECT比标准的TIM增强的特点4个输入捕捉通道有16位缓冲寄存器4个8位 2个16位脉冲累加器16位带4位预分频的模数向下计数器4个用户选择的延时计数器用来消除噪声主定时器预分频扩展至7位队列和锁定模式 主定时器 输入捕捉寄存器 保持寄存器 输入捕捉 输出比较选择 IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0 TIOS 定时器输入捕捉 输出比较选择寄存器 IOSx 1输出比较功能 0输入捕捉功能 RST 00000000 0000 TIMER定时器使能1 计数器使能0 计数器禁止 TSCR1 定时器系统控制寄存器 RST 0 0 0006 TENTSWAITSFRZTFFCAReserved TSWAI 在WAIT模式时 定时器停止0 不停止1 停止 TSBCK 在DEBUG模式时 定时器停止0 不停止1 停止 TFFCA 定时器快速标志位清除使能0 定时器标志位正常清零1 输入捕捉时读取寄存器 输出比较时写寄存器 可以对相应通道标志位清零 脉冲累加模式 8 位计数器 PAI 脉冲累加器输入引脚 事件计数模式引脚作为计数器时钟软件选择以什么沿来计数计数器溢出时 产生中断 可选 8位计数器 PAI 脉冲累加器输入引脚 时间累加模式引脚作为计数器 软件选择主动电平作为门的输入当计数器溢出时产生中断在使能的引脚上后面的边缘时产生中断 自由运行E 64时钟 PACNT PACNT 对事件计数模式 PEDGE选择哪个PAI的沿用来增加PACNT寄存器 对门累加模式 PEDGE选择哪个PAI状态用来禁止计数 比如 PEDGE 1 禁止计数当PAI HI 脉冲累加结构 PIN TCxPINLogic DIVby64 ControlReg 8 16BITCNTR HoldingRegister POLARITYCONTROL PTx IRQ DATABUS 注1 PTx可以被用作脉冲累加 输入捕捉或输出比较这里PTx PT0 PT3 SELECTEDCLOCK DelayCounter EdgeDetector 000000DLY1DLY0 Bit76543210 DLYCT DelayCounterControlRegister DLY 1 0 DelayCounterValues00 Disabled01 256MClocks10 512MClocks11 1024MClocks AddressOffset 0029 注 如果输入信号电平和跳变之前的电平相反时 延时计数器在当前时钟计数时刻产生一个脉冲 它用来去除噪声 模向下计数器 二进制向下计数器 可以完全控制计数起始值应用于精确事件计时 用于产生周期性的标志位和中断主定时器单独运行 时钟来自总线时钟 并经过预分频 可以被设置为定时中断或产生标志位 或装载初始值后向下计数到 0000 装载 向下计数至0 执行动作 MCCNT 模数减法计数寄存器 MCCTL 16位模数减法计数控制寄存器 MCZI 模数计数器减法溢出中断允许 0 禁止中断 1 允许中断 MODMC 模数模式允许 0 计数器从写入的数值计数一次到 0000 1 允许模数模式 当计数器计到 0000时 则重新装入最新写入的计数值重新进行计数 RDMCL 模数计数器读取选择寄存器 0 对计数器读操作 返回当前的计数数值 1 对计数器读操作 返回预先加载的数值 ICLAT 输入捕捉强制锁存 FLMC 强制把装载寄存器中的值送入模数计数寄存器中 MCEN 模数减法计数器允许 0 禁止 1 允许 MCPR1 MCPR0 模数计数器预分频因子设置 MCFLG 16位模数减法计数器标志寄存器 MCZF 模数计数器减法溢出标志位当计数器减法计数到 0000时 此位被置一 对这位人工置一可以进行清零 写零无效 当TSCR寄存器中的TFFCA位被置位时 对MCCNT寄存器的任何访问将使MCZF标志清零 POLF3 POLF0 第一次输入捕捉极性状态位POLF3 POLF0是只读的 对它们进行写操作无效 这四位指示了引起输入捕捉操作的边沿极性 POLF3 POLF0分别对应了PORT3 PORT0的输入 0 第一次输入捕捉由下降沿触发 1 第一次输入捕捉由上升沿触发 利用模数减法计数器进行定时 include commondefinesandmacros include derivativeinformation pragmaLINK INFODERIVATIVE mc9s12dg128b unsignedintcount1 0 pragmaCODE SEGNON BANKED 9S12中断程序必须定位 于non banked区域voidinterrupt26MDC ISR void MCFLG 0 x80 清中断标志位count1 if count1 20 1s闪烁一次 PORTA PORTA count1 0 pragmaCODE SEGDEFAULT 9S12中断程序必须定位于non banked区域 必须有这两个pragma语句 voidSET PLL void 总线时钟频率为8MHz CLKSEL 0 x00 PLLCTL 0 xe1 SYNR 3 PLLCLK 2 OSCCLK SYNR 1 REFDV 1 16MHz 实验板上OSCCLK 4MHzREFDV 1 PLLCTL 0 x60 asmNOP asmNOP asmNOP while CRGFLG 选定PLL时钟 BusClock PLLCLK 2 8MHz voidmain void SET PLL MCCTL 0 xDF 设定模数减法计数器工作方式 中断使能 计数器使能 分频系数为16MCCNT 25000 定时器赋初值 1 8M 16 25000 50msEnableInterrupts 开中断DDRA 0 xFF PORTA 0 xFF for 定时器低功耗模式 TSCR 定时器系统控制寄存器 RST 0 0 0006 TENTSWAITSFRZTFFCAReserved TSWAI 在WAIT模式时 定时器停止0 不停止1 停止 TSBCK 在DEBUG模式时 定时器停止0 不停止1 停止 TFFCA 定时器快速标志位清除使能0 定时器标志位正常清零1 输入捕捉时读取寄存器 输出比较时写寄存器 可以对相应通道标志位清零 1 计数器使能0 计数器禁止 三个例子 举三个例子讲述本节内容 定时器模块寄存器太多 逐个讲解太费时间 效果也不好 流水灯显示使用输入捕捉功能 对外来脉冲进行计数使用输出比较功能 输出一个具有一定宽度的高电平脉冲 voidTimerOverflow void unsignedchari 1 j 0 x80 while i 0 流水灯的显示 PORTA输出 调用函数 设置控制寄存器1 设置控制寄存器2 延时控制 这个可在实验板上运行 ECT控制寄存器一 TSCR1 本例设置TSCR1 0 x80 TEN 1 主定时器使能 0 主定时器禁止 进入低功耗状态 TSWAI 0 等待模式时主定时器继续工作 方便调试 0 停止工作 TSFRZ 0 冻结模式时主定时器继续工作 0 停止工作 TFFCA 0 自动清除标志位 1 手动清除 必须设置TSCR1才可以使主定时器工作 需要在ECT模块初始化时就设置好 ECT控制寄存器二 TSCR2 TOI 0 禁止定时器溢出中断 1 允许 本例设置TOI 0 TCRE 定时计数器复位允许 0 禁止复位 计数器自由计数 1 允许复位 本例设置TCRE 0 PR2 PR1 PR0 预分频因子选择本例设置PR2 1 PR1 1 PR0 1 分频系数 27 128 总线时钟 BusClock 频率是多少 见课件 第3章MC9S12单片机的内核及片上资源 ppt 第31和32页 ECT计数寄存器 TCNT TCNT为自由计数器的计数值 本例通过读取它的值实现延时 这是一个16位的寄存器 最大值为65535 while TCNT 0 x0000 while TCNT 0 x0000 这两句的含义是 TCNT开始计数后值不为0 等待直到TCNT溢出返回0 然后再等到TCNT不为0 为什么要弄两个while 例二 输入捕捉 利用输入捕捉0通道对外来的方波信号进行捕捉 采用中断的形式 中断发生后 读取捕捉后的计数值 并通过PORTB口使LED灯点亮以指示中断成功 通道0设置为输入捕捉 采用双沿触发 上下沿均触发 IC0开中断 可以进入中断服务程序 方波信号由PORTA BIT6产生 PORTA BIT6和IOC0硬件连接 例二 输入捕捉 IC0的初始化 voidic init void TSCR1 0 x90 主定时器使能TSCR2 0 x07 分频因子 128ICSYS 0 x02 IC缓冲使能TIOS 0 通道设置为输入捕获TCTL4 0 xff 采用上升 下降沿触发TIE 0b00000001 通道0开中断 本例使用了例一未使用过的寄存器 ICSYS TIOS TCTL4和TIE 输入控制系统寄存器 ICSYS SHxy 0 正常操作 1 x通道和y通道将产生一样的输入动作 x通道的设置同样适用于y TFMOD 0 只要产生正确的输入捕获事件 TFLG1中的CxF位就置一 1 队列模式时才使用 PACMX 0 8位脉冲累加器溢出后自动回0 1 不自动回0 停留在0XFF 脉冲累加器对IC通道捕获的有效边沿数量进行计数 BUFEN 1 使用输入捕获缓冲区 0 不使用 LATQ 0 输入捕获队列模式使能 产生一次成功的输入捕获时 IC通道寄存器中保留的计数值会被送到保持器中 然后IC寄存器会接收新的计数值 1 锁存模式使能 IC OC通道选择寄存器 TIOS TIOS 0 设置相应的通道为输入捕获 IOSx 1 通道x为输出比较 0 通道x为输入捕获 控制寄存器3 4 TCTL3 4 EDGnA B 输入捕捉边沿控制 本例设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水体污染修复与水质提升技术方案
- 燃煤发电设备运行优化方案
- 防水工程环境影响评估方案
- 深远海养殖生态环境保护与修复方案
- 城市地下综合管网建设项目技术方案
- 甲乙丙三方能源产业股权转让及新能源开发协议
- 北京印刷学院印刷产业人才培训与引进合作协议
- 宅基地空地租赁与乡村振兴战略合作合同书
- 沙漠治理项目用地租赁与生态修复合作协议
- 离婚纠纷中夫妻共同财产分割及债务处理合同
- 小儿心律失常的护理讲课件
- 校园各社团管理制度
- 校园短视频管理制度
- 2024年贵州省威宁彝族回族苗族自治县卫生局公开招聘试题带答案
- 2025年上海市中考数学试卷真题及解析答案
- 车辆抵押贷款逾期贷款清收合同
- 餐饮服务(双语)课件任务3中餐服务的形式与特点
- 铁总关于建设项目技术交底管理办法(2024版)
- 房款首付赠与协议书
- 肌骨超声在康复科的应用
- 垃圾分类房租赁合同协议
评论
0/150
提交评论