久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1670|回復: 1
打印 上一主題 下一主題
收起左側

如何解決單片機t0和t1不能同時用的問題?

[復制鏈接]
跳轉到指定樓層
樓主
ID:841401 發表于 2023-5-23 23:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機定時器0做pwm輸出,定時器1做超聲波測距計時。但是不能同時使用,哪位可以幫忙解決下這個問題

  1. #include "reg52.h"
  2. #include "intrins.h"

  3. sbit tr=P1^4;
  4. sbit echo=P1^3;
  5. sbit led=P1^5;
  6. sbit servo=P2^7;

  7. int num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段選
  8. int num2[]={0x01,0x02,0x04,0x08};
  9. int compare, count = 0;

  10. void Delay10us()                //@11.0592MHz
  11. {
  12.         unsigned char i;

  13.         _nop_();
  14.         i = 25;
  15.         while (--i);
  16. }

  17. void display(int a)
  18. {
  19.         unsigned char i;
  20.         for(i=0;i<4;i++)
  21.         {
  22.                 P2=num2[i];
  23.                 switch(i)
  24.                 {
  25.                         case 0:
  26.                                 P0=num[a/1000];
  27.                         break;
  28.                         case 1:
  29.                                 P0=num[a/100%10];
  30.                         break;
  31.                         case 2:
  32.                                 P0=num[a/10%10];
  33.                         break;
  34.                         case 3:
  35.                                 P0=num[a%10];
  36.                         break;
  37.                 }
  38.     Delay10us();
  39.                 P0=0xff;
  40.                 Delay10us();
  41.         }
  42. }

  43. void timer0_init(void)
  44. {
  45.         TMOD=0X11;//定時器模式選擇
  46.         EA=1;//總中斷
  47.         ET1=1;//定時器1中斷
  48.         TH1=0;
  49.         TL1=0;
  50.         TL0 = 0x9c;                //設置定時初值
  51.         TH0 = 0xff;                //設置定時初值
  52.         TR0=1;//定時器開關
  53.         TR1=0;
  54. }

  55.         void setangle(int anglenum)
  56. {
  57.         compare = anglenum + 7;
  58. }


  59. void main(void)
  60. {
  61.         int ss,a=0;
  62.         int i;
  63.         timer0_init();
  64.         loop:tr=1;
  65.         Delay10us();
  66.         Delay10us();
  67.         tr=0;
  68.         while(!echo)
  69.         {
  70.                 i++;
  71.                 if(i>20)
  72.                 {
  73.                         goto loop;
  74.                 }
  75.         }
  76.         TR1=1;
  77.         while(echo);
  78.         TR1=0;
  79.         ss=(TH1*256+TL1-20)*0.174;
  80.         TH1=0;
  81.         TL1=0;
  82.         display(ss);
  83.         for(i=0;i<6;i++)
  84.         {
  85.                 Delay10us();
  86.         }
  87.         if(ss <= 500)
  88.         {
  89.                 led = 1;
  90.         }else{
  91.                 led = 0;
  92.         }
  93.         setangle(0);
  94. }

  95. void timer0() interrupt 1
  96. {
  97.         count ++;
  98.         if(count <= compare)
  99.         {
  100.                 servo = 1;
  101.         }else{
  102.                 servo = 0;
  103.         }
  104.         if(count == 200)
  105.         {
  106.                 count = 0;
  107.         }        
  108.         TL0 = 0x9c;                //設置定時初值
  109.         TH0 = 0xff;                //設置定時初值
  110. }
復制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:59202 發表于 2023-5-24 09:22 | 只看該作者
這程序寫的!!!main函數里主要程序要在一個死循環里,要不能執行下去也一下就停止了啊,還有
goto loop中的loop在哪啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区黄色片 | 亚洲视频中文字幕 | 毛片com | 凹凸日日摸日日碰夜夜 | 欧美激情 一区 | 天天综合网永久 | 精品免费国产 | 国产在线网址 | 亚洲综合大片69999 | 欧美激情综合 | 久久另类 | 欧美日韩综合精品 | 日韩电影一区 | 无码日韩精品一区二区免费 | 国产精品亚洲一区二区三区在线观看 | 亚洲一区二区三区视频 | 波多野结衣电影一区 | 久久精品视频一区二区三区 | 91久久精品日日躁夜夜躁国产 | 欧美性生活网 | 日韩成人在线观看 | www.99re| 欧美xxxx网站 | 亚洲国产精品99久久久久久久久 | 在线观看www | 成人午夜视频在线观看 | 黄色一级片在线播放 | 日韩一区二区免费视频 | 国产欧美日韩综合精品一区二区 | 日韩欧美一区二区三区 | 欧美激情精品久久久久久 | 国产亚洲成av人片在线观看桃 | 国产乱码精品一区二区三区忘忧草 | 天天夜夜人人 | 精品欧美乱码久久久久久1区2区 | 亚洲视频免费播放 | 久久久久久亚洲欧洲 | 一级片av | 99久久婷婷国产综合精品电影 | 中文二区 | av免费网址 |