找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6581|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

分享簡(jiǎn)潔51單片機(jī)常用子程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:29336 發(fā)表于 2011-6-15 01:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

void delayms(int t)//51單片機(jī)常用延時(shí)子程序 毫秒級(jí)延時(shí)
{
int i; //聲明變量i--內(nèi)循環(huán)變量
int j; //聲明變量j--外循環(huán)變量
for(j=0;j<t;j++)
{
for (i=0;i<150;i++);//循環(huán)加法計(jì)算,消耗CPU時(shí)間,達(dá)到延時(shí)的目的
}

}

uchar ADC(void) //adc 子程序, 本程序針對(duì)常用并行8位AD芯片ADC0804
{
uchar ADCRes; //聲明一個(gè)uchar(無(wú)符號(hào)單字節(jié)變量,用于保存AD轉(zhuǎn)換結(jié)果)
P0=0xFF;//拉高P0數(shù)據(jù)總線,為讀做準(zhǔn)備(51單片機(jī)中,讀取IO端口時(shí),必須先拉高對(duì)應(yīng)端口)

WR=0;//把ADC0804的WR腳拉低
delayms(1);

WR=1;//把ADC0804的WR腳拉高


delayms(1);//延時(shí)1毫秒
RD=0;//把ADC0804的WR腳拉低
delayms(1);//延時(shí)1毫秒
ADCRes=P0;//讀取AD轉(zhuǎn)換結(jié)果到ADCRes變量
delayms(1);//延時(shí)1毫秒
RD=1;//拉高ADC0804 RD腳

return ADCRes;//返回AD轉(zhuǎn)換結(jié)果
}

void jkc_Dac(void) //dac 子程序,輸出階梯波,本程序采用常用8位DAC芯片--DAC0832
{

uchar i;
P2=0XFF;//拉高P2
DAC_CS=1;//拉高DAC0832片選
DAC_WR=1;//接高DAC0832寫

for (i=0;i<25;i++)//25次循環(huán),每次電壓增加10/255*Vref(參考電壓,這里是5伏)伏,形成階梯電壓
{

P0=i*10;
DAC_CS=0;
DAC_WR=0;
_nop_();
_nop_();
DAC_WR=1;
delayms(1);

}

}

 

完整程序請(qǐng)看附件


分享簡(jiǎn)潔51單片機(jī)常用子程序.rar (91.22 KB, 下載次數(shù): 266)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:37135 發(fā)表于 2012-4-5 16:03 | 只看該作者
Thank you
回復(fù)

使用道具 舉報(bào)

板凳
ID:35775 發(fā)表于 2012-4-5 17:48 | 只看該作者
下了先,看看
回復(fù)

使用道具 舉報(bào)

地板
ID:38390 發(fā)表于 2012-4-13 10:42 | 只看該作者

很好啊,學(xué)習(xí)一下

回復(fù)

使用道具 舉報(bào)

5#
ID:37005 發(fā)表于 2012-4-14 13:38 | 只看該作者
謝謝樓豬分享
回復(fù)

使用道具 舉報(bào)

6#
ID:59269 發(fā)表于 2014-3-9 13:22 | 只看該作者
下載學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

7#
ID:42393 發(fā)表于 2014-3-17 09:39 | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

8#
ID:61326 發(fā)表于 2014-5-4 08:22 | 只看該作者
謝謝你!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表