找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 11000|回復(fù): 17
打印 上一主題 下一主題
收起左側(cè)

一個(gè)43歲單片機(jī)初學(xué)者的心得

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:878420 發(fā)表于 2021-1-24 12:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/*****************************************************
結(jié)合產(chǎn)品要求編寫的電機(jī)鎖緊部分程序,中年人學(xué)習(xí)單片機(jī)
真心不容易,主要記憶力太差,雖然看得懂書,但是不會(huì)運(yùn)用,
不能舉一反三。以前搞三菱PLC編程(PLC偏向邏輯控制),在
學(xué)習(xí)C51語(yǔ)言編寫思路總想往PLC方向靠,固化思維,以至于多
天寫不出人家分分鐘搞定的程序,真是打擊學(xué)習(xí)地積極性,要
學(xué)此功,必廢武功。最近學(xué)會(huì)了國(guó)產(chǎn)立創(chuàng)EDA畫原理、PCB圖,
相當(dāng)開(kāi)心,再返回去學(xué)英文AD比較容易理解,我是一個(gè)EDA MCU
初學(xué)者,自學(xué)的道路上千辛萬(wàn)苦,只有自己懂,好在西瓜視頻、
各大論壇學(xué)習(xí)資源比較多。遠(yuǎn)景有一天去搞32位單片機(jī)開(kāi)發(fā)。

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

MCU的晶振11.0592MHz

目的;1.掌握定時(shí)器的程序編寫
         2.C51語(yǔ)言格式規(guī)范化編寫



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

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

sbit x0=P3^4;     // 關(guān)門位置開(kāi)關(guān)
sbit x1=P3^5;     // 鎖緊停止開(kāi)關(guān)

sbit y0=P1^0;    // 電機(jī)鎖緊

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

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

                if(y0==0)                                                          // 條件符合打開(kāi)計(jì)時(shí)器
                {        
                        TR0=1;
                }
                                 
                else
                {
                        TR0=0;
                }

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

        
        }                                                  

}

void T0_time() interrupt 1                                              // 計(jì)時(shí)器中斷程序

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


//開(kāi)門解鎖程序待編寫


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:878420 發(fā)表于 2021-1-24 12:53 | 只看該作者
有必要加按鍵消抖程序?
回復(fù)

使用道具 舉報(bào)

板凳
ID:790408 發(fā)表于 2021-1-24 16:37 | 只看該作者
有必要,不加的話可能不會(huì)被識(shí)別
回復(fù)

使用道具 舉報(bào)

地板
ID:878420 發(fā)表于 2021-1-24 19:37 | 只看該作者
謝謝666666
回復(fù)

使用道具 舉報(bào)

5#
ID:782419 發(fā)表于 2021-1-24 22:13 | 只看該作者
應(yīng)該需要優(yōu)秀的視頻教程,不行就看宋雪松的吧!變量使用前需要定義的!多看多練!
回復(fù)

使用道具 舉報(bào)

6#
ID:420836 發(fā)表于 2021-1-25 01:41 | 只看該作者
很好的經(jīng)驗(yàn)。 對(duì)很多新人很有幫助。
回復(fù)

使用道具 舉報(bào)

7#
ID:86450 發(fā)表于 2021-1-25 07:57 | 只看該作者
我感覺(jué) 你這程序 還是按照 PLC 的風(fēng)格寫更好理解。 加上掃描周期的概念。 不要放到大循環(huán)中,搞一個(gè)定時(shí)器,然后每隔一段時(shí)間做一次判斷。 然后把開(kāi)關(guān)和電機(jī)寫成 一個(gè)個(gè)的驅(qū)動(dòng)。 要分層 分模塊去編寫。看看“數(shù)據(jù)結(jié)構(gòu)”,學(xué)學(xué)“操作系統(tǒng)”。
回復(fù)

使用道具 舉報(bào)

8#
ID:517951 發(fā)表于 2021-1-25 08:56 | 只看該作者
活到老,學(xué)到老, 這個(gè)論壇里很多大神共享的代碼和電路實(shí)例是很好的學(xué)習(xí)范本,堅(jiān)持下去,一定會(huì)在單片機(jī)領(lǐng)域大有作為.
回復(fù)

使用道具 舉報(bào)

9#
ID:880092 發(fā)表于 2021-1-25 09:01 | 只看該作者
30不學(xué)藝,你是要開(kāi)公司嗎?
回復(fù)

使用道具 舉報(bào)

10#
ID:722618 發(fā)表于 2021-1-25 10:58 | 只看該作者
很不錯(cuò),現(xiàn)在網(wǎng)上有很多視頻,可以手把手教你,一般只要你不是文科出身都能學(xué)會(huì)。
回復(fù)

使用道具 舉報(bào)

11#
ID:878420 發(fā)表于 2021-1-25 15:50 來(lái)自手機(jī) | 只看該作者
jyb-zl-1 發(fā)表于 2021-1-25 09:01
30不學(xué)藝,你是要開(kāi)公司嗎?

興趣,20歲時(shí)就想學(xué),那時(shí)自學(xué)匯編,F(xiàn)在時(shí)間比較空閑,就學(xué)學(xué)。
回復(fù)

使用道具 舉報(bào)

12#
ID:878420 發(fā)表于 2021-1-25 15:52 來(lái)自手機(jī) | 只看該作者
jjwangxu2008 發(fā)表于 2021-1-25 07:57
我感覺(jué) 你這程序 還是按照 PLC 的風(fēng)格寫更好理解。 加上掃描周期的概念。 不要放到大循環(huán)中,搞一個(gè)定時(shí)器 ...

師傅,謝謝您的指導(dǎo)!
回復(fù)

使用道具 舉報(bào)

13#
ID:390416 發(fā)表于 2021-1-25 16:02 | 只看該作者
你可以看看 人人學(xué)會(huì)單片機(jī) 這個(gè)視頻。想辦法提高單片機(jī)的CPU效率,代碼更好認(rèn)。
回復(fù)

使用道具 舉報(bào)

14#
ID:752974 發(fā)表于 2021-1-25 16:11 | 只看該作者
學(xué)習(xí)單片機(jī),我認(rèn)為,在理論上有了一定的模擬電路,數(shù)字電路,單片機(jī)的硬件知識(shí);在軟件方面,有一定的C語(yǔ)言基礎(chǔ),剩下的一個(gè)學(xué)習(xí)班(或叫開(kāi)發(fā)板),一臺(tái)計(jì)算機(jī),只要勤快,沒(méi)有問(wèn)題的,其它的都是GDP!
回復(fù)

使用道具 舉報(bào)

15#
ID:847443 發(fā)表于 2021-1-25 16:12 | 只看該作者
活到老,學(xué)到老,精神可嘉。
回復(fù)

使用道具 舉報(bào)

16#
ID:282850 發(fā)表于 2021-1-26 01:03 | 只看該作者
我也40多歲學(xué)的單片機(jī),愛(ài)好吧。沒(méi)有選錯(cuò)。
現(xiàn)50了,前幾天完成一個(gè)家用的小系統(tǒng)
2021-01-25 星期一     1:53:20.76
18 c file lines:5061   
3 h file lines:303   
-----------------------  
All file lines:5364
回復(fù)

使用道具 舉報(bào)

17#
ID:96072 發(fā)表于 2021-1-29 12:28 | 只看該作者
51mcu學(xué)習(xí) 發(fā)表于 2021-1-25 15:50
興趣,20歲時(shí)就想學(xué),那時(shí)自學(xué)匯編,F(xiàn)在時(shí)間比較空閑,就學(xué)學(xué)。

看看我的STC15W204S開(kāi)發(fā)板,資料集全,很容易上手的
回復(fù)

使用道具 舉報(bào)

18#
ID:382454 發(fā)表于 2021-2-2 10:09 | 只看該作者
這把年級(jí)要改行,如要翻越幾座大山,談何空易。各方面都比不過(guò)年輕人。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表