欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11473|回復: 17
收起左側

一個43歲單片機初學者的心得

  [復制鏈接]
ID:878420 發表于 2021-1-24 12:45 | 顯示全部樓層 |閱讀模式
/*****************************************************
結合產品要求編寫的電機鎖緊部分程序,中年人學習單片機
真心不容易,主要記憶力太差,雖然看得懂書,但是不會運用,
不能舉一反三。以前搞三菱PLC編程(PLC偏向邏輯控制),在
學習C51語言編寫思路總想往PLC方向靠,固化思維,以至于多
天寫不出人家分分鐘搞定的程序,真是打擊學習地積極性,要
學此功,必廢武功。最近學會了國產立創EDA畫原理、PCB圖,
相當開心,再返回去學英文AD比較容易理解,我是一個EDA MCU
初學者,自學的道路上千辛萬苦,只有自己懂,好在西瓜視頻、
各大論壇學習資源比較多。遠景有一天去搞32位單片機開發。

下面是我按照自己要求編寫的程序,請大家多多指教!

MCU的晶振11.0592MHz

目的;1.掌握定時器的程序編寫
         2.C51語言格式規范化編寫



*****************************************************/

#include<reg52.h>
#define uchar unsigned char
uchar num;
bit m0;

sbit x0=P3^4;     // 關門位置開關
sbit x1=P3^5;     // 鎖緊停止開關

sbit y0=P1^0;    // 電機鎖緊

void main()
{
        m0=1;                                                                  // 初始化為1,0:故障
        TMOD=0x01;                                                          // 定時器設定
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        EA=1;
        ET0=1;
        
        while(1)                                                                // 大循環
        {
                 if(y0==1)                                                        // 中斷計數清零
                {
                        num=0;
                }                                                         

                if((x0==0)&&(x1==1)&&(m0==1))               // 電機鎖緊
                {
                          y0=0;
                }
                else
                {
                        y0=1;
                }

                if(y0==0)                                                          // 條件符合打開計時器
                {        
                        TR0=1;
                }
                                 
                else
                {
                        TR0=0;
                }

                 if(y0==0)                                                           // 50ms計時器 中斷計數100次=5秒
                {               
                        if(num==100)
                        {
                                m0=0;                                        // 鎖緊停止開關失效,m0=0故障,控制板斷電消除故障
                                num=0;
                        
                        }
                }

        
        }                                                  

}

void T0_time() interrupt 1                                              // 計時器中斷程序

{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        num++;
        
}


//開門解鎖程序待編寫


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:878420 發表于 2021-1-24 12:53 | 顯示全部樓層
有必要加按鍵消抖程序?
回復

使用道具 舉報

ID:790408 發表于 2021-1-24 16:37 | 顯示全部樓層
有必要,不加的話可能不會被識別
回復

使用道具 舉報

ID:878420 發表于 2021-1-24 19:37 | 顯示全部樓層
謝謝666666
回復

使用道具 舉報

ID:782419 發表于 2021-1-24 22:13 | 顯示全部樓層
應該需要優秀的視頻教程,不行就看宋雪松的吧!變量使用前需要定義的!多看多練!
回復

使用道具 舉報

ID:420836 發表于 2021-1-25 01:41 | 顯示全部樓層
很好的經驗。 對很多新人很有幫助。
回復

使用道具 舉報

ID:86450 發表于 2021-1-25 07:57 | 顯示全部樓層
我感覺 你這程序 還是按照 PLC 的風格寫更好理解。 加上掃描周期的概念。 不要放到大循環中,搞一個定時器,然后每隔一段時間做一次判斷。 然后把開關和電機寫成 一個個的驅動。 要分層 分模塊去編寫。看看“數據結構”,學學“操作系統”。
回復

使用道具 舉報

ID:517951 發表于 2021-1-25 08:56 | 顯示全部樓層
活到老,學到老, 這個論壇里很多大神共享的代碼和電路實例是很好的學習范本,堅持下去,一定會在單片機領域大有作為.
回復

使用道具 舉報

ID:880092 發表于 2021-1-25 09:01 | 顯示全部樓層
30不學藝,你是要開公司嗎?
回復

使用道具 舉報

ID:722618 發表于 2021-1-25 10:58 | 顯示全部樓層
很不錯,現在網上有很多視頻,可以手把手教你,一般只要你不是文科出身都能學會。
回復

使用道具 舉報

ID:878420 發表于 2021-1-25 15:50 來自觸屏版 | 顯示全部樓層
jyb-zl-1 發表于 2021-1-25 09:01
30不學藝,你是要開公司嗎?

興趣,20歲時就想學,那時自學匯編。現在時間比較空閑,就學學。
回復

使用道具 舉報

ID:878420 發表于 2021-1-25 15:52 來自觸屏版 | 顯示全部樓層
jjwangxu2008 發表于 2021-1-25 07:57
我感覺 你這程序 還是按照 PLC 的風格寫更好理解。 加上掃描周期的概念。 不要放到大循環中,搞一個定時器 ...

師傅,謝謝您的指導!
回復

使用道具 舉報

ID:390416 發表于 2021-1-25 16:02 | 顯示全部樓層
你可以看看 人人學會單片機 這個視頻。想辦法提高單片機的CPU效率,代碼更好認。
回復

使用道具 舉報

ID:752974 發表于 2021-1-25 16:11 | 顯示全部樓層
學習單片機,我認為,在理論上有了一定的模擬電路,數字電路,單片機的硬件知識;在軟件方面,有一定的C語言基礎,剩下的一個學習班(或叫開發板),一臺計算機,只要勤快,沒有問題的,其它的都是GDP!
回復

使用道具 舉報

ID:847443 發表于 2021-1-25 16:12 | 顯示全部樓層
活到老,學到老,精神可嘉。
回復

使用道具 舉報

ID:282850 發表于 2021-1-26 01:03 | 顯示全部樓層
我也40多歲學的單片機,愛好吧。沒有選錯。
現50了,前幾天完成一個家用的小系統
2021-01-25 星期一     1:53:20.76
18 c file lines:5061   
3 h file lines:303   
-----------------------  
All file lines:5364
回復

使用道具 舉報

17#
無效樓層,該帖已經被刪除
18#
無效樓層,該帖已經被刪除
ID:96072 發表于 2021-1-29 12:28 | 顯示全部樓層
51mcu學習 發表于 2021-1-25 15:50
興趣,20歲時就想學,那時自學匯編。現在時間比較空閑,就學學。

看看我的STC15W204S開發板,資料集全,很容易上手的
回復

使用道具 舉報

ID:382454 發表于 2021-2-2 10:09 | 顯示全部樓層
這把年級要改行,如要翻越幾座大山,談何空易。各方面都比不過年輕人。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表