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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4767|回復: 28
收起左側

自學了好長時間C51單片機還是懵懵懂懂,求指導下程序 硬件已經完成了

[復制鏈接]
ID:1001745 發表于 2022-10-18 19:45 | 顯示全部樓層 |閱讀模式
能力有限,自學了好長時間C51單片機還是懵懵懂懂,現在手頭上有個DIY需要用到51程序。對于我來說難度很大但是對于高手來說是非常簡單的。求助有沒有大師能不能帶著輔導寫一下。硬件已經完成了。下面是程序需求。
MCU芯片型號:STC8G1K17-38I
封裝:TSSOP-20
系統供電:+5V
燒錄方式:串口ISP下載
系統程序要求:
開機自檢:
1. 溫度是否在60℃以下,如果溫度在范圍內;MCU正常開機且4顆LED跑馬燈式依次全亮10秒后熄滅。如果溫度超過設計60℃范圍,MCU不能正常開機(兩個按鍵狀態鎖定)且4顆LED連續閃爍30S后熄滅。
2. 檢查BV電壓:上電后BV電壓<2.8V或大于4.6V系統不能正常工作(兩個按鍵狀態鎖定);且LED1燈快閃10次熄滅;BV電壓自檢正常4顆LED跑馬燈依次點亮10秒后對應BV值顯示出該值下的電量顯示,詳見電量指示LED對應表。
系統工作:
短按SW2,系統能依照電量指示LED對應表輸出LED1-LED4的點燈狀態,控制端口為P3.3-P3.5;低電平有效;點亮LED時間為5S。
1. 短按SW1;P1.1端口能輸出高電平;再次短按P1.1能輸出低電平。
2. 長按SW1時長3S以上;P1.1輸出高電平。長按SW1時長3S以上,P1.0端口輸出低電平;
3. 系統工作后持續檢測TEMP值,對應溫度值達到60℃時,P3.7端口持續輸出高電平打開FAN;直到系統檢測TEMP值小于60℃時,P3.7端口持續輸出低電平關斷FAN。
4. 系統工作后持續檢測BV值;當檢測到BV值<3.0V時,LED1-LED2連續閃爍5秒后熄滅。
回復

使用道具 舉報

ID:1043624 發表于 2022-10-19 02:56 | 顯示全部樓層
第1個表述有點問題,不是MCU不能正常開機而是面板不允許操作且輸出故障提示。
回復

使用道具 舉報

ID:525244 發表于 2022-10-19 07:14 來自觸屏版 | 顯示全部樓層
qingshuiyu 發表于 2022-10-19 02:56
第1個表述有點問題,不是MCU不能正常開機而是面板不允許操作且輸出故障提示。

編程就是數據的傳送、搬運!首先你要知道如何搬運,其次是如何搬運,為什么搬運?就像做菜,案板就那一個,切菜也是拿來一樣,切完了,拿走,再拿來一樣菜!
回復

使用道具 舉報

ID:60370 發表于 2022-10-19 08:26 | 顯示全部樓層
硬件完成?靠這個文字描述是不行的,沒電路圖也沒有程序別人幫不了你的
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 08:48 | 顯示全部樓層
圖片為原理圖請各位大師幫忙看看,謝謝!
圖片2.png
回復

使用道具 舉報

ID:198189 發表于 2022-10-19 09:24 | 顯示全部樓層
你程序起碼也得有個框架出來別人才好幫你修正啊
回復

使用道具 舉報

ID:123289 發表于 2022-10-19 09:51 | 顯示全部樓層
你會畫邏輯流程嗎?試著先畫出來。不著急寫程序,先跑通流程圖。
我在編程時,程序很復雜:如漢顯、數顯、溫濕度、無線通訊、有線通訊、USB、數控、紅外遙控、時間鐘、FALSH……
都是列出所有的邏輯關系,表格。再畫出程序流程圖。
最后按流程圖寫程序,出問題時,按流程圖審核,哪里錯了,改進。
回復

使用道具 舉報

ID:60370 發表于 2022-10-19 10:28 | 顯示全部樓層
建議將ADC檢測配置做出來,主程序掃描按鍵和讀取溫度和電壓的檢測時間(比如定時每秒檢測一次溫度和BV電壓值并處理),LED顯示和ADC定時檢測使用定時器做。電路有問題,輸入電壓低時MCU檢測電壓值就不準了,輸入電壓過低LED顯示也成問題,建議MCU增加一個備用電池,117供電和備用電池都使用二極管隔離
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:01 | 顯示全部樓層
qingshuiyu 發表于 2022-10-19 02:56
第1個表述有點問題,不是MCU不能正常開機而是面板不允許操作且輸出故障提示。

