회원가입 ID/PW 찾기
AA

8051 다운카운터를 만들려고 하는데요..

/* 7-세그먼트 상위 어드레스 */
#define     FNDH     (*(unsigned char*)(0x2fc4c))
/* 7-세그먼트 하위 어드레스 */
#define     FNDL     (*(unsigned char*)(0x2fc4d))

를 써서 할려고 합니다.

예전에 7-seg를 외부에서 연결을 하여서 0을 2개 줘서 한적은 있었는데요..
키트에 내장되어 있는 세그먼트로 30~0까지 다운카운토 할려고 했는데 잘안되더라구요..


#include    <reg51.h>
/* 포트 선택 어드레스 */
#define     SELECT     (*(unsigned char*)(0x2fc48))
/* 7-세그먼트 상위 어드레스 */
#define     FNDH     (*(unsigned char*)(0x2fc4c))
/* 7-세그먼트 하위 어드레스 */
#define     FNDL     (*(unsigned char*)(0x2fc4d))
/* 전역 변수로 선언, 인터럽트 수 카운터용,초, 분 저장하는데 사용 */


unsigned char count,sec_l,sec_h;
/* 타이머 1 인터럽트 함수 */


void TIMER1(void) interrupt 3
{                                                                                        
        count++;    /* 0,071 초 마다 증가 */ 
}


void    main( void )
{
        /* 7 세그먼트 클리어 */
        FNDH = 0;
        FNDL = 0xf030;
       /* 타이머 1, 모드 1, GATE ON */
       TMOD = 0x90;
       TH1 = 0;
       TL1 = 0;
       /* INT1 키 및 소수점 디스플레이 */
       SELECT = 0xbc;
       count = 0;
       sec_l = 10;
       sec_h = 3; 

       /* 인터럽트 인에이블 및 타이머 1 런 */

        ET1 = 1;
        TR1 = 1;
        EA = 1;


       do{
        if (count == 4){
             count = 0;

             sec_l--;     

          if(sec_l == 0){ FNDL = 0;
             sec_l = 10;

                sec_h--;

            if(sec_h < 1){
               sec_h = 3;

                 }
                }
         /* 현재 값 디스플레이 */
           FNDL = sec_l | ( sec_h << 4 );
           }
           }while(1);

}

언어를 이렇게 짯는데요..
세그먼트 초기값을 30 에서 29 28로 내려가길 원하는데..
실제로는

30, 39, 38, 37, 36, 35, 34, 33, 32, 31,  2□    <- 1자리는 아무것도 안뜹니다. 그리고 30이 아닌 2□ 로 뜨구요..
29, 28, 27, 26, 25, 24, 23, 22, 21,  1□
19, 18, 17, 16, 15, 14, 13, 12, 11,  3□
39, 38, 37, 36, 35, 34, 33, 32, 31

이런식으로 떠요.. 어디가 잘못된 걸까요..??
가르쳐주세요~~~

 

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
103 드론/로봇/라인트레이서 드론을 하고 싶은데10 아크마 202 2017.10.01
102 드론/로봇/라인트레이서 가감속 질문 드립니다.1 짱광 245 2015.10.08
101 드론/로봇/라인트레이서 라인트레이서 모듈 연결을 잘못하겠습니다.1 TOP3378 395 2013.06.04
100 드론/로봇/라인트레이서 MB LineMouse 전원 쪽 질문있습니다~1 윤건 342 2012.11.20
99 드론/로봇/라인트레이서 HOT라인트레이서 소스 질문이요!1 졸작.. 746 2012.09.24
98 드론/로봇/라인트레이서 HOT센서부 소스코드 입니다. 잘안되네요... JHJ 661 2012.09.02
97 드론/로봇/라인트레이서 HOTCORTEX M3 에서 STM32에서 UART통신에서 WAV파일재생하는법 풀발라라 843 2012.06.18
96 드론/로봇/라인트레이서 HOT라인트레이서 프로그램 질문 입니다. 마이크로0001 1009 2011.11.25
95 드론/로봇/라인트레이서 HOT아크마님.. 라인트레이서 구동 질문입니다1 호롤로로로로 947 2011.11.16
94 드론/로봇/라인트레이서 HOT아크마님 질문있습니다!!2 호롤로로로로 947 2011.11.02
93 드론/로봇/라인트레이서 HOT아크마님 라인트레이서 lcd부분입니다1 호롤로로로로 1438 2011.09.22
92 드론/로봇/라인트레이서 HOTADC 하이패스에 관하여 질문드립니다.2 mystyle_me 2215 2011.07.09
91 드론/로봇/라인트레이서 HOT라인트레이서 질문 잇습니당! 문성욱 1516 2011.04.29
90 드론/로봇/라인트레이서 HOTMB라인트레이서 모터부 회로 질문입니다.1 문성욱 2191 2011.03.25
89 드론/로봇/라인트레이서 HOTv2.0 mb라인마우스 받아서 구성중인데요 문성욱 1595 2011.03.21
88 드론/로봇/라인트레이서 HOTmb라인트레이서 부품 질문입니다1 문성욱 1950 2011.03.18
87 드론/로봇/라인트레이서 HOT라이트레이서 모터부 회로도 에서 질문점 드릴게요..!3 라인걸어서 2325 2010.12.27
86 드론/로봇/라인트레이서 HOT라인트레이서를 준비중입니다 .2 차차창 1211 2010.12.11
85 드론/로봇/라인트레이서 HOT아크마 라인트레이서 동작 질문.. 천년동안 1298 2010.11.17
84 드론/로봇/라인트레이서 HOT라인트레이서 소스 조의련 3308 2010.11.07
  • 어느 사회에서나 유아들에게 우유를 먹이는 것보다 더 좋은 투자는 없다.
    - 처칠
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.