『Study』2005.12.18 19:27
4장-8051용의 Keil_C51
1.데이터형(기존의 C언어 데이터형과 8051용 데이터형)
-bit : 1bit 단위의 데이터 형
-sbit : sfr과 관련된 bit변수 처리, Bdata지정 데이터의 비트 단위 접근시
-sfr : 특수기능 레지스터를 선언할 때 사용(포트를 특정 레지스터 주소와 매핑 시킬때 등의 예)
-sfr16 : 16비트 데이터(워드단위)를 다루는 레지스터, 2개의 sfr을 동시에 접근

2.메모리형 지정자
*각 변수는 메모리형 지정을 통하여 특정 메모리 공간에 할당 가능
-Code : 프로그램 메모리(ROM)64K, opcode MOVC @a+DPTR
-Data : 내부 데이터 메모리 중 직접 주소 지정 영역(00H~7FH), 가장 빠름
-Idata : 내부 데이터 메모리 중 간접 주소 지정 영역(00H~FFH), 메모리 전체
-Bdata : 내부 데이터 메모리 중 비트 단위 접근이 가능한 영역(20H~2FH), 바이트와 비트를 혼합하여 접근 가능
-Xdata : 외부 데이터 메모리(RAM)64K, opcode MOVX @a+DPTR
-Pdata : 외부 데이터 메모리를 256바이트 단위로 접근하는 영역, opcode MOVX @Rn

3.8051에서의 포인터 사용법 2가지
*포인터가 저장되는 메모리 위치와 포인터가 가리키는 변수가 저장되어 있는 메모리의 위치
-일반 포인터(ANSI C와 동일)
-----------------------------
| 1바이트 | 2바이트 | 3바이트 |
-----------------------------
|메모리형|상위 주소|하위 주소|
-----------------------------
*메모리 형에 따른 데이터 값
1:Idata. 2:Xdata, 3:Pdata, 4:Data/Bdata, 5:Code

-메모리 지정 포인터(코드 생성 측면에서 효율적이고 수행이 빠름)
1.Code, Xdata Pointer는 2바이트
-------------------
| 1바이트 | 2 바이트 |
------------------
|상위 주소|하위 주소|
--------------------
2.Idata, Data, Bdata, Pdata Pointer는 1바이트

-메모리 모델(프로그램과 데이터 메모리가 어떠한 형태로 사용되는가)
SMALL : 128Byte의 메모리 사이즈. 모든 변수가 내부 메모리에 선언.
COMPACKT : 256byte off-chip(128or256 on-chip)의 메모리 사이즈.
LARGE : 64KB의 메모리 사이즈(123


6장-I/O 포트의 이해
-각 포트의 역할
P0 : 입출력 기능과 외부 메모리 인터페이스시에 하위 8bit 주소/데이터 버스 기능
P1 : 범용 I/O
P2 : 범용 I/O 기능과 외부 메모리 인터페이스시에 상위 8bit 주소 버스
P3 : 범용 I/O 기능과 각 핀별 복합기능
* P3.0 : RXD(직렬 입력 포트)
* P3.1 : TXD
* P3.2 : INT0
* P3.3 : INT1
* P3.4 : T0
* P3.5 : T0
* P3.6 : WR(외부 메모리 쓰기 신호)
* P3.7 : RD

-포트 사용시 주의사항(P.132)
1.포트0을 범용 I/O포트로 사용할 때에는 Open드레인이 되기 때문에 사용자가 반드시 풀업 시켜야한다.
2.포트0~3을 I/O포트의 입력 기능으로 사용할 때, 올바른 핀의 상태로 입력하려면 래치에 '1'을 써넣고 입력을 하여야 한다. MOS는 래치의 (Not)Q출력이 연결되어 있기 때문에 사용자가 래치에 '0'을 써 넣으면 MOS는 ON이 되어 핀은 항상 0이 된다. 그래서 사용자는 '1'을 써 넣어 MOS를 OFF시켜 핀의 상태를 올바르게 입력할 수 있다.

-예제 6.1 / 6.2 / 6.3


7장-타이머/카운터 동작
-타이머 모드
*Mode0(13bit Counter)
TLx(5) + THx(8) -> TFx
*Mode1(16bit Counter)
TLx(8) + THx(8) -> TFx
*Mode2(8bit 자동 재적재)
TLx(8bit)->TFx
THx(자동 재적재 할 값을 넣어 둠)
*Mode3(8bit 분할 Timer)


-모드별 초기화 방법


-표7.5(P.182)

-예제1~3


8장-직렬통신 포트 동작
1.각 포트의 기능
2.직렬 포트 레지스터(SCON)의 초기화
3.동작 모드 4가지(0~3)
4.비동기식 모드(Mode1,2,3)에서 Baud Rate 구하기


9장-인터럽트 동작
신고

'『Study』' 카테고리의 다른 글

[ARM]thumb code  (0) 2007.01.01
gt4 샘플 프로그램 수행시 발생하는 에러  (0) 2006.12.26
[Micro_Processer]Final Test....  (0) 2005.12.18
[Micro_Processer]source  (0) 2005.12.07
[자료구조]이진 트리 순회  (0) 2005.10.27
명령어 실행  (0) 2005.10.24
Posted by leoric99

티스토리 툴바