<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機c語言教程:C51常量

          單片機c語言教程:C51常量

          作者: 時間:2012-09-11 來源:網絡 收藏

          程序中的花樣數(shù)據(jù)能自以去定義,因這里我們的 LED 要 AT89c51 的 P1 引腳為低電平才 會點亮,所以我們要向 P1 口的各引腳寫數(shù)據(jù) O 對應連接的 LED 才會被點亮,P1 口的八個引 腳剛好對應 P1 口特殊寄存器的八個二進位,如向 P1 口定數(shù)據(jù) 0xFE,轉成二進制就是

          11111110,最低位 D0 為 0 這里 P1.0 引腳輸出低電平,LED1 被點亮。如此類推,大家不難算 出自己想要做的效果了。大家編譯燒寫看看,效果就出來,顯示的速度您能根據(jù)需要調整 延時 a 的值,不要超過變量類型的值域就很行了。哦,您還沒有實驗板?那如何能知道程 序運行的結果呢?呵,不用急,這就來說說用 KEIL uVision2 的軟件仿真來調試 IO 口輸出輸入程序。


          點擊瀏覽下一頁

          圖 4-1 八路跑馬燈電路 編譯運行上面的程序,然后按外部設備菜單 Peripherals-I/O Ports-Port1 就打開

          Port1 的調試窗口了,如圖 4-3 中的 2。這個時候程序運行了,但我們并不能在 Port1 調試窗口 上看到有會什么效果,這個時候能用鼠標左擊圖 4-3 中 1 旁邊綠色的方條,點一下就有一個 小紅方格再點一下又沒有了,哪一句語句前有小方格程序運行到那一句時就停止了,就是設 置調試斷點,同樣圖 4-2 中的 1 也是同樣功能,分別是增加/移除斷點、移除所有斷點、允 許/禁止斷點、禁止所有斷點,菜單也有一樣的功能,另外菜單中還有 Breakpoints 可打開 斷點設置窗口它的功能更強大,不過這里先不用它。在“P1 = design[b];”這一句設置一 個斷點這個時候程序運行到這里就停住了,再留意一下 Port1 調試窗口,再按圖 5-2 中的 2 的運 行鍵,程序又運行到設置斷點的地方停住了,這個時候 Port1 調試窗口的狀態(tài)又不一樣了。也就是說 Port1 調試窗口模擬了 P1 口的電平狀態(tài),打勾為高電平,不打勾則為低電平,窗口中 P1

          為 P1 寄存器的狀態(tài),Pins 為引腳的狀態(tài),注意的是如果是讀引腳值之前必須把引腳對應的 寄存器置 1 才能正確讀取。圖 4-2 中 2 旁邊的{}樣的按鈕分別為單步入,步越,步出和 執(zhí)行到當前行。圖中 3 為顯示下一句將要執(zhí)行的語句。圖 4-3 中的 3 是 Watches 窗口可查 看各變量的當前值,數(shù)組和字串是顯示其頭一個地址,如本例中的 design 數(shù)組是保存在 code 存儲區(qū)的首地址為 D:0x08,能在圖中 4 Memory 存儲器查看窗口中的 Address 地址中打入 D:0x08 就能查看到 design 各數(shù)據(jù)和存放地址了。如果你的 uVision2 沒有顯示這些窗口, 能在 View 菜單中打開在圖 4-2 中 3 后面一欄的查看窗口快捷欄中打開。


          點擊瀏覽下一頁

          圖 4-2 調試用快捷菜單欄

          點擊瀏覽下一頁

          圖 4-3 各調試窗口

          51單片機相關文章:51單片機教程


          c語言相關文章:c語言教程


          激光器相關文章:激光器原理

          上一頁 1 2 下一頁

          關鍵詞: 常量 C51 教程 單片機 語言

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();