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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

為什么按鍵加,設(shè)置時(shí)間999分鐘為上限,為什么加到255自動(dòng)復(fù)位從0開始?附單片機(jī)代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:858009 發(fā)表于 2021-12-10 16:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
代碼設(shè)置的上限是999分鐘,為什么加到255分鐘之后,再按加就變?yōu)?了,求解原因

代碼:
  1. #include "CH554.H"                                                   
  2. #include "Debug.H"
  3. #include "GPIO.H"
  4. #include "HT1621.H"
  5. #include "Timer.H"
  6. #include "stdio.h"
  7. #include <string.h>
  8. #include <intrins.h>

  9. #define uchar unsigned char
  10. #define uint  unsigned int
  11. //                    //  0    1    2    3    4    5    6    7    8    9        
  12. uchar code tabe1[11] = {0xF0,0x00,0xD0,0x90,0x20,0xB0,0xF0,0x10,0xF0,0xB0};
  13. uchar code tabe2[11] = {0xA0,0xA0,0x60,0xE0,0xE0,0xC0,0xC0,0xA0,0xE0,0xE0};

  14. sbit key1 = P3^3;   //分鐘加
  15. sbit key2 = P3^4;   //分鐘減
  16. uchar min,min0,min1,min2,sec,sec1,sec2,count;

  17. void delay_ms(uint z)                //延時(shí)程序1
  18. {
  19.         uint x,y;
  20.         for(x=z;x>0;x--)
  21.          for(y=110;y>0;y--);
  22. }
  23. /*******************************************************************************
  24. * Function Name  : void Display_Init()
  25. * Description    : 時(shí)間顯示
  26. *******************************************************************************/
  27. void Display_Init(uchar min0,uchar min1,uchar min2,uchar sec1,uchar sec2)
  28. {
  29.         Write_1621(3,tabe1[min0],4);
  30.         Write_1621(4,tabe2[min0],4);
  31.         Write_1621(5,tabe1[min1],4);
  32.         Write_1621(6,tabe2[min1],4);
  33.         Write_1621(7,tabe1[min2],4);
  34.         Write_1621(8,tabe2[min2],4);
  35.         Write_1621(11,tabe1[sec1],4);
  36.         Write_1621(12,tabe2[sec1],4);
  37.         Write_1621(13,tabe1[sec2],4);
  38.         Write_1621(14,tabe2[sec2],4);
  39. }
  40. /*******************************************************************************
  41. * Function Name  : void Timer0_Init()
  42. * Description    : 定時(shí)器初始化
  43. *******************************************************************************/
  44. void Time0_Init()
  45. {
  46.         count = 0;
  47.         min   = 0;
  48.         sec   = 59;
  49.         mTimer0Clk12DivFsys();                                     //T0定時(shí)器時(shí)鐘設(shè)置
  50.         mTimer_x_ModInit(0,1);                                     //T0定時(shí)器模式設(shè)置
  51.         mTimer_x_SetData(0,0xC350);                                //T0定時(shí)器賦值
  52.         mTimer0RunCTL(1);                                          //T0定時(shí)器啟動(dòng)
  53.         ET0   = 1;                                                 //T0定時(shí)器中斷開啟
  54.         EA    = 1;
  55. }
  56. /*******************************************************************************
  57. * Function Name  : mTimer0Interrupt()
  58. * Description    : CH554定時(shí)計(jì)數(shù)器0定時(shí)計(jì)數(shù)器中斷處理函數(shù)
  59. *******************************************************************************/
  60. void        mTimer0Interrupt( void ) interrupt INT_NO_TMR0 using 1           //timer0中斷服務(wù)程序,使用寄存器組1
  61. {
  62.         mTimer_x_SetData(0,0xC350);                                          //非自動(dòng)重載方式需重新給TH0和TL0賦值        
  63.         count++;
  64.         if(count==10)
  65.         {
  66.         count=0;
  67.                 if(sec==0)
  68.                 {
  69.                         if(min!=0)
  70.                         {
  71.                                 sec=59;
  72.                                 min--;
  73.                         }
  74.                         else
  75.                         {
  76.                                 mTimer0RunCTL(0);                                          //T0定時(shí)器停止
  77.                         }
  78.                 }
  79.                 else sec--;
  80.         }
  81. }
  82. void main( )
  83. {
  84.         Time0_Init();
  85.         Init_1621();       //初始化HT1621
  86.         HT1621_all_off();  //清空LCD顯示
  87.         while(1)
  88.         {
  89.                 if(key1==0)
  90.                 {
  91.                         delay_ms(100);
  92.                         if(key1==0)
  93.                         {
  94.                                 if(min!=999)
  95.                                 {
  96.                                         min++;
  97.                                 }
  98.                         }
  99.                         while(!key2);
  100.                         delay_ms(1000);
  101.                         while(!key2);
  102.                 }
  103.                 if(key2==0)
  104.                 {
  105.                         delay_ms(100);
  106.                         if(key2==0)
  107.                         {
  108.                                 if(min!=0)
  109.                                 {
  110.                                         min--;
  111.                                 }
  112.                         }
  113.                         while(!key1);
  114.                         delay_ms(1000);
  115.                         while(!key1);
  116.                 }
  117.                 min0=min/100;
  118.                 min1=min%100/10;
  119.                 min2=min%10;
  120.                 sec1=sec/10;
  121.                 sec2=sec%10;
  122.                 Display_Init(min0,min1,min2,sec1,sec2);
  123.         }
  124. }
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:139866 發(fā)表于 2021-12-10 17:16 | 只看該作者
本帖最后由 天ノ憶 于 2021-12-10 17:18 編輯

