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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2555|回復: 2
打印 上一主題 下一主題
收起左側

51單片機LED燈中斷程序錯誤求助

[復制鏈接]
跳轉到指定樓層
樓主
實驗要求:
實驗三 LED燈控制器
實驗目的:加深對定時/計數器、中斷、IO端口的理解,掌握定時/計數器、中斷的應用編程技術及中斷程序的調試方法。
實驗內容:利用C8051F310單片機設計一個LED燈控制器
主要功能和技術指標要求:
1. LED燈外接于P0.0端。
2. LED燈分別按2Hz,1Hz和0.3Hz三種不同頻率閃動,各持續10秒。
3. 在LED燈開始和停止閃爍時蜂鳴器分別鳴響1次,時長0.5秒。
4. 利用單片機內部定時器定時,要求采用中斷方式。
5. 單片機復位后開始執行上述程序。
提高要求:
1. 使用按鍵(KINT)控制LED燈閃爍模式的切換。
2. 在LED數碼管上顯示當前模式,顯示字符為
工作模式 數碼管顯示字符
2Hz 2
1Hz 1
0.3Hz 0.3
3.其它個性化設計(選做)


程序如上,每次想利用KINT(P3.1)調用切換模式的中斷,就出現以下情況,求求各位大佬應該怎么辦

L8A${B181S}5)N8IY0W`IYU.png (26.75 KB, 下載次數: 73)

L8A${B181S}5)N8IY0W`IYU.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:715652 發表于 2020-6-5 11:51 | 只看該作者
兄弟,你這H5寫的就不到位了!
回復

使用道具 舉報

板凳
ID:715652 發表于 2020-6-6 14:47 | 只看該作者
本帖最后由 渣渣馬 于 2020-6-6 21:44 編輯

#include<reg51.h>
#include<intrins.h>
sbit D1=P0^0;  //LED閃爍
sbit KINT=P3^1;  //開關
sbit LS=P3^7;    //無源蜂鳴器
char code DATA[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x40};  //CA段碼
char code a[][2]={{2,10},{1,10},{11,3}};  //數碼顯示的幾種模式
int t=0,temp=5;  //t用于變數碼管,temp用于時間變換
void DelayMs(int x)  //延時
{
        int i;
        while(x--)        for(i=0;i<120;i++);
}
void LED2()  //數碼顯示
{
        int i,m;
        m=0x01;
        for(i=0;i<2;i++)        P2=0xff,P1=_crol_(m,i),P2=DATA[a[t]],DelayMs(1);
}
void BUZZ()  //蜂鳴器響0.5s
{
        int i;
        for(i=0;i<500;i++)        LS=!LS,DelayMs(2);
}
void init()  //初始化
{
        IE=0x8a;  //¿aT0
        TR0=1;
        TR1=1;
        TMOD=0x22;
        TH0=(256-200)%256;  
        LS=1;
        D1=1;
}
void main()   
{
        init();
        while(1)
        {
                if(!KINT)  開關檢測
                {
                        while(!KINT);   //等待開關釋放
                        t=++t%3;  //0~2
                        switch(t)
                        {
                                case 0:temp=5;break;  //2Hz
                                case 1:temp=10;break; //1Hz
                                case 2:temp=3;break;  //0.3Hz
                                default:break;
                        }        
                }
        }
}
void time0() interrupt 1   //定時用
{
        static int t0=0,t1=0;
        t0++;
        if(t0==500)  //100ms
        {
                t1++;
                t0=0;
                if(t1==temp)   //¸÷ÖÖê±¼äμÄÇD»»
                {
                        D1=!D1;
                        BUZZ();
                        t1=0;
                }
        }
}

void time1() interrupt 3  //LED2數碼顯示
{
         LED2();
}
/*代碼有點多,我是自己敲得,對你希望有用!把代碼放在Keil中顯示注釋*/


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 蜜桃精品噜噜噜成人av | a网站在线观看 | 国产精品亚洲片在线播放 | 国产情侣久久 | 久久综合伊人 | 在线看av的网址 | 精品视频一区二区三区 | 一区二区av在线 | 国产在线观看一区二区三区 | 男女av| 国产一区不卡 | 九九九国产 | 日韩久久久久 | 在线播放亚洲 | 日韩欧美在线观看一区 | 99热在线播放 | 成人av一区二区亚洲精 | 亚洲高清在线 | 中文字幕在线视频一区二区三区 | 久久国产精品网 | 久久99国产精一区二区三区 | 国产成人精品免费 | 99精品国产一区二区三区 | 成人在线一区二区 | 欧美一级黄色免费看 | 日本淫视频 | 在线黄av| 亚洲精品粉嫩美女一区 | 日韩免费高清视频 | 久久精品国产一区 | 网站黄色在线免费观看 | 国产色婷婷精品综合在线手机播放 | 国产精品久久久久久久久久久久 | 国产一区免费 | 久久91av | 在线伊人| 日本小视频网站 | 日韩欧美成人精品 | 日本午夜一区 | 国产色| 国产精品视频入口 |