性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

STC15W204S單片機(jī),開(kāi)始學(xué)編程,請(qǐng)高手指導(dǎo)。。。有圖

  學(xué)單片機(jī)要是有人引導(dǎo)一下,那是最快掌握編程的一種途徑,當(dāng)然也不能全讓別人來(lái)出力出時(shí)間來(lái)為你工作,自己要做好請(qǐng)教問(wèn)題的材料,特別是圖文并茂的那種,高手就可以因勢(shì)利導(dǎo)指點(diǎn)迷津了,所以我先就準(zhǔn)備了我這款單片機(jī)的系統(tǒng)原理圖,我想先從點(diǎn)亮LED3開(kāi)始,簡(jiǎn)單的點(diǎn)亮一顆LED應(yīng)該是比較容易上手的吧,對(duì)于新手來(lái)說(shuō),能掌握這點(diǎn)就算是一腳跨進(jìn)去了,其他的就不難了。但是萬(wàn)事開(kāi)頭難,用C寫(xiě)程序特別是簡(jiǎn)單的IO口操作雖然容易做到,但是從手里開(kāi)始拿到一款芯片,找到該芯片數(shù)據(jù)手冊(cè),然后用對(duì)應(yīng)的編輯軟件開(kāi)始編寫(xiě)第一句程序往往要花費(fèi)大量的冤枉寶貴時(shí)間,一旦掌握了之后回過(guò)頭來(lái)看其實(shí)很簡(jiǎn)單,這個(gè)問(wèn)題就差在沒(méi)人直接對(duì)癥指導(dǎo),還有關(guān)鍵是自己沒(méi)做好讓有心幫忙的大俠能下手幫忙的著手點(diǎn)。我就從這里開(kāi)始吧。點(diǎn)亮圖中LED3,編輯軟件Keil Uv4...

全部回復(fù)(93)
正序查看
倒序查看
fzhlpp
LV.7
2
2013-07-26 23:31

寫(xiě)了那么多,亂了,不要誤以為我是來(lái)指導(dǎo)別人的哦,我是來(lái)請(qǐng)教各位大師的,特別是用過(guò)STC的高手,請(qǐng)教你們的一些經(jīng)驗(yàn),比如你們是用什么編輯軟件的,怎么開(kāi)始創(chuàng)建一個(gè)工程新建一個(gè).c文件,然后又該怎么設(shè)置編輯軟件里的一些關(guān)鍵設(shè)置的@#@#¥%%#,又問(wèn)的太多了,你只要說(shuō)一點(diǎn)就夠,然后又有人愿意補(bǔ)充一些...這樣就把頭緒理出來(lái)了,我這里上傳一個(gè)Keil Uv4

C51.haozip04 C51.haozip05 C51.haozip06 C51.haozip07 C51.haozip08 C51.haozip09 C51.haozip10 C51.haozip11 C51.haozip12 UV4.haozip01 UV4.haozip02 UV4.haozip03 UV4.haozip04   C51.haozip01 C51.haozip02 C51.haozip03  本分卷由2345好壓 編輯軟件,方便跟我一樣需要的新手吧,希望我們共同進(jìn)步!。上面這些解壓到C盤(pán)根目錄新建的一個(gè)Keil文件夾下:

 

0
回復(fù)
2013-07-26 23:48
@fzhlpp
寫(xiě)了那么多,亂了,不要誤以為我是來(lái)指導(dǎo)別人的哦,我是來(lái)請(qǐng)教各位大師的,特別是用過(guò)STC的高手,請(qǐng)教你們的一些經(jīng)驗(yàn),比如你們是用什么編輯軟件的,怎么開(kāi)始創(chuàng)建一個(gè)工程新建一個(gè).c文件,然后又該怎么設(shè)置編輯軟件里的一些關(guān)鍵設(shè)置的@#@#¥%%#,又問(wèn)的太多了,你只要說(shuō)一點(diǎn)就夠,然后又有人愿意補(bǔ)充一些...這樣就把頭緒理出來(lái)了,我這里上傳一個(gè)KeilUv4[圖片]C51.haozip04 [圖片]C51.haozip05 [圖片]C51.haozip06 [圖片]C51.haozip07 [圖片]C51.haozip08 [圖片]C51.haozip09 [圖片]C51.haozip10 [圖片]C51.haozip11 [圖片]C51.haozip12 [圖片]UV4.haozip01 [圖片]UV4.haozip02 [圖片]UV4.haozip03 [圖片]UV4.haozip04   [圖片]C51.haozip01 [圖片]C51.haozip02 [圖片]C51.haozip03 [圖片]本分卷由2345好壓 編輯軟件,方便跟我一樣需要的新手吧,希望我們共同進(jìn)步!。上面這些解壓到C盤(pán)根目錄新建的一個(gè)Keil文件夾下:[圖片] 

