標(biāo)題: 關(guān)于單片機時鐘觸發(fā)的一些問題 [打印本頁]

作者: 藍(lán)野    時間: 2017-11-21 11:11
標(biāo)題: 關(guān)于單片機時鐘觸發(fā)的一些問題
對于單片機的一些時鐘電平,有的是高電平有效,有的是低電平有效,在這種前提下,接著寫有效的程序語句,尤其像使能端作為一個“開關(guān)”,只有在恒定的電平下,其他部分才能工作;
那么我的問題是:對于一個時鐘上升沿有效的語句才開始運行,該怎么寫?
例如我在做595串轉(zhuǎn)并的實驗,一個時鐘上升沿就往595發(fā)送一位數(shù)據(jù),595沒有內(nèi)部時鐘,所以需要人為的書寫,
以下三部分哪一種正確或者都不正確,正確的又是什么樣的?誠邀各位解答。
第一部分:
      ,,,       clk=0;
     _nop_();
      clk=1;
       輸送一位數(shù)據(jù)(語句);
     ,,,,,


第二部分:

     ,,,
     輸送一位數(shù)據(jù)(語句);
     clk=0;
    _nop_();
    clk=1;
    ,,,,,



第三部分:
     ,,,
      clk=0;    _nop_();
    輸送一位數(shù)據(jù)(語句);
    clk=1;
    ,,,,,





作者: ahshmj    時間: 2017-11-22 16:16
從頭學(xué)起,扎扎實實的學(xué)。語句語法。
作者: zl2168    時間: 2017-11-22 21:17
文字?jǐn)⑹鲆矝]過關(guān),講不清問題。
作者: 藍(lán)野    時間: 2017-11-24 20:59
zl2168 發(fā)表于 2017-11-22 21:17
文字?jǐn)⑹鲆矝]過關(guān),講不清問題。

例如,我要寫一個時鐘上升沿(1),在這個上升沿的作用下,P0.0接受一個位的數(shù)據(jù)(2);
在程序的語句中,如何書寫(1)和(2)?
作者: a229227512    時間: 2017-11-25 12:06

文字?jǐn)⑹鲆矝]過關(guān),講不清問題。
作者: 藍(lán)野    時間: 2017-11-28 21:31
a229227512 發(fā)表于 2017-11-25 12:06
文字?jǐn)⑹鲆矝]過關(guān),講不清問題。


zl2168 發(fā)表于 2017-11-22 21:17
文字?jǐn)⑹鲆矝]過關(guān),講不清問題。

例如,我要寫一個時鐘上升沿(1),在這個上升沿的作用下,P0.0接受一個位的數(shù)據(jù)(2);
在程序的語句中,如何書寫(1)和(2)?
作者: zl2168    時間: 2017-11-29 09:32
本帖最后由 zl2168 于 2017-11-29 09:43 編輯

你上述3個部分,有什么區(qū)別?都已經(jīng)達(dá)到一個上升沿的作用。
給你介紹幾個595正確有效的案例.先Proteus仿真一下,確認(rèn)有效。

實例44  74HC595串入并出控制8/16循環(huán)燈 實例44 74HC595串行輸出控制8-16循環(huán)燈.rar (72.58 KB, 下載次數(shù): 4)

實例56 74LS595串行擴展3LED數(shù)碼管靜態(tài)顯示 實例56 74LS595串行擴展3位LED靜態(tài)顯示.rar (39.7 KB, 下載次數(shù): 3)

實例59  74LS595串行選通8LED數(shù)碼管動態(tài)顯示 實例59 74LS595×2選通8位LED動態(tài)顯示.rar (45.12 KB, 下載次數(shù): 2)
實例77  74HC595+165擴展8×8鍵盤 實例77 74LS595 165擴展8×8鍵盤.rar (65.99 KB, 下載次數(shù): 2)

以上摘自張志良編著《80C51單片機仿真設(shè)計實例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1內(nèi)有常用的單片機應(yīng)用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設(shè)計有詳細(xì)說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。

作者: 藍(lán)野    時間: 2017-11-29 17:29
zl2168 發(fā)表于 2017-11-29 09:32
你上述3個部分,有什么區(qū)別?都已經(jīng)達(dá)到一個上升沿的作用。
給你介紹幾個595正確有效的案例.先Proteus仿真 ...

“你上述3個部分,有什么區(qū)別?都已經(jīng)達(dá)到一個上升沿的作用。”
按你的意思我書寫的上升沿出發(fā)的語句三種位置方式都可以?
作者: zl2168    時間: 2017-11-30 09:49
本帖最后由 zl2168 于 2017-11-30 14:45 編輯
藍(lán)野 發(fā)表于 2017-11-29 17:29
“你上述3個部分,有什么區(qū)別?都已經(jīng)達(dá)到一個上升沿的作用!
按你的意思我書寫的上升沿出發(fā)的語句三 ...

第二、三種都可以,第一種不行。

以上摘自張志良編著
80C51單片機仿真設(shè)計實例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,內(nèi)有常用的單片機應(yīng)用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行,可演示,可觀測,程序語句條條有注解。

作者: HelloPan111    時間: 2017-12-6 16:27
voidHC595SendData(unsignedcharSendVal)
{
unsignedchari;
for(i=0;i<8;i++)
{
if((SendVal<<i)&0x80)MOSIO=1;
elseMOSIO=0;
S_CLK=0;
NOP();
NOP();
S_CLK=1;
}
R_CLK=0;
NOP();
NOP();
R_CLK=1;
}
參考這個




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1