Lecture 7 7-Segment LED controller using u-controller

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

ARM core UNIT 03 로봇 SW 교육원 조용수. 학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Embedded System Hardware와 software가 조합되어 특정한 목적을 수행하는 시스템
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
마이크로 컨트롤러 Microcontroller.
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
AVR.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
ROBOTICS LAB. DSP TMS320F2812 ROBOTICS LAB.
인터럽트 종류 인터럽트 요구시 I/O장치 인식 방법
AMBA BUS Protocol의 이해 (AMBA 2.0 Specification)
DSP based Data Acquisition Board
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
다섯째날 : 외부 인터럽트 - 당근이의 AVR 갖고 놀기 - 당근닷컴
컴퓨터 하드웨어 Computer Hardware
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
9장 가로채기(Interrupt) Slide 1 (of 15).
Signal 자연계에 존재하는 모든 정보전달의 수단 신호의 공학적 표현 물소리, 바람소리, 새소리 짐승소리,불,연기,봉화…
마이크로프로세서 메모리 및 입출력장치 인터페이스
마이크로프로세서(Microprocessor,µP)
CPU (central Processing Unit)
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
기본 컴퓨터 프로그래밍 Lecture #6.
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
컴퓨터 구조학 정보보호학과.
ATmega128 CH 1 Atmega 128 Board CodeVision.
DSP와 TMS320F28x의 이해.
Introduce to ATmega128 & Codevision
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
PLC를 이용한 제어로직에 관한 연구 김 재 은.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 7. Pentium Processor
1. Embedded System의 이해.
Computer Architecture
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제 2장 컴퓨터동작의 기본 개념.
다섯째날 : 외부 인터럽트 - 당근이의 AVR 갖고 놀기 - 당근닷컴
전자의료시스템 및 실습 C-언어 구 환 경희대학교 전자정보대학 동서의료공학과.
타이머/카운트 정리 정보통신•컴퓨터 공학부 송명규
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
임베디드 소프트웨어 설계.
Chapter 4 The Von Neumann Model.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Computer System Architecture
A Web-Based Little Man Computer Simulator
운영체제 (Operating Systems) (Memory Management Strategies)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture #6 제5장 기억장치 (1).
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
작동 원리 Keypad 박민호.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
아두이노 프로그래밍 Lecture #
임베디드 하드웨어 Lecture #6.
Presentation transcript:

Lecture 7 7-Segment LED controller using u-controller 2007/11/02 Prof. C.M. Kyung

Experimental Goal GOAL is to get familiar with.. Intel 8051 microcontroller The concept of interrupt & timer/counter COMPACT51 experimental board for 8051 KEIL uVisionII

Introduction About Microcontroller Embedded computer로 소형이면서 단독기기 제어에 적합하다 CPU(Microprocessor) + Memory Unit + I/O Unit + Interface 기능 Single chip으로 다양하고 고성능의 기능을 얻을 수 있다 산업용 제어분야, 계측기기, 가전제품, OA용 기기, 자동차 등 많은 분야에서 활용된다.

Microcontroller Intel 8051 제어 목적에 적합하도록 설계된 8bit Microcontroller 111종류의 instruction이 있고, 64종은 one clock에 실행된다. 64KB external program memory, 64KB external data memory 128byte internal data RAM, 4KB internal program ROM System Clock을 위한 오실레이터 회로 내장 2개의 16bit Timer/Counter, 1개의 UART 6 Interrupt source

Intel 8051 Chip / External Port

Intel 8051 Architecture CPU core – PC, ALU 128byte Data RAM 4KB Program ROM I/O Controller 2 Timer, 1 Uart SFR (Special Function Register)

Intel 8051 SFR – Special Function Register Internal Data Memory 중 0x80 ~ 0xFF의 구역 PSW (Program Status Word) – 프로그램 실행중의 상태를 나타내고, cpu의 기능을 제어하는 Register SP (Stack Pointer) – 현재 Function의 stack 주소를 나타냄 Interrupt 제어 Register들 – IE,IP,IPH Timer, UART, 등의 peripheral control Register들 – TMOD, TCON

Intel 8051 Interrupt Interrupt는 processor의 수행 순서를 제어하는 일반적인 방법이다. 대부분의 I/O device는 processor보다 느리므로 processor가 이를 기다려야 하는 문제를 Interrupt를 이용하여 처리한다. Interrupt가 발생하면 processor는 하던 일을 중지하고 Interrupt가 요청한 일을 하고 그 후에 원래 하던 일로 돌아가게 된다. ISR (Interrupt Service Routine) – Interrupt 발생 시, processor가 해야하는 일 여러 개의 Interrupt source가 있을 경우, 각 interrupt는 priority(우선순위)를 가진다.

