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

標題: 80C52單片機定時器T2使用問題請教 [打印本頁]

作者: 趙光祥    時間: 2018-5-17 22:10
標題: 80C52單片機定時器T2使用問題請教
用T2來控制LED延時1s亮滅,如下圖,但燒寫進單片機后發現控制不了,
覺得應該是初始化出現問題,但又不清楚是哪里有問題
各位大神,幫幫看一下,謝謝!



作者: zhanghyg    時間: 2018-5-18 08:55
你TH2和TL2初值0xff不對,LED=!LED,這句也錯了,應該LED=~LED。
作者: chaoself    時間: 2018-5-23 16:19
為何要用定時器2呢?用0與1都可以呀
作者: zjjhtony    時間: 2018-5-23 19:30
初始化時需要加2條語句(仿真可行):
EA=1;//開總中斷允許
ET2=1; //開定時器T2的中斷允許
否則你的定時器T2溢出但不產生中斷。
作者: angmall    時間: 2018-5-23 19:38

  1. #include "reg51.h"

  2. typedef unsigned char BYTE;
  3. typedef unsigned int WORD;

  4. //-----------------------------------------------

  5. /* define constants */
  6. #define FOSC 11059200L

  7. #define T1MS (65536-FOSC/12/1000)   //1ms timer calculation method in 12T mode

  8. /* define SFR */
  9. sbit ET2 = IE^5;

  10. sfr T2CON = 0xc8;                   //timer2 control register
  11. sbit TF2  = T2CON^7;
  12. sbit TR2  = T2CON^2;

  13. sfr T2MOD = 0xc9;                   //timer2 mode register
  14. sfr RCAP2L = 0xca;
  15. sfr RCAP2H = 0xcb;
  16. sfr TL2 = 0xcc;
  17. sfr TH2 = 0xcd;

  18. sbit LED = P2^0;               //work LED, flash once per second

  19. /* define variables */
  20. WORD count;                         //1000 times counter

  21. //-----------------------------------------------

  22. /* Timer2 interrupt routine */
  23. void tm2_isr() interrupt 5 using 1
  24. {
  25.     TF2 = 0;
  26.     if (count-- == 0)               //1ms * 1000 -> 1s
  27.     {
  28.         count = 1000;               //reset counter
  29.         LED = ! LED;                              //work LED flash
  30.     }
  31. }

  32. //-----------------------------------------------

  33. /* main program */
  34. void main()
  35. {
  36.     RCAP2L = TL2 = T1MS;            //initial timer2 low byte
  37.     RCAP2H = TH2 = T1MS >> 8;       //initial timer2 high byte
  38.     TR2 = 1;                        //timer2 start running
  39.     ET2 = 1;                        //enable timer2 interrupt
  40.     EA = 1;                         //open global interrupt switch
  41.     count = 0;                      //initial counter

  42.     while (1);                      //loop
  43. }

復制代碼





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品视频一区二区三区 | 在线观看视频91 | 视频一区二区三区在线观看 | 成人一区二区三区在线观看 | 日韩免费在线 | 久久久91精品国产一区二区三区 | 91传媒在线播放 | 国内自拍第一页 | 在线观看亚洲专区 | 高清欧美性猛交xxxx黑人猛交 | jizz在线看片 | 日韩在线免费电影 | 成人黄色av| 91在线资源 | 91在线播 | 国产精品久久久亚洲 | 婷婷免费视频 | 99精品国自产在线 | 天天干天天干 | www.国产.com | 亚洲一区导航 | 高清成人免费视频 | www..99re| 二区在线视频 | av日韩精品 | 国产成人99久久亚洲综合精品 | 99精品国产一区二区三区 | 久久精品国产亚洲夜色av网站 | 91久色| 波多野结衣在线观看一区二区三区 | 黄色网址免费在线观看 | 久色网 | 97精品超碰一区二区三区 | 欧美a在线| 韩国理论电影在线 | 午夜精品久久久久久久久久久久久 | 国产欧美日韩在线一区 | 亚洲一区国产 | 久久久久一区二区三区 | 91欧美激情一区二区三区成人 | 久久久久国产精品 |