ASM 板


LINE

看板 ASM  RSS
我想来骗点p币,顺便跟大家一起讨论,以下是 ck1362 寄给我的部份内容: -----------------------------信件内容分隔线----------------------------------- 先假设有两只脚P1.0与P1.1 首先P1.0收到信号,这时计时器0开始执行上数的动作(从0000F开始) 接下来当P1.1收到信号时,执行中断程式(这里可能直接用INT0的外部中断来做) 而中断程式执行,对目前计时器0所计数出来的值作运算 也就是从接收到一个信号到另外一个信号发生为止 总共经过了多少的时间 而再将这时间给输出至七段显示器上作输出显示 所以目前的问题就是在计时器0所计时出来的东西 是分别由TH0与TL0所储存 而我现在不知道该如何将这两个数值给"合并" 如果依照十六进位转十进位的方法 可以用0000F=>16^3+16^2+16^1+16^0 这样来得到 但是我发现如果只是单纯的将两个暂存器分别乘上一个数 用MUX这指令...又会将值给分配到A跟B这两个暂存器..囧> 所以不知道有什麽方法可以解决这问题@@? -----------------------------我的想法分隔线----------------------------------- 我认为原po只是单纯想把16bits的值给显示到LED上而已,但不知道要如何合并, 例如将 0x162E 给显示成 5678,下面给出步骤。 首先要知道的是七段显示器只能显示到9,所以一个bytes的资料最多能显示到99 然後16bits最多能显示成65535,所以必须用3个bytes来储存值 MOV DEC01, #0 ; 个位和十位 MOV DEC23, #0 ; 百位和千位 MOV DEC4, #0 ; 万位 MOV TMP1, #0 ; 将 TH0 及 TL0 用三个bytes来存 MOV DEC01, TL0 MOV TMP1, TH0 CHECK_DEC01: MOV A, DEC01 CJNE A, #100, $+3 JC CHECK_TMP1 ; 若 DEC01<=99 则检查TMP1是否有值 SUBB A, #100 ; DEC01 - 100 ( C已为0 ) MOV DEC01, A ; 余数存回DEC01以便下次检查 INC DEC23 ; 百位数+1 CHECK_DEC23_P: ; 检查是否已超过最大千位数了 MOV A, DEC23 CJNE A, #100, $+3 JC CHECK_DEC01 ; 若 DEC23<=99 则继续检查 DEC01 SUBB A, #100 MOV DEC23, A INC DEC4 SJMP CHECK_DEC01 ; 继续检查 CHECK_TMP1: MOV A, TMP1 JZ CHECK_FINISH ; 若TMP1==0,则结束检查 INC DEC23 ; 百千位数先+1 DEC TMP1 ; 将TH0的值扣1,并加到DEC01上 MOV A, DEC01 CLR C ADD A, #156 ; 因为百千位数已先+1,故扣100 ; 原来是写成155,脑残…… MOV DEC01, A ; 之前还忘了存回去……OTZ SJMP CHECK_DEC01 CHECK_FINISH: ; 目前DEC01=0~99, DEC23=0~99, DEC4=0~6 ; 接下来只要将DEC01, DEC23, DEC4 转成BCD就可以 ; 显示了 -- 测试过了,结果正确,感谢MasterChang提醒,不过我是偷用KeilC 绝对有地方可以加速的,有空再想… -- 我是路人甲 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.247.44
1F:推 MasterChang:有时候,真不知道怎麽写,就用SDCC偷跑看看... 07/11 03:19
※ 编辑: ruemann 来自: 219.87.156.98 (07/11 09:29)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP