本期實驗:
模擬工廠裡的產品掃描計數器:
實驗二,在16位簡單計數器的基礎上,拓展為32計數,即9999 9999個計數單元。本期目的:不是簡單地通過增加變量來拓展計數器的容量,而是要通過編程來判斷變量1和變量2的狀態來整合成一個完整的32位計數器。
【使用說明】:選用51單片機實驗板上的S2和S3鍵。其中S2用於模擬代替掃描開關,當有產品經過時,會使S2送出低電平(本程序中是用手按下S2來模擬)S2每按一下,便會使數碼管上的計數器加一,達到一億的時候全部清零,重新計數。
S3用於對計數手動清零。
注釋:由於我們的51單片機是16位的計數器,所以它的程序設計裡的變量最大也只能使用int的類型變量,也就是最大值為65535。這一期我們在上一期的基礎上,利用編程的方法,將我們現有的單片機拓展到32位的計數,也就是能夠達到一億以內的計數了,這基本上能夠滿足大部分的計數需求了。學會這種方法後,再只要添加變量和對變量的分析就可以實現任何數據的計數了。
實驗步驟:
1,首先打開上次收藏的「c51代碼生成器」在線編譯器網頁。只要按照圖一裡面的步驟搭建就都可以完成(不清楚的可以後臺留言諮詢)。
拼接順序:如圖一 圖二 圖三所示
2,搭建好的積木點擊保存並複製代碼。
3,打開keil編譯器軟體,在文本框裡粘貼,生成hex文件。
4,打開燒錄軟體,找到剛剛的hex文件,下載到單片機。
實驗效果:如圖四所示
實驗解釋及編程思路:
我們知道單片機最常用的功能之一就是檢測埠的輸入狀態和改變其他埠的高低電平輸出狀態。所以,我們可以讓單片機高頻掃描我們指定的某一埠,檢測它是否有低電平出現,每來一次低電平計數器加一,並且實時用數碼管顯示出來。實際應用中我們根據不同的產品使用不同的傳感器,傳感器輸出的電平信號被送到單片機的埠完成我們信號的採集。
這裡我們用S2按鍵模擬代替掃描開關,當有產品經過時,會使S2送出低電平(本程序中是用手按下S2來模擬)S2每按一下,便會使數碼管上的計數器加一。S3用於對計數清零。
圖一 綜合拼接圖上半部分
圖二 綜合拼接圖下半部分
圖三 綜合拼接全面圖核心部分
圖四 視頻效果圖
附:https://kdocs.cn/l/sJmLlJy8T?f=131[文檔] 圖形化編程玩51單片機實驗例程匯總.docx
裡面所有文章均為本人原創,歡迎大家轉發分享用於相互學習交流共同進步。