佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 2477|回复: 3

[求助]PIC BASIC PRO - 2's compliment 的编辑方式

[复制链接]
发表于 14-3-2010 12:35 AM | 显示全部楼层 |阅读模式
本帖最后由 tjtan81 于 14-3-2010 12:40 AM 编辑

i. 你要想做什么? 你的应用是什么?
想做个显示器,显示学生比赛的赛果。答对加三分;答错减一分
ii. 你想要拿到什么效果
成绩可以是正值或负值。
iii. 你做了什么
可以说已完成70%,朋友该 REQUIREMENT,今天测试时才发现问题。
iv. 你遇到了什么问题。
现在暂时设定成绩是 -99 至 +199(之前是 -99 至 99)。用到 2's compliment。我的 CODING 成功显示/计算正与负值,问题出现在于当我本来的 VALUE 是 NEGATIVE 而在特定的分数要加分时,分数会直跳 POSITIVE VALUE,而不是正确的 VALUE,相反的,当 certain +VALUE 减分是,+VALUE 会变 NEGATIVE。Eg:-90+1,成绩应该是 -89 但我的 code 却显示 POSITIVE VALUE.
v. 你用什么MCU?
PIC 16F877(主机-做计算) + PIC 16F84(旧的,显示成绩,几个队伍就几个板)。 用 SERIN2 & SEROUT2 做联系。
vi. 你用什么语言? ASM /C/PICBasic/Keil?Compiler 版本?
Pic Basic Pro 2.45
vii. 有源码吗? 如是抄来的请注明出处, 请放链接。
主要 2's compliment 的 code:
IF ((counter1 & %10000000) == $80) Then
        n_value = 1
        value = counter1 ^ %11111111
        value = value + 1
        GoSub bin2seg
ENDIF      
本想 CHECK STATUS.0(CARRY BIT)[不知对不对,不对请指教]但一直都失败了,所以就想用以上的方法。(本来的成绩是 -99 to 99,所以以上的 CODE 是没问题的,但过后却加到要 200 分,所以现在在头疼要怎么写)
现在 +value>128, 成绩会变成 negative,就连 negative value 要加分时都有问题。
viii. 有电路图吗?
还没画出来。
ix. 你google 了吗? 你的搜索关键字是什么?
google 了,搜索 2's compliment/programming method.....
x. 有照片证明你做的东西吗?还是只是概念性的空谈?
现在还没,但若有需要,近期会 POST 上来。

谢谢各位。

评分

参与人数 1积分 +30 收起 理由
fritlizt + 30

查看全部评分

回复

使用道具 举报


ADVERTISEMENT

发表于 14-3-2010 09:48 AM | 显示全部楼层
回复 1# tjtan81


   

counter1 你用8bits variable?
换去16bits.

如果是c program. 直接declare 成signed int/short就可以了。自动2's compliment.
basic没有吗?
回复

使用道具 举报

 楼主| 发表于 14-3-2010 10:19 AM | 显示全部楼层
回复  tjtan81
counter1 你用8bits variable?
换去16bits.

如果是c program. 直接declar ...
fritlizt 发表于 14-3-2010 09:48 AM


哈哈,也对,就那么简单,谢谢谢谢~~
太久没做 FIRMWARE CODING,做起来还真吃力。。。

对,PIC BASIC PRO 是没 SIGNED INTEGER 的。
回复

使用道具 举报

发表于 14-3-2010 11:05 AM | 显示全部楼层
回复 3# tjtan81


   
问题很仔细。这样就可以比较快看得出你的问题在哪里。
很好。 模范贴之一。

既然没有16bits sign,你要在coding下苦功咯。。。呵呵。加油。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-4-2024 10:50 PM , Processed in 0.065464 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表