Intel 8051 Interrupt Interrupt에 의한 control flow의 변화

Intel 8051 Interrupt 8051은 6개의 Interrupt source를 가지고 있다. Interrupt Vector는 해당 interrupt가 발생했을 때, 처리해야 하는 ISR의 시작 주소이다. Processor는 이 주소로 Jump하게 된다. Interrupt No. Interrupt 종류 Interrupt Vector Reset 0x0000 External Interrupt 0 0x0003 1 Timer/Counter 0 0x000B 2 External Interrupt 1 0x0013 3 Timer/Counter 1 0x001B 4 UART 0x0023

Intel 8051 Timer / Counter Count the machine cycle (1/12 of internal system cycle) or external clock / event When the 8bit or 16bit timer overflows, timer interrupt occurs 8051 has 2 timers – Timer0, Timer1 Timers are controlled by TMOD, TCON registers 4 modes are available

Intel 8051 Timer / Counter Example To generate timer interrupt at 1ms System clock = 11.0592MHz  system clock / 12 = 0.9216MHz, 1ms ≒ 922 counts Use 16bit timer  interrupt occurs at 65536 Set the timer to use internal clock & initialize to (65536 - 922) = 64614

KEIL uVisionII IDE (Integrated Development Environment) for 8051 Microcontroller Program edit Compile Download to COMPACT51 board with UART Debug at the board Simulation & debugging at the PC are also available Refer to the handout for detailed instructions

Problem Statement (1) 7-segment control 스톱워치를 제작한다. INT0 버튼을 누르면 타이머가 시작하고 다시 INT0 버튼을 누르면 타이머가 정지한다. TIMER0 버튼을 누르면 타이머가 clear된다.(0.00이 된다.) 시간은 세 개의 7 segment logic을 통해 보여준다. 처음 10초 동안은 왼쪽 한 개가 초 단위를 나타내고 가운데 것이 1/10초, 오른쪽 것이 1/100 초 단위의 시간을 보여준다. 이때 왼쪽 한 개와 오른쪽 두 개 사이, 즉 1초와 0.1초 사이에는 소수점을 찍는다. 10초가 넘어가는 순간 왼쪽 두 개는 초 단위의 시간을, 오른쪽 한 개는 0.1초 단위의 시간을 나타내는 것으로 바뀌고 둘 사이에는 소수점을 찍는다. 즉 소수점의 위치가 한 칸 오른쪽으로 이동하며 1/100초를 나타내는 자릿수의 숫자는 사라지게 된다. (즉 Resolution이 줄어들고 scale이 커지는 것이다. ) 이렇게 해서 총 99.9초까지의 시간을 표시할 수 있게 된다.

Problem Statement (1)

COMPACT51 Board Block Diagram

82C55 Programmable Peripheral Interface chip In this experiment, 3 ports are connected to 7-segment logics To control 7-segment logics, set the ports ‘output’ and write appropriate values to the ports

7-Segment Logic Controller Each segment with ‘high’ signal is turned on ‘a’ is connected to bit 0, ‘b’ is connected to bit 1, etc. To display ‘2’, write ‘01011011’ to Port A of 8255

Problem Statement (2) LED control 스톱워치가 동작하는 동안 1초마다 일렬로 나열된 8개의 LED 가 순차적으로 켜지게 된다. 즉 한 개의 LED를 넘어가는 시간은 0.125초가 된다. N 번째의 LED가 켜지는 순간에도 N-1 번째의 LED 는 켜진 채 유지되어야 한다. 8번째까지 불이 켜지면(즉 8개 전부 불이 켜진 상태) 그 다음은 첫 번째 LED 부터 차례로 불이 꺼진다. 역시 1초 동안 8개의 LED가 각각 0.125초 마다 차례로 꺼지게 되며 N번째 LED가 꺼지는 순간에도 N-1 번째의 LED 는 꺼짐을 유지한다. 위의 동작이 2초를 주기로 반복되게 한다.

LED Controller Each LED with ‘low’ signal is turned on

Experiment Requirements COMPACT51 board PC KEIL uVisionII program UART cable http://blog.naver.com/ykb4027?Redirect=Log&logNo=150022494602

References & Contact Textbook 7th Week T.A. E-mail Lecture Homepage 8051 user’s manual 8255 user’s manual 8051 & C Programming, 문왕환, 도서출판 세화 7th Week T.A. E-mail seeseah@eeinfo.kaist.ac.kr seungjin@eeinfo.kaist.ac.kr jeabin@eeinfo.kaist.ac.kr Lecture Homepage http://wink.kaist.ac.kr/course/ee306/