




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 四 讲 定 时 器 A 的 使 用 MSP430F413 芯 片 中 含 有 TimerA3 模 块 , 如 图 1-2 所 示 。 其 常 用 的 外 引 线 有 三 条 : TACLK、 TA1 和 TA2。 TACLK: 定 时 器 _A 输 入 时 钟 ( 48 脚 ) , 与 P1.6 和 ACLK 输 出 共 用 同 一 引 脚 。 TA1: 定 时 器 _A 的 第 一 通 道 输 入 、 输 出 引 脚 ( 51 脚 ) 。 捕 获 方 式 : CCI1A 输 入 ; 比 较 方 式 : OUT1 输 出 。 TA2: 定 时 器 _A 的 第 二 通 道 输 入 、 输 出 引 脚 ( 45 脚 ) 。 捕 获 方 式 : CCI2A 输 入 ; 比 较 方 式 : OUT2 输 出 。 1 定 时 器 A 功 能 及 结 构 定 时 器 A 基 本 结 构 是 一 个 十 六 位 计 数 器 , 由 时 钟 信 号 驱 动 工 作 , 结 构 框 图 如 图 4-1 所 示 。 图 4-1 定 时 器 A 结 构 图 定 时 器 A 具 有 多 种 功 能 , 其 特 性 如 下 : ( 1) 输 入 时 钟 可 以 有 三 种 选 择 , 可 以 是 慢 时 钟 ( ACLK) 、 快 时 钟 ( SMCLK 与 单 片 机 主 时 钟 同 频 ) 和 外 部 时 钟 。 ( 2) 能 产 生 的 定 时 中 断 、 定 时 脉 冲 和 PWM( 脉 宽 调 制 ) 信 号 , 没 有 软 件 带 来 的 误 差 。 ( 3) 不 仅 能 捕 获 外 部 事 件 发 生 的 时 间 , 还 可 选 择 触 发 脉 冲 沿 ( 由 上 升 沿 或 下 降 沿 触 发 ) 。 定 时 器 A 功 能 模 块 主 要 包 括 : ( 1) 计 数 器 部 分 : 输 入 的 时 钟 源 具 有 4 种 选 择 , 所 选 定 的 时 钟 源 又 可 以 1、 2、 4 或 8 分 频 作 为 计 数 频 率 , Timer_A 可 以 通 过 选 择 4 种 工 作 模 式 灵 活 的 完 成 定 时 /计 数 功 能 。 ( 2) 捕 获 /比 较 器 : 用 于 捕 获 事 件 发 生 的 时 间 或 产 生 时 间 间 隔 , 捕 获 比 较 功 能 的 引 入 主 要 是 为 了 提 高 I/O 端 口 处 理 事 务 的 能 力 和 速 度 。 不 同 的 MSP430 单 片 机 , Timer_A 模 块 中 所 含 有 的 捕 获 /比 较 器 的 数 量 不 一 样 , 每 个 捕 获 /比 较 器 的 结 构 完 全 相 同 , 输 入 和 输 出 都 取 决 于 各 自 所 带 控 制 寄 存 器 的 控 制 字 , 捕 获 /比 较 器 相 互 之 间 完 全 独 立 工 作 。 ( 3) 输 出 单 元 : 具 有 可 选 的 8 种 输 出 模 式 , 用 于 产 生 用 户 需 要 的 输 出 信 号 , 支 持 PWM 输 出 。 2 定 时 器 工 作 模 式 ( 1) 停 止 模 式 : 停 止 模 式 用 于 定 时 器 暂 停 , 并 不 发 生 复 位 , 所 有 寄 存 器 现 行 的 内 容 在 停 止 模 式 结 束 后 都 可 用 。 当 定 时 器 暂 停 后 重 新 计 数 时 , 计 数 器 将 从 暂 停 时 的 值 开 始 以 暂 停 前 的 计 数 方 向 计 数 。 例 如 , 停 止 模 式 前 , Timer_A 工 作 于 增 /减 计 数 模 式 并 且 处 于 下 降 计 数 方 向 , 停 止 模 式 后 , Timer_仍 然 工 作 于 增 /减 计 数 模 式 , 从 暂 停 前 的 状 态 开 始 继 续 沿 着 下 降 方 向 开 始 计 数 。 如 果 不 需 这 样 , 则 可 通 过 TACTL 中 的 CLR 控 制 位 来 清 除 定 时 器 的 方 向 记 忆 特 性 。 ( 2) 增 计 数 模 式 : 捕 获 /比 较 寄 存 器 CCR0 用 作 Timer_A 增 计 数 模 式 的 周 期 寄 存 器 , 因 为 CCR0 为 16 位 寄 存 器 , 所 以 该 模 式 适 用 于 定 时 周 期 小 于 65536 的 连 续 计 数 情 况 。 计 数 器 TAR 可 以 增 计 数 到 CCR0 的 值 , 当 计 数 值 与 CCR0 的 值 相 等 (或 定 时 器 值 大 于 CCR0 的 值 )时 , 定 时 器 复 位 并 从 0 开 始 重 新 计 数 。 增 计 数 模 式 的 计 数 过 程 如 图 4-2 所 示 。 通 过 改 变 CCR0 值 , 可 重 置 计 数 周 期 。 图 4-2 增 计 数 模 式 示 意 图 ( 3) 连 续 计 数 模 式 : 在 需 要 65536 个 时 钟 周 期 的 定 时 应 用 场 合 常 用 连 续 计 数 模 式 。 定 时 器 从 当 前 值 计 数 到 单 增 到 0FFFFH 后 , 又 从 0 开 始 重 新 计 数 如 图 4-3 所 示 。 图 4-3 连 续 计 数 模 式 ( 4) 增 /减 计 数 模 式 需 要 对 称 波 形 的 情 况 经 常 可 以 使 用 增 /减 计 数 模 式 , 该 模 式 下 , 定 时 器 先 增 计 数 到 CCR0 的 值 , 然 后 反 向 减 计 数 到 0。 计 数 周 期 仍 由 CCR0 定 义 , 它 是 CCR0 计 数 器 数 值 的 2 倍 。 计 数 器 的 计 数 过 程 如 图 4-4 所 示 。 图 4-4 增 /减 计 数 模 式 3 增 计 数 模 式 应 用 举 例 增 计 数 最 大 值 存 储 器 在 CCR0, 该 值 计 算 方 法 如 下 : 选 用 辅 助 时 钟 时 , ACLK 频 率 f=32768Hz, 周 期 T=1/32768, 若 选 用 250ms 中 断 , 则 CCR0 值 应 为 :1950N 转 换 成 十 六 进 制 数 后 N=2000( H) MSP430F413 单 片 机 定 时 器 A 构 成 的 时 钟 小 系 统 程 序 清 单 如 下 : /* * 文 件 名 称 : MSP413C 语 言 定 时 程 序 * 文 件 说 明 : 用 MSP430F413 定 时 器 A 作 为 定 时 中 断 源 。 */ #include /* * 文 件 说 明 : LCD 模 块 */ #define LCD_IN_USE 10 /* * 数 据 定 义 七 段 译 码 表 */ const unsigned char NUM_LCD17= 0xd7, 0x06, 0xe3, 0xa7, 0x36, /0 4 0xb5, 0xf5, 0x07, 0xf7, 0xb7, /5 9 0x77, 0xf4, 0xd1, 0xe6, 0xf1, / A E 0x71, 0x00; / F,全 熄 unsigned char lcd_BufLCD_IN_USE; / 自 定 义 显 示 缓 冲 区 , 用 于 要 显 示 的 数 据 unsigned int cont,y0,y1,y2; /秒 、 时 、 分 存 储 变 量 /* * LCD 模 块 初 始 化 */ void init_LCD(void) char tmpv; BTCTL = BT_fLCD_DIV32; / set LCD 时 钟 P5SEL = 0xfc; / 置 为 外 围 模 块 LCDCTL = LCDON+LCD4MUX+LCDP1; / 4Mux 模 式 for (tmpv = 0;tmpv void main(void) WDTCTL = WDTPW +WDTHOLD; / 关 WDT TACTL = TASSEL0 + TACLR; / ACLK, 清 零 Tar CCR0 = 512; / PWM 周 期 CCTL1 = OUTMOD_7; / CCR1 reset/set 模 式 CCR1 = 384; / CCR1 PWM 任 务 周 期 CCTL2 = OUTMOD_7; / CCR2 reset/set 模 式 CCR2 = 128; / CCR2 PWM 任 务 周 期 P1DIR |= 0x04; / P1.2 输 出 P1SEL |= 0x04; / P1.2 TA1 模 式 P2DIR |= 0x01; / P2.0 输 出 P2SEL |= 0x01; / P2.0 TA2 模 式 TACTL |= MC0; / 增 模 式 启 动 Timer_A for (;) _BIS_SR(LPM3_bits); / 进 入 LPM3 省 电 模 式 _NOP(); / C-spy 使 用 第 五 讲 直 流 电 机 控 制 与 电 动 小 车 制 作 一 、 直 流 电 机 驱 动 电 路 工 作 原 理 1) 直 流 电 机 转 向 原 理 直 流 电 机 一 般 采 用 H 桥 驱 动 电 路 , 如 图 5-1 所 示 。 Q1 Q2 Q3 Q4 2K R1 2K R2 2K R3 2K R4 2K R5 Q5 A-+1 2 U1A 3 4 U1B VDD A B PWM 图 5-1 直 流 电 机 驱 动 原 理 图 同 步 改 变 对 角 开 关 管 通 断 状 态 , 就 改 变 了 流 过 电 机 的 电 流 方 向 , 也 就 改 变 了 直 流 电 机 的 转 动 方 向 , 达 到 了 控 制 正 、 反 转 的 目 的 。 电 路 工 作 状 态 表 如 表 5-1 所 示 。 表 5-1H 桥 电 机 控 制 状 态 表 PWM A B 电 机 运 行 状 态 0 停 转 1 0 0 停 转 1 0 1 反 转 1 1 0 正 转 1 1 1 停 转 注 : “0”代 表 低 电 平 ; “1”代 表 高 电 平 。 由 表 5-1 可 知 , H 桥 电 路 将 电 机 转 动 方 向 控 制 转 化 为 A、 B 两 端 的 电 平 控 制 , 便 于 与 单 片 机 接 口 实 现 电 机 转 向 控 制 。 2) 直 流 电 机 转 速 控 制 原 理 控 制 直 流 电 动 机 所 加 电 压 即 可 控 制 电 机 转 速 。 直 接 调 整 图 5-1 中 直 流 电 机 所 加 电 压 VDD 虽 然 可 调 整 电 机 转 速 , 但 其 主 要 缺 点 是 效 率 低 。 为 了 提 高 效 率 , 通 常 采 用 占 空 比 可 调 矩 形 波 控 制 电 机 转 速 , 即 PWM( 脉 冲 宽 度 调 制 ) 波 调 速 。 PWM 信 号 示 意 如 图 5-2 所 示 , 图 中 T 为 设 定 的 脉 冲 周 期 , 在 驱 动 电 机 过 程 中 确 定 不 变 ; t 为 脉 冲 的 高 电 平 时 间 , 占 空 比 d = t /T。 将 其 加 于 图 5-1 电 路 的 PWM 端 , 电 机 转 速 与 PWM 信 号 占 空 比 成 正 比 。 图 5-2PWM 信 号 示 意 图 PWM 波 产 生 方 法 有 多 种 , 本 设 计 中 为 了 简 化 电 路 , 直 接 使 用 单 片 机 内 定 时 器 A 产 生 PWM 控 制 电 机 转 速 。 3) 电 机 驱 动 专 用 芯 片 L293D 简 介 图 5-1 所 示 H 桥 电 路 仅 是 原 理 电 路 , 要 转 化 为 实 用 电 路 还 要 做 许 多 工 作 , 因 此 实 际 应 用 中 很 少 采 用 。 L293D 是 集 成 电 路 芯 片 , 片 内 含 有 双 H 桥 驱 动 器 , 引 脚 图 如 图 5-3 所 示 。 输 入 小 电 流 控 制 信 号 , 输 出 高 电 压 、 大 电 流 驱 动 信 号 。 用 逻 辑 电 平 控 制 、 驱 动 感 性 负 载 ( 比 如 继 电 器 , 直 流 电 机 和 步 进 电 机 等 ) 。 通 过 改 变 芯 片 控 制 端 的 输 入 电 平 , 即 可 以 对 电 机 进 行 正 反 转 操 作 。 芯 片 具 有 1.2A 峰 值 输 出 电 流 通 道 , 使 用 简 易 便 。 其 额 定 工 作 电 流 为 1A, 最 大 可 达 1.5A, Vss 电 压 最 小 4.5V, 最 大 可 达 36V; Vs 电 压 最 大 值 也 是 36V。 L293D 是 16 引 脚 塑 料 封 装 , 中 间 的 4 个 引 脚 是 短 路 的 (为 了 散 热 ), L293D 的 Vss 和 Vs 电 源 端 可 分 别 接 入 芯 片 电 源 和 电 机 驱 动 电 源 。 图 5-3 L293D 引 脚 图 图 5-4 L293D 功 能 示 意 图 L293D 功 能 示 意 图 如 图 5-4 所 示 ( 对 应 20 引 脚 芯 片 ) 。 L293D 使 能 、 输 入 引 脚 和 输 出 引 脚 的 逻 辑 关 系 如 表 5-2 所 示 。 表 5-2 引 脚 和 输 出 引 脚 的 逻 辑 关 系 EN A( B) IN1( IN3) IN2( IN4) 电 机 运 行 情 况 H H L 正 转 H L H 反 转 H 同 IN2( IN4) 同 IN1( IN3) 快 速 停 止 L X X 停 止 H-桥 电 路 的 输 入 量 可 以 用 来 设 置 电 机 转 动 方 向 , 使 能 信 号 可 以 用 于 脉 宽 调 整 ( PWM) , 实 现 电 机 转 速 控 制 。 L293D 将 2 个 H-桥 电 路 集 成 到 1 片 芯 片 上 , 这 就 意 味 着 用 1 片 芯 片 可 以 同 时 控 制 2 个 直 流 电 机 。 每 1 个 直 流 电 机 需 要 3 个 控 制 信 号 EN1、 IN1、 IN2, 其 中 EN1 是 使 能 信 号 , IN1、 IN2 为 电 机 转 动 方 向 控 制 信 号 , IN1、 IN2 分 别 为 1, 0 时 , 电 机 正 转 , 反 之 , 电 机 反 转 。 选 用 一 路 PWM 连 接 EN1 引 脚 , 通 过 调 整 PWM 的 占 空 比 可 以 调 整 电 机 的 转 速 。 4) 直 流 电 机 驱 动 电 路 驱 动 电 路 如 图 5-5 所 示 , 单 片 机 PIO 端 口 线 P1.0、 P1.1 驱 动 光 电 隔 离 器 中 发 光 二 极 管 , 控 制 光 电 三 极 管 。 输 入 为 高 电 平 时 , 三 极 管 饱 和 导 通 , 反 之 截 止 。 当 P1.0 为 高 电 平 、 P1.1 位 低 电 平 时 , L293D 的 IN4 为 高 、 IN3 为 低 电 平 , OUT4 为 高 、 OUT3 位 低 电 平 , 电 机 正 转 ; 反 之 , 当 P1.0 位 低 、 P1.1 为 高 电 机 反 转 ; 当 P1.0、 P1.1 电 平 同 时 为 高 或 低 时 , 电 机 停 转 , 实 现 了 电 机 转 向 控 制 。 E2 是 OUT4、 OUT3 的 使 能 端 , 高 电 平 有 效 。 当 在 E2 端 加 PWM 信 号 时 , 可 实 现 调 速 。 高 速 转 动 对 应 的 PWM 信 号 占 空 比 为 1; 次 高 速 占 空 比 为 0.75; 中 速 转 动 占 空 比 为 0.5; 低 速 转 动 占 空 比 为 0.25。 PWM 信 号 由 MSP430F413 单 片 机 定 时 器 A 产 生 。 光 电 隔 离 器 在 传 送 信 号 同 时 实 现 了 电 平 转 换 , 将 高 电 压 ( 6-9V) 电 机 驱 动 电 路 与 低 电 压 ( 4.5V) 单 片 机 电 路 隔 离 , 消 除 了 干 扰 。 注 意 两 电 路 地 线 标 志 不 同 , 焊 接 时 不 能 连 接 。 U5 U6 U7 510 R4 510 R5 510R6 10K R15 10K R16 10K R17 VDD VSS IN4 OUT4 GND GND OUT3 INT3 E2 E1 IN1 OUT1 GND GND OUT2 IN2 VS L29 3D A - + M 动动动动动 VDD 1 23 4 1 23 4 1 23 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 P1.0 P1.1 P1.2/TA1 图 5-5 直 流 电 机 驱 动 电 路 二 、 直 流 电 机 控 制 系 统 硬 件 设 计 直 流 电 机 控 制 系 统 电 路 如 图 5-6 所 示 , 是 在 时 钟 小 系 统 基 础 上 加 入 直 流 电 机 驱 动 电 路 、 按 键 和 功 能 选 择 开 关 电 路 。 功 能 选 择 开 关 在 上 是 电 机 驱 动 功 能 , 在 下 是 时 钟 计 时 功 能 。 1 2 3276 8HzXTAL 500KR11 500KR9 500KR10 1KR2 100kR1 22pF C1 D1 DVcc 1P6.3 2 P6.4 3P6.5 4 P6.6 5P6.7 6 NC 7XIN 8 XOUT/TCLK 9NC 10 NC 11P5.1/S0 12 P5.0/S1 13P4.7/S2 14 P4.6/S3 15P4.5/S4 16 P4.4 /S5 17 P4.3 /S6 18 P4.2 /S7 19 P4.1 /S8 20 P4.0 /S9 21 P3.7 /S10 22 P3.6 /S11 23 P3.5 /S12 24 P3.4 /S13 25 P3.3 /S14 26 P3.2 /S15 27 P3.1 /S16 28 P3.0 /S17 29 P2.7 /S18 30 P2.6 /CA OUT /S19 31 P2.5 /S20 32 P2.4/S2133 P2.3/S22 34 P2.2/S2335 COM036 P5.2/COM1 37 P5.3/COM238 P5.4/COM339 R03 40 P5.5/R1341 P5.6/R2342 P5.7/R33 43 P2.144 P2.0/TA245 P1.7/CA1 46 P1.6/CA047 P1.5/TACLK/ACLK48 P1.4 49 P1.3 /SVS Out 50 P1.2 /TA 1 51 P1.1 /TA 0/M CLK 52 P1.0 /TA 0 53 TDO /TD I 54 TDI 55 TMS 56 TCK 57 RST /NM I 58 P6.0 59 P6.1 60 P6.2 61 AVs s 62 DVs s 63 AVc c 64 U1 24 22 23 18 17 21 20 19 MSP430F413 LCD _No .AC D-I9 013 COM0 COM1 COM2 COM3 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 S18 S19 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VCC S VCC 3.6V /RST (58) U5 U6 U7 510R4 510R5 510R6 10KR15 10KR16 10KR17 VDD VSS IN4 OUT 4 GND GN D OUT 3 INT 3 E2 E1 IN1 OUT 1 GND GND OUT 2 IN2 VS L293D A -+ M 动动 动动 动V DD 1 2 34 1 2 34 1 2 34 1 2 3 4 5 6 7 8 910111213141516 6V- 9V BT2 VDD P1.6 P1.7 P1.2 /TA 1 VCC SW1 SW2 SW3 SW4 10KRS1 10KRS2 10KRS3 10KRS4 P6.0 (59) P6.1 (60) P6.2 (61) P6.3 (2) S VCC P6.4 (3) 图 5-6 直 流 电 机 控 制 系 统 当 开 关 拨 到 时 钟 计 时 功 能 时 , 可 以 通 过 秒 、 分 、 时 三 个 按 键 来 调 节 时 钟 显 示 固 定 数 字 ,然 后 按 确 定 键 , 时 钟 便 可 以 在 设 定 时 间 的 基 础 上 开 始 计 时 , 另 外 还 可 以 按 左 侧 的 复 位 键 , 给时 钟 清 零 。 当 开 关 拨 到 电 机 驱 动 功 能 时 , 电 机 默 认 为 正 转 , 占 空 比 为 0.5, 然 后 通 过 按 键 可 分 别 实 现 : 占 空 比 为 1 的 正 转 , 占 空 比 为 0.5 的 正 转 , 占 空 比 为 0.5 的 反 转 , 占 空 比 为 1 的 反 转 。 注 意 由 于 按 键 的 局 限 性 , 实 现 电 机 以 上 四 种 旋 转 的 情 况 要 长 按 按 键 , 一 旦 松 手 电 机 将 按 默 认 的 占 空 比 为 0.5 的 正 传 旋 转 。 本 系 统 中 使 用 两 套 电 源 供 电 , 其 一 是 单 片 机 系 统 电 源 , 考 虑 到 时 钟 的 低 功 耗 , 使 用 3.6 伏 手 机 电 池 供 电 ; 其 二 是 直 流 电 机 电 源 , 直 流 电 机 工 作 时 比 较 耗 电 , 所 以 可 大 容 量 电 池 或 5V 直 流 电 源 供 电 。 5V 直 流 稳 压 电 源 电 路 如 图 5-7 所 示 。 7.5V220V 470uF/16VCs1 200uF/16VCs2 5V + - Vin Vout GND 7805 +- AC AC 图 5-7 直 流 稳 压 电 源 电 路 三 、 程 序 设 计 1) 电 机 控 制 程 序 直 流 电 机 变 速 驱 动 小 系 统 程 序 是 在 时 钟 小 系 统 程 序 基 础 上 增 加 了 相 应 的 初 始 化 和 电 机 驱 动 控 制 程 序 。 初 始 化 部 分 加 于 _EINT()语 句 之 后 , 电 机 驱 动 部 分 加 于 定 时 中 断 程 序 中 y0=y0+1 语 句 之 后 。 程 序 清 单 如 下 所 示 : /* * 文 件 名 称 : MSP413C 语 言 定 时 和 直 流 电 机 控 制 程 序 * 文 件 说 明 : 用 MSP413 看 门 狗 定 时 器 作 为 定 时 中 断 源 。 */ #include /* * 文 件 说 明 : LCD 模 块 */ #define LCD_IN_USE 10 /* * 数 据 定 义 七 段 译 码 表 */ const unsigned char NUM_LCD17= 0xd7, 0x06, 0xe3, 0xa7, 0x36, /0 4 0xb5, 0xf5, 0x07, 0xf7, 0xb7, /5 9 0x77, 0xf4, 0xd1, 0xe6, 0xf1, / A E 0x71, 0x00; / F,全 熄 unsigned char lcd_BufLCD_IN_USE; / 自 定 义 显 示 缓 冲 区 , 用 于 要 显 示 的 数 据 unsigned int cont,y0,y1,y2,s_num; /秒 、 时 、 分 存 储 变 量 /* * LCD 模 块 初 始 化 */ void init_LCD(void) char tmpv; BTCTL = BT_fLCD_DIV32; / set LCD 时 钟 P5SEL = 0xfc; / 置 为 外 围 模 块 LCDCTL = LCDON+LCD4MUX+LCDP1; / 4Mux 模 式 for (tmpv = 0;tmpv /* * 文 件 说 明 : 时 钟 与 直 流 电 机 控 制 程 序 */ #define LCD_IN_USE 10 /* * 数 据 定 义 七 段 译 码 表 */ const unsigned char NUM_LCD17= 0xd7, 0x06, 0xe3, 0xa7, 0x36, /0 4 0xb5, 0xf5, 0x07, 0xf7, 0xb7, /5 9 0x77, 0xf4, 0xd1, 0xe6, 0xf1, / A E 0x71, 0x00; / F,全 熄 unsigned char lcd_BufLCD_IN_USE; / 自 定 义 显 示 缓 冲 区 , 用 于 要 显 示 的 数 据 unsigned int cont,y0,y1,y2,flag,flag1; /秒 、 时 、 分 存 储 变 量 /* * LCD 模 块 初 始 化 */ void init_LCD(void) char tmpv; BTCTL = BT_fLCD_DIV32; / set LCD 时 钟 P5SEL = 0xfc; / 置 为 外 围 模 块 LCDCTL = LCDON+LCD4MUX+LCDP1; / 4Mux 模 式 for (tmpv = 0;tmpv10;tmpv+) LCDMEMtmpv = 0x00; /clear LCD /* * LCD 清 零 模 块 */ void cl_LCD(void) char tmpv; for (tmpv = 0;tmpv10;tmpv+) LCDMEMtmpv = 0x00; /clear LCD /* * 更 新 LCD 缓 冲 区 的 内 容 , 把 数 据 显 示 到 LCD */ void lcd_Display(void) char tmpv; lcd_Buf0=y2/10; lcd_Buf1=y2%10; lcd_Buf2=16; lcd_Buf3=y1/10; lcd_Buf4=y1%10; lcd_Buf5=16; lcd_Buf6=y0/10; lcd_Buf7=y0%10; lcd_Buf8=16; lcd_Buf9=16; for(tmpv=0;tmpvLCD_IN_USE-1;tmpv+) LCDMEMtmpv = NUM_LCDlcd_Buftmpv; /更 新 LCDMEM 中 的 内 容 /* *时 钟 计 数 */ void shizhong(void) cont=cont+1; if(cont=4) cont=0; y0=y0+1; /秒 加 1 if(y0=60) y0=0; y1=y1+1; /60 秒 为 1 分 ,分 加 1 if(y1=60) y1=0; y2=y2+1; /60 分 为 1 小 时 ,小 时 加 1 if(y2=24) y2=0 ; /24 小 时 再 清 零 cl_LCD(); lcd_Display(); _NOP(); /* *WDT 中 断 服 务 程 序 */ interruptWDT_VECTOR void watchdog_timer(void) unsigned int snum,s_num; snum = P6IN /P6.4 高 ( 1) 执 行 电 机 程 序 , 低 ( 0) 执 行 时 钟 程 序 if(snum=0) P1OUT=0; s_num = P6IN if(s_num!=0) flag=1; lcd_Display(); switch(s_num) case 1: y0+; if(y0=60) y0=0; lcd_Display(); /调 秒 break; case 2: y1+; if(y1=60) y1=0; lcd_Display(); /调 分 break; case 4: y2+; if(y2=24) y2=0; lcd_Display(); /调 时 break; case 8: flag=0; if(flag=0) shizhong(); else shizhong(); s_num = P6IN if(s_num!=0) switch(s_num) case 1: flag1=1; break; case 2: flag1=2; break; case 4: flag1=4; break; case 8: flag1=8; break; switch(flag1) case 0: P1OUT=0x7F; CCR1=255; break; /中 速 正 转 (默 认 状 态 ) case 1: P1OUT=0x7F; CCR1=511; break; /高 速 正 转 case 2: P1OUT=0x7F; CCR1=100; break; /低 速 正 转 case 4: P1OUT=0xBF; CCR1=100; break; /低 速 反 转 case 8: P1OUT=0xBF; CCR1=511; break; /高 速 反 转 /* *主 程 序 */ void main(void) WDTCTL = WDT_ADLY_250; / WDT 间 隔 时 间 为 250ms( ACLK) IE1 |= WDTIE; / 使 能 WDT 中 断 SCFQCTL |= SCFQ_4M; / 设 定 TA 时 钟 为 4MHz init_LCD(); P6DIR=0x0; /P6 输 入 P1DIR |= 0xC4; / P1.71.61.2 输 出 P1SEL |= 0x04; / P1.2 TA1 TACTL = TASSEL0 + TACLR; / ACLK, 清 除 TAR CCR0 = 512-1; / PWM 周 期 CCTL1 = OUTMOD_7; / 设 定 输 出 模 式 7 TACTL |= MC0; / Timer_A 增 计 数 模 式 _EINT(); / 使 能 中 断 cont=0; y0=0; y1=0; y2=0; flag=0; flag1=0; for (;) _BIS_SR(CPUOFF); /关 CPU _NOP(); / C-spy 使 用 四 、 MSP430F413 单 片 机 为 基 的 电 动 小 车 控 制 系 统 1) 电 动 小 车 结 构 为 了 便 于 控 制 , 电 动 小 车 采 用 三 轮 结 构 。 由 两 直 流 电 机 分 别 驱 动 的 主 动 轮 在 前 , 万 向 从 动 轮 在 后 。 左 转 时 , 左 轮 停 、 右 轮 向 前 转 ; 右 转 时 , 右 轮 停 、 左 轮 向 前 转 。 由 于 左 、 右 电 机 和 传 动 机 构 摩 擦 力 不 同 , 电 动 小 车 开 始 可 能 不 走 直 线 , 调 整 左 、 右 直 流 电 机 调 速 PWM 信 号 占 空 比 可 消 除 这 一 现 象 。 2) 电 动 小 车 电 路 设 计 电 动 小 车 电 路 如 图 5-9 所 示 。 3) 程 序 设 计 提 示 ( 1) 在 小 时 钟 程 序 中 加 入 5 秒 前 进 、 5 秒 左 转 、 5 秒 右 转 、 5 秒 后 退 和 10 秒 停 车 控 制 程 序 。 ( 2) 在 小 时 钟 程 序 中 加 入 5 秒 低 速 前 进 、 5 秒 中 速 前 进 、 5 秒 高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 庆阳中考题量数学试卷
- 2024年宿州市萧县大学生乡村医生专项计划招聘笔试真题
- 青岛版五上数学试卷
- 2024年马鞍山含山电子工程学校招聘教师笔试真题
- 南通小学小升初数学试卷
- 2024年桂林市城北小学教师招聘真题
- 南通如皋初一数学试卷
- 去年浙江联考数学试卷
- 嗯小升初数学试卷
- 求沪科版七上数学试卷
- JJF 1959-2021 通用角度尺校准规范 高清晰版
- 口腔预防医学第九章其他口腔疾病的预防
- 河北省医疗保险诊疗项目目录
- 三相异步电动机正反转说课课件
- (3.1.1)-野外地质工作安全(一)
- JJF 1117-2010计量比对
- FZ/T 01093-2008机织物结构分析方法织物中拆下纱线线密度的测定
- 压力管道安装许可规则-TSG D3001-2021
- 厨房设备备品备件及专用工具库
- 公共政策导论完整版课件全套ppt教学教程(最新)
- 公司爬架升降令
评论
0/150
提交评论