单片机按键程序和显示程序的设计
1、按键程序的设计
由图S3-2,按键采用的是P2.4~P2.7,设分别为显示频率、功率因素、有功功率、无功功率,则按键程序对应如下:
MOV A,#0F0H
ORL P2,A
MOV A,P2
JB ACC.4,N_PINLV
SETB PINLV_VIEW_FLAG
CLR GLYS_VIEW_FLAG
CLR YOUGONG_VIEW_FLAG
CLR WUGONG_VIEW_FLAG
RET
N_PINLV:
JB ACC.5,N_GLYINSU
CLR PINLV_VIEW_FLAG
SETB GLYS_VIEW_FLAG
CLR YOUGONG_VIEW_FLAG
CLR WUGONG_VIEW_FLAG
RET
N_GLYINSU:
JB ACC.6,N_YOUGONG
CLR PINLV_VIEW_FLAG
CLR GLYS_VIEW_FLAG
SETB YOUGONG_VIEW_FLAG
CLR WUGONG_VIEW_FLAG
RET
N_YOUGONG:
JB ACC.7,N_WUGONG
CLR PINLV_VIEW_FLAG
CLR GLYS_VIEW_FLAG
CLR YOUGONG_VIEW_FLAG
SETB WUGONG_VIEW_FLAG
RET
N_WUGONG:
RET
注意程序中为考虑到键盘抖动,实际教学中应在程序中加以改善。
2、显示程序的设计
显示程序应设计在主程序本文来自优文论文网中,并不停的循环调用,否则容易停显,其格式为:设显示程序的程序名为VIEW_LED
其结构为
MAIN:
;任务1;
;任务2;
;………;
;任务n;
LCALL VIEW_LED;显示程序
LJMP MAIN
显示程序结构为:
VIEW_LED:
;第一个数码管显示
MOV DPTR,#TAB
MOV A,70H
MOVC A,@A+DPTR
CLR ACC.7 ;点亮小数点
MOV P0,A
CLR P2.0
LCALL DELAY
SETB P2.0
;第二个数码管显示
MOV DPTR,#TAB
毕业论文http://www.youerw.com
CLR P2.1
LCALL DELAY
SETB P2.1
;第三个数码管显示
MOV DPTR,#TAB
MOV A,72H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.2
LCALL DELAY
SETB P2.2
;第四个数码管显示
MOV DPTR,#TAB
MOV A,73H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.3
LCALL DELAY
SETB P2.3
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
注意程序中要考虑以下几个问题:
1)由于按键定义了四个显示项目标志,在调用显示程序前应先把要显示的数据准备好并传送到显示缓冲区;
2)各显示项目要考虑到显示的小数点;
3)要考虑功率因素的正负号。1389