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

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

QQ登錄

只需一步,快速開始

搜索
查看: 9807|回復(fù): 42
收起左側(cè)

本人是51新手,想實(shí)現(xiàn)燈100ms開,400ms關(guān)的一個(gè)小程序

  [復(fù)制鏈接]
ID:162773 發(fā)表于 2017-1-23 09:34 | 顯示全部樓層 |閱讀模式
本人是51新手,想實(shí)現(xiàn)燈100ms開,400ms關(guān)的一個(gè)小程序;
不知道如何選擇一個(gè)51 MCU,簡單、經(jīng)濟(jì)AT或STC的;請(qǐng)老師們指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:153041 發(fā)表于 2017-1-24 09:29 | 顯示全部樓層
1、程序要自己寫,自己調(diào)試;參考思路:做一個(gè)100ms延時(shí)函數(shù)(空循環(huán)N次),一個(gè)400ms延時(shí)函數(shù),在主程序里做一個(gè)死循環(huán),每個(gè)循環(huán)里面:1開燈,2調(diào)用100ms延時(shí),3關(guān)燈,4調(diào)用400ms延時(shí);
2、51單片機(jī)網(wǎng)上可以去淘貨對(duì)比,親自對(duì)比過才有體會(huì)。你這個(gè)功能用2051就行了,便宜小巧。

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
25786136 + 5 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-1-25 09:03 | 顯示全部樓層
utzuzu 發(fā)表于 2017-1-24 09:29
1、程序要自己寫,自己調(diào)試;參考思路:做一個(gè)100ms延時(shí)函數(shù)(空循環(huán)N次),一個(gè)400ms延時(shí)函數(shù),在主程序里 ...

謝謝老師!
回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-1-25 16:39 | 顯示全部樓層

#include <REG52.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED=P1^0;

void delay(uint x);
void main()
{
                while(1)
                {
                                LED=0;
                                delay(100);
                                LED=1;
                                delay(400);
                }

}
void delay(uint x)
{
        uint i,j;
        for(i=0;i<x;i++)
        for(j=1;j<1000;j++);
}
請(qǐng)老師給指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:162343 發(fā)表于 2017-1-25 20:41 | 顯示全部樓層
本帖最后由 tzh1982657735 于 2017-1-25 20:50 編輯

你的延時(shí)函數(shù)可能有誤差
回復(fù)

使用道具 舉報(bào)

ID:162343 發(fā)表于 2017-1-25 20:48 | 顯示全部樓層
本帖最后由 tzh1982657735 于 2017-1-25 20:53 編輯

給你一個(gè)延時(shí)函數(shù),基本沒有誤差
void delay1ms(void)
{  
unsigned char a,b,c;
for(c=1;c>0;c--)  
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}


回復(fù)

使用道具 舉報(bào)

ID:162343 發(fā)表于 2017-1-25 21:12 | 顯示全部樓層
個(gè)人認(rèn)為51單片機(jī)其實(shí)選STC比較好,可通過串口下載程序,省去下載器,更方便

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
25786136 + 5 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-1-26 10:59 | 顯示全部樓層
tzh1982657735 老師:能講一下你的這個(gè)延時(shí)函數(shù)嗎?
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2017-1-27 05:55 | 顯示全部樓層
C程序中可使用不同類型的變量來進(jìn)行延時(shí)設(shè)計(jì)。經(jīng)實(shí)驗(yàn)測(cè)試,使用unsigned char類型具有比unsigned int更優(yōu)化的代碼,在使用時(shí)應(yīng)該使用unsigned char作為延時(shí)變量。 以某晶振為12MHz的單片機(jī)為例,晶振為12MHz即一個(gè)機(jī)器周期為1us。

一. 500ms延時(shí)子程序

程序:

  1. void delay500ms(void)

  2. {

  3.         unsigned char i,j,k;

  4.         for(i=15;i>0;i--)
  5.                 for(j=202;j>0;j--)
  6.                         for(k=81;k>0;k--);

  7. }
復(fù)制代碼

計(jì)算分析:

程序共有三層循環(huán)

一層循環(huán)n:R5*2 = 81*2 = 162us DJNZ 2us

二層循環(huán)m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5賦值 1us = 3us

三層循環(huán): R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6賦值 1us = 3us

循環(huán)外: 5us 子程序調(diào)用 2us + 子程序返回 2us + R7賦值 1us = 5us

延時(shí)總時(shí)間 = 三層循環(huán) + 循環(huán)外 = 499995+5 = 500000us =500ms

計(jì)算公式:延時(shí)時(shí)間=[(2*R5+3)*R6+3]*R7+5
回復(fù)

使用道具 舉報(bào)

ID:68499 發(fā)表于 2017-1-28 23:29 來自手機(jī) | 顯示全部樓層
用stc15w204s 1片一塊多,便宜,先進(jìn),小巧
回復(fù)

使用道具 舉報(bào)

ID:68499 發(fā)表于 2017-1-28 23:29 來自手機(jī) | 顯示全部樓層
可以用軟件定時(shí),也可以用timer
回復(fù)

使用道具 舉報(bào)

ID:163124 發(fā)表于 2017-1-30 16:43 | 顯示全部樓層
可以定時(shí)器來做,也可以延時(shí)函數(shù)來做。如延時(shí)函數(shù)做,可以先做100ms的延時(shí)函數(shù),然后調(diào)用該函數(shù)就行,開燈形參選1,關(guān)燈形參選4
回復(fù)

使用道具 舉報(bào)

ID:162839 發(fā)表于 2017-1-30 20:45 | 顯示全部樓層
可以選擇STC,如果對(duì)時(shí)間要求嚴(yán)格的話可以用定時(shí)器進(jìn)行定時(shí)操作,如果不嚴(yán)格的話用延時(shí)函數(shù)就可以了
回復(fù)

使用道具 舉報(bào)

ID:106021 發(fā)表于 2017-1-30 22:27 | 顯示全部樓層
延時(shí)程序  基本上在所有的教程里都有
回復(fù)

使用道具 舉報(bào)

ID:163348 發(fā)表于 2017-2-3 13:49 | 顯示全部樓層
試試看
回復(fù)

使用道具 舉報(bào)

ID:163348 發(fā)表于 2017-2-3 13:51 | 顯示全部樓層
有用得
回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-2-4 08:16 | 顯示全部樓層

angmall 老師:你給我的延時(shí)函數(shù)分析,說時(shí)話我看不懂,
R7、R6、R5等,我都不知道
回復(fù)

使用道具 舉報(bào)

ID:163469 發(fā)表于 2017-2-4 17:23 | 顯示全部樓層
用STC89C51足矣,經(jīng)濟(jì)實(shí)惠,另外精確延時(shí)用定時(shí)器吧
回復(fù)

使用道具 舉報(bào)

ID:163669 發(fā)表于 2017-2-7 23:57 | 顯示全部樓層
買快開發(fā)板學(xué)習(xí),資料都有,stc89c51大概5元一片在某寶上買,能干不少東西,基本上滿足初學(xué)
回復(fù)

使用道具 舉報(bào)

ID:164032 發(fā)表于 2017-2-9 16:03 來自手機(jī) | 顯示全部樓層
定時(shí)可以軟件定時(shí)也可以定時(shí)器定時(shí)。
回復(fù)

使用道具 舉報(bào)

ID:164049 發(fā)表于 2017-2-9 19:14 | 顯示全部樓層
STM32C51 就不錯(cuò),用for循環(huán)就可以實(shí)現(xiàn),這些程序在新買的的單片機(jī)里面都提供的
回復(fù)

使用道具 舉報(bào)

ID:164090 發(fā)表于 2017-2-10 08:14 | 顯示全部樓層
不需要太多資源,建議用STC的,STC編程軟件里有選型和報(bào)價(jià),程序的話看你延時(shí)要不要精確,如果稍微精確一點(diǎn)的話,需要用定時(shí)器+12MHZ晶振,如果不需要太精確用軟件延時(shí)就行了,就是DELAY()
回復(fù)

使用道具 舉報(bào)

ID:164127 發(fā)表于 2017-2-10 13:36 | 顯示全部樓層
這類程序很多的,多找找
回復(fù)

使用道具 舉報(bào)

ID:164156 發(fā)表于 2017-2-10 17:08 | 顯示全部樓層
請(qǐng)使用定時(shí)器。主循環(huán)中時(shí)間是不確定的,尤其是用C寫,編譯器的效率,中斷運(yùn)行情況都影響delay的時(shí)間,做產(chǎn)品時(shí)大部分公司規(guī)范中是不容許使用delay函數(shù)的。
回復(fù)

使用道具 舉報(bào)

