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

QQ登錄

只需一步,快速開始

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

點(diǎn)亮一個(gè)LED后在這LED燈有頻閃,10微秒閃一下是怎樣加入程序中求大神指指點(diǎn)點(diǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:139788 發(fā)表于 2016-10-18 01:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
在以事下的程序中,我想做一個(gè)工程文件,點(diǎn)亮一個(gè)LED后在這LED燈有頻閃,10微秒閃一下是怎樣加入程序中????????????????

#include<reg51.h>   

sbit  LED0=P2^0;   

void  main()
{
//    P2=0x00;
  while(1);
  {
    P2=0xff;

//    LED0=0;
  }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:111634 發(fā)表于 2016-10-18 12:26 | 只看該作者
10微妙閃一下,什么意思?人眼對(duì)10微妙無感覺。
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2016-10-18 13:03 | 只看該作者
本帖最后由 yzwzfyz 于 2016-10-18 13:25 編輯

"10微秒閃一下"
時(shí)間太短,不宜用C寫程序?qū)崿F(xiàn)。
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2016-10-18 13:13 | 只看該作者
本帖最后由 yzwzfyz 于 2016-10-18 13:14 編輯

設(shè)晶振是12MHz,則一個(gè)機(jī)器周期是1us, 10個(gè)機(jī)器周期就是10us.

LOOP:      CPL  P1.1        ;2個(gè)機(jī)器周期,LED閃動(dòng)切換
               NOP               ;1個(gè)機(jī)器周期
               JMP LOOP       ;2個(gè)機(jī)器周期

回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2016-10-18 13:18 | 只看該作者
為了能退出以上的死循環(huán),可以改為:

LOOP:      CPL  P1.1                      ;2個(gè)機(jī)器周期,LED閃動(dòng)切換
               NOP                             ;1個(gè)機(jī)器周期
               JNB  B_STOP, LOOP       ;2個(gè)機(jī)器周期

B_STOP:是個(gè)標(biāo)記位(位標(biāo)記),可以在中斷程序中,設(shè)置為1,以使程序退出LOOP循環(huán)。
回復(fù)

使用道具 舉報(bào)

6#
ID:123289 發(fā)表于 2016-10-18 13:20 | 只看該作者
P1.1接LED燈,一亮一暗各占5個(gè)機(jī)器周期。
如果一亮一暗各10us,可以再增加5個(gè)NOP。
回復(fù)

使用道具 舉報(bào)

7#
ID:123289 發(fā)表于 2016-10-18 13:24 | 只看該作者
如果用C語(yǔ)言寫,由于你無法預(yù)料,C是如何編譯你的程序的,所以不太好控制準(zhǔn)時(shí)間。
當(dāng)然你可以在C編譯后,檢查其編譯的結(jié)果,再作修改。
回復(fù)

使用道具 舉報(bào)

8#
ID:123289 發(fā)表于 2016-10-18 13:40 | 只看該作者
提示一下:
如果是改進(jìn)型的51單片機(jī),則其執(zhí)行指令的時(shí)間,不一定需要12個(gè)振蕩周期(流水取指架構(gòu),有預(yù)取指功能),則需要另作處理,稍復(fù)雜一點(diǎn),不在此詳述了。如STC的51芯片。
回復(fù)

使用道具 舉報(bào)

9#
ID:7485 發(fā)表于 2016-10-18 15:10 | 只看該作者
10微秒能看得出來?老式的日光燈(帶電感鎮(zhèn)流器的)也是閃爍的,周期是20000微秒,也就是20毫秒。
回復(fù)

使用道具 舉報(bào)

10#
ID:123289 發(fā)表于 2016-10-18 15:13 | 只看該作者
人看不出來,如果用儀器呢?用LED燈來傳信息,是有這樣的做法的。
回復(fù)

使用道具 舉報(bào)

11#
ID:123289 發(fā)表于 2016-10-18 15:13 | 只看該作者
不過不是10微秒!
回復(fù)

使用道具 舉報(bào)

12#
ID:143248 發(fā)表于 2016-10-18 16:04 | 只看該作者
10us你都能分辨出來??你程序每次執(zhí)行循環(huán)都會(huì)亮一次滅一次,肉眼幾乎無法識(shí)別
回復(fù)

使用道具 舉報(bào)

13#
ID:139788 發(fā)表于 2016-10-18 22:56 | 只看該作者
回各位,
我的主程序是以5只紅外LED取代,以流水燈方式點(diǎn)動(dòng)周期性(C程)。從中加入在點(diǎn)亮LED紅外上以10us--100us間隔頻閃次數(shù)加載接收上。
回復(fù)

使用道具 舉報(bào)

14#
ID:143344 發(fā)表于 2016-10-19 00:53 | 只看該作者
加入一個(gè)延時(shí)函數(shù)delay
回復(fù)

使用道具 舉報(bào)

15#
ID:139788 發(fā)表于 2016-10-20 00:02 | 只看該作者
Davinc 發(fā)表于 2016-10-19 00:53
加入一個(gè)延時(shí)函數(shù)delay

例舉一下,怎樣加入延時(shí)函數(shù)delay在C程中運(yùn)行?
回復(fù)

使用道具 舉報(bào)

16#
ID:143544 發(fā)表于 2016-10-20 10:04 | 只看該作者
10微妙人眼看不出來的
回復(fù)

使用道具 舉報(bào)

17#
ID:143571 發(fā)表于 2016-10-20 13:32 | 只看該作者
根據(jù)晶振,算周期
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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