新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機中斷定時程序的應用

        單片機中斷定時程序的應用

        作者: 時間:2016-11-30 來源:網絡 收藏
        學習進度真的有點慢,我覺得也許我不應該顧這顧那了,學習東西不能太“貪”,既學這方面的又學那方面的,學知識更要靠自己,自己為主,別人為輔。不能既學中斷,定時,計數,又想著學數碼管,按鍵的控制,我想這樣只能讓我魚和熊掌兼失也。所以,李俊軒。好好的給自己定一個目標,然后努力吧,不要再撿了芝麻又丟了瓜了。

        這是最近一直沒有寫日志的原因吧,最近學習的進度感覺特別慢。哎。又是浪費了一些天了,罪過罪過。

        本文引用地址:http://www.104case.com/article/201611/323752.htm

        昨天楊老師給我布置的作業我想了好久都沒有做出來,哎,失敗,特別是那句更何況你是一個大學生,也許吧,我都沒有做到一個學生的樣,接下來的日子要好好努力了。至于13至27的顯示,我想我會完成的,再給自己點時間,在51hei看N次這課中斷http://www.51hei.com/mcuteach/234.html后今天終于真正的把定時和中斷應用和利用好了,做了幾個程序,都成功了,呵呵,下面把其中一個程序拿出來作點留念吧。畢竟學這方面的知識浪費了自己不少時間,也許是自己努力還不夠吧,現在想來,定時中斷這些其實也挺簡單的,只是之前聽我們老師說,定時和中斷會了,你的單片機就上了一個臺階了。所以自己把定時中斷看得太高,太難學了。相信一句話:“一步一個腳印,堅持必有奇跡”,但更要把一些困難看得低一點,只要平時多思考,我相信我可以學好單片機的,雖然一個13至27現在把我難倒了,但我相信隨著我知識學習的深入,這不是什么大問題的。努力。

        程序:#include
        int j=0;int i=0,a=0;
        unsigned char number[10]={
        0xc0,
        0xf9,
        0xa4,
        0xb0,
        0x99,
        0x92,
        0x82,
        0xf8,
        0x80,
        0x90
        };
        void delay()
        {
        int x,y;
        for(x=1001;x>0;x--)
        for(y=120;y>0;y--);
        }
        void main()
        {
        TMOD |= 0x10;
        TMOD &= 0xdf;
        TH1 = (65536-50000)/256;
        TL1 = (65536-50000)%256;
        ET1 = 1;
        EA = 1;
        TR1 = 1;
        while(1)
        {
        P2 =~(1<delay();
        if(j==8)
        j=0;
        }
        }
        void timer0() interrupt 3
        {
        TH1 = (65536-50000)/256;
        TL1 = (65536-50000)%256;

        a++;
        if (a==40)
        {
        a = 0;

        P0 = number[i];
        i++;
        if(i==10)
        i=0;

        }
        }


        程序是用P2口控制LED燈以1S速度做流水燈功能的,P0口是用定時中斷控制數碼管加1的。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 株洲县| 绥江县| 资溪县| 古交市| 吉隆县| 周宁县| 神木县| 朝阳市| 漳浦县| 德格县| 台北市| 云龙县| 镇远县| 西盟| 略阳县| 四会市| 拜泉县| 朔州市| 苏尼特右旗| 嫩江县| 育儿| 荣昌县| 太康县| 上栗县| 阿坝| 新乡市| 富宁县| 高唐县| 武定县| 磐安县| 遵义县| 盐山县| 滕州市| 比如县| 汽车| 友谊县| 万安县| 绥宁县| 永城市| 洪雅县| 乡城县|