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

標題: 學51單片機-指令周期與LED閃爍 [打印本頁]

作者: jiajiamei    時間: 2015-3-20 22:55
標題: 學51單片機-指令周期與LED閃爍
      
           忽然發現,想系統的寫點東西,還真不是那么容易的事,不過已經開始了,我就硬著頭皮上了。
      之前講了如何點亮LED,包括硬件電路和程序,今天說一下如何讓LED閃爍。單片機控制LED閃爍有兩種方法,一種是軟件延時,另一種是定時器中斷。因為涉及到單片機指令集的問題,還有一些簡單的C語言,今天只講第一種。
      先說指令集,早期的51單片機都是復雜指令集,因為沿用的習慣現在用的STC89C52單片機也是復雜指令集,和復雜指令集對應的,就是精簡指令集,常見的有AVR和430單片機。
      這兩種指令集的區別是啥?最明顯的就是一條指令執行的時間,舉個例子:51單片機和AVR單片機都外接一個12M的晶體,一個時鐘周期是1/12M=1/12US,執行一條單周期指令(多周期指令不考慮)需要多少時間?
      51單片機用的時間是 (1/12M)*12=1US.
      AVR單片機用的時間是 1/12M = 1/12US
      同理,如果接8M的晶體,那么時間就是
      51: (1/8M)*12 = 1.5US
      AVR:  1/8M = 0.125US
      由上可見,精簡指令集比復雜指令集快了12倍。
      既然外接晶體速度越高,指令周期時間就越短,是不是晶體頻率越大越好?當然不是!一個人的心跳速率越快,自然泵血越多,能提供更多的能量,但是如果超出極限,自然就崩潰了。
      51單片機能外接多大的晶體?這個值要看器件手冊了,像ATMEL的,最大可以到24M,STC的STC89C52能到35M,如下圖:
      那么常說的1T,4T,6T,12T是什么意思?因為很多單片機以MCS-51內核為核心,隨著工藝的提高,指令周期的速度也會有所提升。12T就是12個時鐘周期為一個指令周期,也就是最原始的,維持不變。同理,1T就是一個時鐘周期為一個指令周期,4T就是四個時鐘周期為一個指令周期。
      好了,說了那么多廢話,開始說LED閃爍的事,今天說的是軟件延時,軟件延時就是單片機在主程序里面計時,當時間到了,打開或者關閉LED,計時的過程中不能做別的事。
      示例程序如下:
      程序已經上傳到這里: LED延時閃爍.zip (20.83 KB, 下載次數: 33)
      好了,今天就這樣,給大家留個思考題,程序中的delay(3000) 延時0.85S是如何算出來的。
     感謝浪豆兄弟的指正,這一篇確實有些錯誤,已經改正。


   





作者: aatcs    時間: 2019-8-31 12:04
講的很明白清晰,學習了




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 色婷婷av一区二区三区软件 | 欧美日韩成人 | 日本啊v在线 | 久久另类 | 91福利电影在线观看 | 黑人巨大精品欧美一区二区免费 | 麻豆久久精品 | 精品视频在线观看 | 欧美激情在线播放 | 亚洲午夜精品一区二区三区 | 成人一区二区三区在线观看 | 国产最好的av国产大片 | 成年人在线观看 | 超碰成人免费 | 伊大人久久 | 亚洲欧美激情视频 | 日本一二三区电影 | 欧美男人亚洲天堂 | 国产精品久久久久久久久久 | 国产精品久久久久久久一区探花 | 欧洲妇女成人淫片aaa视频 | 欧美一区二区在线观看 | 国产一区二区免费电影 | 国产ts人妖另类 | 欧美日韩综合视频 | 在线不卡av| 日韩免费视频一区二区 | 亚洲在线一区 | 日韩av一区二区在线观看 | 2019天天干夜夜操 | 欧美精品在线播放 | 日韩在线观看网站 | 亚洲欧美日韩中文在线 | 欧美淫| 久久精品国产一区二区 | 国产精品一区二区免费看 | 精品国产乱码久久久久久闺蜜 | 国产精品一区久久久 | 波多野结衣电影一区 | 在线成人免费视频 | 亚洲综合精品 |