久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3403|回復: 20
收起左側

關于mcu的LED燈驅動程序 求各位大佬解釋一下

  [復制鏈接]
ID:399963 發表于 2018-9-19 13:52 | 顯示全部樓層 |閱讀模式
圖一的程序為什么LED燈常亮,而圖二的程序LED燈閃爍,兩者有什么區別
1.png
2.png
回復

使用道具 舉報

ID:97554 發表于 2018-9-19 14:25 | 顯示全部樓層
閃爍是因為延時,第一圖的延時子程序不對,沒有延時。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:342822 發表于 2018-9-19 15:39 | 顯示全部樓層
第一個無延時~第二個有延時。
回復

使用道具 舉報

ID:388197 發表于 2018-9-19 15:57 | 顯示全部樓層
圖一的DELAY里面是空的,DELAY沒有起作用.LED在高速的開關,其實LED也是閃的,只不過頻率高眼睛看不到而已.

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:38792 發表于 2018-9-19 16:09 | 顯示全部樓層
第一個的delay沒有實現的函數體。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:399921 發表于 2018-9-19 17:07 | 顯示全部樓層
第一個根本沒有寫任何delay函數呀

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:256002 發表于 2018-9-19 17:17 | 顯示全部樓層
贊同5樓說法
回復

使用道具 舉報

ID:383749 發表于 2018-9-19 17:59 | 顯示全部樓層
第一個的delay沒有具體的執行指令,第二個就有

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:386381 發表于 2018-9-20 00:25 來自觸屏版 | 顯示全部樓層
你只聲明了延時函數,并沒有寫延時子程序呀,所以調用無效。
回復

使用道具 舉報

ID:387733 發表于 2018-9-20 07:51 | 顯示全部樓層
第一個延時函數只有申明,沒有實體,編譯時就會報警,延時函數無法定位,所以鏈接以后該地址仍為0000,這樣主程序執行第一條命令LED=0以后,又跳回0000重新開始,于是反復執行第一條指令。

C:0x0000    020017   LJMP     STARTUP1(C:0017)
     4:  void main(void)
     5:  {
     6:          while(1)
     7:          {
     8:                  led=0;
C:0x0003    C2A1     CLR      led(0xA0.1)
     9:                 delay(20000)
C:0x0005    7F20     MOV      R7,#0x20
C:0x0007    7E4E     MOV      R6,#0x4E
C:0x0009    120000   LCALL    C_STARTUP(C:0000)

第二個圖的程序也不能通過編譯,因為延時函數頭后面多了個“ ;”,變成了函數申明

void delay(unsigned int i);
{
        unsigned int x;
        for(x=0;x<i;x++);
}
回復

使用道具 舉報

ID:372001 發表于 2018-9-20 08:06 | 顯示全部樓層
圖一的延時沒有定義一個函數,你調用也是沒有的。圖二你在主程序前定義了延時函數。
回復

使用道具 舉報

ID:354282 發表于 2018-9-20 08:48 | 顯示全部樓層
第一張是錯的,沒有延時,而且,開始你給的是低電平,它亮可能不是你程序使它亮的。它亮可能相當于指示的意思。
回復

使用道具 舉報

ID:354282 發表于 2018-9-20 08:59 | 顯示全部樓層
第一個沒延時,你把第二個Delay(20000)改成Delay(20)或更小,會出現“常亮”(其實在閃)效果,事實上只要有delay延時執行,LED都在閃爍,只是如果延時時間太短時,由于人視覺暫留原因,看不出來閃爍現象。

順便@論壇管理員  能不能搞一個,評論2分鐘內可以撤銷的功能???
回復

使用道具 舉報

ID:400374 發表于 2018-9-20 09:05 | 顯示全部樓層
第一個delay函數寫的不對,也起不到延時的作用,沒有運行程序。
回復

使用道具 舉報

ID:400401 發表于 2018-9-20 09:48 | 顯示全部樓層
圖一的DELAY里面是空的,DELAY就只延時了一個指令周期的時間.LED在高速的開關
回復

使用道具 舉報

ID:398663 發表于 2018-9-20 10:05 | 顯示全部樓層
延時的本質是讓程序處于一種什么都不做的狀態(cpu在工作),相當于空耗一段時間
回復

使用道具 舉報

ID:400421 發表于 2018-9-20 10:15 | 顯示全部樓層
第一個沒執行 ,第二個執行了,可是設個斷點自行驗證的
回復

使用道具 舉報

ID:400416 發表于 2018-9-20 11:19 | 顯示全部樓層
第一個延時有問題
回復

使用道具 舉報

ID:399963 發表于 2018-9-20 15:52 | 顯示全部樓層
謝謝各位的解釋
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷综合久久久久中文一区二区 | 久国产视频| 99久久婷婷国产亚洲终合精品 | 成人高清视频在线观看 | 日韩国产三区 | 狠狠婷婷综合久久久久久妖精 | 午夜天堂精品久久久久 | 亚洲欧美中文字幕 | 亚洲精品免费视频 | 91精品国产综合久久婷婷香蕉 | 99精品电影| 欧美日韩高清一区二区三区 | 国产成人精品999在线观看 | 成人高清在线 | 国产成人精品一区二区三区在线观看 | 特级黄一级播放 | 久久国产高清视频 | 成人在线观看免费爱爱 | 国产成人在线视频 | 亚洲区一区二 | 国产999精品久久久久久 | 国产精品免费一区二区 | 亚洲永久字幕 | 人人擦人人 | 国产精品精品视频一区二区三区 | 国产女人叫床高潮大片免费 | 国产精品视频在线播放 | 这里只有精品99re | 国产色99| 91中文字幕在线观看 | 日韩精品视频中文字幕 | 日韩在线国产精品 | 国产精品一区二区无线 | 久久高清免费视频 | xxxxx黄色片 欧美一区免费 | 亚洲 欧美 日韩在线 | 国产一区在线免费 | 亚洲综合中文字幕在线观看 | 人妖一区 | 日韩高清国产一区在线 | av资源中文在线 |