导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:这个程序改成C51怎么写,偶只会汇编[风归去]

 *第6299篇: C51编程:这个程序改成C51怎么写,偶只会汇编

  
楼 主:风归去 2002年11月15日16:42
 C51编程:这个程序改成C51怎么写,偶只会汇编
最近学习C51。请教大侠门。
我只学过汇编这样编程。改成C51怎么编?


;测量外部脉冲周期
   CLR TR0
   MOV TL0,#0
   MOV TH0,#0
   MOV R0,#100
T00:JNB P_16,T00 
T01:JB P_16,T01
   SETB TR0
T02:JNB P_16,T02
T03:JB P_16,T03 
DJNZ R0,T02 ;然后处理TL0,TH0
偶才学习C51。不知道这个循环怎么编。请教各位大侠

  
2楼:error 2002年11月15日16:46
 这么学可不太好!还是先找本书好好看看吧!^_^
  
3楼:风归去 2002年11月15日16:49
 就是在看书学循环啊。可是一直搞不明白这种循环怎么编。请教大侠
  
4楼:liuliguo78 2002年11月15日17:26
 您的程序对吗?
P_16应该是P1_6吧
  
5楼:error 2002年11月15日17:31
 最近心情不悦不愿工作和你聊聊^_^
在你的汇编程序中看到你的脉冲周期很短,所以用c51编程来测是错误的,因为一个while和一
个for循环都毫时不少(几到十几us取决与你的工作频率)除非你再去分析它的编译后汇编代
码!^_^
不过我还给你翻译为C51了,哈哈,可能除了在为money and house烦恼的我有闲心给你翻译外
不会有别人了,^_^
有错误,后果自负,^_^
#include "reg51.h"

sbit Pulse  = P1^0;//假设脉冲入口为P1.0

void main(void)
{
    unsigned char  i;
    TR0=0;                    //STOP T0
    TL0=0x00;                //CLEAR 
    TH0=0x00;
    while(Pulse==0);
    while(Pulse==1);        //等待脉冲的起始
    TR0=1;                    //开始计时
    for(i=0;i<100;i++)        //累计100个脉冲周期
    {    
        while(Pulse==0);
        while(Pulse==1);

    }
    //处理
}


>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:参加嵌入试系统研讨会之感!!

[下一篇主题]:初学者:求救