📄 counter1.sdi
字号:
,,,;这是一个利用T0进行工件计数的例子
,,,;系统的晶振频率12MHz,工件计数脉冲加到T0的输入端,T1做定时器,
,,,;每隔一秒钟检测了一次T0中的计数值,当检测到100个工件数时,
,,,;使P1.0端口输出信号变反。
,,, ORG 0
0000,75 89 16,, MOV TMOD,#16H ;T1方式1,定时器。T0方式2,计数
0003,75 8B B0,, MOV TL1,#0B0H
0006,75 8D 3C,, MOV TH1,#3CH ;T1定时50ms
0009,75 8A 9C,, MOV TL0,#156 ;T0计数100次的初值
000C,75 8C 9C,, MOV TH0,#156
000F,7F 14,, MOV R7,#20 ;软件计数20次,为一秒钟
0011,C2 AF,, CLR EA ;关中断
0013,D2 8E,, SETB TR1 ;启动T1定时
0015,D2 8C,, SETB TR0 ;启动T0计数
0017,10 8F 02,LOOP,LOOP: JBC TF1,LQ
001A,80 FB,, SJMP LOOP
001C,75 8D 3C,LQ,LQ: MOV TH1,#3CH
001F,75 8B B0,, MOV TL1,#0B0H
0022,DF F3,, DJNZ R7,LOOP ;一秒未到,则转
0024,7F 14,, MOV R7,#20
0026,30 8D EE,, JNB TF0,LOOP ;计数不足100,则转
0029,C2 8D,, CLR TF0
002B,B2 90,, CPL P1.0
002D,80 E8,, SJMP LOOP
000E,,, END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -