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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3583|回復: 9
收起左側

請大師解惑,為什么燈不亮,附單片機源程序

[復制鏈接]
ID:578842 發(fā)表于 2020-8-22 18:55 | 顯示全部樓層 |閱讀模式
學習定時器的應用,小燈以500Ms時間閃爍。發(fā)現(xiàn)中斷一次1Ms,燈不亮;中斷一次10Ms,50Ms都可以了。不明白程序怎么回事,請
高手解釋解釋,感謝朋友們。


#include<reg52.h>

typedef unsigned char uchar;

sbit p1=P1^0;

uchar tmr500ms;




void main()
{
        TMOD=0x01;
        TH0=(65536-917)/256;
        TL0=(65536-917)%256;
        EA=1;
        TR0=1;
        ET0=1;
        
        while(1)
                {
                        if(tmr500ms==500)
                              {

                                tmr500ms=0;
                                p1=~p1;


                               }        
               
                }
        

}



void tim0() interrupt 1
{

        TH0=(65536-917)/256;
        TL0=(65536-917)%256;

        tmr500ms++;

}

回復

使用道具 舉報

ID:213173 發(fā)表于 2020-8-22 20:34 | 顯示全部樓層
uchar tmr500ms;數(shù)據(jù)類型最大255,if(tmr500ms==500)永遠不能滿足條件。
回復

使用道具 舉報

ID:332444 發(fā)表于 2020-8-22 20:54 | 顯示全部樓層
本帖最后由 xianfajushi 于 2020-8-22 23:02 編輯

用多級累加運算判斷以達到規(guī)定的數(shù)目。
回復

使用道具 舉報

ID:275826 發(fā)表于 2020-8-22 21:54 | 顯示全部樓層
typedef unsigned char uchar;改成typedef unsigned int uint;
uint tmr500ms;
回復

使用道具 舉報

ID:462827 發(fā)表于 2020-8-22 22:01 | 顯示全部樓層
uchar (即unsigned char) 型的值最大只能到255,肯定到不了500的呀
回復

使用道具 舉報

ID:739727 發(fā)表于 2020-8-22 23:39 | 顯示全部樓層
tmr500ms 這個變量溢出啦
回復

使用道具 舉報

ID:752225 發(fā)表于 2020-8-23 00:15 | 顯示全部樓層
unsingend char字符型的值0~255
回復

使用道具 舉報

ID:795361 發(fā)表于 2020-8-23 06:36 來自手機 | 顯示全部樓層
uchar數(shù)據(jù)類型限制
回復

使用道具 舉報

ID:155507 發(fā)表于 2020-8-23 07:18 | 顯示全部樓層
給你改了一下試試。

  1. #include<reg52.h>

  2. typedef unsigned char uchar;   //unsingend char字符型的值0~255
  3. typedef unsigned int uint;

  4. sbit p1=P1^0;

  5. uint tmr500ms;


  6. void main()
  7. {
  8.         TMOD=0x01;
  9.         TH0=(65536-917)/256;
  10.         TL0=(65536-917)%256;
  11.         EA=1;
  12.         TR0=1;
  13.         ET0=1;
  14.        
  15.         while(1)
  16.         {
  17.                 if(tmr500ms>=500)
  18.                 {

  19.                         tmr500ms=0;
  20.                         p1=~p1;


  21.                 }        
  22.         }
  23. }


  24. void tim0() interrupt 1
  25. {

  26.         TH0=(65536-917)/256;
  27.         TL0=(65536-917)%256;

  28.         tmr500ms++;

  29. }



復制代碼
回復

使用道具 舉報

ID:578842 發(fā)表于 2020-8-23 07:43 | 顯示全部樓層
哈哈,謝謝大家,明白了。溢出了
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久国产精品免费视频 | 日韩精品一区二区三区中文在线 | 另类二区 | 欧美精品一区二区三区四区五区 | 成人性视频在线播放 | 成人精品一区二区 | 一区二区av| 亚洲97 | 精品一区二区视频 | 91免费在线视频 | 亚洲三级在线 | 91在线影院 | 久久国产精品一区 | 一级国产精品一级国产精品片 | 日韩在线第一 | 一区二区三区在线播放 | 中文字幕 欧美 日韩 | av影音 | 天天操人人干 | 热久色| 国产在线精品一区二区三区 | 人干人操| 成人一区二区电影 | 青青久久久| re久久| 午夜免费福利电影 | 久久久久亚洲精品 | 欧美精品一区二区三区在线播放 | 免费在线视频精品 | 91亚洲精品国偷拍自产在线观看 | 欧美日韩电影一区二区 | 久久高清 | 最新中文字幕第一页视频 | 国产视频二区在线观看 | 91在线网站 | 国产高清在线精品 | 欧美中文| 国产一区久久久 | 国产精品久久 | 精品国产伦一区二区三区观看方式 | 国产精品九九九 |