佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1241|回复: 5

PIC(MPLAB) counting even 的小问题

[复制链接]
发表于 2-11-2007 09:08 PM | 显示全部楼层 |阅读模式
各位大大。。。
请教教我。。。
我现在用asm code 写 PIC 16F877a 的 code
code 如下:

.
.
.
movlw   d'255'
movwf    count_1

p_x:          movlw    b'00000110'
                movwf    PORTB
                call    delay_1
                movlw    b'00000000'
                movwf    PORTB
                call    delay_1
                decfsz    count_1,f
                goto     p_x
                return

以上是其中一个part, 我的counting event 只能做到最多255而已,
请问有什么方法能让我的counting 多过 255?
比如 count 到多过 1000,2000....
先谢谢大家的帮忙咯。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 2-11-2007 09:26 PM | 显示全部楼层
原帖由 jason86 于 2-11-2007 09:08 PM 发表
各位大大。。。
请教教我。。。
我现在用asm code 写 PIC 16F877a 的 code
code 如下:

.
.
.
movlw   d'255'
movwf    count_1

p_x:          movlw    b'00000110'
                movwf    P ...


你可以用一个以上的 variable 来做啊!

                movlw   d'255'
                movwf   count_2
p_x1:
                movlw   d'255'
                movwf    count_1

p_x2:           movlw    b'00000110'
                movwf    PORTB
                call    delay_1
                movlw    b'00000000'
                movwf    PORTB
                call    delay_1
                decfsz    count_1,f
                goto     p_x2
                decfsz    count_2,f
                goto     p_x1
                return

这样你就可以制造 65535 个回路(loop) 了。
回复

使用道具 举报

发表于 2-11-2007 09:30 PM | 显示全部楼层

回复 #1 jason86 的帖子

http://chinese.cari.com.my/myfor ... &extra=page%3D1

看这贴该会帮到你吧...
回复

使用道具 举报

 楼主| 发表于 2-11-2007 09:35 PM | 显示全部楼层
原帖由 rothmans 于 2-11-2007 09:26 PM 发表


你可以用一个以上的 variable 来做啊!

                movlw   d'255'
                movwf   count_2
p_x1:
                movlw   d'255'
                movwf    count_1

p_x2:       ...


如果像您讲这样,为什么是 65535 呢?
不是255x255=65025 吗?
如果用以上的code,那么counting event 要得到 1050 的话呢?
count 方面该怎么办?
回复

使用道具 举报

 楼主| 发表于 2-11-2007 09:43 PM | 显示全部楼层
原帖由 PenBrush 于 2-11-2007 09:30 PM 发表
http://chinese.cari.com.my/myforum/viewthread.php?tid=1005343&extra=page%3D1

看这贴该会帮到你吧...


其实我有参考过你的帖,不过就是不很明白。。。
所以就开帖问咯。。。
我会在慢慢参考的,谢谢咯
回复

使用道具 举报

发表于 2-11-2007 09:43 PM | 显示全部楼层
原帖由 jason86 于 2-11-2007 09:35 PM 发表


如果像您讲这样,为什么是 65535 呢?
不是255x255=65025 吗?
如果用以上的code,那么counting event 要得到 1050 的话呢?
count 方面该怎么办?


255 * 255 的确是 65025, 不过你得要记得,255 数到 0 是 256 而不是 255。

我只是给个例子罢了!你就转变下.

210*5=1000。就如以上说的,必须减一才能得到一千。。

[ 本帖最后由 rothmans 于 2-11-2007 11:00 PM 编辑 ]
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


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

GMT+8, 11-1-2025 10:29 PM , Processed in 0.125187 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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