找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蜂鸣器proteus仿真 带单片机源程序

[复制链接]
跳转到指定楼层
楼主
蜂鸣器仿真


  1. #include "reg51.h"
  2. sbit P1_3=P1^3;
  3. unsigned char code TABLE[]={0x82,0x01,0x81,0x94,0x84,0xB4,0xA4,0x04,
  4.                                                  0x82,0x01,0x81,0x94,0x84,0xC4,0xB4,0x04,
  5.                                                  0x82,0x01,0x81,0xF4,0xD4,0xB4,0xA4,0x94,
  6.                                                 0xE2,0x01,0xE1,0xD4,0xB4,0xC4,0xB4,0x04,
  7.                                                 0x82,0x01,0x81,0x94,0x84,0xB4,0xA4,0x04,      
  8.                                                         0x82,0x01,0x81,0x94,0x84,0xC4,0xB4,0x04,
  9.                                                 0x82,0x01,0x81,0xF4,0xD4,0xB4,0xA4,0x94,
  10.                                                 0xE2,0x01,0xE1,0xD4,0xB4,0xC4,0xB4,0x04,0};
  11. unsigned int code TABLE1[]={64260,64400,64524,64580,64684,64777,64820,64898,
  12.                                                 64968,65030,65058,65110,65157,65178,65217 }  ;     
  13. unsigned char th0_temp,tl0_temp;
  14. void SING(unsigned char hi);
  15. void DELAY(unsigned char lo);
  16. main()
  17. {unsigned char i,hi,lo,coute;
  18.         TMOD=        0X01;
  19.     ET0        =        1;
  20.     EA        =        1;
  21.     TR0        =        1;
  22.         while(1)
  23.         {
  24.                 P1_3=        1;
  25.                 coute=        0;
  26.                
  27.                 while(TABLE[coute]!=0)
  28.                 {
  29.                         i=TABLE[coute];
  30.                         coute++;
  31.                         lo=i&0x0f;
  32.                         hi=(i&0xf0)>>4;
  33.                         if(hi>0)
  34.                                 SING(hi);
  35.                         else
  36.                                 TR0=0;
  37.                         DELAY(lo);
  38.                 }
  39.         }

  40. }

  41. void SING(unsigned char hi)
  42. {
  43.         th0_temp=(TABLE1[hi-1]/256);
  44.         TH0=th0_temp;
  45.         tl0_temp=(TABLE1[hi-1]%256);
  46.         TL0=tl0_temp;
  47.         TR0=1;
  48. }
  49. void DELAY(unsigned char lo)
  50. {
  51.         unsigned char temp1,temp2;
  52.         do
  53.         {
  54.         for(temp1=0;temp1<150;temp1++)
  55.                 for(temp2=0;temp2<200;temp2++);
  56.         }while(lo--);
  57. }
  58. void INTT0() interrupt 1
  59. {
  60.         TH0=th0_temp;
  61.         TL0=tl0_temp;
  62.         P1_3=~P1_3;
  63. }

复制代码

实验3.zip

49.92 KB, 下载次数: 41, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:338736 发表于 2018-5-26 16:49 | 只看该作者
正好在找仿真蜂鸣器                 
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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