版區(qū)剛剛成立,希望大家能一起學(xué)習(xí),一起進(jìn)步。

0
回復(fù)
fzhlpp
LV.7
4
2013-07-27 00:30
@電源網(wǎng)-娜娜姐
版區(qū)剛剛成立,希望大家能一起學(xué)習(xí),一起進(jìn)步。
謝謝師長(zhǎng)捧場(chǎng)鼓勵(lì),希望知道的大俠鼎力相助。這里先謝過(guò)了!。。。
0
回復(fù)
fzhlpp
LV.7
5
2013-07-27 01:02
@fzhlpp
謝謝師長(zhǎng)捧場(chǎng)鼓勵(lì),希望知道的大俠鼎力相助。這里先謝過(guò)了!。。。

我就先一步一步把我的做法貼出來(lái)吧,不對(duì)的地方請(qǐng)大俠指導(dǎo)一下:

我在STC官網(wǎng)http://www.mcu-memory.com/上面先下載了這個(gè)stc-isp-15xx-v6.53 軟件,然后把我上面的UV4編輯軟件解壓到C盤(pán)根目錄下新建的一個(gè)叫keil的文件夾下

 

 

 

為什么要這么做我也不知道,好像我是哪個(gè)論壇里看到的說(shuō)要這么做才可以方便STC單片機(jī)型號(hào)導(dǎo)入什么的,以后再去了解吧,有知道的也說(shuō)說(shuō)是不是這樣。然后解壓上面這個(gè)stc-isp-15xx-v6.53軟件并雙擊運(yùn)行打開(kāi),打開(kāi)后界面是這樣的: 

 

點(diǎn)擊右上角小箭頭,出現(xiàn)頭文件欄目后繼續(xù)點(diǎn)擊中間出現(xiàn)的按鍵框,“添加MCU型號(hào)到Keil中”

 

太晚了,明天再做了,路過(guò)的大俠指導(dǎo)一下?。。。?/p>

 

0
回復(fù)
dapeng
LV.5
6
2013-07-27 08:19
@fzhlpp
我就先一步一步把我的做法貼出來(lái)吧,不對(duì)的地方請(qǐng)大俠指導(dǎo)一下:我在STC官網(wǎng)http://www.mcu-memory.com/上面先下載了這個(gè)[圖片]stc-isp-15xx-v6.53 軟件,然后把我上面的UV4編輯軟件解壓到C盤(pán)根目錄下新建的一個(gè)叫keil的文件夾下 [圖片]  為什么要這么做我也不知道,好像我是哪個(gè)論壇里看到的說(shuō)要這么做才可以方便STC單片機(jī)型號(hào)導(dǎo)入什么的,以后再去了解吧,有知道的也說(shuō)說(shuō)是不是這樣。然后解壓上面這個(gè)stc-isp-15xx-v6.53軟件并雙擊運(yùn)行打開(kāi),打開(kāi)后界面是這樣的: [圖片] 點(diǎn)擊右上角小箭頭,出現(xiàn)頭文件欄目后繼續(xù)點(diǎn)擊中間出現(xiàn)的按鍵框,“添加MCU型號(hào)到Keil中”[圖片] 太晚了,明天再做了,路過(guò)的大俠指導(dǎo)一下?。。。?nbsp;

繼續(xù)加油

0
回復(fù)
fzhlpp
LV.7
7
2013-07-27 23:36
@dapeng
繼續(xù)加油

 謝謝鼓勵(lì),今天把芯片放在了下載板上,按下電源鍵后看到了鎖緊座周?chē)馁N片LED指示燈呈流水式依次亮滅跑了起來(lái)。問(wèn)了他們客服才知道他們芯片里面都已燒好了這種流水程序的,方便用戶檢查芯片放在鎖緊座上是否正確和到位。

今天就連接這塊下載板花費(fèi)了好多時(shí)間,我筆記本只有USB接口所以買(mǎi)了一個(gè)USB轉(zhuǎn)串口線,線插到電腦上后驅(qū)動(dòng)安裝不上,后來(lái)又上網(wǎng)找驅(qū)動(dòng),驅(qū)動(dòng)裝上了但有時(shí)又不靈,不知道是什么原因。

 

