找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

ADC0832的转换程序,C语言和汇编两种程序。

[复制链接]
admin 发表于 2010-5-13 22:10:13 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
ADC0832转换程序一下是源代码:

C语言源代码:
  1. #include"reg51.h"
  2. #include"intrins.h"
  3. #define uchar unsigned char
  4. #define nop() _nop_();

  5. sbit clk=P1^6;
  6. sbit data_i=P1^4;
  7. sbit data_o=P1^5;
  8. sbit cs=P1^2;
  9. //此程序A TO D为CH1
  10. uchar read_adc(void)
  11. { uchar i,ch=0;
  12. cs=0;
  13. clk=1;
  14. nop();
  15. nop();
  16. clk=0;
  17. nop();
  18. nop();
  19. for (;data_o==1;)
  20. {
  21. clk=1;
  22. nop();
  23. nop();
  24. clk=0;
  25. nop();
  26. nop();
  27. }
  28. for (i=0; i<8; i++)
  29. {
  30. clk=1;
  31. nop();
  32. nop();
  33. clk=0;
  34. nop();
  35. nop();
  36. ch=(ch<<1)|data_o;
  37. }
  38. cs=1;
  39. return(ch);
  40. }
  41. //主程序
  42. void main(void)
  43. {
  44. uchar ad;
  45. while(1)
  46. {
  47. ad=read_adc();
  48. P0=ad;
  49. }
  50. }
复制代码


汇编源代码:
  1. CLK bit P1.6
  2. DATA_I bit P1.4
  3. DATA_O bit P1.5
  4. CS bit P1.2
  5. org 0000h
  6. ajmp start
  7. org 0020h

  8. adc0832: ;;A/D处理主程序
  9. CLR A
  10. MOV R7,A
  11. CLR CS
  12. SJMP adc_wait ;;判断A/D是否准备好?
  13. wait_loop: JNB DATA_O,adc_process
  14. adc_wait: SETB CLK
  15. NOP
  16. NOP
  17. CLR CLK
  18. NOP
  19. NOP
  20. SJMP wait_loop
  21. adc_process: CLR A ;;A/D处理子程序
  22. MOV R6,A
  23. pro_loop: SETB CLK
  24. NOP
  25. NOP
  26. CLR CLK
  27. NOP
  28. NOP
  29. MOV A,R7
  30. ADD A,ACC
  31. MOV R7,A
  32. MOV C,DATA_O
  33. CLR A
  34. RLC A
  35. ORL A,R7
  36. MOV R7,A
  37. INC R6
  38. CJNE R6,#08H,pro_loop
  39. SETB CS
  40. RET
  41. ;==========================================================================
  42. ;主程序
  43. start:
  44. LCALL adc0832
  45. MOV P0,R7
  46. SJMP start
  47. END
复制代码
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 12:22 , Processed in 0.050594 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表