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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5438|回復(fù): 1
收起左側(cè)

51單片機(jī)LCD12864萬年歷源程序+Proteus仿真 年月日 星期 溫度顯示

  [復(fù)制鏈接]
ID:662089 發(fā)表于 2020-7-7 14:32 | 顯示全部樓層 |閱讀模式
這是一個(gè)電子時(shí)鐘,具有顯示溫度調(diào)時(shí),鬧鐘等功能。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
11.png

單片機(jī)源程序如下:
  1. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器        
  2. #include<show.h>
  3. #include<beep.h>
  4. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  5. typedef unsigned char u8;
  6. unsigned int  State=0;//讀時(shí)間標(biāo)志
  7. sbit K1=P0^0;
  8. sbit K2=P0^1;
  9. sbit K3=P0^2;
  10. sbit K4=P0^3;
  11. sbit led2=P0^4;
  12. void delay(unsigned int ms);
  13. void button();//按鍵掃描函數(shù)
  14. void compare();//鬧鈴函?

  15. void alarmshow();
  16. unsigned char d;
  17. void delay(unsigned int ms)
  18.   {
  19.      while(ms--);//大約為10us
  20.   }


  21. void main()
  22. {
  23. u8 temperature[2];        
  24. Lcd_Initial();
  25. DS1302_Init();
  26. led2=0;
  27.         while(1)
  28.         {
  29.         if(State==0)DS1302_R();
  30.         button();
  31.         show();
  32.         compare();
  33.         Sensor_Fresh(temperature);        
  34.         Lcd_Temperture(temperature);

  35.         }               
  36. }

  37. unsigned int onf,kk;//鬧鐘開啟標(biāo)志位
  38.         unsigned int State;
  39.   unsigned int SetPlace=0;//調(diào)時(shí)選擇標(biāo)志位
  40.   unsigned int alack=0;//鬧鈴選擇標(biāo)志位
  41.   unsigned int MH;        //月份選擇
  42.   unsigned int YB;//年份標(biāo)志
  43.   unsigned char a1,a2,a3,a4,a5;
  44.   unsigned char a6,a7,a8,a9;

  45. void button()
  46. {
  47.   if(a1==0)
  48.   {
  49.   if(K1==0&&a9==1)
  50.   {
  51.   delay(1000);
  52.   if(K1==0&&a9==1){d=0;a9=0;a8=0;a=0;AFlag[alack]=1;}
  53.   while(!K1);         
  54.   }
  55. if(K1==0&&a2==0)
  56.   {
  57.   delay(1000);
  58.   if(K1==0&&a2==0){;}
  59.   while(!K1);         
  60.   }
  61.   if(K1==0&&a2==1){
  62.   delay(1000);
  63.   if(K1==0&&a2==1){
  64.   led2=~led2;a4=0;DS1302_Init();a2=0;a5=0;CFlag[SetPlace]=1;}while(!K1);}
  65.   }

  66.   if(a3==0)
  67. {
  68.   if(K2==0&&a4==0)                                                                                                                                          
  69.   {
  70.   delay(1000);
  71.   if(K2==0&&a4==0){State=~State;a4=1;a2=1;}
  72.   while(!K2);
  73.   }
  74.     if(K2==0&&a4==1)                                                                                                                                          
  75.   {
  76.   delay(1000);
  77.   if(K2==0&&a4==1){SetPlace++;CFlag[SetPlace]=0;CFlag[SetPlace-1]=1;if(SetPlace>7)SetPlace=0;a5=1;}
  78.   while(!K2);
  79.   }
  80. }
  81. if(a6==0)
  82. {
  83.   if(K3==0&&a5==0)
  84.   {
  85.   delay(1000);
  86.   if(K3==0&&a5==0){a=1;alack++;AFlag[alack]=0;AFlag[alack-1]=1;if(alack>3)alack=0;
  87.   d=1;a8=1;}while(!K3);}
  88.   if(K3==0&&a5==1)
  89.   {
  90.   delay(1000);
  91.   if(K3==0&&a5==1){TIME[(SetPlace-1)]++;
  92.   if((TIME[(SetPlace-1)]&0x0f)>9)TIME[(SetPlace-1)]=TIME[(SetPlace-1)]+6;
  93.   if(SetPlace<=2&&TIME[(SetPlace-1)]>=0x60){TIME[(SetPlace-1)]=0;}
  94.   if(SetPlace==3&&TIME[(SetPlace-1)]>=0x24){TIME[(SetPlace-1)]=0;}
  95.   if(SetPlace==4&&(TIME[4]==1||TIME[4]==3
  96.   ||TIME[4]==5||TIME[4]==7||TIME[4]==8)&&TIME[SetPlace-1]>0x31){TIME[SetPlace-1]=1;}
  97.   if(SetPlace==4&&(TIME[4]==4||TIME[4]==6
  98.   ||TIME[4]==9)&&TIME[SetPlace-1]>0x30){TIME[SetPlace-1]=1;}
  99.   if(SetPlace==5&&TIME[SetPlace-1]>0x12){TIME[SetPlace-1]=1;}
  100.   if(SetPlace==6&&TIME[SetPlace-1]>0x07){TIME[SetPlace-1]=1;}
  101.   if(SetPlace==7&&TIME[SetPlace-1]>0x99){TIME[SetPlace-1]=0;}
  102.    if(TIME[4]==2&&twoflag==0&&TIME[SetPlace-1]>0x28)TIME[SetPlace-1]=0x01;
  103.    if(TIME[4]==2&&twoflag==1&&TIME[SetPlace-1]>0x29)TIME[SetPlace-1]=0x01;
  104.   
  105.    }
  106.   while(!K3);
  107.   }
  108. }
  109.    if(a7==0)
  110. {

  111.   if(K4==0&&a5==1)
  112.   {
  113.   delay(1000);
  114.   if(K4==0&&a5==1){TIME[(SetPlace-1)]--;
  115.   if((TIME[(SetPlace-1)]&0x0f)>9)TIME[(SetPlace-1)]=TIME[(SetPlace-1)]-6;
  116.   if((TIME[4]==4||TIME[4]==6||TIME[4]==9)&&(TIME[SetPlace-1]<0x01))TIME[SetPlace-1]=0x30;
  117.   if((TIME[4]==1||TIME[4]==3||TIME[4]==5)&&(TIME[SetPlace-1]<0x01))TIME[SetPlace-1]=0x31;
  118.   if(TIME[4]==2&&twoflag==1&&TIME[SetPlace-1]<0x01)TIME[SetPlace-1]=0x29;
  119.   if(TIME[4]==2&&twoflag==0&&TIME[SetPlace-1]<0x01)TIME[SetPlace-1]=0x28;
  120.   }
  121.   while(!K4);
  122.   }
  123. if(K4==0&&a8==1)
  124.   {
  125.   delay(1000);
  126.   if(K4==0&&a8==1){alck[(alack-1)]++;
  127.   if((alck[(alack-1)]&0x0f)>9)alck[(alack-1)]=alck[(alack-1)]+6;
  128.   if(alack<=2){if(alck[(alack-1)]>=0x60){alck[(alack-1)]=0;}}
  129.   if(alack==3&&alck[alack-1]>=0x24){alck[(alack-1)]=0;}a9=1;
  130.   }
  131.   while(!K4);
  132.   }
  133. }
  134. if(K4==0&&kk==0)
  135.   {
  136.   delay(1000);
  137.   if(K4==0&&kk==0){onf=~onf;  led2=~led2;
  138.   }
  139.   while(!K4);
  140.   }

  141. }

  142. void compare()
  143. {
  144. if(!onf){
  145. ……………………

  146. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
設(shè)計(jì).rar (1.55 MB, 下載次數(shù): 210)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:891154 發(fā)表于 2021-7-15 20:38 | 顯示全部樓層
SetPlace++;是什么意思
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 综合色播| 亚洲精品久久久久久一区二区 | h视频在线观看免费 | 国产成人精品在线播放 | 国产伦一区二区三区四区 | 日韩中文字幕免费 | 日本欧美国产在线观看 | 久久国产一区 | 国产精品久久精品 | 欧美激情五月 | 97色伦网| 91伊人| 久久激情五月丁香伊人 | 四虎永久在线精品免费一区二 | 亚洲美女网站 | 日一区二区 | 免费成人高清在线视频 | 国产一区二 | 99爱国产 | 国产片一区二区三区 | 9191在线观看 | www视频在线观看 | 成年人网站免费 | 欧产日产国产精品视频 | 国产一二区视频 | 91精品国产综合久久久久久丝袜 | 亚州国产 | 亚洲午夜精品 | av日韩一区| 国产一级电影在线 | 一区二区国产在线观看 | av手机免费在线观看 | 四虎永久免费黄色影片 | 欧美成人自拍 | 精品国产综合 | 亚洲欧美一区二区三区国产精品 | 中文字幕视频在线观看 | 欧美日韩久久精品 | 成人亚洲精品久久久久软件 | 国产视频在线观看一区二区三区 | 国产你懂的在线观看 |