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

標題: C語言show_second函數里面for循環 i!=0xff什么意思 還有定時初值怎么計算的 [打印本頁]

作者: 825825    時間: 2018-12-28 09:21
標題: C語言show_second函數里面for循環 i!=0xff什么意思 還有定時初值怎么計算的
單片機源碼:
  1. uchar time_buffer[]={0,0,0,0};
  2. uchar LCD_display_buffer[]={"00:00:00:00"};


  3. void show_second()
  4. {
  5. uchar i;
  6. lcd_pos(0x45);
  7. for(i=3;i!=0xff;i--)
  8. {
  9. LCD_display_buffer[2*i+1]=time_buffer[ i]/10+'0';[ i]
  10. LCD_display_buffer[2*i]=time_buffer[ i]%10+'0';[ i]
  11. lcd_wdat(LCD_display_buffer[2*i+1]);
  12. lcd_wdat(LCD_display_buffer[2*i]);
  13. lcd_wdat(":");
  14. }
  15. }

  16. void time0() interrupt 1 using 0
  17. {
  18. TH0=-10000/256;
  19. TL0=-10000%256;
  20. time_buffer[0]++;
  21. if (time_buffer[0]==100)
  22. {
  23. time_buffer[0]=0;
  24. time_buffer[1]++;
  25. }

  26. if (time_buffer[1]==60)
  27. {
  28. time_buffer[1]=0;
  29. time_buffer[2]++;
  30. }

  31. if (time_buffer[2]==60)
  32. {
  33. time_buffer[2]=0;
  34. time_buffer[3]++;
  35. }

  36. if (time_buffer[3]==24)
  37. {
  38. time_buffer[3]=0;
  39. }
  40. }


  41.   void display_string(uchar * str,uchar lineno)        
  42. {
  43. uchar k;
  44. lcd_pos(lineno);
  45. for(k=0;k<16;k++)
  46. lcd_wdat(str[k]);
  47. }

  48. void main()
  49. {
  50. uchar i;
  51. IE=0X82;
  52. TMOD=0X01;
  53. TH0=-10000/256;
  54. TL0=-10000%256;
  55. lcd_init();
  56. display_string(msg1,0x00);
  57. display_string(msg2,0x40);
  58. EA=1;
  59. ET0=1;
  60. while(1)
  61. {
  62. if(k1==0)
  63. {
  64. delay(100);
  65. i=++keycount;
  66. switch(i)
  67. {
  68. case1:
  69. case3:TR0=1;
  70.        display_string(prompts[i-1],0);
  71.            break;
  72. case2:
  73. case4:TR0=0;
  74.        display_string(prompts[i-1],0);
  75.            break;
  76.            default:TR0=0;
  77.            break;
  78. }
  79. while(k1==0);
  80. }
  81. else
  82. if(k2==0)
  83. {
  84. TR0=0;
  85. keycount=0;
  86. for(i=0;i<4;i++)
  87. time_buffer[ i]=0;[ i]
  88. display_string(msg1,0);
  89. delay(100);
  90. while(k2==0);
  91. }
  92. show_second();
  93. }               
  94. }
復制代碼



作者: 周超然    時間: 2018-12-28 10:49
i初始值是3,不等于0xff,就執行下面的函數,執行完在自身加1
定時器,看你晶振用的多少,假設你用的12M,51單片機12個時鐘周期,所以就是1M,1次就是1us。定時器往上計數,設置定時器幾位的,16位的就是65535。
來個例子 定時50ms ,就是初始值15535,定時器16位。就這樣,自己慢慢去看吧,基礎東西。
作者: 825825    時間: 2018-12-28 11:50
初值我會了  但是為啥必須不等于0xff  
作者: yzwzfyz    時間: 2018-12-28 12:27
0xff  =256 ,不等于0xff  與 等于0xff,誤差1,用什么取決于你計算的結果需要用多大的數字。  
作者: HC6800-ES-V2.0    時間: 2018-12-28 14:59
其實就是循環四次的意思
i=3,再i--,當i由3減少到0即循環了四次了,再減一次,就是255,即0xff,就不循環了
作者: huiyu    時間: 2018-12-28 15:12
i初始值是3,不等于0xff,就執行下面的函數,執行完在自身加1
定時器,看你晶振用的多少,假設你用的12M,51單片機12個時鐘周期,所以就是1M,1次就是1us。定時器往上計數,設置定時器幾位的,16位的就是65535。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久高清免费视频 | 精品国产乱码久久久久久88av | 色毛片 | 成人在线免费 | 91精品国产91久久综合桃花 | 热re99久久精品国产99热 | 久久国产免费 | 天天精品在线 | 欧美性猛交一区二区三区精品 | 99精品99 | 亚洲成人一区 | 爱爱免费视频 | 亚洲免费在线观看 | 婷婷开心激情综合五月天 | 国产在线精品区 | 精品久久久久久亚洲精品 | 中文字幕精品一区二区三区精品 | 女生羞羞视频 | 日韩精品一二三 | 日韩在线不卡视频 | 91麻豆产精品久久久久久 | 日韩一区二区在线看 | 色综合国产 | 亚洲精品一区在线观看 | 国产一级淫片免费视频 | 亚洲午夜av久久乱码 | 亚洲 自拍 另类 欧美 丝袜 | av黄色网 | 亚洲精品乱码久久久久久蜜桃91 | 日韩第一夜 | 精品久久久久久亚洲国产800 | 亚洲国产精品一区 | 日本免费视频 | 久久久久国产 | 91中文在线观看 | 免费艹逼视频 | 玖玖国产精品视频 | 欧美综合久久 | 亚洲成人免费在线 | 一本色道精品久久一区二区三区 | 午夜寂寞影院在线观看 |