例子:下面是一个89C51为例输出矩形波代码
sbit SCLK P1^0
while(1){
unsingned int i
SCLK=0
for(i=0i<20000i++)//波形宽度
SCLK=1
for(i=0i<返伍20000i++)
}
你放到你的程序里,然后用示波器测量第一脚,肯定雹租有波形.
如有问题,请再问,呵呵!
这是三角波的C语言程序:局姿#include
##include
#define DAC0832Addr 0x7ffff //0832地桐携绝址
#define uchar unsigned char
#define uint unsogned int
Uart_Init()//申明输出口初始化子函数
sbit P26=0XA6
sbit P27=0XA7
void TransformData(ucahr c0832data)//转换函数
void delay()//延时
main()
{
bit upFlag=1
xdata cdigital=1
Uart_Init()
P0=P1=P2=P3=0xff
delay()
while(1)
{transformData(cDigital)//隐中进行数模转换
if((cdigital==255)|(cDigital==0))upFlag=~upFlag//标志位取反
if(upFlag==1){cDigital++}
else(cDigital--)
delay()
printf("digital is %d \n",cDigital)
}
}
void TransformData(ucahr c0832data)
{
*((uchar xdata *)DAC0832Addr)=c0832data
}
Uart_Init()
{
SCON=0X52
TMOD=0X21
TCON=0X69
TH1=0XF3
}
void delay()
{
uint i
for(i=0i<200i++)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)