vf程序for命令

vf程序for命令,第1张

VFP命令、函数及程序语句大全

一、主要命令:

1、CREATE

作用:建立一个新的表

格式:CREATE [|](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下

同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下

同)

说明:文件指建立以dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会d出

对话框,要求用户输入想要建立的表名在命令中不加文件名或问号系统也会d出对话框,要求用

户输入想要建立的表名

2、MODIFY STRUCTURE

作用:显示表文件结构,并允许修改此表的结构

格式:MODIFY STRUCTURE

说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构

3、APPEND

作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)

格式:APPEND

说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录无BLANK参数

时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容

4、INSERT

作用:在表文件中间插入一个新记录

格式:INSERT [BEFORE]

说明:INSERT 在当前记录后插入一记录;

INSERT BEFORE 在当前记录前插入一记录;

INSERT BEFORE BLANK 在当前记录前插入一空记录

5、BROWSE

作用:主要用于打开浏览窗口,查阅表文件并同时进行修改

格式:BROWSE

6、USE

作用:打开和关闭表文件

格式:USE [

这个单片机功能是一个只显示2位秒值的电子秒表,最大计数为99秒,有一个按键,兼做启动、停止和复位

按键一次,启动秒表

按键二次,停秒表

按键三次,清初值复位

TCNTA EQU 30H ;定义一个名为TCNTA的变量,它表示为30H的地址,双字节10进制计数器

TCNTB EQU 31H ;定义一个名为TCNTB的变量,它表示为31H的地址

SEC EQU 32H ;定义一个名为SEC的变量,它表示为32H的地址,秒计数

KEYCNT EQU 33H ;定义一个名为KEYCNT 的变量,它的表示为33H的地址,按键计数

SP1 BIT P35 ;SP1表示P35这个位

ORG 00H ;主程序入口向量,单片机启动后从此开始执行

LJMP START ;转到主程序

ORG 0BH ;T0中断向量,发生T0中断时程序转入这里执行

LJMP INT_T0 转移到中断处理程序

START:MOV KEYCNT,#00H ; 主程序

MOV SEC,#00H ;取秒值

MOV A,SEC

MOV B,#10 ;B存放除数

DIV AB ;A/10 A中存放十位数,B中存放个位数

MOV DPTR,#TABLE ;取7段显示码表首地址

MOVC A,@A+DPTR ;十位数查表转换为显示段码

MOV P0,A ;送显示

MOV A,B ;个位数

MOV DPTR,#TABLE

MOVC A,@A+DPTR 个位数查表转换为显示段码

MOV P2,A ;送显示

MOV TMOD,#02H ;定时器工作模式设为定时器0工作在8位定时模式2

SETB ET0 ;启动定时器0

SETB EA ;开中断

WT: JB SP1,WT ;按钮按下

LCALL DELY10MS ;延时10ms

JB SP1,WT ;再次测试,按键去抖

INC KEYCNT ;确定有按钮输入

MOV A,KEYCNT ;按钮计数器+1

CJNE A,#01H,KN1 ;第一次按下按钮

SETB TR0 ;启动计数器

MOV TH0,#06H ;初值=6

MOV TL0,#06H ;计数初值=6

MOV TCNTA,#00H ;清双字节10进制计数器低位

MOV TCNTB,#00H ;清双字节10进制计数器高位

LJMP DKN ;跳转到DKN

KN1: CJNE A,#02H,KN2 ;第二次按下按钮

CLR TR0 ;关闭定时器

LJMP DKN ;跳转到DKN

KN2: CJNE A,#03H,DKN ;第三次按下按钮

MOV SEC,#00H ;秒清0

MOV A,SEC ;取秒

MOV B,#10 ;除数位10

DIV AB ;a/10,A为十位,B为个位

MOV DPTR,#TABLE ;

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

MOV KEYCNT,#00H ;按钮计数清0

DKN: JNB SP1,$ ;按钮松开?未松开,等待

LJMP WT ;已松开,转到等待下一次 *** 作

DELY10MS:

MOV R6,#20 ;这段程序是10ms延时程序

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

INT_T0:

INC TCNTA ;TCNTA+1

MOV A,TCNTA ;

CJNE A,#100,NEXT ;计数到100否?未到,转移到next

MOV TCNTA,#00H ;已到,TCNTA=0

INC TCNTB ;进位到TCNTB

MOV A,TCNTB ;

CJNE A,#4,NEXT ;计数器计满400个数(到一秒)

MOV TCNTB,#00H ;TCNTB=0

INC SEC ;秒+1

MOV A,SEC ;

CJNE A,#100,DONE ;没到100秒。转移到更新显示

MOV SEC,#00H ;秒清0

DONE: MOV A,SEC ;后面同上,是刷新显示

MOV B,#10 ;

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P2,A

NEXT: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数字01234567890七段码

END

以上就是关于vf程序for命令全部的内容,包括:vf程序for命令、单片机 汇编语言注释 请给下面程序前20条语句 注释、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9432814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存