
for(j=0;j<t;j++)
{
for(i=0;i<150;i++);//循环加法计算,消耗CPU时间,达到延时的目的
}
}
ucharADC(void)//adc子程序,本程序对于常用并行8位ad芯片ADC0804
{

ucharADCRes;//声明一个uchar(无符号单字符数组子程序单片机,用于储存AD转换结果)
P0=0xFF;//拉高P0数据总线,为读做准备(51单片机中,读取IO端口时,必须先拉高对应端口)
WR=0;//把ADC0804的WR脚拉低
delayms(1);
WR=1;//把ADC0804的WR脚拉高
delayms(1);//延时1毫秒
RD=0;//把ADC0804的WR脚拉低

delayms(1);//延时1毫秒
ADCRes=P0;//读取AD转换结果到ADCRes变量
delayms(1);//延时1毫秒
RD=1;//拉高ADC0804RD脚
returnADCRes;//返回AD转换结果
}
voidjkc_Dac(void)//dac子程序,输出阶梯波,本程序采取常用8位DAC芯片--DAC0832

{
uchari;
P2=0XFF;//拉高P2
DAC_CS=1;//拉高DAC0832片选
DAC_WR=1;//接高DAC0832写
for(i=0;i<25;i++)//25次循环,每次电压降低10/255*Vref(参考电压子程序单片机,这里是5伏)伏,形成阶梯电压
{

P0=i*10;
DAC_CS=0;
DAC_WR=0;
_nop_();
_nop_();
DAC_WR=1;
delayms(1);
}
}
完整程序请看附件
分享简单51单片机常用子程序.rar
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-131027-1.html
而且癌症这个东西你越怕它
全在否定有蛆