找回密码
 立即注册

QQ登录

只需一步,快速开始

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

ADC0808 PWM实验(资源共享)

[复制链接]
跳转到指定楼层
楼主
ID:589455 发表于 2019-7-24 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /***************   writer:shopping.w   ******************/
  2. #include <reg52.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char

  5. sbit CLK = P2^4;
  6. sbit ST  = P2^5;
  7. sbit EOC = P2^6;
  8. sbit OE  = P2^7;
  9. sbit PWM = P3^0;

  10. void DelayMS(uint ms)
  11. {
  12.         uchar i;
  13.         while(ms--)
  14.         {
  15.                  for(i=0;i<120;i++);
  16.         }
  17. }

  18. void main()
  19. {
  20.         uchar Val;
  21.         TMOD = 0x02;
  22.         TH0 = 0x14;
  23.         TL0 = 0x00;
  24.         IE  = 0x82;
  25.         TR0 = 1;
  26.         while(1)
  27.         {
  28.                  ST = 0;
  29.                 ST = 1;
  30.                 ST = 0;
  31.                 while(!EOC);
  32.                 OE  = 1;
  33.                 Val = P1;
  34.                 OE  = 0;
  35.                 if(Val == 0)
  36.                 {
  37.                          PWM = 0;
  38.                         DelayMS(0xff);
  39.                         continue;
  40.                 }
  41.                 if(Val == 0xff)
  42.                 {
  43.                          PWM = 1;
  44.                         DelayMS(0xff);
  45.                         continue;
  46.                 }
  47.                 PWM = 1;
  48.                 DelayMS(Val);
  49.                 PWM = 0;
  50.                 DelayMS(0xff - Val);
  51.         }
  52. }

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


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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