标题: 带数码管显示的ADC0832控制PWM(单片机仿真+代码) [打印本页]

作者: 刀刀见红    时间: 2019-1-29 00:12
标题: 带数码管显示的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, 下载次数: 80)



作者: ww1647346515    时间: 2019-5-17 20:53
PWM和ADC0832子程序能不能给一份呀,谢谢。1647346515@qq.com
作者: ls6871275    时间: 2019-5-25 13:44
代码不完全 程序里的 T_init();
        while(1)
        {
                pwm=ADC0832_Read(0);
                display(pwm);
        }
少东西
作者: cyhhs    时间: 2020-5-7 23:15
ww1647346515 发表于 2019-5-17 20:53
PWM和ADC0832子程序能不能给一份呀,谢谢。

请问你有这个程序了吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1