图4 软件结构总体程序流程 其中键盘扫描及显示部分程序如下: PORT EQU 0CFA0H CSEG AT 4000H LJMP START CSEG AT 4100H START: MOV DPTR,#00CFE9H MOV A,#0D1H ;清显示 MOVX @DPTR,A LOOP10: MOVX A,@DPTR ANL A,#0FH JZ LOOP10 ;有键按下?没有则循环等待 MOV A,#0A0H ;显示\消隐命令 MOVX @DPTR,A MOV A,#40H ;读FIFO命令 MOVX @DPTR,A MOV DPTR,#0CFE8H ;读键值 MOVX A,@DPTR MOV R7,A MOV DPTR,#0CFE9H ;写显示RAM命令 MOV A,#81H ;选中LED2 MOVX @DPTR,A MOV A,R7 ANL A,#0FH ;取后半字节 MOV 30H,#01H; MOV 31H,#01H; JNB P1.5,TFU MOV 30H,A ;30H存放调频值 SJMP L1 TFU: MOV 31H,A ;31H存放调幅值 L1: MOV DPTR,#TAB MOVC A,@A+DPTR ;取段显码 MOV DPTR,#0CFE8H ;写显示RAM MOVX @DPTR,A MOV DPTR,#0CFE9H ;写显示RAM命令 MOV A,#80H ;选中LED1 MOVX @DPTR,A MOV A,R7 ANL A,#0F0H SWAP A ;取后半字节 MOV DPTR,#TAB MOVC A,@A+DPTR ;取段显码 MOV DPTR,#0CFE8H ;写显示RAM MOVX @DPTR,A MOV DPTR,#0CFE9H 4 结 语 该系统具有如下特点: 系统结构简单,采用集成化元器件,工作稳定。可以输出多种波形,也就是说可以对任何具有确定函数表达式的曲线进行输出。输出信号容易控制,通过改变DAC输入基准电压来改变信号幅值,通过改变发送到DAC数据的速度可以改变频率。但该系统受到DAC0832转换位数和建立时间的限制,波形的输出信号频率不能太高,若采用其他转换位数更高、建立时间更短的D/A转换芯片,如采用DAC712 来代替DAC0832,能使输出波的频率范围更大。 参考文献 [1] 李杏春.单片机原理及使用接口技术[M].北京:北京航空航天大学出版社,1996. [2] 李华.MCS?51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993. [3] 于枫,王鼎.微型计算机原理及应用[M].长春:吉林科学技术出版社,1996. [4] 何利民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1995. [5] 毛群.基于AD9851的受控正弦信号发生器设计[J].现代电子技术,2012,35(1):187?188. [6] 李朋飞,王勇,黄秋兰.基于DDS的任意波信号发生器设计[J].现代电子技术,2012,35(12):72?74. |