在满足 D/A 转换速度的前提下,信号的频率由P0口输出数据的快慢来决定。P0口每送一个数据就会从P2口输入一个由拨码开关控制的数字量,只要改变P2口输入的数字量就能实现频率在线调整这一功能。实现频率调整的部分程序如下:来~自^751论+文.网www.751com.cn/
MOV P0,DATA ; DATA 为 P0 输出的数据
MOV P2,#0FFH; 读端口前先应置1
MOV A,P2 ; 读 P2 口的拨码开关产生的数字量
MOV R3,A ; P2 口数字量送 R3,R3 为控制延时时间的一个寄存器.
LCALL DELAY ; DELAY 为延时程序,延时时间受 R3 控制,亦即受 P2 口控制.
以矩形波为例,设其频率为 f,则周期 T=1/f,在T/2 时刻电平发生翻转。 若延时子程序的延时时间为 TD,则 P2 口的拨码开关表达的数字量 N 亦即控制延时时间的寄存器 R3 的值为 1(/2f*TD)。