首页 msp430基础程序集合

msp430基础程序集合

举报
开通vip

msp430基础程序集合 1 ㈠ L E D 程 序 L E D 流 水 灯 实 验 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r u c h a r L e d D a t a = 0 x 8 0 ; / / 延 时 子 程 序...

msp430基础程序集合
1 ㈠ L E D 程 序 L E D 流 水 灯 实 验 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r u c h a r L e d D a t a = 0 x 8 0 ; / / 延 时 子 程 序 v o i d D e l a y M s ( u i n t m s ) { w h i l e ( m s - - ) { f o r ( u i n t i = 0 ; i < 8 0 0 ; i + + ) ; } } / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; _ D I N T ( ) ; / / 关 闭 中 断 P 2 S E L = 0 x 0 0 ; / / P 2 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 2 D I R = 0 x F F ; / / P 2 口 所 有 引 脚 设 置 为 输 出 方 向 w h i l e ( 1 ) { L e d D a t a > > = 1 ; / / 右 移 一 位 i f ( L e d D a t a = = 0 ) L e d D a t a = 0 x 8 0 ; P 2 O U T = L e d D a t a ; / / P 2 口 输 出 数 据 D e l a y M s ( 4 0 0 ) ; } } ㈡ D S Y 数 码 管 显 示 实 验 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u c h a r u n s i g n e d c h a r # d e f i n e u i n t u n s i g n e d i n t / / 共 阳 数 码 管 编 码 表 u c h a r C o d e [ 1 8 ] = { 0 x C 0 , 0 x F 9 , 0 x A 4 , 0 x B 0 , / / 0 , 1 , 2 , 3 0 x 9 9 , 0 x 9 2 , 0 x 8 2 , 0 x F 8 , / / 4 , 5 , 6 , 7 0 x 8 0 , 0 x 9 0 , 0 x 8 8 , 0 x 8 3 , / / 8 , 9 , A , b 0 x C 6 , 0 x A 1 , 0 x 8 6 , 0 x 8 E , / / C , d , E , F 0 x B F , 0 x F F } ; / / - , 全 灭 u c h a r B i t [ 8 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ; / / 数 码 管 各 位 显 示 的 数 字 u c h a r B i t C o d e = 0 x 8 0 ; / / 数 码 管 位 码 初 值 / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } / / 端 口 初 始 化 函 数 v o i d I n i t P o r t ( v o i d ) { P 2 S E L = 0 x 0 0 ; / / P 2 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 4 S E L = 0 x 0 0 ; / / P 4 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 2 D I R = 0 x F F ; / / P 2 口 所 有 引 脚 设 置 为 输 出 方 向 P 4 D I R = 0 x F F ; / / P 4 口 所 有 引 脚 设 置 为 输 出 方 向 P 2 O U T = 0 x 0 0 ; / / P 2 口 先 输 出 低 电 平 P 4 O U T = 0 x F F ; / / P 4 口 先 输 出 低 电 平 P 5 S E L & = ~ B I T 7 ; / / P 5 . 7 设 置 为 一 般 的 I O 口 P 5 D I R | = B I T 7 ; / / P 5 . 7 设 置 为 输 出 方 向 P 5 O U T & = ~ B I T 7 ; / / P 5 . 7 输 出 低 电 平 来 使 能 7 4 H C 5 7 3 来 驱 动 数 码 管 } / / 延 时 子 程 序 v o i d D e l a y M s ( u i n t m s ) { w h i l e ( m s - - ) { f o r ( u i n t i = 0 ; i < 8 0 0 ; i + + ) ; } } / / 数 码 管 扫 描 显 示 程 序 v o i d D i s p l a y ( v o i d ) { f o r ( u c h a r i = 0 ; i < 8 ; i + + ) { P 4 O U T = B i t C o d e ; / / 输 出 位 码 P 2 O U T = C o d e [ B i t [ i ] ] ; / / 输 出 段 码 B i t C o d e > > = 1 ; / / 位 码 右 移 一 位 i f ( B i t C o d e = = 0 ) B i t C o d e = 0 x 8 0 ; D e l a y M s ( 1 ) ; / / 延 时 1 m s P 2 O U T = 0 x F F ; } } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; I n i t P o r t ( ) ; _ D I N T ( ) ; / / 关 闭 中 断 w h i l e ( 1 ) { D i s p l a y ( ) ; } } ㈢ 4 * 4 矩 阵 键 盘 扫 描 实 验 功 能 : 在 数 码 管 上 显 示 输 入 的 值 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r u c h a r K e y V a l u e = 0 x F F ; / / 共 阳 数 码 管 编 码 表 u c h a r C o d e [ 1 8 ] = { 0 x C 0 , 0 x F 9 , 0 x A 4 , 0 x B 0 , / / 0 , 1 , 2 , 3 0 x 9 9 , 0 x 9 2 , 0 x 8 2 , 0 x F 8 , / / 4 , 5 , 6 , 7 0 x 8 0 , 0 x 9 0 , 0 x 8 8 , 0 x 8 3 , / / 8 , 9 , A , b 0 x C 6 , 0 x A 1 , 0 x 8 6 , 0 x 8 E , / / C , d , E , F 0 x B F , 0 x F F } ; / / - , 全 灭 u c h a r B i t [ 8 ] = { 1 6 , 1 6 , 1 6 , 1 6 , 1 6 , 1 6 , 1 6 , 1 6 } ; / / 数 码 管 各 位 要 显 示 的 数 字 / / 键 值 编 码 表 u c h a r K e y C o d e [ 1 6 ] = { 0 x 7 7 , 0 x 7 B , 0 x 7 D , 0 x 7 E , / / 0 , 1 , 2 , 3 0 x B 7 , 0 x B B , 0 x B D , 0 x B E , / / 4 , 5 , 6 , 7 0 x D 7 , 0 x D B , 0 x D D , 0 x D E , / / 8 , 9 , A , b 0 x E 7 , 0 x E B , 0 x E D , 0 x E E } ; / / C , d , E , F u c h a r B i t C o d e = 0 x 8 0 ; / / 数 码 管 位 码 初 值 / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } / / 端 口 初 始 化 函 数 v o i d I n i t P o r t ( v o i d ) { P 1 S E L = 0 x 0 0 ; / / P 1 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 1 D I R = 0 x 0 F ; / / P 1 . 0 P 1 . 1 P 1 . 2 P 1 . 3 设 置 为 输 出 方 向 P 1 O U T = 0 x 0 0 ; / / P 1 口 先 输 出 低 电 平 P 1 I E = 0 x F 0 ; / / P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 中 断 允 许 P 1 I E S = 0 x F 0 ; / / P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 下 降 沿 触 发 中 断 P 2 S E L = 0 x 0 0 ; / / P 2 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 4 S E L = 0 x 0 0 ; / / P 4 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 2 D I R = 0 x F F ; / / P 2 口 所 有 引 脚 设 置 为 输 出 方 向 P 4 D I R = 0 x F F ; / / P 4 口 所 有 引 脚 设 置 为 输 出 方 向 P 2 O U T = 0 x 0 0 ; / / P 2 口 先 输 出 低 电 平 P 4 O U T = 0 x F F ; / / P 4 口 先 输 出 低 电 平 P 5 S E L & = ~ B I T 7 ; / / P 5 . 7 设 置 为 一 般 的 I O 口 P 5 D I R | = B I T 7 ; / / P 5 . 7 设 置 为 输 出 方 向 P 5 O U T & = ~ B I T 7 ; / / P 5 . 7 输 出 低 电 平 来 使 能 7 4 H C 5 7 3 来 驱 动 数 码 管 } / / 延 时 子 函 数 v o i d D e l a y ( v o i d ) { f o r ( u c h a r i = 2 5 5 ; i > 0 ; i - - ) ; } / / 按 键 分 析 程 序 v o i d K e y P r o c e s s ( v o i d ) { u c h a r O u t D a t a = 0 x 0 7 ; f o r ( u c h a r i = 0 ; i < 4 ; i + + ) { / / 扫 描 4 列 O u t D a t a | = 0 x F 0 ; P 1 O U T = O u t D a t a ; i f ( P 1 I N ! = O u t D a t a ) K e y V a l u e = P 1 I N ; O u t D a t a > > = 1 ; } P 1 O U T = 0 x 0 0 ; / / 恢 复 原 来 的 值 } / / 端 口 1 中 断 处 理 程 序 # p r a g m a v e c t o r = P O R T 1 _ V E C T O R _ _ i n t e r r u p t v o i d P o r t 1 I N T ( v o i d ) { 2 D e l a y ( ) ; K e y P r o c e s s ( ) ; P 1 I F G = 0 x 0 0 ; / / 清 除 中 断 标 志 位 } / / 延 时 子 程 序 v o i d D e l a y M s ( u i n t m s ) { w h i l e ( m s - - ) { f o r ( u i n t i = 0 ; i < 8 0 0 ; i + + ) ; } } / / 数 码 管 扫 描 显 示 程 序 v o i d D i s p l a y ( v o i d ) { f o r ( u c h a r i = 0 ; i < 1 6 ; i + + ) { / / 查 找 键 值 对 应 的 数 字 i f ( K e y V a l u e = = K e y C o d e [ i ] ) { B i t [ 0 ] = B i t [ 1 ] = B i t [ 2 ] = B i t [ 3 ] = B i t [ 4 ] = B i t [ 5 ] = B i t [ 6 ] = B i t [ 7 ] = i ; / / 显 示 键 值 对 应 的 数 字 b r e a k ; } } f o r ( u c h a r i = 0 ; i < 8 ; i + + ) { P 4 O U T = B i t C o d e ; / / 输 出 位 码 P 2 O U T = C o d e [ B i t [ i ] ] ; / / 输 出 段 码 B i t C o d e > > = 1 ; / / 位 码 右 移 一 位 i f ( B i t C o d e = = 0 ) B i t C o d e = 0 x 8 0 ; D e l a y M s ( 1 ) ; / / 延 时 1 m s P 2 O U T = 0 x F F ; } } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; I n i t P o r t ( ) ; _ E I N T ( ) ; / / 打 开 中 断 w h i l e ( 1 ) { D i s p l a y ( ) ; } } ㈣ 定 时 器 A 中 断 实 验 功 能 : 定 时 器 A 中 断 , L E D 右 移 1 位 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r u c h a r L e d D a t a = 0 x 8 0 ; u c h a r n u m = 1 0 ; / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } / / 定 时 器 A 初 始 化 v o i d I n i t T i m e r A ( v o i d ) { T A C T L = T A S S E L 1 + I D 1 + I D 0 + M C 0 + T A C L R ; / / 选 择 1 / 8 S M C L K 增 计 数 清 除 T A R C C T L 0 = C C I E ; / / C C R 0 中 断 允 许 比 较 模 式 C C R 0 = 1 0 0 0 0 ; / / 时 间 间 隔 1 0 m s } / / 定 时 器 A 中 断 # p r a g m a v e c t o r = T I M E R A 0 _ V E C T O R _ _ i n t e r r u p t v o i d T i m e r A I N T ( v o i d ) { n u m - - ; i f ( n u m = = 0 ) { L e d D a t a > > = 1 ; / / 右 移 一 位 i f ( L e d D a t a = = 0 ) L e d D a t a = 0 x 8 0 ; P 2 O U T = L e d D a t a ; / / P 2 口 输 出 数 据 n u m = 1 0 ; } } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; I n i t T i m e r A ( ) ; _ E I N T ( ) ; / / 关 闭 中 断 P 2 S E L = 0 x 0 0 ; / / P 2 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 2 D I R = 0 x F F ; / / P 2 口 所 有 引 脚 设 置 为 输 出 方 向 w h i l e ( 1 ) ; } ㈤ 蜂 鸣 器 报 警 实 验 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r # d e f i n e S P K _ H I G H P 5 O U T | = B I T 6 # d e f i n e S P K _ L O W P 5 O U T & = ~ B I T 6 u c h a r F l a g = 0 ; / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } / / m s 级 延 时 子 程 序 v o i d D e l a y M s ( u i n t m s ) { w h i l e ( m s - - ) { f o r ( u i n t i = 0 ; i < 8 0 0 ; i + + ) ; } } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; _ E I N T ( ) ; / / 关 闭 中 断 P 5 D I R | = B I T 6 ; / / P 5 . 6 引 脚 设 置 为 输 出 方 向 w h i l e ( 1 ) { S P K _ H I G H ; D e l a y M s ( 1 5 0 ) ; S P K _ L O W ; D e l a y M s ( 1 5 0 ) ; } ; } ㈥ D S 1 8 B 2 0 温 度 测 量 实 验 功 能 : 在 数 码 管 上 显 示 当 前 D S 1 8 B 2 0 测 到 的 温 度 小 数 部 分 为 4 位 , 温 度 为 负 时 , 最 高 位 显 示 " - " 测 量 范 围 : - 5 5 ℃ ~ + 1 2 5 ℃ # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r # d e f i n e D Q _ O U T P 3 D I R | = B I T 0 # d e f i n e D Q _ I N P 3 D I R & = ~ B I T 0 # d e f i n e D Q _ L O W P 3 O U T & = ~ B I T 0 # d e f i n e D Q _ H I G H P 3 O U T | = B I T 0 # d e f i n e D Q _ D A T A P 3 I N & B I T 0 / / 共 阳 数 码 管 编 码 表 u c h a r C o d e [ 1 8 ] = { 0 x C 0 , 0 x F 9 , 0 x A 4 , 0 x B 0 , / / 0 , 1 , 2 , 3 0 x 9 9 , 0 x 9 2 , 0 x 8 2 , 0 x F 8 , / / 4 , 5 , 6 , 7 0 x 8 0 , 0 x 9 0 , 0 x 8 8 , 0 x 8 3 , / / 8 , 9 , A , b 0 x C 6 , 0 x A 1 , 0 x 8 6 , 0 x 8 E , / / C , d , E , F 0 x B F , 0 x F F } ; / / - , 全 灭 u c h a r B i t [ 8 ] = { 1 7 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ; / / 数 码 管 各 位 显 示 的 数 字 u c h a r B i t C o d e = 0 x 8 0 ; / / 数 码 管 位 码 初 值 u c h a r M S B ; / / 温 度 高 字 节 u c h a r L S B ; / / 温 度 低 字 节 i n t t 1 = 0 ; / / 温 度 整 数 部 分 数 值 u i n t t 2 = 0 ; / / 温 度 小 数 部 分 数 值 u c h a r f l a g ; / / 负 温 度 标 志 / / 时 钟 初 始 化 函 数 v o i d I n i t C l o c k ( v o i d ) { B C S C T L 1 = R S E L 2 + R S E L 1 + R S E L 0 ; / / X T 2 开 启 L F X T 1 工 作 在 低 频 模 式 A C L K 不 分 频 最 高 的 标 称 频 率 D C O C T L = D C O 2 + D C O 1 + D C O 0 ; / / D C O 为 最 高 频 率 d o { I F G 1 & = ~ O F I F G ; / / 清 除 振 荡 器 失 效 标 志 f o r ( u i n t i = 2 5 5 ; i > 0 ; i - - ) ; } w h i l e ( I F G 1 & O F I F G ) ; / / 判 断 X T 2 是 否 起 振 B C S C T L 2 = S E L M 1 + S E L S ; / / M C L K S M C L K 时 钟 源 为 T X 2 C L K 不 分 频 } / / 端 口 初 始 化 函 数 v o i d I n i t P o r t ( v o i d ) { P 2 S E L = 0 x 0 0 ; / / P 2 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 4 S E L = 0 x 0 0 ; / / P 4 口 所 有 引 脚 设 置 为 一 般 的 I O 口 P 2 D I R = 0 x F F ; / / P 2 口 所 有 引 脚 设 置 为 输 出 方 向 P 4 D I R = 0 x F F ; / / P 4 口 所 有 引 脚 设 置 为 输 出 方 向 3 P 2 O U T = 0 x 0 0 ; / / P 2 口 先 输 出 低 电 平 P 4 O U T = 0 x F F ; / / P 4 口 先 输 出 低 电 平 P 5 S E L & = ~ B I T 7 ; / / P 5 . 7 设 置 为 一 般 的 I O 口 P 5 D I R | = B I T 7 ; / / P 5 . 7 设 置 为 输 出 方 向 P 5 O U T & = ~ B I T 7 ; / / P 5 . 7 输 出 低 电 平 来 使 能 7 4 H C 5 7 3 来 驱 动 数 码 管 } / / m s 级 延 时 子 程 序 v o i d D e l a y M s ( u i n t m s ) { w h i l e ( m s - - ) { f o r ( u i n t i = 0 ; i < 8 0 0 ; i + + ) ; } } / / 数 码 管 扫 描 显 示 程 序 v o i d D i s p l a y ( v o i d ) { f o r ( u c h a r i = 0 ; i < 8 ; i + + ) { P 4 O U T = B i t C o d e ; / / 输 出 位 码 i f ( i = = 3 ) { / / 输 出 段 码 , 如 果 第 三 位 显 示 小 数 点 P 2 O U T = C o d e [ B i t [ i ] ] & 0 x 7 F ; } e l s e { P 2 O U T = C o d e [ B i t [ i ] ] ; } B i t C o d e > > = 1 ; / / 位 码 右 移 一 位 i f ( B i t C o d e = = 0 ) B i t C o d e = 0 x 8 0 ; D e l a y M s ( 1 ) ; / / 延 时 1 m s P 2 O U T = 0 x F F ; } } / / 1 0 u s 级 延 时 子 程 序 v o i d D e l a y u s ( u i n t u s ) { w h i l e ( u s - - ) { f o r ( u i n t i = 0 ; i < 8 ; i + + ) ; } } / / 初 始 化 D S 1 8 B 2 0 v o i d D S 1 8 B 2 0 I n i t ( v o i d ) { D Q _ O U T ; / / 设 置 为 输 出 方 向 D Q _ L O W ; / / 拉 低 总 线 D e l a y u s ( 5 0 ) ; D Q _ H I G H ; / / 释 放 总 线 D e l a y u s ( 6 ) ; D Q _ I N ; / / 设 置 为 输 入 方 向 w h i l e ( D Q _ D A T A ) ; / / 等 待 应 答 信 号 w h i l e ( ~ D Q _ D A T A ) ; / / 等 待 释 放 总 线 } / / 读 一 个 字 节 u c h a r R e a d B y t e ( v o i d ) { u c h a r i ; u c h a r R e a d D a t a = 0 ; f o r ( i = 0 ; i < 8 ; i + + ) { D Q _ O U T ; D Q _ L O W ; R e a d D a t a > > = 1 ; D Q _ H I G H ; D e l a y u s ( 1 ) ; D Q _ I N ; i f ( D Q _ D A T A ) R e a d D a t a | = 0 x 8 0 ; D e l a y u s ( 6 ) ; } r e t u r n R e a d D a t a ; } / / 写 一 个 字 节 W r i t e B y t e ( u c h a r W r i t e D a t a ) { u c h a r i ; u c h a r t m p D a t a ; f o r ( i = 0 ; i < 8 ; i + + ) { t m p D a t a = W r i t e D a t a & 0 x 0 1 ; W r i t e D a t a > > = 1 ; D Q _ O U T ; D Q _ L O W ; i f ( t m p D a t a ) { D Q _ H I G H ; } e l s e { D Q _ L O W ; } D e l a y u s ( 5 ) ; D Q _ H I G H ; } } / / 温 度 计 算 程 序 v o i d G e t T ( ) { i f ( ( M S B & 0 x F 0 ) > 0 ) { / / 判 断 是 否 为 负 温 度 f l a g = 1 ; } e l s e { f l a g = 0 ; } i f ( f l a g ) { / / 如 果 为 负 温 度 取 反 加 1 M S B = ~ M S B ; L S B = ~ L S B + 1 ; } t 1 = M S B < < 4 ; / / 得 到 温 度 整 数 部 分 t 1 | = ( L S B > > 4 ) ; t 2 = ( L S B & 0 x 0 F ) * 0 . 0 6 2 5 * 1 0 0 0 0 ; / / 得 到 温 度 小 数 部 分 并 扩 大 1 0 0 0 0 倍 / / 计 算 各 位 数 码 管 要 显 示 的 数 值 i f ( f l a g ) { B i t [ 1 ] = 1 6 ; / / 如 果 为 负 温 度 则 显 示 " - " } e l s e { B i t [ 1 ] = t 1 / 1 0 0 ; } B i t [ 2 ] = t 1 % 1 0 0 / 1 0 ; B i t [ 3 ] = t 1 % 1 0 ; B i t [ 4 ] = t 2 / 1 0 0 0 ; B i t [ 5 ] = t 2 % 1 0 0 0 / 1 0 0 ; B i t [ 6 ] = t 2 % 1 0 0 / 1 0 ; B i t [ 7 ] = t 2 % 1 0 ; } v o i d m a i n ( ) { W D T C T L = W D T P W + W D T H O L D ; / / 关 闭 看 门 狗 I n i t C l o c k ( ) ; I n i t P o r t ( ) ; _ D I N T ( ) ; / / 关 闭 中 断 w h i l e ( 1 ) { D S 1 8 B 2 0 I n i t ( ) ; W r i t e B y t e ( 0 x C C ) ; / / 跳 过 R O M 配 置 W r i t e B y t e ( 0 x 4 4 ) ; / / 启 动 温 度 转 换 D S 1 8 B 2 0 I n i t ( ) ; W r i t e B y t e ( 0 x C C ) ; W r i t e B y t e ( 0 x B E ) ; / / 读 温 度 寄 存 器 L S B = R e a d B y t e ( ) ; / / 读 温 度 数 据 低 字 节 M S B = R e a d B y t e ( ) ; / / 读 温 度 数 据 高 字 节 G e t T ( ) ; / / 计 算 温 度 D i s p l a y ( ) ; } } ㈦ D S 1 3 0 2 实 时 时 钟 实 验 功 能 : 在 数 码 管 上 显 示 从 D S 1 3 0 2 读 取 的 时 间 日 期 星 期 数 据 时 间 格 式 : 时 - 分 - 秒 日 期 格 式 : 年 月 日 - 星 期 C 键 : 选 择 显 示 时 间 还 是 日 期 D 键 : 循 环 选 择 所 要 编 辑 的 位 E 键 : 编 辑 的 位 的 数 值 加 1 F 键 : 编 辑 的 位 的 数 值 减 1 # i n c l u d e " m s p 4 3 0 x 1 4 x . h " # d e f i n e u i n t u n s i g n e d i n t # d e f i n e u c h a r u n s i g n e d c h a r # d e f i n e S C L K _ H I G H P 3 O U T | = B I T 3 # d e f i n e S C L K _ L O W P 3 O U T & = ~ B I T 3 # d e f i n e R S T _ H I G H P 3 O U T | = B I T 1 # d e f i n e R S T _ L O W P 3 O U T & = ~
本文档为【msp430基础程序集合】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_653891
暂无简介~
格式:doc
大小:716KB
软件:Word
页数:0
分类:互联网
上传时间:2013-10-10
浏览量:23