BASIC4MCU | 질문게시판 | 답변 : ATmega128 7-세그먼트를 이용한 실습
페이지 정보
작성자 master 작성일2019-05-02 18:50 조회3,339회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=8431
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-05-02 오후 6:57:26// by Ok-Hyun Park//#include <avr/io.h>#include <util/delay.h>//unsigned char segTable[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x58,0x5E,0x79,0x71,0x00};unsigned char cnumber[5]={0x10,0x10,0x10,0x10,0x10};//void Seg7Init(){PORTD=0xF0; DDRD=0xF0;DDRA=0xFF;}//void Seg7DispNum(unsigned int num,unsigned int radix){int j;for(j=0; j<5; j++)cnumber[j]=0x10;j=0; do{ cnumber[j++]=num%radix; num/=radix; }while(num);//for(j=0; j<4; j++){PORTD=(PORTD|0xF0) & (~(0x10<<j));PORTA=~segTable[cnumber[j]];_delay_ms(5);}}//Seg7Dispstr(char *s){int j; char c;for(j=0; j<4; j++){c=*s++;if ((c>='0')&&(c<='9'))c=c-'0'; // ‘0’ ~ ‘9’else if((c>='A')&&(c<='F'))c=c-'A'+0x0A; // ‘A’ ~ ‘F’else if((c>='a')&&(c<='f'))c=c-'a'+0x0A; // ‘a’ ~ ‘f’else c=c-0x16; // 나머지 문자는 블랭크cnumber[j]=c;}//for(j=0; j<4; j++){PORTD=(PORTD|0xF0) & (~(0x10<<j));PORTA=~segTable[cnumber[j]];_delay_ms(5);}}
댓글 0
조회수 3,339등록된 댓글이 없습니다.