数字频率计设计(PCB图+电路图+源程序) 第9页
图4-5 1602LCD显示程序流程图
附录1:电路图
附录2: PCB图
附录3:频率计总程序
Q0000:MOV SP,#60H ;堆栈设置
Q0003:SETB P3.3 ;打开定时器开关
SETB P3.5 ;启动定时器
MOV P1,#01H ;清屏,PI口接1602的DB7-DB0,P1写入控制字
ACALL Q01DC ;等待LCD不忙
MOV P1,#0CH ;显示器开、光标开、闪烁开,即为P1写入控制字
ACALL Q01DC
MOV R0,#EFH
Q0013: NOP ;延时
DJNZ R0,Q0013 ;延时R0个周期
MOV TMOD,#05H ;定时器方式一,启动了T0
Q0019: MOV P0,#FFH ;P0置高
MOV P2,#FFH ;P0\P2端口赋值,P2置高电平
MOV TL0,#00H ;清计数器
MOV TH0,#00H
CLR P3.3 ;INT1=0有效
SETB TR0 ;启动计数器0
SETB P3.2 ;开计数开关
MOV R0,#0AH
MOV R1,#32H
MOV R2,#50H
MOV R3,#02H
NOP ;延时
NOP
NOP
NOP
NOP
Q0038: MOV R1,#32H ;延时R0*32H*50H*02H
NOP
NOP
NOP
NOP
NOP
NOP
Q0040: MOV R2,#50H
Q0042: MOV R3,#02H
Q0044: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R3,Q0044
DJNZ R2,Q0042
DJNZ R1,Q0040
DJNZ R0,Q0038
CLR P3.2 ;INT0=0,关闭计数器开关,停止计数值更新
NOP
NOP
NOP
CLR TR0 ;关闭计数器,在R0*32H*50H*02H延时内计数
;读入计数值
MOV 20H,P0 ;读P0口数值
MOV 21H,P2 ;读P2口数值
MOV 22H,TL0 ;取计数值低位
MOV 23H,TH0 ;取计数值高位
SETB P3.3 ;INT1=1,打开定时器开关
;多(四)字节二转十,入口R0为二进制低位字节地址指针,R7为字节数,出口R1为BCD码结果低位字节地址指针
MOV R0,#20H
MOV R1,#30H
MOV R7,#04H
MOV A,R0
MOV R5,A
MOV A,R1
MOV R6,A
MOV A,R7
MOV R3,A
INC R3
CLR A ;累加器清零
Q0077: MOV @R1,A
INC R1
DJNZ R3,Q0077
MOV A,R7
MOV B,#08H ;将立即数8送入B中
MUL AB ;A、B相乘,结果送入A中,A=32
MOV R3,A
Q0081: MOV A,R5
MOV R0,A
MOV A,R7
MOV R2,A
CLR C
Q0086: MOV A,@R0
RLC A
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
数字频率计设计(PCB图+电路图+源程序) 第9页下载如图片无法显示或论文不完整,请联系qq752018766