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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2055|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機主函數(shù)里的變量值為什么傳送不到終端服務(wù)函數(shù)中

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:210474 發(fā)表于 2017-6-14 10:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

當while(1)中的TT或者t改變時,中斷函數(shù)1中的T(TT仍然為255)T和中斷5中的t(t仍然為10)都不會發(fā)生相應(yīng)的變化。請問有什么辦法可以解決這個問題。謝謝了!!!
  1. /**********************************************************/

  2. #include<reg52.h>

  3. unsigned char PWM=0x7f ; //賦初值

  4. char code reserve [3] _at_ 0x3b; //保留0x3b開始的3個字節(jié)
  5. unsigned char t;
  6. unsigned char TT;
  7. unsigned char count=0;
  8. unsigned char flag;

  9. sbit BEEP =P3^7 ; //蜂鳴器
  10. /*********************************************************

  11. 延時子程序

  12. *********************************************************/
  13. void delayms(unsigned char ms)

  14. {
  15. unsigned char i ;
  16. while(ms--)
  17. {
  18. for(i=0 ; i<114 ; i++) ;
  19. }
  20. }
  21. /*************T1定時器的初始化程序***********************/
  22. void init2_main()
  23. {
  24. SCON = 0x50; //設(shè)定串口工作方式1,接收使能
  25. PCON = 0x00; //波特率不倍增

  26. TMOD = 0x20; //定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率
  27. EA = 1;
  28. TL1 = 0xfd;
  29. TH1 = 0xfd; //波特率9600
  30. TR1 = 1;

  31. }
  32. /****T2定時器初始化程序********************************/
  33. void init_main()
  34. {
  35. RCAP2H=0XFF;
  36. RCAP2L=0x66;
  37. TH2=RCAP2H;
  38. TL2=RCAP2L;
  39. T2CON=0;
  40. IE=0xb0;
  41. EA=1;
  42. ET2=1;

  43. }
  44. /*********************************************************/
  45. void main()
  46. { t=10;
  47. TT=255;

  48. BEEP = 1;

  49. ES = 1;
  50. init_main();
  51. TMOD=0x01 ;
  52. TH0=0xff ;
  53. TL0=0x66 ;
  54. EA=1;
  55. ET0=1;

  56. init2_main();
  57. delayms(100);

  58. while(1)
  59. {

  60. if(t>TT) {BEEP=!BEEP;P0=0xff;}
  61. if(flag==1){t=PWM;}
  62. if(flag==2){TT=PWM;}
  63. }
  64. }
  65. /*********************************************************

  66. 定時器0中斷服務(wù)程序

  67. *********************************************************/
  68. void timer0() interrupt 1
  69. {
  70. if(PWM!=0x02)
  71. {t=PWM;
  72. flag=1;}
  73. TT=TT;
  74. TH0=0xff ;
  75. TL0=0x66 ;
  76. count++;
  77. if(count<=t){P0=0x00;}
  78. if(count>t) {P0=0xFF;}
  79. if(count>TT){count=0;}
  80. }

  81. /*********************************************************

  82. 定時器2中斷服務(wù)程序

  83. *********************************************************/
  84. void timer1() interrupt 5
  85. { TF2=0;
  86. if(PWM!=0X01){TT=PWM;flag=2;}

  87. RCAP2H=0xff;
  88. RCAP2L=0x66 ;
  89. t=t;
  90. count++;
  91. if(count<=t){P0=0x00;}
  92. if(count>t) {P0=0Xff;}
  93. if(count>=TT){count=0;}
  94. /*********************串口中斷服務(wù)程序************************************/

  95. void mm() interrupt 4
  96. {
  97. RI=0;
  98. PWM=SBUF;
  99. if(PWM==0x01)
  100. {
  101. TR2=0;
  102. TR0=1;
  103. flag=0;
  104. }
  105. if(PWM==0x02)
  106. {
  107. TR0=0;
  108. TR2=1;
  109. TT=PWM;
  110. flag=0;
  111. }
  112. }
復(fù)制代碼


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

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2017-6-15 00:27 | 只看該作者
這取決于哪個先被執(zhí)行。
如果參數(shù)X在主程序中先被改動為A,而后產(chǎn)生中斷,則中斷中所用的X就是A了。
你能弄清誰先動了X嗎?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人黄色三级毛片 | 午夜色播 | 亚洲一区二区三区四区五区中文 | 日韩精品一区二区三区中文字幕 | 日韩成人在线视频 | 亚洲美乳中文字幕 | 亚洲国产一区在线 | 久久综合一区 | 亚洲第一福利视频 | 欧美日韩高清在线观看 | 国产96色在线| 日韩av网址在线观看 | 亚洲欧洲日韩精品 中文字幕 | 国产区视频在线观看 | 国产精品久久久久久久久久久免费看 | 成人精品鲁一区一区二区 | 成人精品视频在线观看 | 精品久久久久久18免费网站 | 欧美高清性xxxxhdvideosex | 日韩日韩日韩日韩日韩日韩日韩 | 麻豆国产一区二区三区四区 | 亚洲精久| 日韩av在线中文字幕 | 日韩精品1区2区 | wwwxxx日本在线观看 | 亚洲天堂一区 | 天天操夜夜看 | 日韩第一区 | 一区二区三区欧美在线观看 | 欧美色欧美亚洲另类七区 | 日韩视频免费看 | 黄色欧美大片 | 日本三级电影在线看 | 精品亚洲一区二区三区 | 欧美一级二级视频 | 欧美日韩在线观看一区 | 欧美视频免费在线 | 久久黄色网 | 91久久久久久久 | 日本免费黄色 | 亚洲午夜精品一区二区三区他趣 |