7セグで1秒おきに0~9まで順番に出力するプログラムを組みたいです。初心者なのであまり分かりません。間違えを教えて頂きたいです。
データシート→https://akizukidenshi.com/download/ds/l ... 547AJG.pdf
#include <xc.h>
#include "config.h"
#define FCY 4000000
#include <libpic30.h>
void setup() {
OSCCON = 0x0000;
CLKDIV = 0x0000;
AD1PCFG = 0xFFFF;
TRISA = 0xffff;
TRISB = 0xffff;
TRISBbits.TRISB7 = 0;
TRISAbits.TRISA0 = 0;
TRISBbits.TRISB0 = 0;
TRISBbits.TRISB2 = 0;
TRISBbits.TRISB4 = 0;
TRISBbits.TRISB5 = 0;
TRISBbits.TRISB9 = 0;
}
int main(){
int num (0)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATAbits.LATA0 = 1;  //1?E
            LATBbits.LATB7 = 1;  //9?F
int num (1)=LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
int num (2)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB0 = 1;  //2?D
            LATAbits.LATA0 = 1;  //1?E
            LATBbits.LATB9 = 1;  //10?G
int num (3)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATBbits.LATB9 = 1;  //10?G
int num (4)=LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB7 = 1;  //9?F
            LATBbits.LATB9 = 1;  //10?G
int num (5)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATBbits.LATB7 = 1;  //9?F
            LATBbits.LATB9 = 1;  //10?G
int num (6)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATAbits.LATA0 = 1;  //1?E
            LATBbits.LATB7 = 1;  //9?F
            LATBbits.LATB9 = 1;  //10?G
int num (7)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB7 = 1;  //9?F
int num (8)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATAbits.LATA0 = 1;  //1?E
            LATBbits.LATB7 = 1;  //9?F
            LATBbits.LATB9 = 1;  //10?G
int num (9)=LATBbits.LATB4 = 1;  //7?A
            LATBbits.LATB5 = 1;  //6?B
            LATBbits.LATB2 = 1;  //4?C
            LATBbits.LATB0 = 1;  //2?D
            LATBbits.LATB7 = 1;  //9?F
            LATBbits.LATB9 = 1;  //10?G
           
        }
void loop(){
    0();
    __delay_ms(1000);
    1();
    __delay_ms(1000);
    2();
    __delay_ms(1000);
    3();
    __delay_ms(1000);
    4();
    __delay_ms(1000);
    5();
    __delay_ms(1000);
    6();
    __delay_ms(1000);
    7();
    __delay_ms(1000);
    8();
    __delay_ms(1000);
    9();
   
}
			
									
									
						7セグで0から9まで順番に出力するプログラム
Re: 7セグで0から9まで順番に出力するプログラム
ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
C言語やC++では、 のような書き方はしません。 (少なくとも普通はしないと思います)
また、C言語やC++の識別子の最初の文字に数字は使えないので、 のような書き方はできません。
もしこのプログラム?がC言語またはC++のつもりなのであれば、関数の作り方を学んだほうがいいでしょう。
たとえば
自作関数を作る - 苦しんで覚えるC言語
など。
			
									
									BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
このプログラム?の言語は何でしょうか?ブルーロック さんが書きました: ↑3年前間違えを教えて頂きたいです。
C言語やC++では、 のような書き方はしません。 (少なくとも普通はしないと思います)
また、C言語やC++の識別子の最初の文字に数字は使えないので、 のような書き方はできません。
もしこのプログラム?がC言語またはC++のつもりなのであれば、関数の作り方を学んだほうがいいでしょう。
たとえば
自作関数を作る - 苦しんで覚えるC言語
など。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
						Re: 7セグで0から9まで順番に出力するプログラム
東上☆海美☆「
から、PIC マイコン/コントローラ と推測。
PIC マイコン/コントローラなら、ハードウエアの回路図もないと、わからんのでは ?
7 セグメント LED を、直接、コントロールしてるのか
デコーダ通して 7 セグメント LED こんとろーるしてんのかも、わからん。
 
は、
のつもりなのではないかと、エスパーしてみたみみ。
」
			
													から、PIC マイコン/コントローラ と推測。
PIC マイコン/コントローラなら、ハードウエアの回路図もないと、わからんのでは ?
7 セグメント LED を、直接、コントロールしてるのか
デコーダ通して 7 セグメント LED こんとろーるしてんのかも、わからん。
void loop(){
    0();
        __delay_ms(1000);
    1();
        __delay_ms(1000);
    2();
        __delay_ms(1000);
    3();
        __delay_ms(1000);
    4();
        __delay_ms(1000);
    5();
        __delay_ms(1000);
    6();
        __delay_ms(1000);
    7();
        __delay_ms(1000);
    8();
        __delay_ms(1000);
    9();
}
void loop() {
    int t=0;
    while( 1 ) {
        switch( t % 10 ) {
        case 0:
            // 0 の時の処理;
            break;
        case 1:
            // 1 の時の処理;
            break;
        case 2:
            // 2 の時の処理;
            break;
        case 3:
            // 3 の時の処理;
            break;
        case 4:
            // 4 の時の処理;
            break;
        case 5:
            // 5 の時の処理;
            break;
        case 6:
            // 6 の時の処理;
            break;
        case 7:
            // 7 の時の処理;
            break;
        case 8:
            // 8 の時の処理;
            break;
        case 9:
            // 9 の時の処理; 
            break;
        }
        __delay_ms(1000);
        t++;
        if( t>9 ) { t=0; }
    }
}
」
					最後に編集したユーザー あたっしゅ on 2022年9月30日(金) 16:34 [ 編集 1 回目 ]
									
			
									VTuber:
[香車]東上☆Aho(暎帆)☆海美
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
						[香車]東上☆Aho(暎帆)☆海美
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。