0
回復(fù)
fzhlpp
LV.7
8
2013-07-28 00:40
@fzhlpp
[圖片] 謝謝鼓勵(lì),今天把芯片放在了下載板上,按下電源鍵后看到了鎖緊座周?chē)馁N片LED指示燈呈流水式依次亮滅跑了起來(lái)。問(wèn)了他們客服才知道他們芯片里面都已燒好了這種流水程序的,方便用戶檢查芯片放在鎖緊座上是否正確和到位。今天就連接這塊下載板花費(fèi)了好多時(shí)間,我筆記本只有USB接口所以買(mǎi)了一個(gè)USB轉(zhuǎn)串口線,線插到電腦上后驅(qū)動(dòng)安裝不上,后來(lái)又上網(wǎng)找驅(qū)動(dòng),驅(qū)動(dòng)裝上了但有時(shí)又不靈,不知道是什么原因。 
還不知道怎么開(kāi)頭呢,包含頭文件是知道一點(diǎn)了,下面怎么設(shè)置IO口就不是很清楚了,一直在網(wǎng)上找這種操作IO口的例程,以前我用AVR就是抄例程寫(xiě)出的程序,那樣效果特別好,有效果后自己慢慢消化吸收然后舉一反三,不理解的再仔細(xì)的看芯片數(shù)據(jù)手冊(cè),這時(shí)看數(shù)據(jù)手冊(cè)是有目的的看了,跟開(kāi)始什么都不做就看手冊(cè)是有本質(zhì)區(qū)別的,看了手冊(cè)后對(duì)著自己“抄”來(lái)的程序,慢慢理解了芯片資源配置大概是個(gè)什么玩意。
0
回復(fù)
bode
LV.9
9
2013-07-28 10:50
@fzhlpp
還不知道怎么開(kāi)頭呢,包含頭文件是知道一點(diǎn)了,下面怎么設(shè)置IO口就不是很清楚了,一直在網(wǎng)上找這種操作IO口的例程,以前我用AVR就是抄例程寫(xiě)出的程序,那樣效果特別好,有效果后自己慢慢消化吸收然后舉一反三,不理解的再仔細(xì)的看芯片數(shù)據(jù)手冊(cè),這時(shí)看數(shù)據(jù)手冊(cè)是有目的的看了,跟開(kāi)始什么都不做就看手冊(cè)是有本質(zhì)區(qū)別的,看了手冊(cè)后對(duì)著自己“抄”來(lái)的程序,慢慢理解了芯片資源配置大概是個(gè)什么玩意。
我也正在學(xué)習(xí),跟著樓主一起學(xué)習(xí)。
0
回復(fù)
fzhlpp
LV.7
10
2013-07-28 19:47
@bode
我也正在學(xué)習(xí),跟著樓主一起學(xué)習(xí)。
呵呵有人一起學(xué)很好啊,不過(guò)我進(jìn)度很慢的,估計(jì)你已經(jīng)成了絕世高手了我還在初級(jí)階段繼續(xù)摸索著。主要工作不是做這個(gè),所以只在有空時(shí)來(lái)學(xué)學(xué)。
0
回復(fù)
摘云
LV.5
11
2013-07-29 14:27
@fzhlpp
還不知道怎么開(kāi)頭呢,包含頭文件是知道一點(diǎn)了,下面怎么設(shè)置IO口就不是很清楚了,一直在網(wǎng)上找這種操作IO口的例程,以前我用AVR就是抄例程寫(xiě)出的程序,那樣效果特別好,有效果后自己慢慢消化吸收然后舉一反三,不理解的再仔細(xì)的看芯片數(shù)據(jù)手冊(cè),這時(shí)看數(shù)據(jù)手冊(cè)是有目的的看了,跟開(kāi)始什么都不做就看手冊(cè)是有本質(zhì)區(qū)別的,看了手冊(cè)后對(duì)著自己“抄”來(lái)的程序,慢慢理解了芯片資源配置大概是個(gè)什么玩意。
學(xué)習(xí)單片機(jī)是不是要熟記很多的指令?
0
回復(fù)
fzhlpp
LV.7
12
2013-07-29 17:33
@摘云
學(xué)習(xí)單片機(jī)是不是要熟記很多的指令?
 不用記指令的,開(kāi)始學(xué)的時(shí)候只用到幾個(gè)指令,你會(huì)一個(gè)指令并實(shí)踐了這個(gè)指令后,你就自然渴望到尋找其他指令來(lái)滿足你的求知欲了。
0
回復(fù)
2013-07-29 18:51
@摘云
學(xué)習(xí)單片機(jī)是不是要熟記很多的指令?
可以用C語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用的
0
回復(fù)
摘云
LV.5
14
2013-07-30 07:59
@fzhlpp
 不用記指令的,開(kāi)始學(xué)的時(shí)候只用到幾個(gè)指令,你會(huì)一個(gè)指令并實(shí)踐了這個(gè)指令后,你就自然渴望到尋找其他指令來(lái)滿足你的求知欲了。
