搜索

程序疑惑

[复制链接]
562|13
 楼主 | 2020-3-25 15:05 | 显示全部楼层 | 奖励家园币|阅读模式
这样写延时函数有没有问题:
DELAY_ANYMS:
             LDR CN1,0
             STR TEMP1
             LDR CN2,0
             STR TEMP2
    DELAY_ANYMS_1:
         CLRWDT
         DECRSZ   TEMP1,1
         LJUMP    DELAY_ANYMS_1
         DECRSZ   TEMP2,1
         LJUMP    DELAY_ANYMS_1
         RET



能不能实现我改变CN1和CN2的值  改变延时时间,我试过没找到规律。
求大佬解答

使用特权

评论回复
 楼主 | 2020-3-25 15:44 | 显示全部楼层 | 奖励家园币

使用特权

评论回复
 楼主 | 2020-3-25 15:44 | 显示全部楼层 | 奖励家园币
有没有大佬来解答一手

使用特权

评论回复
| 2020-3-25 15:46 | 显示全部楼层 | 奖励家园币
你这是什么单片机呀

使用特权

评论回复
 楼主 | 2020-3-25 16:04 | 显示全部楼层 | 奖励家园币
叶春勇 发表于 2020-3-25 15:46
你这是什么单片机呀

FT60F02X  辉芒微的

使用特权

评论回复
| 2020-3-25 16:43 | 显示全部楼层 | 奖励家园币
西陆 发表于 2020-3-25 16:04
FT60F02X  辉芒微的

这个单片机有c语言的。

使用特权

评论回复
| 2020-3-25 17:06 | 显示全部楼层 | 奖励家园币
对汇编已经忘光了,目前都是用C

使用特权

评论回复
| 2020-3-26 09:09 | 显示全部楼层 | 奖励家园币
DECRSZ   TEMP1,1   
DECRSZ   TEMP2,1

操作的都是TEMP1、TEMP2,怎么会实现改变CN1和CN2的值  改变延时时间呢,有些疑惑。

使用特权

评论回复
 楼主 | 2020-3-26 09:34 | 显示全部楼层 | 奖励家园币
光轮TreeOS 发表于 2020-3-26 09:09
DECRSZ   TEMP1,1   
DECRSZ   TEMP2,1

是   实现:如果我改变  cn1,2的值  能不能 改变延时时间。

使用特权

评论回复
| 2020-3-26 15:37 | 显示全部楼层 | 奖励家园币
貌似不能,因为你判断的是TEMP1和TEMP2的值,改CN1、CN2和它有关系吗

使用特权

评论回复
| 2020-3-26 16:45 | 显示全部楼层 | 奖励家园币
  1.         MOVLW        0x0a
  2.         MOVWF        _cn1
  3.         MOVLW        0x14
  4.         MOVWF        _cn2
  5. _00114_DS_:
  6.         MOVF        _cn1,W
  7.         BTFSS        STATUS,2
  8.         GOTO        _00108_DS_
  9. _00111_DS_:
  10.         MOVF        _cn2,W
  11.         BTFSS        STATUS,2
  12.         GOTO        _00115_DS_
  13.         DECF        _cn2,F
  14.         GOTO        _00111_DS_
  15. _00115_DS_:
  16.         DECF        _cn1,F
  17.         GOTO        _00114_DS_

  18. /* c d代码 * /
  19. volatile unsigned char cn1=0,cn2=0;

  20. #define delay(A,B) {cn1=(A);cn2=(B);for(;cn1==0;cn1--) for(;cn2==0;cn2--);}
  21. void main (void)
  22. {
  23.         delay(10,20);
  24.         while(1);
  25. }
复制代码

使用特权

评论回复
 楼主 | 2020-3-30 10:26 | 显示全部楼层 | 奖励家园币

goto  _00108_ds_   这里报错

使用特权

评论回复
| 2020-3-30 11:41 | 显示全部楼层 | 奖励家园币
西陆 发表于 2020-3-30 10:26
goto  _00108_ds_   这里报错
  1.                 LDWI         AH                         //000B         2A0A
  2.                 ORG                000CH
  3.                 STR         40H                         //000C         01C0
  4.                 LDWI         14H                         //000D         2A14
  5.                 STR         41H                         //000E         01C1
  6.                 LJUMP         15H                         //000F         3815
  7.                 DECR         41H,1                         //0010         0DC1
  8.                 LDR         41H,0                         //0011         0841
  9.                 BTSC         STATUS,2                 //0012         1503
  10.                 LJUMP         10H                         //0013         3810
  11.                 ORG                0014H
  12.                 DECR         40H,1                         //0014         0DC0
  13.                 LDR         40H,0                         //0015         0840
  14.                 BTSC         STATUS,2                 //0016         1503
  15.                 LJUMP         11H                         //0017         3811
  16.                 LJUMP         18H                         //0018         3818
  17.                 LDR         43H,0                         //0019         0843
  18.                 STR         PCLATH                         //001A         018A
  19.                 SWAPR         42H,0                         //001B         0742
  20.                 ORG                001CH
  21.                 STR         STATUS                         //001C         0183
  22.                 SWAPR         7EH,1                         //001D         07FE
  23.                 SWAPR         7EH,0                         //001E         077E
  24.                 RETI                                         //001F         0009
  25.                 CLRR         STATUS                         //0020         0103
  26.                 LJUMP         0BH                         //0021         380B
  27.                         END
复制代码

使用特权

评论回复
| 2020-3-30 11:41 | 显示全部楼层 | 奖励家园币
这个c语言生成的代码的确没专用指令效率。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /2 下一条

在线客服 快速回复 返回顶部 返回列表