找回密码
 立即注册

QQ登录

只需一步,快速开始

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

带数码管显示的ADC0832控制PWM(单片机仿真+代码)

  [复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序:
  1. #include <reg51.h>
  2. unsigned char pwm;
  3. unsigned char code table[]={
  4. 0x3f,0x06,0x5b,0x4f,
  5. 0x66,0x6d,0x7d,0x07,
  6. 0x7f,0x6f,0x77,0x7c,
  7. 0x39,0x5e,0x79,0x71};

  8. sbit ADA=P2^0;
  9. sbit ADB=P2^1;
  10. sbit ADC=P2^2;
  11. sbit ADD=P2^3;
  12. sbit pwm_out=P1^7;

  13. void delayms(unsigned char xms)
  14. {
  15.         unsigned char i;
  16.         while(--xms)for(i=120;i>0;i--);
  17. }

  18. void ADdress(unsigned char add)                        //八位二进制(0~7)add最大值为7
  19. {
  20.          switch(add)
  21.          {
  22.                  case 0:
  23.                         ADA=1;ADB=0;ADC=0;ADD=0;
  24.                         break;
  25.                 case 1:
  26.                         ADA=0;ADB=1;ADC=0;ADD=0;
  27.                         break;
  28.                 case 2:
  29.                         ADA=0;ADB=0;ADC=1;ADD=0;
  30.                         break;
  31.                 case 3:
  32.                         ADA=0;ADB=0;ADC=0;ADD=1;
  33.                         break;
  34.          }
  35. }

  36. void display(unsigned char dat)
  37. {
  38.         ADdress(1);
  39.         P0=~table[dat/100];
  40.         delayms(2);
  41.         P0=0xff;
  42.         ADdress(2);
  43.         P0=~table[dat%100/10];
  44.         delayms(2);
  45.         P0=0xff;
  46.         ADdress(3);
  47.         P0=~table[dat%10];
  48.         delayms(2);
  49.         P0=0xff;
  50. }

  51. void main()
  52. {
  53.         T_init();
  54.         while(1)
  55.         {
  56.                 pwm=ADC0832_Read(0);
  57.                 display(pwm);
  58.         }
  59. }
复制代码



全部资料51hei下载地址:
ADC0832控制PWM.rar (16.32 KB, 下载次数: 78)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:270932 发表于 2019-5-17 20:53 | 只看该作者
PWM和ADC0832子程序能不能给一份呀,谢谢。1647346515@qq.com
回复

使用道具 举报

板凳
ID:462071 发表于 2019-5-25 13:44 | 只看该作者
代码不完全 程序里的 T_init();
        while(1)
        {
                pwm=ADC0832_Read(0);
                display(pwm);
        }
少东西
回复

使用道具 举报

地板
ID:744762 发表于 2020-5-7 23:15 | 只看该作者
ww1647346515 发表于 2019-5-17 20:53
PWM和ADC0832子程序能不能给一份呀,谢谢。

请问你有这个程序了吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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