沒(méi)學(xué)過(guò)匯編,也沒(méi)學(xué)過(guò)C語(yǔ)言,可能學(xué)起來(lái)比較困難
0
回復(fù)
fzhlpp
LV.7
15
2013-08-01 20:42
@摘云
沒(méi)學(xué)過(guò)匯編,也沒(méi)學(xué)過(guò)C語(yǔ)言,可能學(xué)起來(lái)比較困難

對(duì)于這款STC單片機(jī),我跟你一樣一無(wú)所知,所以你可以從現(xiàn)在開(kāi)始跟我一起學(xué),我也在試著學(xué)會(huì)它,沒(méi)學(xué)過(guò)C語(yǔ)言沒(méi)事,你可以上網(wǎng)查上論壇看,多發(fā)帖請(qǐng)教,論壇好人多,但記住自己也要勤快點(diǎn)。

 經(jīng)過(guò)這段時(shí)間的折磨我終于了解了一點(diǎn)這款單片機(jī)。并如愿的實(shí)現(xiàn)了點(diǎn)亮上面原理圖中的LED3指示燈。

 #include "STC15F2K60S2.h"
   sbit LEDCONTROL=P1^5;//先定義P1.5這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^5;

    sbit LED3=P1^4; //這里定義P1.4這個(gè)IO口用LED3表示

  void main()
  {    
 
     while(1) 
   {    
    LEDCONTROL=0;  //P1.5這個(gè)IO口設(shè)置為低電平,從原理圖分析這個(gè)IO口控制的是
                     //一個(gè)PNP型三極管,拉低后三極管導(dǎo)通,其控制的LED3陽(yáng)極就有了5V工作電壓         
    LED3=0; //P1.4這個(gè)IO口也設(shè)置為低電平,這樣LED3這個(gè)指示燈有有電流流通點(diǎn)亮發(fā)光了。
   }                               
  } 

 

0
回復(fù)
fzhlpp
LV.7
16
2013-08-01 23:22
@fzhlpp
對(duì)于這款STC單片機(jī),我跟你一樣一無(wú)所知,所以你可以從現(xiàn)在開(kāi)始跟我一起學(xué),我也在試著學(xué)會(huì)它,沒(méi)學(xué)過(guò)C語(yǔ)言沒(méi)事,你可以上網(wǎng)查上論壇看,多發(fā)帖請(qǐng)教,論壇好人多,但記住自己也要勤快點(diǎn)。 經(jīng)過(guò)這段時(shí)間的折磨我終于了解了一點(diǎn)這款單片機(jī)。并如愿的實(shí)現(xiàn)了點(diǎn)亮上面原理圖中的LED3指示燈。 #include"STC15F2K60S2.h"  sbitLEDCONTROL=P1^5;//先定義P1.5這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^5;    sbitLED3=P1^4;//這里定義P1.4這個(gè)IO口用LED3表示 voidmain() {         while(1)   {       LEDCONTROL=0; //P1.5這個(gè)IO口設(shè)置為低電平,從原理圖分析這個(gè)IO口控制的是                    //一個(gè)PNP型三極管,拉低后三極管導(dǎo)通,其控制的LED3陽(yáng)極就有了5V工作電壓            LED3=0; //P1.4這個(gè)IO口也設(shè)置為低電平,這樣LED3這個(gè)指示燈有有電流流通點(diǎn)亮發(fā)光了。  }                               }  

上面只是這個(gè)指示燈一直亮著,那么要讓這個(gè)指示燈動(dòng)起來(lái),一亮一滅的好看一點(diǎn)就要用到延時(shí)程序了,下面這個(gè)就可以做到這個(gè)功能:

