函数发生器程序
来源:互联网 发布:数据化人生奇书 编辑:程序博客网 时间:2024/05/21 22:55
/*数码管按共阴的算,假设DA0832片选接在平P2.0口上*/
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP L0
MAIN:MOV R2,#01H
MOV R4,#01H
pp: SETB EA
SETB EX0
MOV A,P1
JNB ACC.0,ZXB
JNB ACC.1,SJB
JNB ACC.2,FB
AJMP PP
/*正弦波*/
ZXB:MOV R1,#00H
LOOP1:MOV A,R1
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV B,R2
MUL AB
INC R1
XCH A,R1
CLR C
SUBB A, #0AH
JNC LK1
ADD A,#0AH
XCH A,R1
ADD A,#80H
AJMP LK0
LK1:ADD A,#0AH
XCH A,R1
MOV R3,A
MOV A,#80H
CLR C
SUBB A,R3
LK0:
CALL DELAY
CJNE R1,#12H,LOOP1
LJMP PP
/*三角波*/
SJB:MOV R1,#00H
LOOP2:MOV A,R1
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV B,R2
MUL AB
INC R1
XCH A,R1
CLR C
SUBB A,#0DH
JNC LK5
ADD A,#0DH
XCH A,R1
ADD A,#80H
AJMP LK4
LK5:ADD A,#0DH
XCH A,R1
MOV R3,A
MOV A,#80H
CLR C
SUBB A,R3
LK4:
CALL DELAY
CJNE R1,#18H,LOOP2
LJMP PP
/*方波*/
FB:MOV R1,#00H
LOOP3:MOV A,R1
MOV DPTR,#TABLE3
MOVC A,@A+DPTR
MOV B,R2
MUL AB
INC R1
XCH A,R1
CLR C
SUBB A,#0AH
JNC LK3
ADD A,#0AH
XCH A,R1
ADD A,#80H
AJMP LK2
LK3:ADD A,#0AH
XCH A,R1
MOV R3,A
MOV A,#80H
CLR C
SUBB A,R3
LK2:
CALL DELAY
CJNE R1,#12H,LOOP3
LJMP PP
DELAY:MOV DPTR,#0FEFFH
MOVX @DPTR,A
; ACALL DISUP
MOV A,R4
MOV R5,A
KD0: DEC R5
CJNE R5,#00H,KD0
MOV R5,A
RET
/*外中断服务程序 */
L0:CLR EA
MOV B,A
PUSH B
PUSH PSW
/*判断幅度*/
L1: JB P1.3,L2
JNB P1.5,KK0
CJNE R2,#0AH,KK1
SJMP LD1
KK1:INC R2
SJMP LD1
KL1:CJNE R2,#00H,KK1
SJMP LD1
KK0:DEC R2
LD1:JNB P1.3,LD1
LJMP LEND
/*判断频率的*/
L2:JB P1.4 ,LEND
JB P1.6,KLL
CJNE R4,#0FFH,KF1
SJMP MAX
KF1: CLR C
ADD A,#0FH
JC MAX
MOV R4,A
LJMP LD2
MAX: MOV R4,#0FFH
LJMP LD2
KLL: MOV A,R4
CJNE R4,#01H,KF0
SJMP MIN
KF0: CLR C
SUBB A,#0FH
JC MIN
MOV R4,A
LJMP LD2
MIN: MOV R4,#01H
LD2:JNB P1.4,LD2
LEND:POP PSW
POP B
MOV A,B
SETB EA
RETI
/*显示幅度,频率
DISUP:MOV DPTR,#TABLE4 ;读取振幅数据首地址
MOV A,R2
MOVC A,@A+DPTR ;取表格数据
*/
TABLE1:DB 00H,04H,08H,0AH,0CH,0CH,0AH,08H,04H,00H,04H,08H,0AH,0CH,0CH,0AH,08H ,04H
TABLE2:DB 00H,02H,04H,06H,08H,0AH,0CH,0AH,08H,06H,04H,02H,00H,02H,04H,06H,08H,0AH,0CH,0AH,08H,06H,04H,02H
TABLE3:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,0CH,0CH,0CH,0CH,0CH,0CH,0CH,0CH ,0CH
/*TABLE4:DB 0FDH, */
END
MOV DPTR,#83E8H
MOV A,80H
MOVX @DPTR,A
MOV A,R2
MOV B,0C
MUL; AB
- 函数发生器程序
- 函数发生器程序
- 函数发生器程序
- 发生器函数对象
- 基本函数发生器函数须知
- 序列发生器组件 Example 程序
- 序列发生器组件 Example 程序
- 随机数发生器 rand()函数使用方法
- multsim 函数发生器的使用
- 序列发生器管理组件 Example 程序
- 序列发生器管理组件 Example 程序
- 基于ATmega16单片机 波形发生器 程序源代码
- srand,rand随机数发生器函数的使用
- 使用AD9851模块自制函数发生器
- 一个相当优秀的js随机数发生器程序
- icl8038实现多波形函数发生器外围电路设计与改进
- [哈尔滨工业大学LabWindows_CVI]实验学习二:函数发生器 和 选做
- opencv c++函数 基础7 随机数发生器&绘制文字
- 做好记录---为了以后可以方便查询
- SWF文件结构解析
- Windows下编译memcached-1.4.5(32bit和64bit)
- IO与文件读写---Java的IO流架构
- Collections
- 函数发生器程序
- 函数发生器程序
- silktest的一些tips
- apache+openssl
- 函数发生器程序
- 关于xerces解析中文的问题
- 自动分词算法的分类
- AndroidGUI12:ContextMenu的常用技巧
- CPLD/FPGA/Verilog_Verilog中阻塞与非阻塞的区别