標題: 51單片機lcd1602按鍵切屏 [打印本頁]
作者: a1075511750 時間: 2018-1-8 18:01
標題: 51單片機lcd1602按鍵切屏
大家好,我又來了,這次是基礎切屏(我也只會這基礎。。),我用的是stc15w4k56s4的單片機,作用是,可以使用和51一樣的操作。
切屏
切屏:
例如我想在兩個屏幕之間切換:
1、先把每個屏幕應該顯示的效果給存起來
存入的數據.png (4.83 KB, 下載次數: 102)
下載附件
2018-1-8 17:49 上傳
2、再把兩個屏幕的顯示操作寫成函數形式(也可以直接寫在主函數中,但是這樣的話,主函數里就很臃腫,所以為了美觀和方便操作,一般寫成函數形式,直接調用函數就好,但是注意,沒有使用的函數,系統會給警告)
lcd顯示操作.png (90.28 KB, 下載次數: 92)
下載附件
2018-1-8 17:50 上傳
3、寫按鍵掃描函數
按鍵掃描.png (20.34 KB, 下載次數: 73)
下載附件
2018-1-8 17:51 上傳
我使用兩個按鍵,一個按鍵代表一個屏幕,這里要注意的是,我使用了清屏指令,我們可以先從顯示操作函數的形象版看看:
m跑顯示.png (16.08 KB, 下載次數: 80)
下載附件
2018-1-8 17:53 上傳
我是用一個變量m來依次顯示字符,如果要切換屏幕的話,就讓m返回起點“m=0”,讓它重新“跑”(m還挺辛苦的),切屏后,讓它返回起點,那么如果之前跑過了lcd1字符串,那么它從起點開始跑,是用“替換”的方法跑,如果它沒跑完之前lcd1的長字符串,那也就是說它只替換了之前的那一部分,后面還留有一部分沒有替換,所以就得出了個道理:m它不能自動清掉它之前跑過的地方。那么我們只能再找個工人:指令設置函數(寫指令函數)我用wcmd命名,01H是清屏指令。
還有要注意的就是按鍵抬起,如果沒有按鍵抬起,那么如果我的按鍵是“按一下就+1”那么單片機就會一直循環+1,
4、主函數:
主函數.png (9.91 KB, 下載次數: 87)
下載附件
2018-1-8 17:53 上傳
可以看到,由于我都是把操作指令給寫成函數,所以主函數就直接調用,是不是很美觀,除了美觀還有個神奇功能!你可以右鍵某個函數,有項Go to definition of”xx”然后就可以直接飛到那個函數去!
I/O口初始化可以不用看,我用的是stc15w4kxxs4系列。
需要看的是while(1)這部分,這部分我花了好長時間才懂:
①while(1)是等待,
為啥是等待?因為它一直為1(1就是真),當它為真時,不跳出循環,為0(假)才能出來;
為啥加這個東西?這就要另外個知識點,我們使用的是C語言,是機器語言,所以我們要學會C語言,就只需要讀懂C語言這個機器語言而已,C語言是按照主函數中的順序讀下來的,當讀到某個調用函數,就Go to調用的函數,讀里面的數據,再返回主函數繼續,while(1)是為真就不跳出,這么一個死循環(它別稱死循環),當主函數讀到while(1)時,就一直等它跳出,(main:大哥咋那么久啊啊);
那我不加行不行?我之前說主函數是一直讀它里面的程序,如果不加的話它就會一直這樣讀下去,大家可以看看不加回是什么樣的情況,數據就會一閃一閃的(因為m在一直跑啊!),所以要加等待讓主函數停住(在這停頓!)。
②關于while(1)之前說了,它為真時,不跳出,為假時才跳出,那么什么時候為假呢,這就要看它肚子里的貨了,如果肚子里沒貨,那就要一直等,這時就為1;當有1和2兩個貨時,1貨突然報警了,這時1貨就為真,它就優先處理1貨,就等1貨被干掉;當2貨報警了,那它又去處理2貨,這時2貨就為真,它又要去處理2貨,又要等它被干掉。
以上,我是這么理解的,專業的我不懂,大家聽專業的也可能聽不懂,所以就先給大家一個形象的認識,今后再接觸專業的知識就能事半功倍了。
作者: zqy181818 時間: 2018-1-8 22:35
實用,不錯!多謝分享!
作者: erdan同學 時間: 2019-4-11 11:14
為什么 我切屏的時候,還保留沒切屏的時候的數據
作者: Serendipity_ 時間: 2019-8-2 19:26
要刷屏!
作者: zhangjianhu 時間: 2019-10-19 14:10
解釋的很通透,理解起來簡單。
作者: 741020229 時間: 2019-12-28 00:36
請問如果想要用一個按鍵來控制切屏的話應該怎樣做?
作者: 溫子然 時間: 2020-5-3 21:20
想知道,可以不用通過復位鍵直接按兩個按鍵切換顯示內容嗎?
作者: niuquanwang 時間: 2020-5-3 23:44
估計是沒有清屏,把清屏函數調用一下。
作者: 121017 時間: 2020-12-22 20:46
這個你有完整程序嗎,實在不會
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
成年人在线视频
|
国产美女一区
|
国产欧美一区二区三区在线看蜜臀
|
亚洲精品在线视频
|
久久亚洲春色中文字幕久久久
|
中文字幕精品一区久久久久
|
国产亚洲一区二区精品
|
国产精品欧美一区二区三区不卡
|
91精品国产综合久久小仙女图片
|
久久99精品视频
|
欧美精品久久久
|
日韩在线视频观看
|
欧美一级精品片在线看
|
91影片|
欧美黑人国产人伦爽爽爽
|
亚洲精品在线看
|
国产日本精品视频
|
中文字幕欧美一区
|
久久婷婷国产麻豆91
|
精品久久电影
|
97狠狠干
|
一区二区三区精品视频
|
亚洲免费人成在线视频观看
|
亚洲国产精品99久久久久久久久
|
亚洲一区二区三
|
久久精品亚洲
|
久草资源在线
|
成人精品网
|
神马久久久久久久久久
|
视频1区2区
|
国产区一区二区三区
|
精品在线观看一区二区
|
国产精品福利网站
|
日韩高清一区
|
久久久久1|
国产高清久久
|
国产视频第一页
|
999观看免费高清www
|
天天干天天操天天爽
|
91精品国产91久久久久久最新
|
黄色免费网址大全
|