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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于單片機keil工程碼 求幫助

查看數: 1419 | 評論數: 5 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-7-18 21:57

正文摘要:

請問用這個圖編寫keil工程代碼,使用外部中斷和定時器知識,實現gif圖中的功能:按鍵第一次按下,數碼管數值自動每秒加一(按16進制從0加到F),加到F自動清零。用按鍵接到外部中斷0的引腳(P3^2),用外部中斷控制 ...

回復

ID:370267 發表于 2018-7-21 20:21
laisinanshi 發表于 2018-7-21 15:18
#include"reg51.h"
#define m P0
typedef unsigned int u16;          //對數據類型進行聲明定義

誰幫我看看這有啥問題啊
ID:370267 發表于 2018-7-21 15:18
#include"reg51.h"
#define m P0
typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;
u8 i=0,k=0,j=0,T;
sbit led=P2^5;
sbit anjian=P3^2;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值

void delay1ms()   //誤差 0us
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
}

void  display()
{
        led=0;
        while(j<16)
        {
                P0=smgduan[j];
                delay1ms();
                if(i==15)
                        {
                                i=0;
                                j++;
                        }
        }
//        delay1ms();
}
void kk()
{
        if(anjian==0)
        {
                delay1ms();
                if(anjian==0)
                {
                        TR0=!TR0;
                        while(anjian==0)
                                display();
                }
        }
}
void zhongduan()
{
        TMOD=0x01;
    TH0=0x3c;
    TL0=0xb0;    //定時50ms
        //設置INT0
//        IT0=1;//跳變沿出發方式(下降沿)
//        EX0=1;//打開INT0的中斷允許。
       
        //設置INT1
        TR1=1;
        ET1=1;       
        EA=1;//打開總中斷       

}
/*
void Int0()        interrupt 0                //外部中斷0的中斷函數
{
        delay1ms();         //延時消抖
        while(1)
        {
                kk();
        }
}
*/
void main()
{
        zhongduan();
        P0=smgduan[0];
        while(1)
        {
        //        display();
                kk();

        }
}

void timer_0() interrupt 1         //定時器中斷函數  
{
    TH0=0x3c;
    TL0=0xb0;    //定時50ms          
        k++;
        if(k==20)
        {
                i++;
                k=0;
        }
}

ID:370267 發表于 2018-7-21 15:17
#include"reg51.h" #define m P0 typedef unsigned int u16;          //對數據類型進行聲明定義 typedef unsigned char u8; u8 i=0,k=0,j=0,T; sbit led=P2^5; sbit anjian=P3^2; u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值  void delay1ms()   //誤差 0us {     unsigned char a,b,c;     for(c=1;c>0;c--)         for(b=142;b>0;b--)             for(a=2;a>0;a--); }  void  display() {         led=0;         while(j<16)         {                 P0=smgduan[j];                 delay1ms();                 if(i==15)                         {                                 i=0;                                 j++;                         }         } //        delay1ms(); } void kk() {         if(anjian==0)         {                 delay1ms();                 if(anjian==0)                 {                         TR0=!TR0;                         while(anjian==0)                                 display();                 }         } } void zhongduan() {         TMOD=0x01;     TH0=0x3c;     TL0=0xb0;    //定時50ms         //設置INT0 //        IT0=1;//跳變沿出發方式(下降沿) //        EX0=1;//打開INT0的中斷允許。                  //設置INT1         TR1=1;         ET1=1;                 EA=1;//打開總中斷          } /* void Int0()        interrupt 0                //外部中斷0的中斷函數 {         delay1ms();         //延時消抖         while(1)         {                 kk();         } } */ void main() {         zhongduan();         P0=smgduan[0];         while(1)         {         //        display();                 kk();          } }  void timer_0() interrupt 1         //定時器中斷函數   {     TH0=0x3c;     TL0=0xb0;    //定時50ms                   k++;         if(k==20)         {                 i++;                 k=0;         } }
ID:344053 發表于 2018-7-19 00:49
這種網上找一個數碼管顯示和中斷式例自己改,一般沒人幫你一下寫好,不過可以幫忙修改錯誤。
ID:1 發表于 2018-7-18 22:09
不要發求程序的帖子,根據經驗,一般不會有人回答

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产美女视频黄 | 国产视频精品区 | 一区二区三区视频在线观看 | 国产精品国产三级国产aⅴ中文 | 久久亚洲一区 | 亚洲一区二区三区免费视频 | 欧美v在线观看 | 天天综合国产 | 四虎在线观看 | 精品一区二区三区在线观看国产 | 精品一二区 | 精品国产伦一区二区三区观看体验 | 成人在线一区二区 | 国产精品自产拍在线观看蜜 | 精产国产伦理一二三区 | 国产人久久人人人人爽 | 美女久久久久久久 | 日韩中文字幕一区二区三区 | 精品国产乱码久久久久久蜜柚 | 亚洲午夜精品视频 | 日本精品久久久久久久 | 国产欧美一区二区三区国产幕精品 | 欧美电影免费网站 | 伊人网站| 国产一级片一区二区 | 国产成人高清视频 | 日韩在线免费视频 | 天天综合网天天综合 | 成人精品一区二区三区中文字幕 | 亚洲一区二区三区免费 | 日本高清视频在线播放 | 99综合| 日韩欧美在线视频观看 | 亚洲国产中文在线 | 中文字幕欧美在线观看 | 国产伦精品一区二区三区四区视频 | 国产美女在线观看 | 在线色网| 成人欧美一区二区三区在线播放 | 伊人网在线播放 | 中文字幕免费 |