标题: 单片机计脉冲问题 [打印本页]

作者: Great88    时间: 2015-9-26 09:16
标题: 单片机计脉冲问题
哪位大神可以帮我改下程序,设一个变量,让单片机每计64个脉冲,变量值加 0.01,然后在液晶屏上显示  (下面的这段程序是计脉冲个数然后显示脉冲数,计满256个后又从0开始计,显示屏是12864)求帮忙改下程序实现我需要的功能,本人实在是很菜,求大神帮忙

/**********定时器初始化程序***************/
void T0T1_init()
{
        EA=1;      //全局中断打开
        ET0=1;      // 打开T0中断
        TMOD=0x51;        //T1计数,T0定时,工作方式1
        TH0=(65536-50000)/256;      //T0高8位初值        
        TL0=(65536-50000)%256;      //低8位初值
        TL1=0;             //T1初值为0
        TH1=0;
        TR0=1;           //GATA=0时,TR0=1启动T0
        TR1=1;          //启动T1                  

}

void main()
{
uchar j,maichong;
c lear(0);
init(j);
T0T1_init();
while(1)
        {        
               TR0=0  ; //关闭T0
                t0=0;
                maichong=TH1+TL1;         //脉冲个数
                show8(0,0,1,num[maichong/100]);         //12864液晶屏显示
                show8(0,8,1,num[maichong/10%10]);
                show8(0,16,1,num[maichong%10]);
                TR0=1;
        }
}
//定时器中断
void zhongduan(void) interrupt 1
{
        
        TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
          t0++;
}


作者: Great88    时间: 2015-9-26 13:43
求助!!!!!!
作者: 无量寿经    时间: 2015-9-26 22:56
下面程序来源于《51单片机轻松入门-基于STC15W4K系列》,可参考。
例3.16  对外部信号计数,每6次计数中断使P0.0取反一次,当使用配套实验板时,由1号单片机的P5.4向2号单片机的T0(P3.4)送入计数脉冲。
#include "STC15W4K.H"       // 包含 "STC15W4K.H"寄存器定义头文件
sbit    P0_0=P0^0;
void main()
{   
    P1=0xff;              // 关闭P0口接的所有灯
    TMOD=0x04;            // 确定计数工作模式为T0_16位自动重装计数。
    TH0=0xff;
    TL0=0xfa;             // 定时初值为65530
    EA=1;
    ET0=1;      
    TR0=1;                // 计数器T0开始运行
    while(1);
}
void Timer0() interrupt 1
{      
    P0_0=~P0_0;             //执行灯亮或灭的动作
}


作者: Great88    时间: 2015-9-29 09:49
无量寿经 发表于 2015-9-26 22:56
下面程序来源于《51单片机轻松入门-基于STC15W4K系列》,可参考。例3.16  对外部信号计数,每6次计数中断使 ...

感谢帮助。
作者: sososo    时间: 2016-5-13 13:03
前排观望,我也想知道,大神快来解答




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1