회원가입 ID/PW 찾기
AA

>>>>AT89x51CPU를 사용하는데요.. 실해이 안되서 올립니다...
        안되는 이유 알려주세요~~~부탁드립니다~~~~

#include <AT89S51.h>
sbit    PWR =   P3_0; 
sbit    PCS =   P3_1; 
sbit    PRD =   P3_2;     
sbit    OUT =   P2_0;     

unsigned char valad = 00;
unsigned char valhh = 00;
unsigned char valll = 00;
unsigned char cycle = 00;

void delay(unsigned char cycle)  
{
  while(cycle--);

void init_port(void)                         
{   

  P1 = 0x00;
  P2 = 0x00;
  P3 = 0x01;

 }

void main(void)
{  
 EA = 00;  
 init_port();
  while(1)
 {
  adcrd();  
  pwmout(); 
    }  
}

void adcrd(void)
{
 PWR =0;  
 delay(300);    
 PWR = 1;
 delay(100);
 PRD = 0;
 P1 = 0XFF;
 valad = p1;
 PRD = 1;
 PCS = 1;
}

void pwmout(void)
{
 unsigned char temp;
 temp = 255;
 valll = temp-valad;
 valhh = valad;
 OUT = 1;  
 delay(valhh);
 OUT = 0;
 delay(valll); 
 OUT = 0;
}

댓글 3
  • No Profile
    valad = p1;  <=== p1이 뭔가요?? (소문자가 아니라 대문자 같은데??)

    그런데 위의 소스 처럼 하면 AD 컨버젼이 가능해 집니까??
  • No Profile
    왜 안될까요??ㅎ
  • No Profile
    분명 컴파일 에러 날겁니다.

    아마도 Port 1에 ADC 데이타를 연결 하신것 같은데....p1 ==> P1 으로 변경해 보세요.

    외부 회로도가 없는 상태에서 잘못된 소스 코드를 올려 놓으시면 보기가 어렵죠...
    PCS 의 경우도 '1'로만 되어 있지 않나요? chip selector 같은데...
    읽을 때는 '0'으로 바꿔야 하지 않나요??

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
1 Sensor 설계 HOT사진에 있는 tr 제품명이 먼지 알고 싶습니다 ㅡㅜ5 텐지무용 1155 2010.11.22
  • 다리를 얻는 자는 번영하고 다리를 잃는 자는 멸망한다
    - 열자
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.