ID:152237 發(fā)表于 2017-2-11 09:25 | 顯示全部樓層
這么簡單的可以選擇STC八腳的單片機(jī),
時(shí)間用定時(shí)器來操作,
晶振用12M或24M,
一般都很準(zhǔn)了。。。
回復(fù)

使用道具 舉報(bào)

ID:164222 發(fā)表于 2017-2-11 11:56 來自手機(jī) | 顯示全部樓層
可能是晶振采用的不一樣
回復(fù)

使用道具 舉報(bào)

ID:164263 發(fā)表于 2017-2-11 19:05 | 顯示全部樓層
可以用定時(shí)器來做,定時(shí)器比較精準(zhǔn)
回復(fù)

使用道具 舉報(bào)

ID:164363 發(fā)表于 2017-2-12 20:33 | 顯示全部樓層
定時(shí)器 直接可以搞定
回復(fù)

使用道具 舉報(bào)

ID:164369 發(fā)表于 2017-2-12 21:16 | 顯示全部樓層
AT89C51單片機(jī)是最簡單的,要實(shí)現(xiàn)這個(gè)程序,可用延時(shí)程序,這是最簡單的,要是想提高,可用中斷功能
回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-2-13 08:03 | 顯示全部樓層
要實(shí)現(xiàn)如下:
1、要求每個(gè)LED燈泡的閃爍由一個(gè)MCU控制;
2、要求100ms開;400ms關(guān)(1秒兩個(gè)周期);
3、要求在同一輸入AC 90--110V 線上并N個(gè)燈泡,燈泡的閃爍要同步;
4、我選擇的MCU STC15F10W
這里主要是如何實(shí)現(xiàn)同步,并且保證100ms開;400ms關(guān)(1秒兩個(gè)周期)時(shí)間不錯(cuò);
回復(fù)

使用道具 舉報(bào)

ID:164450 發(fā)表于 2017-2-13 14:39 | 顯示全部樓層
最好用定時(shí)器功能,要是使用循環(huán)功能,其他事情都做不了
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2017-2-13 19:01 | 顯示全部樓層
wuzijun 發(fā)表于 2017-2-4 08:16
angmall 老師:你給我的延時(shí)函數(shù)分析,說時(shí)話我看不懂,
R7、R6、R5等,我都不知道

  1. stmt level    source

  2.    1          #include<reg52.h>
  3.    2         
  4.    3         
  5.    4          void delay500ms(void)
  6.    5          {
  7.    6   1      
  8.    7   1        unsigned char i,j,k;
  9.    8   1      
  10.    9   1        for(i=15;i>0;i--)
  11.   10   1          for(j=202;j>0;j--)
  12.   11   1            for(k=81;k>0;k--);
  13.   12   1      
  14.   13   1      }
  15.   14         
  16.   15         
  17.   16          void main (void)
  18.   17          {
  19.   18   1        delay500ms();
  20.   19   1      
  21.   20   1      }
  22.   21         

  23. ASSEMBLY LISTING OF GENERATED OBJECT CODE

  24. ;這幾條匯編語言是系統(tǒng)構(gòu)建
  25.              ; FUNCTION delay500ms (BEGIN) 延時(shí)子程序
  26.                                            ; SOURCE LINE # 4
  27.                                            ; SOURCE LINE # 5
  28.                                            ; SOURCE LINE # 9
  29. ;---- Variable 'i' assigned to Register 'R7' ----
  30. 0000 7F0F              MOV     R7,#0FH           ; i=15
  31. 0002         ?C0001:
  32.                                            ; SOURCE LINE # 10
  33. ;---- Variable 'j' assigned to Register 'R6' ----
  34. 0002 7ECA              MOV     R6,#0CAH                ; j=202
  35. 0004         ?C0004:
  36.                                            ; SOURCE LINE # 11
  37. ;---- Variable 'k' assigned to Register 'R5' ----
  38. 0004 7D51              MOV     R5,#051H                ; k=81
  39. 0006         ?C0007:
  40. 0006 DDFE              DJNZ    R5,?C0007
  41. 0008         ?C0006:
  42. 0008 DEFA              DJNZ    R6,?C0004
  43. 000A         ?C0003:
  44. 000A DFF6              DJNZ    R7,?C0001
  45.                                            ; SOURCE LINE # 13
  46. 000C         ?C0010:
  47. 000C 22                RET     
  48.              ; FUNCTION delay500ms (END)
