doc

ADC0832 assembly language code program

  • 2013-09-20
  • 33KB
  • Points it Requires : 2

ADC0832 assembly language code program CLK bit P1.6 DATA_I bit P1.4 DATA_O bit P1.5 CS bit P1.2 org 0000h ajmp start org 0020h adc0832: ;;A/D processing main program CLR A MOV R7,A CLR CS SJMP adc_wait ;;Judge whether A/D is ready? wait_loop: JNB DATA_O,adc_process adc_wait: SETB CLK NOP NOP CLR CLK NOP NOP SJMP wait_loop adc_process: CLR A ;;A/D processing subroutine MOV R6,A pro_loop: SETB CLK NOP NOP CLR CLK NOP NOP MOV A,R7 ADD A,ACC MOV R7,A MOV C,DATA_O CLR A RLC A ORL A,R7 MOV R7,A INC R6 CJNE R6,#08H,pro_loop SETB CS RET ;Main program start: LCALL adc0832 MOV P0,R7 SJMP start END #include\"reg51.h\" #include\"intrins.h\" #define uchar unsigned char #define nop() _nop_(); sbit clk=P1^6; sbit data_i=P1^4; sbit data_o=P1^5; sbit cs=P1^2; //This program A TO D is CH1 uchar read_adc(void) { uchar i,ch=0; cs=0; clk=1; nop(); nop(); clk=0; nop(); nop(); for (;data_o==1;) { clk=1; nop(); nop(); clk=0; nop(); nop(); } for (i=0; i<8; i++) { clk=1; nop(); nop(); clk=0; nop(); nop(); ch=(ch<<1)|data_o; } cs=1; return(ch); } //Main program void main(void) { uchar ad; while(1) { ad=read_adc(); P0=ad; } }

unfold

You Might Like

Uploader
hellopinkgirls
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×