본문 바로가기

Hacked Brain/embeddedland.net

80c196kc - (5) 포트를 이용하자. 출처 : 임베디드 커뮤니티 [W.O.E] cafe.naver.com/okh0217 5.. 포트를 이용하자. 80c196kc는 8비트씩 5개의 입출력 포트를 가지고 있다. -포트 0 ---A/D 컨버터를 위한 아날로그/디지탈 입력전용 -포트1 --- 준 양방향 포트 -포트 2 --- 세가지 종류(준 양방향 입력과 출력) -포트 3,4 --- 어드레스/데이터 버스 겸한 오픈드레인 양방향 포트 5-1.준양방향성 포트 준양방향 포트란 입력,출력,또는 입출력으로 다 사용할수 있는 만능(?) 포트이다. 단,사용자가 몇가지 조건을 맞추어주어야 하는데 어떤 것이 있는지 보자. (이것 때문에 ‘쌍’이 아닌 ‘준’이라는 이름이 붙었다고 함...) ◈입력으로 쓸 때 준양방향성 포트에서 신호를 읽어들이려면 먼저 해당 포트에 .. 더보기
80c196kc - (4) 인터럽트 출처 : 임베디드 커뮤니티 [W.O.E] cafe.naver.com/okh0217 .인터럽트 ◆인터럽트 해당 번지로 점프하여 일을수행하고 원래자리로 돌아온다. ◆인터럽트벡터테이블 인터럽트가 발생되면 어디로 가서 인터럽트 처리 루틴을 수행해야 되는지 기록되어 있는 곳으로 80c196kc는 2000H 번지부터 시작된다. (CPU 설계한 사람 마음) .. .. 2004H 2002H A/D 변환 완료 2000H 타이머 오버플로 ◆인터럽트 발생 후 무슨 일이 벌어지는가... 만약 타이머 오버플로 인터럽트가 발생하면 그것에 해당하는 2000H로 간다. 그런데 여기는 ROM영역이라 사용자가 인터럽트 처리 루틴을 써넣을 수가 없다. 이곳엔 그냥 16비트 주소값이 저장되어있고 그 번지로 점프한다. 점프할 주소는 사용자가.. 더보기
80c196kc - (3) 개발 환경 설정 출처 : 임베디드 커뮤니티 [W.O.E] cafe.naver.com/okh0217 3.개발환경 설정 윈도용 기반에서 어플리케이션을 작성할때는 프로그램 짜서 컴파일 시켜버리면 된다. 실행파일이 어찌되든 그건 모두 OS가 알아서 해준다. 하지만 마이크로컨트롤用 프로그램은 실행 프로그램이 RAM에 저장하여 실행하는경우도 있고 ROM에서 실행하는 경우도 있다. 프로그래머 맘에 따라 실행파일의 실행번지가 틀리게 되는데 이것을 어디서 설정해주면 되는가? 바로 링커이다. 그외에 개발시 알아야할 툴의 설정에 대해 알아보자. ◆링커란? 컴파일후 생성된 목적 화일을 다른 목적 모듈과 연결하여 최후의 실행 화일을 만들어 내는 것 ◆스타트업 코드 C 프로그램을 할 때 꼭 하나 있어야 할 함수 바로 main이다. 그런데 이것은.. 더보기
80c196kc - (1) 회로도 보고 메모리 파악하기 1.회로도 보고 메모리 파악하기 마이크로컨트롤러회로의 기본구성은 CPU+롬+램+발진+리셋회로이며 그외에 전원부 + 통신부가 있을 수 있다. 아래 회로는 인터넷에서 흔히 접해볼수 있는 아주 기본적인 회로인데 이것으로 메모리와 매칭시켜보자. 우선 나와있는 소자만 봐도 메모리맵을 머리속으로 그릴수 있어야한다. 어떻게 그리냐구? ◆ 롬 29C256 --->256Kbit = 32KB ◆ 램 62256 --->256Kbit = 32KB 196이 가질수 있는 최대 메모리 크기는 64K라고 했다. 이것을 롬,램이 사이좋게 각각 32K씩 나누어썼다는 것을 알수 있다. 그 다음 단계...............32KB를 hexa로 바꾸면 32*1024byte = 32768 =8000H이며 결국 롬은 0000~7FFFH 램은.. 더보기
196외부메모리및 기본 회로도 더보기
80C196KC DATASHEET 더보기
196 핀 번호 출처 : 임베디드 커뮤니티 [W.O.E] cafe.naver.com/okh0217 196KC PLCC TYPE'S PIN ARRAY(VIEW TO FRONT) ● 9 P0.7 ● 7 P0.2 ● 5 P0.1 ● 3 NMI ● 1 Vcc ● 67 XTAL1 ● 65 CLKOUT ● 63 INST ● 61 RD ● 10 P0.5 ● 11 P0.4 ● 8 P0.6 ● 6 P0.0 ● 4 P0.3 ● 2 EA ● 68 Vss ● 66 XTAL2 ● 64 BUSW ● 62 ALE/ADV ● 60 P3.0 ● 12 ANGND ● 13 Vref ● 59 P3.1 ● 58 P3.2 ● 14 Vss ● 15 P2.2 ● 57 P3.3 ● 56 P3.4 ● 16 RESET ● 17 P2.1 ● 55 P3.5 ● 54 P3.. 더보기
196을 배워보자 2. 196을 배워보자 http://www.roboblock.co.kr/info/info5-4.htm II. 196 Assember II-II. 본격적인 196 어셈블리어 지난 시간에 언급한대로 196 어셈블리어의 명령을 기능에 따라 몇가지로 분류해보면 다음과 같다. ① 데이터 전송 명령 : 데이터의 이동에 관한 명령 ② 산술 연산 명령 : 산술 연산(addition, subtraction, multiplication, division)에 관한 명령 ③ 논리 연산 및 shift 명령 : 논리 연산과 shift 명령 ④ branch 명령 : 일반 분기(jump) 및 비교(compare), 조건 분기에 관한 명령 ⑤ Stack과 subroutine 및 system 제어 명령 : subroutine call,.. 더보기
2. 196을 배워보자 2. 196을 배워보자 http://www.roboblock.co.kr I. 196의 내부 구조 1. 196의 특징 20MHz operation RALU 488 byte internal RAM 28개 interrupt source, 16개 interrupt vector 1.4us의 16bit X 16bit multiplication (at 20MHz) Power down mode, Idle mode 16bit watchdog timer full duplex serial port 동적 구조의 8bit/16bit external BUS width Capture 기능이 있는 16bit up/down counter 8/10bit ADC with Sample/Hold 232 byte register file Re.. 더보기
I. Controller가 뭐죠? http:/www.roboblock.co.kr 1. Controller가 뭐죠? 2. Memory와 IO (1) Memory, IO 란? Memory란 단시간 또는 장시간 기억할 수 있는 소자를 말하는데, 크게 ROM과 RAM으로 나뉜다. RAM은 Random Access Memory를 말하는데, 휘발성을 가지고 있어서 전원이 꺼지면 내용이 없어진다는 것을 잘 알 것이다. 이 RAM은 크게 SRAM(Static RAM)과 DRAM(Dynamic RAM)의 두 가지로 분류되는데, 우리는 Control이 쉬운 SRAM부터 다루게 될 것이다. 또 ROM은 기능에 따라 여러 가지가 있다. 흔히 접할 수 있는 것으로는 PROM(Programmable ROM, 한번만 쓸 수 있다.), EPROM(Erasable P.. 더보기
80c196kc 기능, 구조 80c196kc 는 인텔의 16bit 원칩마이컴이다. 80c196kc 기능 256byte ram 232byte register file Power down/idle mode 16bit watchdog timer Full duplex serial port 동적 구조의 8/16 bit bus width Hold/holda bus protocol 다섯개의 8bit I/O port 세개의 PWM출력 28개 인터럽트 소스 16개 인터럽트 벡터 4개의 16비트 소프트웨어 타이머 타이머2값 기록, 증가/감소 카운트 Sample/hold 기능의 8/10 bit A/D converter 16*16 bit 곱셈 32/16 bit 나눗셈 PTS(peripheral transaction) 80c196kc 구조 핀의 구조 기호.. 더보기
MDE-80196.pdf MDE-80196.pdf 더보기
80C196KC 포트기능, 구조 80C196KC는 P0,P1,P2,P3,P4 이렇게 5개의 IO포트 를 가지고 있다. 포트 0,1,2의 구조는 비슷하고, SFR으로 이넘들을 제어하게 된다. 포트 1,2는 양방향 schmitt trigger입력과 CMOS 레벨 출력이 가능하다. 포트0 port0 - P0.0/ACH0 ~ P0.7/ACH7 port0는 입력전용 포트다. 디지털 입력이 가능하고 ADC를 사용할때는 아날로그 입력으로 사용할수도 있으며, P0.7은 외부 인터럽트 요구신호(interrupt request)로 사용할수 있다. 디지털 입력일 경우 SFR의 port0(oeH)를 리드(read)하면 P0.0~P0.7까지의 값을 읽을수 있다.(1byte) 이때 port0는 하이 임피던스(hign impedence)입력 핀으로 사용되어진다... 더보기
80C196KS SFR 기능 80C196KC 에서 사용하는 SFR의 기능들이다. 레지스터의 기능들을 정리한 표. register 기능 ZERO_REG Zero register로 항상 0000H가 저장되어 있다. AD_RESULT A/D 변환 결과 및 A/D converter의 상태가 저장된다. AD_COMMAND A/D converter를 제어한다. HSI_MODE HSI(High Speed Input)의 trigger pulse의 mode를 결정한다. HSI_TIME HSI가 trigger된 순간에 timer1의 값이 저장된다. HSO_COMMAND HSO(High Speed Output)를 제어한다. HSI_STATUS HSI의 pin 상태가 저장된다. SBUF(TX) transmit buffer for serial port S.. 더보기
80C196KC IOC IOS 레지스터는 IO status 와 관계된 레지스터이다. 즉 입출력 상태를 가지게 된다. IOC는 마찬가지로 IO 제어와 관련된다. IOC0(15H) BIT=1 BIT=0 0 HSI.0 input Enable Disable 1 TIMER 2 reset each write No action 2 HSI.1 input Enable Disable 3 TIMER 2 external reset Enable Disable 4 HSI.2 input Enable Disable 5 TIMER 2 reset source HSI.0 T2RST 6 HSI.3 input Enable Disable 7 TIMER 2 Clock source HSI.1 T2CLK IOC1(16H) BIT=1 BIT=0 0 SELECT PWM SE.. 더보기