#include "STC15F2K60S2.h"
   sbit LEDCONTROL=P1^5;//先定義P1.4這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^4;
   sbit LED3=P1^4; //這里定義P1.5這個(gè)IO口用LED3表示

   void delay()
{
    int i, j;

    for (i=0; i<800; i++)
    for (j=0; j<500; j++);
}

  void main()
  {    
 
while(1) 
 {    
LEDCONTROL=0;//P1.5這個(gè)IO口設(shè)置為低電平,從原理圖分析這個(gè)IO口控制的是一個(gè)PNP型三極管,拉低后三極管導(dǎo)通,其控制的LED3陽(yáng)極就有了5V工作電壓         
LED3=0; //P1.4這個(gè)IO口也設(shè)置為低電平,這樣LED3這個(gè)指示燈有有電流流通點(diǎn)亮發(fā)光了。
delay();  //延時(shí)一段時(shí)間,也就是上面的LED3=0;這句程序表示LED3這個(gè)指示燈亮的狀態(tài)延時(shí)保持一段時(shí)間
LED3=1;   //經(jīng)過(guò)上面一段時(shí)間延時(shí)后,程序運(yùn)行到這句指令就把P1.4這個(gè)IO口拉高了,指示燈就沒(méi)回路而熄滅。
 }                               
  } //上面這個(gè)while(1)是個(gè)死循環(huán),就是這幾句指令周而復(fù)始一直循環(huán)運(yùn)行下去,那么LED3這個(gè)指示燈就一亮一滅的了,直到關(guān)閉總電源。

0
回復(fù)
fzhlpp
LV.7
17
2013-08-01 23:33
@fzhlpp
上面只是這個(gè)指示燈一直亮著,那么要讓這個(gè)指示燈動(dòng)起來(lái),一亮一滅的好看一點(diǎn)就要用到延時(shí)程序了,下面這個(gè)就可以做到這個(gè)功能:#include"STC15F2K60S2.h"  sbitLEDCONTROL=P1^5;//先定義P1.4這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^4;  sbitLED3=P1^4;//這里定義P1.5這個(gè)IO口用LED3表示  voiddelay(){   inti,j;   for(i=0;i

STC給我寄的USB轉(zhuǎn)串口線是壞的,暈死,難怪一直不能燒芯片,幸虧有臺(tái)帶串口輸出的臺(tái)式電腦,才驗(yàn)證了我的程序。

哎,也不見(jiàn)高手來(lái)指導(dǎo)一下,是天氣太熱了是吧,沒(méi)人想出來(lái)逛了,我倒是希望跟我一樣剛學(xué)的新手快快的學(xué)起來(lái)這款芯片,來(lái)跟我一起交流學(xué)習(xí),接下來(lái)我就要寫(xiě)整個(gè)數(shù)碼管的數(shù)字顯示程序了,有想學(xué)的新手如果有不懂上面的可以直接發(fā)帖問(wèn),不然下面的數(shù)碼管你就跟不上了,呵呵。我還想等著你們反過(guò)來(lái)教教我啊。

沒(méi)高手來(lái)我就只有硬著頭皮慢慢揣摩了。。。

0
回復(fù)
摘云
LV.5
18
2013-08-02 09:42
@fzhlpp
STC給我寄的USB轉(zhuǎn)串口線是壞的,暈死,難怪一直不能燒芯片,幸虧有臺(tái)帶串口輸出的臺(tái)式電腦,才驗(yàn)證了我的程序。哎,也不見(jiàn)高手來(lái)指導(dǎo)一下,是天氣太熱了是吧,沒(méi)人想出來(lái)逛了,我倒是希望跟我一樣剛學(xué)的新手快快的學(xué)起來(lái)這款芯片,來(lái)跟我一起交流學(xué)習(xí),接下來(lái)我就要寫(xiě)整個(gè)數(shù)碼管的數(shù)字顯示程序了,有想學(xué)的新手如果有不懂上面的可以直接發(fā)帖問(wèn),不然下面的數(shù)碼管你就跟不上了,呵呵。我還想等著你們反過(guò)來(lái)教教我啊。沒(méi)高手來(lái)我就只有硬著頭皮慢慢揣摩了。。。
跟著您走
0
回復(fù)
2013-08-02 10:07
@fzhlpp
上面只是這個(gè)指示燈一直亮著,那么要讓這個(gè)指示燈動(dòng)起來(lái),一亮一滅的好看一點(diǎn)就要用到延時(shí)程序了,下面這個(gè)就可以做到這個(gè)功能:#include"STC15F2K60S2.h"  sbitLEDCONTROL=P1^5;//先定義P1.4這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^4;  sbitLED3=P1^4;//這里定義P1.5這個(gè)IO口用LED3表示  voiddelay(){   inti,j;   for(i=0;i

出于節(jié)能與CPU的考慮,delay延時(shí)是否可以不要呢,加一句PCON = 0X01;

再搭配定時(shí)器使用延時(shí)。