復(fù)制代碼

R0~R7,是8個(gè)工作寄存器。
每個(gè)寄存器,可存儲(chǔ) 8 位數(shù),即:0~255。
R0~R7就和普通寄存器一樣用就行,只不過代碼的速度要比普通寄存器快一些。
回復(fù)

使用道具 舉報(bào)

ID:164496 發(fā)表于 2017-2-13 21:12 | 顯示全部樓層
用延時(shí),開燈,100毫秒延時(shí),關(guān)燈,延時(shí)400毫秒,這個(gè)步驟寫

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:162773 發(fā)表于 2017-2-14 06:36 | 顯示全部樓層
angmall 老師:
那如何實(shí)現(xiàn)在同一輸入AC 90--110V 線上并N個(gè)燈泡,燈泡的閃爍要同步;
回復(fù)

使用道具 舉報(bào)

ID:164624 發(fā)表于 2017-2-14 16:34 | 顯示全部樓層
P1=0x01  ; delay_ms(100); P1=0x00;delay_ms(400);
回復(fù)

使用道具 舉報(bào)

ID:164721 發(fā)表于 2017-2-15 10:29 | 顯示全部樓層
用單片機(jī)內(nèi)的延時(shí)程序就行
回復(fù)

使用道具 舉報(bào)

ID:67774 發(fā)表于 2017-2-16 02:43 | 顯示全部樓層
常用的51單片機(jī)都可以吧。 你選 一下最常用的就好的。 省事。 方便。 網(wǎng)上豐富的資料都可以更方便的剪來用,可以省很多腦細(xì)胞哦。另外要注意的是與你現(xiàn)有的板是不是配套。

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:164695 發(fā)表于 2017-2-16 09:06 | 顯示全部樓層
utzuzu 發(fā)表于 2017-1-24 09:29
1、程序要自己寫,自己調(diào)試;參考思路:做一個(gè)100ms延時(shí)函數(shù)(空循環(huán)N次),一個(gè)400ms延時(shí)函數(shù),在主程序里 ...

程序要自己寫,自己調(diào)試;參考思路:做一個(gè)100ms延時(shí)函數(shù)(空循環(huán)N次),一個(gè)400ms延時(shí)函數(shù),在主程序里做一個(gè)死循環(huán),每個(gè)循環(huán)里面:1開燈,2調(diào)用100ms延時(shí),3關(guān)燈,4調(diào)用400ms延時(shí);
2、51單片機(jī)網(wǎng)上可以去淘貨對(duì)比,親自對(duì)比過才有體會(huì)。你這個(gè)功能用2051就行了,便宜小巧。
回復(fù)

使用道具 舉報(bào)

ID:164859 發(fā)表于 2017-2-16 09:09 來自手機(jī) | 顯示全部樓層
推薦用stc的有高精度內(nèi)部時(shí)鐘的芯片,不用外接晶振,電路設(shè)計(jì)簡單便宜,你可以用官網(wǎng)的下載程序進(jìn)行單片機(jī)選型
回復(fù)

使用道具 舉報(bào)

ID:164851 發(fā)表于 2017-2-16 14:05 | 顯示全部樓層
圍觀大神回答
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久久久久 | 欧美亚洲另类在线 | 亚洲国产二区 | www4虎 | 国产一区二区三区视频 | 97精品国产97久久久久久免费 | 日韩视频在线一区 | 狠狠草视频 | 亚洲毛片| 欧美精品一区二区在线观看 | 成人精品免费视频 | 91成人免费电影 | 不卡在线视频 | 黑人性hd| 久久国产精品免费一区二区三区 | 国产一区在线免费 | 视频在线一区二区 | 不卡一区二区三区四区 | 99热电影| 精品视频在线观看 | 亚州成人| 国产精品久久毛片av大全日韩 | 91在线视频网址 | 精品视频在线观看 | 黄网免费看 | 精品一二三区 | 一级黄色录像片子 | 欧洲精品一区 | 国产一区二区电影 | 国产精品久久国产精品 | 欧美日韩视频网站 | 天堂网avav | 波多野结衣中文字幕一区二区三区 | 视频一区在线观看 | 狠狠操电影 | 国产精品高潮呻吟久久aⅴ码 | 欧美天堂在线 | 一区二区高清在线观看 | 亚洲国产成人在线 | 日韩中文字幕一区 | 手机在线观看 |