2012-05-03 16 views

답변

1

Keil 시뮬레이터는 코어와 주변 장치를 시뮬레이션하며 명령 사이클 레벨 타이밍에 사용할 수 있습니다. 장치 자체에 연결할 외부 하드웨어를 시뮬레이트하지 않습니다. 이론 상으로는 외부 장치를 시뮬레이션하기 위해 디버그 스크립트를 부착 할 수 있지만 앉아 있으면 많은 작업이 가능합니다.

는 지금까지 깜박이는 LED 당신이 카일 시뮬레이터와 함께 할 것입니다 최고의 관한 한 (내가 믿는) 1.

시뮬레이션 인터럽트 단순히 경우 0에서 변경하는 GPIO 레지스터의 비트를 관찰하다 적절한 주변 장치에 인터럽트 플래그를 설정합니다.

간단히 말해서 그렇게 할 수는 있지만 재미는별로 없으며 임베디드 개발을 방해 할 수도 있습니다.

Silicon Labs ToolStick 스타터 키트는 US $ 24.99이며, Keil 도구와 SiLabs IDE가 함께 제공되므로 더 재미있는 방법 일 수 있습니다. 하드웨어에는 LED, 스위치, 전위차계 및 모든 I/O 핀을 확장 할 수있는 땜납 패드 액세스가 포함됩니다. 당신이 잠재적 인 사업 전망이라면 SiLabs는 종종 이것을 무료로 제공합니다.

0

간단한 Google 검색은 많은 8051 시뮬레이터를 보여줍니다. 더 많은 교육은 당신 자신의 시뮬레이터를 작성하는 것입니다. 8051 아키텍처의 문제점은 얼마나 많은 것들이 레지스터에 의존하고 레지스터 공간이 칩에서 칩으로 그리고 벤더에서 벤더로 다른가에 달려있다. 그래서 당신은 단지 명령어 세트로만 갈 수있다.

마찬가지로, sdcc에서 다른 오픈 소스 어셈블러 등으로 많은 도구가 있습니다. 유료 도구는 필요하지 않습니다. 원하는 경우 필요하지만 필수는 아닙니다.

하드웨어없이 8051 프로그래밍을 무료로 배울 수 있습니다.

+0

8051뿐만 아니라 일반적인 마이크로 컨트롤러 또는 저레벨에 관심이 있다면 다양한 마이크로 컨트롤러에 대한 예제뿐만 아니라 다른 프로세서에 대한 수많은 시뮬레이터 http://github.com/dwelch67을 보유하고 있습니다. 나는 아마도 내가 할 수있는 것을 알고있는 8051을 할 생각을했다. –

+0

Keil 툴에 8051 시뮬레이터가 있다면, 시뮬레이트 된 8051에서 레지스터와 메모리를 볼 수있게하고, 시뮬레이터에서 실행할 프로그램을 작성할 수있게 한 다음, 하드웨어가 없어도 사용할 수 있습니다. –

0

시뮬레이터는 다양한 유형의 코딩 문제를 진단하는 데 도움이 될 수 있지만, 사용자 정의 하드웨어를 쉽게 시뮬레이션 할 수있는 8051 시뮬레이터에 대해서는 알지 못합니다. 그들이 거기에 있어도 나는 놀라지 않을 것이다. 마이크로 컨트롤러로 시작한다면, 적어도 실제 회로로 작동하는 것이 좋습니다. 시뮬레이션은 모두 좋고 좋지만 화면의 모든 애니메이션입니다. 조명을 깜박이거나, 삑 소리를 내거나, 일부 릴레이, 솔레노이드, 모터 또는 다른 "실제"물건을 전환하는 실제 회로를 갖는 것에 대해 훨씬 더 강력한 것이 있습니다.

많은 컨트롤러에서 사용할 수있는 조립식 개발 보드와 키트가 있으며, 종종 100 달러 미만입니다. 그들 중 일부는 세미 - 실제 - 세계 데모를하기 위해 필요한 모든 것들을 가지고 있습니다. 값이 싼 납땜 인두와 약간의 숙련도와 함께 약 10 달러의 가치있는 보드, 와이어 및 기타 부품으로 쉽게 다른 제품을 적용 할 수 있습니다. 8051 스타일의 컨트롤러를위한 저렴한 개발 키트를 찾은 이후로 나이가 들어갔지 만 ARM 기반 프로세서와 같은 것들을 사용할 수있는 제품이 있다는 것을 알고 있으며, 사용 가능한 dev-kit를 가진 8051 개의 클론 게다가. Cypress의 8051 기반 PSOC 파생물이 특히 흥미롭고 재미있을 것이라고 생각합니다. 이전 USB 기반 PSOC에서 구입 한 개발 키트에는 조이스틱, LCD 및 심지어는 보드가 포함 된 보드가있었습니다. 포함 된 점퍼 와이어가 내장 된 브레드 보드가 모두 $ 100 이하입니다.

0

학습 목적으로 시뮬레이터는 충분합니다. 하지만 실제로 임베디드 시스템을 개발하려면 테스트 용 하드웨어가 필요합니다.

EEPROM 메모리와 통신하기 위해 8051 용 비트 쌍방향 I2C 프로토콜을 작성했을 때 동일한 문제가 발생했습니다.