0
回復(fù)
摘云
LV.5
20
2013-08-02 11:31
@fzhlpp
上面只是這個(gè)指示燈一直亮著,那么要讓這個(gè)指示燈動(dòng)起來(lái),一亮一滅的好看一點(diǎn)就要用到延時(shí)程序了,下面這個(gè)就可以做到這個(gè)功能:#include"STC15F2K60S2.h"  sbitLEDCONTROL=P1^5;//先定義P1.4這個(gè)IO口用LEDCONTROL表示,這個(gè)LEDCONTROL可以用別的自己認(rèn)為好記的代替,比如LEDKZ=P1^4;  sbitLED3=P1^4;//這里定義P1.5這個(gè)IO口用LED3表示  voiddelay(){   inti,j;   for(i=0;i
延時(shí)程序怎么寫(xiě)才能更精確呢?我買(mǎi)了個(gè)學(xué)習(xí)板,配有老師講課,根據(jù)視頻的講解這個(gè)時(shí)間很難調(diào)
0
回復(fù)
2013-08-02 12:03
@摘云
延時(shí)程序怎么寫(xiě)才能更精確呢?我買(mǎi)了個(gè)學(xué)習(xí)板,配有老師講課,根據(jù)視頻的講解這個(gè)時(shí)間很難調(diào)
不到萬(wàn)不得已一般不用軟件延時(shí),那會(huì)浪費(fèi)很多時(shí)間在無(wú)用的循環(huán)上,你可以學(xué)習(xí)完定時(shí)器后再來(lái)看看延時(shí),那叫做硬件延時(shí),當(dāng)然,學(xué)習(xí)一步一步來(lái),急不得。
0
回復(fù)
fzhlpp
LV.7
22
2013-08-02 21:59
@愛(ài)炫小王子
出于節(jié)能與CPU的考慮,delay延時(shí)是否可以不要呢,加一句PCON=0X01;再搭配定時(shí)器使用延時(shí)。
你說(shuō)的很對(duì),不得不用的情況下才考慮用軟件延時(shí),只是剛開(kāi)始學(xué)單片機(jī)的最好還是先學(xué)會(huì)用軟件延時(shí),而且剛學(xué)的人都還不知道什么叫“軟件延時(shí)”哦,呵呵,等學(xué)過(guò)一段時(shí)間,自己也寫(xiě)出一點(diǎn)能運(yùn)行的程序后就慢慢理解了,不能急于一時(shí)的要求像“摘云”網(wǎng)友提問(wèn)的那樣高精度延時(shí),剛學(xué)的最好先像我上面那個(gè)LED燈一亮一滅的工作起來(lái),然后自己試試修改那個(gè)延時(shí)里面的數(shù)字看看改變后的效果去理解軟件延時(shí),以后到需要精確延時(shí)的時(shí)候應(yīng)該都懂了,軟件延時(shí)在很多程序中都是必須的啊,沒(méi)那么多定時(shí)器。這款芯片好像就2個(gè)定時(shí)器吧,我還沒(méi)看到學(xué)到這里,馬上我說(shuō)的數(shù)碼管顯示也是軟件延時(shí)的,這個(gè)數(shù)碼管顯示就是須要用軟件延時(shí)了。定時(shí)器留給了后面的功能。
0
回復(fù)
fzhlpp
LV.7
23
2013-08-02 22:04
@摘云
延時(shí)程序怎么寫(xiě)才能更精確呢?我買(mǎi)了個(gè)學(xué)習(xí)板,配有老師講課,根據(jù)視頻的講解這個(gè)時(shí)間很難調(diào)
你買(mǎi)的是什么學(xué)習(xí)板,為什么想到要精確延時(shí)能,把你遇到的問(wèn)題詳細(xì)的說(shuō)出來(lái)這個(gè)論壇高手如云,說(shuō)不定就解決你的疑問(wèn)了。
0
回復(fù)
摘云
LV.5
24
2013-08-02 23:31
@愛(ài)炫小王子
不到萬(wàn)不得已一般不用軟件延時(shí),那會(huì)浪費(fèi)很多時(shí)間在無(wú)用的循環(huán)上,你可以學(xué)習(xí)完定時(shí)器后再來(lái)看看延時(shí),那叫做硬件延時(shí),當(dāng)然,學(xué)習(xí)一步一步來(lái),急不得。
謝謝,呵呵呵,初學(xué)嘛總要搞懂是怎么回事情,先摸到大門(mén)才能進(jìn)去呀?。『呛呛?/div>
0
回復(fù)
摘云
LV.5
25
2013-08-02 23:34
@fzhlpp
你買(mǎi)的是什么學(xué)習(xí)板,為什么想到要精確延時(shí)能,把你遇到的問(wèn)題詳細(xì)的說(shuō)出來(lái)這個(gè)論壇高手如云,說(shuō)不定就解決你的疑問(wèn)了。
我買(mǎi)的是哈爾濱工業(yè)大學(xué)的一個(gè)叫天祥的學(xué)習(xí)板,他的廣告語(yǔ)是“單片機(jī),十天征服你”,配有教學(xué)光盤(pán)
0
回復(fù)
摘云
LV.5
26
2013-08-02 23:35
@fzhlpp
你買(mǎi)的是什么學(xué)習(xí)板,為什么想到要精確延時(shí)能,把你遇到的問(wèn)題詳細(xì)的說(shuō)出來(lái)這個(gè)論壇高手如云,說(shuō)不定就解決你的疑問(wèn)了。
弄這個(gè)延時(shí)也就是練習(xí)寫(xiě)一些小程序而已
0
回復(fù)
fzhlpp
LV.7
27
2013-08-02 23:39

