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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5587|回復: 21
收起左側

求大神解決單片機數字管數字循環0-9 再到9-0的程序錯誤

  [復制鏈接]
ID:760624 發表于 2020-5-27 17:57 | 顯示全部樓層 |閱讀模式
5黑幣
程序如下怎么修改下可以變成數字循環由0-9 9-0

                        #include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
void delay()
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchar i;
    i=10;
    while(1)
    {
    if(i>10)i=10;
    P1=table;
    delay();
    i--;
    }
}
W$U5YCW(S@@Q7L`G26)WD4A.png

最佳答案

查看完整內容

//數碼管(共陰)循環顯示0-9 再到9-0的程序 #include #define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() { uchar i,j; for(i=0;i
回復

使用道具 舉報

ID:94031 發表于 2020-5-27 17:57 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 10:01
我試了試用公陽數碼管直接就不會亮,你可以把共陰程序改下發給我嗎

//數碼管(共陰)循環顯示0-9 再到9-0的程序
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
        uchar i,j;
        for(i=0;i<200;i++)
        for(j=0;j<250;j++);
}
main()
{
        while(1)
        {
                uchar i;
               
                for(i=0;i<18;i++)
                {
                        switch (i)//
                        {
                                case(0):P1=table[0];delay();break;
                          case(1):P1=table[1];delay();break;
                          case(2):P1=table[2];delay();break;
                          case(3):P1=table[3];delay();break;
                                case(4):P1=table[4];delay();break;
                          case(5):P1=table[5];delay();break;
                          case(6):P1=table[6];delay();break;
                          case(7):P1=table[7];delay();break;
                                case(8):P1=table[8];delay();break;
                          case(9):P1=table[9];delay();break;
                          case(10):P1=table[8];delay();break;
                          case(11):P1=table[7];delay();break;
                                case(12):P1=table[6];delay();break;
                          case(13):P1=table[5];delay();break;
                          case(14):P1=table[4];delay();break;
                          case(15):P1=table[3];delay();break;
                                case(16):P1=table[2];delay();break;
                          case(17):P1=table[1];delay();break;
                        }
                }
        }
}
回復

使用道具 舉報

ID:660091 發表于 2020-5-27 21:10 | 顯示全部樓層
兩個for循環,一個從0-9,一個從9-0就行了
回復

使用道具 舉報

ID:94031 發表于 2020-5-27 22:20 | 顯示全部樓層
//數碼管循環顯示0-9 再到9-0的程序
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
        uchar i,j;
        for(i=0;i<200;i++)
        for(j=0;j<250;j++);
}
main()
{
        while(1)
        {
                uchar i;
               
                for(i=0;i<20;i++)
                {
                        switch (i)//
                        {
                                case(0):P1=~table[0];delay();break;
                          case(1):P1=~table[1];delay();break;
                          case(2):P1=~table[2];delay();break;
                          case(3):P1=~table[3];delay();break;
                                case(4):P1=~table[4];delay();break;
                          case(5):P1=~table[5];delay();break;
                          case(6):P1=~table[6];delay();break;
                          case(7):P1=~table[7];delay();break;
                                case(8):P1=~table[8];delay();break;
                          case(9):P1=~table[9];delay();break;
                          case(10):P1=~table[8];delay();break;
                          case(11):P1=~table[7];delay();break;
                                case(12):P1=~table[6];delay();break;
                          case(13):P1=~table[5];delay();break;
                          case(14):P1=~table[4];delay();break;
                          case(15):P1=~table[3];delay();break;
                                case(16):P1=~table[2];delay();break;
                          case(17):P1=~table[1];delay();break;
                        }
                }
        }
}
回復

使用道具 舉報

ID:319023 發表于 2020-5-28 00:07 | 顯示全部樓層
可以再定義一個變量,控制i++ 和i-- ,這樣從0-9  和9-0都可以實現了。
回復

使用道具 舉報

ID:760624 發表于 2020-5-28 08:12 | 顯示全部樓層
xuyaqi 發表于 2020-5-27 22:20
//數碼管循環顯示0-9 再到9-0的程序
#include
#define uchar unsigned char

程序輸入進去數字管顯示數字不完整是怎么回事
回復

使用道具 舉報

ID:760624 發表于 2020-5-28 08:14 | 顯示全部樓層
隨風飄遠 發表于 2020-5-28 00:07
可以再定義一個變量,控制i++ 和i-- ,這樣從0-9  和9-0都可以實現了。

可以幫我寫下嗎我c語音差的很
回復

使用道具 舉報

ID:661787 發表于 2020-5-28 09:24 | 顯示全部樓層
兩個for循環一個改0-9 另一個改9-0就行了
回復

使用道具 舉報

ID:94031 發表于 2020-5-28 09:25 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 08:12
程序輸入進去數字管顯示數字不完整是怎么回事

把P1直接連到數碼管不要經過芯片。
回復

使用道具 舉報

ID:94031 發表于 2020-5-28 09:30 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 08:12
程序輸入進去數字管顯示數字不完整是怎么回事

我的程序選用共陽數碼管。共陰程序要改寫。
回復

使用道具 舉報

ID:760624 發表于 2020-5-28 09:51 | 顯示全部樓層
xuyaqi 發表于 2020-5-28 09:25
把P1直接連到數碼管不要經過芯片。

不行呀  不管用
回復

使用道具 舉報

ID:94031 發表于 2020-5-28 09:57 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 08:12
程序輸入進去數字管顯示數字不完整是怎么回事

//數碼管(共陰)循環顯示0-9 再到9-0的程序
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
        uchar i,j;
        for(i=0;i<200;i++)
        for(j=0;j<250;j++);
}
main()
{
        while(1)
        {
                uchar i;
               
                for(i=0;i<18;i++)
                {
                        switch (i)//
                        {
                                case(0):P1=table[0];delay();break;
                          case(1):P1=table[1];delay();break;
                          case(2):P1=table[2];delay();break;
                          case(3):P1=table[3];delay();break;
                                case(4):P1=table[4];delay();break;
                          case(5):P1=table[5];delay();break;
                          case(6):P1=table[6];delay();break;
                          case(7):P1=table[7];delay();break;
                                case(8):P1=table[8];delay();break;
                          case(9):P1=table[9];delay();break;
                          case(10):P1=table[8];delay();break;
                          case(11):P1=table[7];delay();break;
                                case(12):P1=table[6];delay();break;
                          case(13):P1=table[5];delay();break;
                          case(14):P1=table[4];delay();break;
                          case(15):P1=table[3];delay();break;
                                case(16):P1=table[2];delay();break;
                          case(17):P1=table[1];delay();break;
                        }
                }
        }
}
回復

使用道具 舉報

ID:760624 發表于 2020-5-28 10:01 | 顯示全部樓層
xuyaqi 發表于 2020-5-28 09:30
我的程序選用共陽數碼管。共陰程序要改寫。

我試了試用公陽數碼管直接就不會亮,你可以把共陰程序改下發給我嗎
回復

使用道具 舉報

ID:332444 發表于 2020-5-28 11:57 | 顯示全部樓層
  1. void main()
  2. {
  3.         unsigned char jz=0,zhi=0,wei=1;//鍵值 位
  4.         unsigned int Ys=47474;
  5.         while(1)
  6.         {
  7.                 if(!--Ys)
  8.                 {
  9.                         P3=0;
  10.                         P2=~smgduan[k?zhi++:zhi--];//數碼管靜態顯示
  11.                         if(zhi>=9)k=~k;
  12.                         Ys=47474;
  13.                 }
  14.         }
  15. }
復制代碼
回復

使用道具 舉報

ID:760624 發表于 2020-5-28 13:05 | 顯示全部樓層

為什么keil軟件會出現目標未創建是程序又問題嗎
回復

使用道具 舉報

ID:690363 發表于 2020-5-28 13:37 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 08:12
程序輸入進去數字管顯示數字不完整是怎么回事

你這電路圖確定沒問題嗎?怎么都不加限流電阻?數碼管不會是燒了吧
回復

使用道具 舉報

ID:94031 發表于 2020-5-28 14:54 | 顯示全部樓層
味子橙的歡喜 發表于 2020-5-28 10:01
我試了試用公陽數碼管直接就不會亮,你可以把共陰程序改下發給我嗎

換共陽數碼管,數碼管公共端應該接電源+
回復

使用道具 舉報

ID:754167 發表于 2020-5-28 16:42 | 顯示全部樓層
我們也讓設計0~9-9~0了
回復

使用道具 舉報

ID:160500 發表于 2020-5-28 19:56 | 顯示全部樓層
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x??};//字模數據缺失一個,自己補全
void delay()
{
        uchar i,j;
        for(i=0;i<200;i++)
        for(j=0;j<250;j++);
}
main()
{
        uchar i,j;
        j = 0;
        i = 1;
        while(1)
        {
                P1=table[i - 1];
                delay();
                if (j == 0)
                {
                        i++;
                }
                else
                {
                        i--
                }
                if (i == 10)
                {
                        i = 9;
                        j = 1;
                }
                if (i == 0)
                {
                        i = 2;
                        j = 0;
                }
        }
}
回復

使用道具 舉報

ID:160500 發表于 2020-5-28 20:03 | 顯示全部樓層
上一個有點問題
#include<reg51.h>
#define uchar unsigned char

uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x??};//字模數據缺失一個,自己補全
void delay()
{
        uchar i,j;
        for(i=0;i<200;i++)
        for(j=0;j<250;j++);
}
main()
{
        uchar i,j;
        j = 0;
        i = 1;
        while(1)
        {
                P1=table[i - 1];
                delay();
                if (i == 10)
                {
                        j = 1;
                }
                if (i == 1)
                {
                        j = 0;
                }
                if (j == 0)
                {
                        i++;
                }
                else
                {
                        i--
                }
        }
}
回復

使用道具 舉報

ID:659888 發表于 2020-5-29 09:59 | 顯示全部樓層
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
        unsigned int i,j;
        for(i=0;i<300;i++)
        for(j=0;j<300;j++);
}
main()
{
        signed char i=0;
        bit dir=1;
    while(1)
    {
            P1=table[i];
            delay();
                if(dir)
                {
                        i++;
                        if(i>8)
                        {
                                dir = 0;
                        }                            
                }
            else
                {
                    i--;
                        if(i<0)
                        {
                                i = 1;
                                dir = 1;
                        }       
                }
    }
}
回復

使用道具 舉報

ID:760624 發表于 2020-6-1 09:53 | 顯示全部樓層
zhang923 發表于 2020-5-28 16:42
我們也讓設計0~9-9~0了

我們不會是一個學校的吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区免费 | 都市激情亚洲 | 国产一区二区影院 | 日本黄色大片免费看 | 99久久中文字幕三级久久日本 | www.三级| 爱爱免费视频 | 欧美aaa | 夫妻午夜影院 | 亚洲二区视频 | 亚洲精品久久久久久久久久久久久 | 精品国产91久久久久久 | 午夜电影日韩 | 日韩精品一区二区三区免费视频 | 欧美日韩专区 | 91伊人网 | 欧美黄在线观看 | 999精品视频 | 成人a网 | 久久成人免费 | 国产精品亚洲第一区在线暖暖韩国 | 中文在线一区二区 | 美女毛片 | 亚洲欧洲成人 | 国内久久 | 亚洲乱码一区二区三区在线观看 | av一区在线 | 亚洲精品美女在线观看 | 成人免费在线观看视频 | 亚洲一区二区成人 | 蜜桃视频在线观看免费视频网站www | 成人夜晚看av | 国产91久久精品一区二区 | 国产精品毛片一区二区在线看 | 日本网站免费在线观看 | 成人看片在线观看 | www,黄色,com | 亚洲va国产日韩欧美精品色婷婷 | 一区二区av | 激情五月婷婷在线 | 国产成人福利视频在线观看 |