求51单片机定时计数程序

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:30:45
想要个这样的程序:定时10S,在这10S内累加单片机某一端口的高低电平的变化,当端口的电平高低变化一次时,计数器累加1,最后得出10S内高低电平变化的总数...(晶振是12M的)
上面那位大哥,怎么联系你啊?
我想要详细点的汇编程序
能给个QQ或其他具体点的联系方式吗?

ORG 000H
SJMP MAIN
ORG 000BH
AJMP ZH0

ORG 0050H

MAIN:MOV TMOD,#01010010B ;
ANL TH0,#06H ; 计数器0计数250次
ANL TL0,#06H
ANL TH1,#00H
ANL TL1,#00H
MOV R7,#200 ;外层循环数
MOV R6,#200 ; 内层循环数

ORL P3,#00001000B ;置int0为输入
SETB EA ; 开中断
SETB ET0 ; 开计数器0中断
SETB TR0 ; 计时器0开
SETB TR1 ; 计数器1开
SJMP $ ; 等待

ORG 0100H
ZH0:
DJNZ R6,EN ; 内层循环200次
MOV R6,#200 ;
DJNZ R7,EN ; 外层循环200次
MOV R7,#200 ;下次循环计数值
MOV A,TL1 ;
MOV P1,A
MOV A,TH1 ;
MOV P2,A ;
MOV TH1,#01H ;清零计数器1,以便下次计数
MOV TL1,#01H ;
EN:RETI ;中断返回
END
我是新手,自己编的程序,不符合要求还望体谅 可以一起讨论一下 我的qq:635965101

main()
{
int i,j,k;
bool bit;
bit=p3.0
for(i=1;i<=100;i++)
for(j=1;j<=25;j++) //2500*4
if(bit=1)<