⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 51.txt

📁 利用51实现200——250HZ变化频率输出
💻 TXT
字号:
200——250HZ变化频率输出 
程序介绍:利用定时器定时时间的变化,由P1.0 口 
产生200——250HZ变化的频率。实际应用例如:传感器 
前级推动、频率发生器。 
程序实例(F250.ASM): 
ORG 0000H 
AJMP MAIN 
ORG 001BH 
AJMP DIN1 
MAIN: 
;定义频率200和300////////////////////////////////// 
F2H EQU 30H 
F2L EQU 31H 
F3H EQU 32H 
F3L EQU 33H 
;////////////////////////////////////////////////// 
;定义频率保持初值////////////////////////////////// 
MOV R1,#50 
MOV R2,#02H 
;////////////////////////////////////////////////// 
;频率赋初值//////////////////////////////////////// 
MOV F2H,#0F6H 
MOV F2L,#3BH 
MOV F3H,#0F8H 
MOV F3L,#2FH 
;////////////////////////////////////////////////// 
CLR P1.0 ;在P1.0口产生一个低 
电平,一个脉冲是由一个高电平和一个低电平组成的 
MOV TMOD,#00010000B ;定时器工作于方式1 
MOV TH1,F2H 
MOV TL1,F2L ;200HZ输出 
SETB EA ;开总中断 
SETB TR1 ;开定时器1运行 
SETB ET1 ;开定时器1允许 
LOOP: AJMP LOOP 
DIN1: 
CPL P1.0 ;取反P1.0口,实际 
是为了不断的将p1.0的电平关系转换,即产生了频率 
;频率保持时间////////////////////////////////////// 
DJNZ R1,RE 
MOV R1,#50 
DJNZ R2,RE 
MOV R2,#02H 
;////////////////////////////////////////////////// 
MOV A,F2H 
CJNE A,F3H,XIA ;频率高位到300HZ 
的高位了吗? 
AJMP JIA ;频率高位没到 
300HZ的高位值,直接将低位值加1 
XIA: INC F2L 
MOV A,F2L 
CJNE A,#00H,RE 
INC F2H 
MOV A,F2H 
CJNE A,F3H,RE 
;///////////////////////////////////////////// 
;频率高位加到300HZ的高位值了,低位加一,到300HZ的低 
位值了吗,没到出去,到了关定时器 
JIA: 
INC F2L ;到了将200HZ频率的低位加1 
MOV A,F2L 
CJNE A,#F3L,RE 
CLR TR1 
;///////////////////////////////////////////// 
RE: 
MOV TH1,F2H 
MOV TL1,F2L 
RETI 
END 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -