这个问题是关于记数器的;下面是我的程序 org 0 jmp start org 30h start: mov a,#0 mov p1,#0 ;========赋初值完毕======= mov tmod,#01010001b ;==========选择记数器====== mov th1,#0 mov tl1,#0 ;===========给计数器初值============= setb tr1;开计数器。 jb p3.3,$ clr tr1;如果P3.3口为低那么就停止记数,并关闭计数器。 ;============shuchu======== mov a,tl da a mov p1,a call delay ;========延时==== delay: mov r5,#5 d1: mov r7,#250 d2: mov r6,#200 djnz r6,$ djnz r7,d2 djnz r5,d1 ret end 我用单脉冲给t0口信号,如果p3.3口变低则停止记数并把所记数的值直接用实验箱子上的7个指示灯显示记数值. 但是在做的过程中我发现没记数.望高手帮我分析哈原因!(在做接口实验的时候我也遇到相同的情况,也是无法给芯片赋值后来检查是给的地址口不对,我觉得这个实验可能是我用错了信号输入口,但是我改用t1口的时候也是相同的情况,并没有我想要显示直;我把单脉冲换成信号发生器所产生的信号也不行.) |