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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

這個單片機程序有什么錯?如何修改

查看數: 1674 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-12-14 15:29

正文摘要:

單片機源程序如下: #include<reg51.h> #define uchar unsigned char sbit start=P1^1; sbit stop=P1^0; uchar code dulatab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40} ;//數字編碼0-9 ...

回復

ID:740383 發表于 2021-12-23 15:21
天ノ憶 發表于 2021-12-17 14:01
你真應該感謝這些替你找到錯誤的人,畢竟你這代碼我看一眼就不想看了,他們忍著吃%一樣的惡心給你找錯誤挺 ...

哈哈哈
ID:139866 發表于 2021-12-17 14:01
你真應該感謝這些替你找到錯誤的人,畢竟你這代碼我看一眼就不想看了,他們忍著吃%一樣的惡心給你找錯誤挺不容易的
ID:161164 發表于 2021-12-14 21:56
第55行的if跑到keyscan外了
ID:883242 發表于 2021-12-14 21:12
連縮進都不愿意,出這種錯誤就是活該。
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. sbit start=P1^1;
  4. sbit stop=P1^0;
  5. uchar code dulatab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40} ; //數字編碼0-9
  6. uchar code welatab[]= {0xfe, 0xfd} ; //位控制字
  7. uchar msec, sec;
  8. void delay(uchar time) { // 延時
  9.         uchar i, j;
  10.         for (i=0; i<time; i++) ;
  11.         {
  12.                 for (i=0; j<110; j++) ;
  13.         }
  14. }
  15. void writeled(uchar num,addr) {
  16.         P2=0xff;
  17.         P0=dulatab[num];
  18.         P2=welatab[addr];
  19.         delay(4);
  20. }
  21. void display(uchar sec) {
  22.         uchar sech,secl ;
  23.         sech=sec/10;
  24.         secl=sec%10;
  25.         writeled(sech,0);
  26.         writeled(secl,1) ;
  27. }
  28. void init () {
  29.         TMOD=0x10;//定時器1工作方式1
  30.         TH1=0xd8;
  31.         TL1=0xf0;
  32.         TR1=1;
  33.         EA=1;
  34.         ET1=1;
  35. }
  36. void keyscan() {
  37.         if(start==0) {
  38.                 delay(2) ;
  39.                 if(start==0) {
  40.                         TR1=~TR1;
  41.                         while(start==0) {
  42.                                 display(sec);
  43.                         }
  44.                 }
  45.         }
  46. }
  47. if(stop==0&&TR1==0) {
  48.         delay(2);//延時方抖
  49.         if(stop==0) {
  50.                 sec=0;
  51.                 while(stop==0) {
  52.                         display(sec);
  53.                 }
  54.         }
  55. }
  56. void main() {
  57.         init();
  58.         while(1) {
  59.                 display(sec);
  60.                 keyscan();
  61.         }
  62. }
  63. void timer1()  interrupt 3 {
  64.         TH1=0xd8;
  65.         TL1=0xf0;
  66.         msec++;
  67.         if(msec==100) {
  68.                 msec=0
  69.                      sec++;
  70.                 if(sec==100) {
  71.                         sec=0
  72.                 }
  73.         }
  74. }
復制代碼
ID:213173 發表于 2021-12-14 20:09
#include<reg51.h>
#define uchar unsigned char
sbit start=P1^1;
sbit stop=P1^0;
uchar code dulatab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40} ;//數字編碼0-9
uchar code welatab[]={0xfe, 0xfd} ;//位控制字
uchar msec, sec;
void delay(uchar time)// 延時
{
        uchar i, j;
        for (i=0;i<time;i++)
                for (i=0;j<110;j++);
}
void writeled(uchar num ,addr)
{
        P2=0xff;
        P0=dulatab[num];
        P2=welatab[addr];
        delay(4);
}
void display(uchar sec)
{
        uchar sech,secl ;
        sech=sec/10;
        secl=sec%10;
        writeled(sech,0);
        writeled(secl,1) ;
}
void init ()
{
        TMOD=0x10;//定時器1工作方式1
        TH1=0xd8;
        TL1=0xf0;
        TR1=1;
        EA=1;
        ET1=1;
}
void keyscan()
{
        if(start==0)
        {
                delay(2) ;
                if(start==0)
                {
                        TR1=~TR1;
                        while(start==0)
                        {
                                display(sec);
                        }
                }
        }
        if(stop==0&&TR1==0)
        {               
                delay(2);//延時方抖
                if(stop==0)
                {
                        sec=0;
                        while(stop==0)
                        {
                                display(sec);
                        }
                }
        }
}

void main()
{
        init();
        while(1)
        {
                display(sec);
                keyscan();
        }
}
void timer1()  interrupt 3
{
        TH1=0xd8;
        TL1=0xf0;
        msec++;
        if(msec==100)
        {
                msec=0;
                sec++;
                if(sec==100)
                {
                        sec=0;
                }
        }
}
ID:546770 發表于 2021-12-14 18:52
第55行改成if((stop==0)&&(TR1==0))試試。

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 自拍 另类 欧美 丝袜 | 亚洲天堂中文字幕 | 日韩成人影院 | 精品亚洲视频在线 | 欧美天堂 | 免费99精品国产自在在线 | 欧美精品在线一区二区三区 | 婷婷在线视频 | 国产日韩欧美精品 | 国产精品mv在线观看 | 国产精品日韩一区二区 | 国产一二三区电影 | 国产精品99视频 | 中文字幕 在线观看 | 精品国产99| 亚洲精品性视频 | 欧美日韩国产一区二区三区 | 日韩a | 欧美1—12sexvideos | 欧洲一级毛片 | 日韩免费av | 偷拍亚洲色图 | 婷婷五月色综合香五月 | 超碰在线网站 | 国产高清精品在线 | 日韩欧美中文在线 | 麻豆hd| 亚洲91精品 | 国产高清视频在线 | 免费视频二区 | 日本久久久影视 | 国产免费自拍 | 黄色大片在线视频 | 亚洲国产精品网站 | 超碰婷婷 | 欧美日韩国产一区二区三区 | 国产一区二区在线免费观看 | 精品一区二区在线观看 | 日韩精品影院 | 日韩成人在线电影 | 成人性生交大片 |