회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
436 드론/로봇/라인트레이서 HOT아크마 라인트레이서 동작 질문.. 천년동안 1298 2010.11.17
435 Analog & Mixed-Signal 설계 HOTFET 기초이론인데 이해가 안가는 부분이 잇어서 종이악마 975 2010.11.16
434 Analog & Mixed-Signal 설계 HOT초보자 질문이요1 keroso 916 2010.11.15
433 Analog & Mixed-Signal 설계 HOTsmps 회로도1 edward 3069 2010.11.11
432 Analog & Mixed-Signal 설계 HOTOrcad 버젼 질문1 등나무 994 2010.11.11
431 Analog & Mixed-Signal 설계 HOT30w led 조명용 smps회로도 있으시면1 edward 2996 2010.11.10
430 Analog & Mixed-Signal 설계 HOT-24V 전원 설계 부탁 드립니다.4 발리전 1679 2010.11.07
429 드론/로봇/라인트레이서 HOT라인트레이서 소스 조의련 3308 2010.11.07
428 전기전자 아무거나 HOT온도센서 7seg에 온도 표시 회로 도움부탁드립니다.2 jeaade 3436 2010.11.04
427 전기전자 아무거나 HOT게임 트레이너를 만드는 것과 메모리 헤킹을 하려면 어떤것을 알아야 하나요?1 개굴휘 2737 2010.11.04
426 전기전자 아무거나 HOT제가 api프로젝트 하려고하는데 도움 부탁드립니다.1 강정훈 1977 2010.11.03
425 전기전자 아무거나 HOTorcad 10.5 다운시 error 생기는데 해결 방법 좀 알려주세요..1 최선을다해서.. 2909 2010.11.03
424 전기전자 아무거나 HOT마이컴공부 k231 1009 2010.11.03
423 드론/로봇/라인트레이서 HOT라인트레이서 초보용 제작 문의 드립니다.1 효연 1348 2010.11.02
422 전기전자 아무거나 HOT회로가 잘 작동되는지 확인 부탁드립니다.2 jeaade 1723 2010.10.31
421 전기전자 아무거나 HOT일반 똑딱이 스위치를 버튼스위로로 바꾸는 방법.. 멍치 1579 2010.10.30
420 전기전자 아무거나 HOT3상충전기를 단상으로 개조 가능할까요? 멍치 885 2010.10.30
419 전기전자 아무거나 HOT회로도 분석 좀 도와주시면 감사하겠습니다1 소요 2012 2010.10.29
418 전기전자 아무거나 HOTdc 충전기 멍치 936 2010.10.29
417 전기전자 아무거나 HOT센서와 컴퓨터를 연결하고 싶습니다.2 멍치 1281 2010.10.28
Prev 1 ... 13 14 15 16 17 18 19 20 21 22 ... 39 Next
  • 좋은 활은 당기기가 어렵고 좋은 말은 타기가 어렵다.
    - 묵자
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.