既然想加到999,為什么把變量用數(shù)據(jù)長(zhǎng)度為256的unsigned char定義
回復(fù)

使用道具 舉報(bào)

板凳
ID:57657 發(fā)表于 2021-12-10 17:26 | 只看該作者
min變量要用uint類型
回復(fù)

使用道具 舉報(bào)

地板
ID:824490 發(fā)表于 2021-12-10 17:26 | 只看該作者
因?yàn)槟闶怯门砝疖嚵恕!!?br /> unsigned char 取值范圍:0-255,溢出了。
回復(fù)

使用道具 舉報(bào)

5#
ID:858009 發(fā)表于 2021-12-10 17:27 | 只看該作者
npn 發(fā)表于 2021-12-10 17:26
min變量要用uint類型

懂了,好像聲明錯(cuò)了,謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:858009 發(fā)表于 2021-12-10 17:28 | 只看該作者
名字不是重點(diǎn) 發(fā)表于 2021-12-10 17:26
因?yàn)槟闶怯门砝疖嚵恕!!?br /> unsigned char 取值范圍:0-255,溢出了。

懂了,范圍弄錯(cuò)了,謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:908826 發(fā)表于 2021-12-10 20:26 | 只看該作者
變量范圍問題,嘿嘿嘿,uchar就是0~255
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天干天天草 | 国产三级一区二区 | 欧美一级二级视频 | 亚洲国产欧美91 | www.亚洲视频.com| 国产精品99久久久久久宅男 | 伊大人久久 | 蜜桃视频在线观看免费视频网站www | 日韩毛片免费看 | 人人人人人爽 | 国产高清在线 | 精彩视频一区二区三区 | 成人免费视频一区二区 | 精品免费国产视频 | 日韩欧美一区二区三区在线播放 | 国产成人精品一区二区 | h视频在线观看免费 | 国产高清自拍视频在线观看 | h片在线观看网站 | 国产精品精品视频一区二区三区 | www.狠狠干 | 蜜桃视频一区二区三区 | 小h片免费观看久久久久 | 日韩一区二区av | 欧美精品三区 | 69av网 | 亚洲精品免费看 | 欧美电影大全 | 色小姐综合网 | 欧美一区二区免费 | 99久久夜色精品国产亚洲96 | 成人综合在线视频 | 国产一区| 国产在线观看一区二区 | 久久精品亚洲精品国产欧美 | 99福利视频 | www.蜜桃av| 日韩免费一区二区 | 日韩成人在线播放 | 久久不卡 | 色视频在线免费观看 |