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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4507|回復: 0
打印 上一主題 下一主題
收起左側(cè)

51單片機中斷控制LED燈完成相應功能

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:309200 發(fā)表于 2018-4-16 14:47 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下程序是關于中斷控制單燈閃爍和單燈左右移動的設計,大佬們,能幫忙看一下有什么錯誤嗎?



/* 兩個外部中斷實驗 */
//==聲明區(qū)===================================
#include        <reg51.h>        //        定義8x51暫存器之標頭檔,P2-17~19
#define        LED        P1                        //        定義LED接至Port 1
void delay1ms(int);                //        聲明延遲函數(shù)
void left(int);                        //        聲明單燈左移函數(shù)
void right(int);                //        單燈右移函數(shù)開始
//==主程序===================================
main()                                        //        主程序開始
{        IE=0x85;                        //        準許INT 0,INT 1中斷(6-4頁)
        IP=0x01;                        //        設定INT 0具有最高優(yōu)先權(6-5頁)
        LED=0x00;                        //        初值=0000 0000,燈全亮       
        while(1)                        //        無窮循環(huán),程序一直跑
        {        delay1ms(250);        //        延遲250 1m=0.25s
                LED=~LED;                //        LED反相
        }                                        //        while循環(huán)結(jié)束
}                                                //        主程序結(jié)束
//==子程序===================================
/* INT 0的中斷子程序 - 單燈左移3圈 */
void my_int0(void) interrupt 0        //        INT0 中斷子程序開始
{        unsigned saveLED=LED;        //        儲存中斷前LED狀態(tài)
        left(3);                        //        單燈左移3圈
        LED=saveLED;                //        寫回中斷前ED狀態(tài)   
}                                                //        結(jié)束INT0 中斷子程序
/* INT 1的中斷子程序 - 單燈右移3圈 */
void my_int1(void) interrupt 2        //        INT1 中斷子程序開始
{        unsigned saveLED=LED;        //        儲存中斷前LED狀態(tài)
        right(3);                        //        單燈右移3圈
        LED=saveLED;                //        寫回中斷前LED狀態(tài)
}                                                //        結(jié)束INT1 中斷子程序
/* 延遲函數(shù),延遲約x 1ms */
void delay1ms(int x)        //        延遲函數(shù)開始
{        int i,j;                        //        聲明整數(shù)變數(shù)i,j
        for (i=0;i<x;i++)        //        計數(shù)x次,延遲x 1ms
                for (j=0;j<120;j++);        //        計數(shù)120次,延遲1ms
}                                                //        延遲函數(shù)結(jié)束
/* 單燈左移函數(shù),執(zhí)行x圈 */
void left(int x)                 //        單燈左移函數(shù)開始
{        int i, j;                        //        聲明變數(shù)i,j
        for(i=0;i<x;i++)        //        i循環(huán),執(zhí)行x圈
        {        LED=0xfe;                //        初始狀態(tài)=1111 1110,最右燈亮
                for(j=0;j<7;j++)        //        j循環(huán),左移7次
                {        delay1ms(250);        //        延遲250 1m=0.25s
                        LED=(LED<<1)|0x01;         //        左移1位後,LSB設為1
                }                                //        j循環(huán)結(jié)束
                delay1ms(250);        //        延遲250 1m=0.25s
        }                                        //        i循環(huán)結(jié)束*/
}                                                //        單燈左移函數(shù)結(jié)束
/* 單燈右移函數(shù),執(zhí)行x圈 */
void right(int x)                 //        單燈右移函數(shù)開始
{        int i, j;                        //        聲明變數(shù)i,j
        for(i=0;i<x;i++)        //        i循環(huán),執(zhí)行x圈
        {        LED=0x7f;                //        初始狀態(tài)=0111 1111
                for(j=0;j<7;j++)//        j循環(huán),右移7次
                {        delay1ms(250);        //        延遲250 10m=0.25s
                        LED=(LED>>1)|0x80;         //        右移1位後,MSB設為1
                }                                //        j循環(huán)結(jié)束
                delay1ms(250);        //        延遲250 1m=0.25s
        }                                        //        i循環(huán)結(jié)束*/
}                                                //        單燈右移函數(shù)結(jié)束
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲色在线视频 | 神马久久久久久久久久 | 日本天堂视频在线观看 | 污视频免费在线观看 | 亚洲精品福利在线 | 精品区 | 中文字幕亚洲一区 | 欧美色专区 | 尤物在线精品视频 | 久久精品二区 | 91精品国产乱码久久久久久久 | 色资源在线观看 | av黄色免费| 久久久国产精品 | 精品综合久久久 | 欧美美女一区二区 | 国产精品久久久久久久免费观看 | 成人三级av| 天天天天操 | 一二三四在线视频观看社区 | 精品国产91乱码一区二区三区 | av在线成人 | 色播av| 黄色av免费网站 | 国产一级片久久久 | 精品久久久久久 | 亚洲+变态+欧美+另类+精品 | 国产成人精品一区二区三区在线 | 黑人精品| 在线免费观看成年人视频 | 国产美女一区二区三区 | 精品啪啪 | 天天干精品 | 91九色在线观看 | 欧美日韩亚洲一区 | 国产午夜高清 | 精品videossex高潮汇编 | 亚洲第一在线视频 | 久久777| 久草免费视| 9色网站|