LOOP: JB P2.0,LOOP3 */判断是产生锯齿波还是梯形波/*
JNB P2.0,LOOP5
LOOP5:MOV A,#00H
LOOP1:MOV P0,A
INC A
CJNE A,#31H,LOOP1 */判断是否到最大值,若没有输出电压继续增加/*
DEL:MOV R7,#50 */达到最大值后延时/*
DEL1: MOV R6,#20
NOP
DEL2:DJNZ R6,DEL2
DJNZ R7,DEL1
MOV A,#30H */延时结束,电压值开始下降产生梯形波的右半边/*
LOOP2: MOV P0,A
DEC A
CJNE A,#01,LOOP2 *判断是否达到最小值/*
DEL3:MOV R7,#50 */达到最小值后延时/*
DEL4: MOV R6,#20
NOP
DEL5:DJNZ R6,DEL5
DJNZ R7,DEL4
SJMP LOOP
LOOP3:MOV A,#00H */产生锯齿波/*
LOOP4:MOV P0,A
INC A
JNB P2.0,LOOP
CJNE A,#31H,LOOP4
SJMP LOOP
END
以及C语言 能指出哪个都行啊!跪求大神
#include<reg51.h>
#include<stdio.h>
#include<absacc.h>
#include<intrins.h>
int outdate;
unsigned char i;
void delay(int t);
void main()
{
TMOD=0x01; */置工作方式为方式1/*
EA=1;
ET0=1;
TR0=1;
outdate=0x00; */输出初值为0/*
while(1) */进入死循环,连续不断地产生波形/*
{
for(outdate=0;outdate<256;outdate++) */产生锯齿波形/*
{
P0=outdate;
P2=outdate;
delay(1); */调用延时程序,使输出显示明显/*
}
Outdate=0;
}
}
void delay(int t) */延时程序/*
{
for(;t>0;t--)
{
TH0=(65536-1000)/256; */置计数初值/*
TL0=(65535-1000)%256;
TR0=1;
while(TF0==0);
TF0=0;
}
TR0=0;
}
该程序由循环递增模块和延时模块组成。While循环是一个死循环,能够连续不断的产生锯齿波。而其中嵌套的for循环则是锯齿波的上升沿。
...锯齿波波形发生器编译问题 下面程序哪里有问题啊 有的话帮忙指出或...
修改如下:LOOP: JB P2.0,LOOP3 ;判断是产生锯齿波还是梯形波 JNB P2.0,LOOP5 LOOP5:MOV A,#00H LOOP1:MOV P0,A INC A CJNE A,#31H,LOOP1 ;判断是否到最大值,若没有输出电压继续增加 DEL:MOV R7,#50 ;达到最大值后延时 DEL1: MOV R6,#20 NOP DEL2:DJNZ R6,DEL...
用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角...
0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM358实现,用两片LM358可以实现双极性输出。 单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D\/A转...
...锯齿波波形发生器编译问题 下面程序哪里有问题啊 有的话帮忙指出或...
注释的符号有问题。汇编语言一般使用“;”;C语言一般使用“\/\/”或者“\/* *\/” 。另C语言中还有Outdate与前面定义的不一样,要改为outdate。