還真不知道按什么排版原則發(fā)帖跟帖才不會(huì)亂,試試跟第一帖效果怎么樣,有論壇發(fā)帖經(jīng)驗(yàn)的高手也指導(dǎo)一下咱,新手們也學(xué)習(xí)學(xué)習(xí)。

下面是我成功數(shù)碼顯示功能的程序,新手們可要好好分析了,別小看我這個(gè)新手,我可是花了不少時(shí)間才琢磨出來(lái)的,這個(gè)原理圖對(duì)單片機(jī)的IO口操作很有代表性,我覺(jué)得^_^。這就是傳說(shuō)中的IO口復(fù)用吧,當(dāng)然還有更精辟的IO口復(fù)用,咱慢慢來(lái),學(xué)單片機(jī)就要先分析硬件原理,這里用兩個(gè)共陽(yáng)數(shù)碼管顯示,兩組LED的共陰極相同段并在一起,兩組的陽(yáng)極是分開(kāi)的,這樣我們顯示時(shí)先顯示其中一個(gè)數(shù)碼管,另外一個(gè)關(guān)閉,延時(shí)幾個(gè)毫秒后關(guān)閉這個(gè)開(kāi)啟另外那個(gè)數(shù)碼管,這樣我們眼睛看到的就是兩個(gè)數(shù)碼管是一起顯示的了,眼睛是分辨不出兩個(gè)數(shù)碼管其實(shí)是輪流顯示的。

#include "STC15W204S.h"
sbit LED=P1^5;   //定義控制3個(gè)LED的IO口,數(shù)碼管顯示的時(shí)候這個(gè)IO口必須為高電平,否則3個(gè)LED就有機(jī)會(huì)發(fā)光了。
sbit ANJIAN=P3^0; //定義控制按鍵的IO口,同樣的道理,數(shù)碼管顯示的時(shí)候按鍵輸出的IO口也設(shè)置為高,經(jīng)過(guò)按鍵隔離電阻后就不影響數(shù)碼管顯示了
sbit SHUMA1=P1^1;  //定義控制數(shù)碼管1的IO口
sbit SHUMA2=P5^5;  //定義控制數(shù)碼管2的IO口
#define  uchar unsigned char
#define  uint  unsigned int
 
uchar a=0,b=0;//定義全局變量,也可以在main主函數(shù)里局部定義,只是我以后要在別的函數(shù)和中斷函數(shù)里要用到這個(gè)變量。

