实验十D/,编制程序产生锯齿波、三角波、正弦波。三种波轮流显示,用示波器观看。。。。,从本书D/A电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分两段来产生。要产生正弦波,较简单的手段是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。这样做虽然简单,但是费时费力,没有充分发挥单片机的能力。利用嵌入式定点、浮点运算子程序库可方便的完成正弦波的波形表生成工作。有关子程序库的详细使用方法请查阅《爱迪克仿真器51/98/96汇编运算子程序库使用手册》。注意汇编子程序的每个子程序名应为%开头的字符串,汇编程序在汇编时会自动将子程序链入。CALCL51/96禁止用户对此改写,否则会导致调用出错。D/A转换取值范围为一个周期,采样点越多,精度越高些。本例采用的采样点为256点/周期。:;堆栈段DW128DUP(?);注意这里只有128个字节STACKSENDSDATASSEGMENT;数据段SHUJUDB67,70,73,76,80,83,86,88,91,94,97,100,102,105,107,109,111,113,115,117DB119,120,122,123,124,125,126,127,127,128,128,128,128,128,127,127,126,125,124,123DB122,120,119,117,115,114,111,109,107,105,102,100,97,94,91,89,86,83,80,77DB73,70,67,64,61,58,55,52,49,46,43,40,37,34,31,29,26,23,21,19DB17,15,13,11,9,8,6,5,4,3,2,1,1,0,0,0,0,0,1,1DB2,3,4,5,6,7,9,11,12,14,16,19,21,23,26,28,31,34,36,39DB42,45,48,51,54,58,61,64DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVAX,DATAS;初始化MOVDS,AXMOVAX,STACKSMOVSS,AXMOVAH,0MOVDX,0606HMOVAL,BOUTDX,ALLP:MOVDX,0602HINAL,DXANDAL,03HCMPAL,0JZJUCMPAL,01HJZSANCMPAL,02HJZSINCEJMPLPJU:MOVDX,0600H;矩形波MOVAL,0OUTDX,ALP1:CALLPINADDAL,BLOUTDX,ALPUSHDXPUSH
实验十-D-A转换实验 来自淘豆网m.daumloan.com转载请标明出处.