找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4960|回复: 2
打印 上一主题 下一主题
收起左侧

keilc实验作业——基于c51的ad转换实验

[复制链接]
跳转到指定楼层
楼主
keilc实验作业——基于c51的ad转换实验
标准答案分享
仅供参考下载



单片机源程序:
  1. //ADC0809 模数转换显示
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. uchar code LEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  6. sbit OE =P1^0;
  7. sbit EOC =P1^1;
  8. sbit ST =P1^2;
  9. sbit CLK=P1^3;
  10. void DelayMS(uint ms)
  11. {
  12. uchar i;
  13. while(ms--)
  14. for(i=0;i<120;i++);
  15. }

  16. void Display_Resulat(uchar m)
  17. {
  18. uint d=m;
  19. /**********根据当前输入量m大小 ,在【0-255】所占比例,转换为当前数字量 **********/
  20. float k=d*1.00;
  21. k=(k/256*1000);//1000代表当前所设定电阻的值。256代表整体【0-255】的长度
  22. d=k;
  23. /*****P0口分别显示个、十、百、千等位的大小(段码),P2显示的位置(位码)***********/
  24. P2=0xf7;
  25. P0=LEDData[d%10];
  26. DelayMS(10);
  27. P2=0xfb;
  28. P0=LEDData[d/10%10];
  29. DelayMS(10);
  30. P2=0xfd;
  31. P0=LEDData[d/100%10];
  32. DelayMS(10);
  33. P2=0xfe;
  34. P0=LEDData[d/1000];
  35. DelayMS(10);
  36. }

  37. void main()
  38. {
  39. TMOD=0x02;
  40. TH0=0x14;
  41. TL0=0x00;
  42. IE=0x82;
  43. TR0=1;

  44. while(1)
  45. {
  46.   ST=0;ST=1;ST=0;
  47.   while(EOC==0);
  48.   OE=1;
  49.   Display_Resulat(P3);
  50.   OE=0;

  51. }
  52. }
  53. void Timer0_INT()interrupt 1
  54. {
  55. CLK=!CLK;
  56. }
复制代码


所有资料下载:
实验三-ADC0809模数转换.zip (62.49 KB, 下载次数: 48)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:160806 发表于 2017-1-8 17:52 | 只看该作者
刚好是作业
回复

使用道具 举报

板凳
ID:36617 发表于 2017-9-19 17:26 | 只看该作者
好想下来,但是没有黑币了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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