const unsigned char table1[]={0xEA,0xEF,0xFA,0xEE,0xEF,0xEE,0xEA,0xEF,0xEA,0xEE,0xFF};  //這里數(shù)組等我有空了分析給跟我一樣的新手看
const unsigned char table3[]={0xB5,0xFD,0x75,0x75,0x3D,0x37,0x37,0xF5,0x35,0x35,0xFF};

  void delay(uchar ms) //延時(shí)函數(shù),具體多少時(shí)間我不知道,呵呵,不要緊這個(gè)時(shí)間自己可以修改里面的數(shù)字,時(shí)間長(zhǎng)LED亮度高,相反LED就較暗。
{
      uchar i,j;
 for(i=0;i

 {
    for(j=0;j<50;j++);
   }

}


 void show(uchar xs,uchar k) //顯示函數(shù),把顯示部分分離出來(lái)更清晰方便模塊化。
     {
   LED=1;   //控制3個(gè)LED三極管Q1的IO口拉高。
   P1=0xFF; //P1口全部拉高,這樣其上的LED或數(shù)碼管都不亮,
   P3=0xFF; //同上,其中還包含了控制按鍵拉高,就是說(shuō)在顯示函數(shù)里屏蔽其他功能以免造成影響。
     P5=0xFF;  //控制數(shù)碼管陽(yáng)極的Q2的IO口拉高,其控制的數(shù)碼管不亮。
     if(k==1){SHUMA1&=0;}//這句話的意思就是如果是主函數(shù)運(yùn)行到show(a,1)這個(gè)顯示函數(shù)那么就是要顯示數(shù)碼管1的數(shù)字,這是就要開(kāi)啟控制數(shù)碼管1的那個(gè)陽(yáng)極的那個(gè)三極管 

   if(k==0){SHUMA2&=k;}//這句話的意思就是如果是主函數(shù)運(yùn)行到show(b,0)這個(gè)顯示函數(shù)那么就是要顯示數(shù)碼管2的數(shù)字,這是就要開(kāi)啟控制數(shù)碼管2的那個(gè)陽(yáng)極的那個(gè)三極管  

    P1&=table1[xs];
     P3&=table3[xs];
     delay(5);
     }

/////////其中的a是代表數(shù)碼管的個(gè)位,b是代表數(shù)碼管的十位。  

void main()
{
;
 while (1)
    {
   uint jj;
       b=(a==10)?b+1:b;
    a=(a==10)?0:a;
    b=(b==10)?0:b;
    a=(a>9)?9:a;
    show(a,1);
    show(b,0);
    jj++;
    if(jj==3100){a=a+1;jj=0;}

    }
}

這里上傳這個(gè)原理圖的99SE版.schSTC15W204S 

0
回復(fù)
fzhlpp
LV.7
28
2013-08-02 23:42
@摘云
弄這個(gè)延時(shí)也就是練習(xí)寫(xiě)一些小程序而已
我是問(wèn)你用的是什么單片機(jī),在做什么功能,看你好像跟我一樣是新手啊,呵呵,一起學(xué)吧。
0
回復(fù)
摘云
LV.5
29
2013-08-03 00:29
@fzhlpp
我是問(wèn)你用的是什么單片機(jī),在做什么功能,看你好像跟我一樣是新手啊,呵呵,一起學(xué)吧。
絕對(duì)的新手,呵呵呵,而且是嶄新的,芯片也是STC89C52
0
回復(fù)
bode
LV.9
30
2013-08-03 08:00
@fzhlpp
呵呵有人一起學(xué)很好啊,不過(guò)我進(jìn)度很慢的,估計(jì)你已經(jīng)成了絕世高手了我還在初級(jí)階段繼續(xù)摸索著。主要工作不是做這個(gè),所以只在有空時(shí)來(lái)學(xué)學(xué)。

呵呵,我進(jìn)展也不快。來(lái)電源網(wǎng)討論單片機(jī)技術(shù),本職大都是做電源,為了興趣或者充電在業(yè)余學(xué)習(xí)單片機(jī)的。

我平時(shí)也就是看看書(shū),玩玩開(kāi)發(fā)板,工作忙的時(shí)候,一天也就看個(gè)一兩頁(yè)。

有空也會(huì)看看視頻,有個(gè)視頻叫《十天精通單片機(jī)》,看名字雖然夸張些,不過(guò)講得確實(shí)不錯(cuò)。

樓主在學(xué)習(xí)單片機(jī)的過(guò)程中,學(xué)習(xí)匯編嗎?

 

0
回復(fù)
bode
LV.9
31
2013-08-03 08:05
@fzhlpp
你說(shuō)的很對(duì),不得不用的情況下才考慮用軟件延時(shí),只是剛開(kāi)始學(xué)單片機(jī)的最好還是先學(xué)會(huì)用軟件延時(shí),而且剛學(xué)的人都還不知道什么叫“軟件延時(shí)”哦,呵呵,等學(xué)過(guò)一段時(shí)間,自己也寫(xiě)出一點(diǎn)能運(yùn)行的程序后就慢慢理解了,不能急于一時(shí)的要求像“摘云”網(wǎng)友提問(wèn)的那樣高精度延時(shí),剛學(xué)的最好先像我上面那個(gè)LED燈一亮一滅的工作起來(lái),然后自己試試修改那個(gè)延時(shí)里面的數(shù)字看看改變后的效果去理解軟件延時(shí),以后到需要精確延時(shí)的時(shí)候應(yīng)該都懂了,軟件延時(shí)在很多程序中都是必須的啊,沒(méi)那么多定時(shí)器。這款芯片好像就2個(gè)定時(shí)器吧,我還沒(méi)看到學(xué)到這里,馬上我說(shuō)的數(shù)碼管顯示也是軟件延時(shí)的,這個(gè)數(shù)碼管顯示就是須要用軟件延時(shí)了。定時(shí)器留給了后面的功能。
軟件延時(shí)太浪費(fèi)資源,用定時(shí)器中斷最省事。
0
回復(fù)
發(fā)