其實表達的就是鎖死按鍵,括號里面有備注。可能描述不準確。
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:02 | 顯示全部樓層
zgrfox110 發表于 2022-10-19 07:14
編程就是數據的傳送、搬運!首先你要知道如何搬運,其次是如何搬運,為什么搬運?就像做菜,案板就那一個 ...

感謝回復,那我學著慢慢搬運
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:02 | 顯示全部樓層
runmuel 發表于 2022-10-19 08:26
硬件完成?靠這個文字描述是不行的,沒電路圖也沒有程序別人幫不了你的

謝謝回復,原理圖已貼
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:03 | 顯示全部樓層
xia20 發表于 2022-10-19 09:24
你程序起碼也得有個框架出來別人才好幫你修正啊

謝謝回復,就是框架不會搭建
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:04 | 顯示全部樓層
yzwzfyz 發表于 2022-10-19 09:51
你會畫邏輯流程嗎?試著先畫出來。不著急寫程序,先跑通流程圖。
我在編程時,程序很復雜:如漢顯、數顯、 ...

謝謝回復,感謝建議。那我來試著把程序流程圖做出來然后在試試慢慢寫程序。有問題在向您討教。
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 11:07 | 顯示全部樓層
runmuel 發表于 2022-10-19 10:28
建議將ADC檢測配置做出來,主程序掃描按鍵和讀取溫度和電壓的檢測時間(比如定時每秒檢測一次溫度和BV電壓 ...

謝謝回復及建議;這個用搭配電池包用的,如果電池電壓過低電池包保護板就過放保護了。所以我理解只要B+電壓在范圍內就不會導致您說的這個問題。
回復

使用道具 舉報

ID:401564 發表于 2022-10-19 13:48 | 顯示全部樓層
對誰都一樣,不是高手不高手的
一步一步來,一個功能一個功能的去實現
比如,你先寫LED指示燈的函數:"MCU正常開機且4顆LED跑馬燈式依次全亮10秒后熄滅"
那就單單的寫這個功能,其它都什么都不要,只寫這個函數
單單這個功能應該能寫吧,寫完之后,放在程序中,燒錄驗證.別仿真,仿真那玩意沒有用
然后就是其它功能,再一個一個的寫,誰都是這個過程
你至少有個自己大的框架
回復

使用道具 舉報

ID:1001745 發表于 2022-10-19 15:20 | 顯示全部樓層
Y_G_G 發表于 2022-10-19 13:48
對誰都一樣,不是高手不高手的
一步一步來,一個功能一個功能的去實現
比如,你先寫LED指示燈的函數:"MCU正 ...

謝謝回復;我覺得這個太難了。尤其是要去實現這些功能。不過我會根據你的建議一個模塊一個模塊去寫去試。
回復

使用道具 舉報

ID:401564 發表于 2022-10-19 17:58 | 顯示全部樓層
mcuhui 發表于 2022-10-19 15:20
謝謝回復;我覺得這個太難了。尤其是要去實現這些功能。不過我會根據你的建議一個模塊一個模塊去寫去試。

這種功能本身就是沒有什么很高深的難度,就是功能多而已
函數就像模塊一樣,一個一個的去寫,一個一個的驗證
大體功能就是那么幾個:
端口初始化
指示燈
按鍵讀取和處理
ADC,電壓檢測,溫度檢測,都是ADC完成的,像你這個功能對效率要求不高的,推薦ADC用中斷來進行
每個功能要燒錄進行驗證,不要仿真,仿真不出來的
回復

使用道具 舉報

ID:1001745 發表于 2022-10-20 14:39 | 顯示全部樓層
Y_G_G 發表于 2022-10-19 17:58
這種功能本身就是沒有什么很高深的難度,就是功能多而已
函數就像模塊一樣,一個一個的去寫,一個一個的驗 ...

好的,謝謝指導。我比較菜我來試試看。我不仿真也用不來那玩意
回復

使用道具 舉報

ID:1001745 發表于 2022-10-20 14:40 | 顯示全部樓層
這是我畫的程序流程圖,各位大師幫忙看看思路對不對?
回復

使用道具 舉報

ID:1001745 發表于 2022-10-20 15:11 | 顯示全部樓層
lct.png 流程圖
回復

使用道具 舉報

ID:123289 發表于 2022-10-20 16:29 | 顯示全部樓層
樓主的圖,當是功能模塊圖。
程序的流程:一定是一個封閉的環路。因為你的程序是一直運行的,它沒有停止點。
也即任何一個方塊都必須【有進有出】無輸入只有一個:開機。
回復

使用道具 舉報

ID:401564 發表于 2022-10-20 18:47 | 顯示全部樓層
你的代碼肯定會有一個while(1),那就是一個閉環的死循環
那么,你對應的流程圖也得有一個跑回去的流程才對呀
大概是:
A,開機
B,相關初始化
C,按鍵檢測
D,電壓檢測
E,溫度檢測
F,相關指示,數碼管或者LED燈之類的
G,回到C
如果有中斷,中斷就是在這個循環之外執行的
回復

使用道具 舉報

ID:1001745 發表于 2022-10-20 19:24 | 顯示全部樓層
yzwzfyz 發表于 2022-10-20 16:29
樓主的圖,當是功能模塊圖。
程序的流程:一定是一個封閉的環路。因為你的程序是一直運行的,它沒有停止點 ...

謝謝指導,也就是相當于要執行主程序循環這個意思是吧?
回復

使用道具 舉報

ID:1001745 發表于 2022-10-20 19:24 | 顯示全部樓層
Y_G_G 發表于 2022-10-20 18:47
你的代碼肯定會有一個while(1),那就是一個閉環的死循環
那么,你對應的流程圖也得有一個跑回去的流程才對呀 ...

明白了,就是主程序循環執行吧?謝謝指導
回復

使用道具 舉報

ID:1048438 發表于 2022-10-21 10:18 | 顯示全部樓層
電路圖還是要自己認真去做,去完成的,沒有人能幫助你,加油,小伙子
回復

使用道具 舉報

ID:1048438 發表于 2022-10-21 10:18 | 顯示全部樓層
盡量一個功能一個功能認真的去實現
回復

使用道具 舉報

ID:1001745 發表于 2022-10-22 08:15 | 顯示全部樓層
ay247 發表于 2022-10-21 10:18
電路圖還是要自己認真去做,去完成的,沒有人能幫助你,加油,小伙子

謝謝回復,電路圖已經畫好了。其實大家都幫助了很多。謝謝鼓勵!
回復

使用道具 舉報

ID:1001745 發表于 2022-10-22 08:16 | 顯示全部樓層
ay247 發表于 2022-10-21 10:18
盡量一個功能一個功能認真的去實現

謝謝回復,目前正在一步一步去驗證
回復

使用道具 舉報

ID:517466 發表于 2022-10-22 09:18 | 顯示全部樓層
涉及定時的,用得到定時器中斷處理。主程序中設置啟動標志,定時中斷中根據標志控制輸出、計算時間,時間到,清除標志和改變控制輸出。中斷處理本身也需要一個流程。剛入行,簡單看下程序結構設計、流程圖設計
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产精品综合嫩v 一区中文字幕 | 精品乱子伦一区二区三区 | a免费观看| 欧美一区二区 | 国产专区在线 | 欧美日韩a | 男人的天堂中文字幕 | 国产高清免费 | av黄色免费在线观看 | 国产视频第一页 | 日韩av手机在线观看 | 91精品国产乱码久久久久久久久 | 亚洲欧洲一区 | 作爱视频免费看 | 欧美日韩一区二区在线观看 | 岛国二区| 国产精品天堂 | 国产区在线看 | 中文字幕一区二区三区精彩视频 | 看av电影 | 北条麻妃99精品青青久久主播 | 在线观看特色大片免费网站 | av在线成人 | 亚洲精品国产第一综合99久久 | 黄色三级在线播放 | 日韩视频中文字幕 | 精品欧美一区二区三区 | 精品久久久久久一区二区 | 黄免费观看视频 | 国产乱码精品一区二区三区五月婷 | 免费看日韩视频 | 欧美福利久久 | 亚洲欧美精品在线观看 | 亚洲国内精品 | 国产一区二区三区在线看 | 伊人久久综合影院 | 美女一级毛片 | 国产一区二区三区视频在线观看 | 免费午夜电影 | 亚洲精品68久久久一区 | 天堂中文资源在线 |