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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2199|回復: 0
打印 上一主題 下一主題
收起左側

基于無線藍牙的數字時鐘 單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:319688 發表于 2020-10-8 21:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
匆忙之中做了這個用來抵擋導師的項目庫,略有粗糙還請見諒,以后有時間畫板子??不會吧哈哈哈


/************************************************/
改時間用的是藍牙調試寶
輸入格式:HEX(默認)
輸入內容:20100820585404
時間為2020年10月8日20點58分54秒星期4

引腳接線說明
     //LCD1602引腳定義
    #define LCDDATA P0
    sbit RS = P2^3;
    sbit RW = P2^4;
    sbit CS = P2^5;
    //DS1302引腳定義
    sbit    RST = P1^2;
    sbit    DAT = P1^1;
    sbit    CLK = P1^0;

匆忙之中做出來的這個,有時間畫板子加別的功能吧

單片機源程序如下:
  1. #include <reg52.h>
  2. #include "DS1302.h"
  3. #include "LCD1602.h"
  4. /*
  5. *在reg52頭文件定義了uchar
  6.         //LCD1602引腳定義
  7.         #define LCDDATA P0
  8.         sbit RS = P2^3;
  9.         sbit RW = P2^4;
  10.         sbit CS = P2^5;
  11.         //DS1302引腳定義
  12.         sbit    RST = P1^2;
  13.         sbit    DAT = P1^1;
  14.         sbit    CLK = P1^0;
  15. */
  16. #define FOSC 11059200L
  17. #define BAUD 9600       //UART baudrate
  18. #define T1MS (65536-FOSC/12/1000)

  19. uchar count = 200; //中斷循環標志位
  20. uchar flag = 0;
  21. uchar uart_receive_buffer[7]={0};
  22. //sbit led = P1^5;
  23. void DS1302_set_time(void);
  24. //定時器初始化
  25. void Init_timer1(void)
  26. {
  27.         TMOD = 0x10;            //set timer1 as mode1 (16-bit)
  28.     TL1 = T1MS;             //initial timer1 low byte
  29.     TH1 = T1MS >> 8;        //initial timer1 high byte
  30.     TR1 = 1;                //timer1 start running
  31.     ET1 = 1;                //enable timer1 interrupt
  32.     EA = 1;                 //open global interrupt switch
  33. }

  34. //定時器處理函數
  35. void time1(void) interrupt 3
  36. {                                
  37.     TL1 = T1MS;
  38.     TH1 = T1MS >> 8;
  39.         //count--;
  40.         if(count-- ==  0)
  41.         {
  42.                 count = 200;
  43.                 //led = ~led;
  44.                 DS1302_read_time();  //讀取時間
  45.                 LCD_time_buffer[0]=(time_buf[0]>>4); //年   
  46.                 LCD_time_buffer[1]=(time_buf[0]&0x0f);
  47.    
  48.                 LCD_time_buffer[2]=(time_buf[1]>>4);   
  49.                 LCD_time_buffer[3]=(time_buf[1]&0x0f);
  50.   
  51.                 LCD_time_buffer[4]=(time_buf[2]>>4); //月  
  52.                 LCD_time_buffer[5]=(time_buf[2]&0x0f);
  53.    

  54.                 LCD_time_buffer[6]=(time_buf[3]>>4); //日   
  55.                 LCD_time_buffer[7]=(time_buf[3]&0x0f);
  56.    
  57.                 LCD_time_buffer[14]=(time_buf[7]&0x07); //星期
  58.    
  59.                    //第2行顯示  
  60.                 LCD_time_buffer[8]=(time_buf[4]>>4); //時   
  61.                 LCD_time_buffer[9]=(time_buf[4]&0x0f);   

  62.                 LCD_time_buffer[10]=(time_buf[5]>>4); //分   
  63.                 LCD_time_buffer[11]=(time_buf[5]&0x0f);   

  64.                 LCD_time_buffer[12]=(time_buf[6]>>4); //秒   
  65.                 LCD_time_buffer[13]=(time_buf[6]&0x0f);       
  66.         }
  67. }
  68. //串口中斷初始化
  69. void Usart_Init(void)
  70. {
  71.         SCON = 0x50;
  72.     TL2 = RCAP2L = (65536-(FOSC/32/BAUD)); //Set auto-reload vaule
  73.     TH2 = RCAP2H = (65536-(FOSC/32/BAUD)) >> 8;
  74.         T2CON = 0x34;  //啟動定時器2
  75.         ES = 1;  //開串口中斷
  76.         EA = 1;  //開總中斷       
  77. }
  78. //串口處理函數
  79. void Usart_receive(void) interrupt 4
  80. {

  81.         EA = 0;
  82.         if(RI == 1)
  83.         {
  84.                 RI = 0;
  85.                 uart_receive_buffer[flag] = SBUF;
  86.                 //led = ~led;
  87.                 if(flag ==6)
  88.                 {
  89.                         flag = 0;
  90.                         DS1302_set_time();
  91.                 }
  92.                 else
  93.                 {
  94.                         flag++;
  95.                 }
  96.         }
  97.         EA = 1;       
  98. }
  99. void DS1302_set_time(void)
  100. {
  101.         DS1302_write_byte(ds1302_control_add,0x00);                        //關閉寫保護
  102.         DS1302_write_byte(ds1302_sec_add,0x80);                                //暫停時鐘
  103.         DS1302_write_byte(ds1302_charger_add,0xa9);            //涓流充電
  104.         DS1302_write_byte(ds1302_year_add,uart_receive_buffer[0]);                //年
  105.         DS1302_write_byte(ds1302_month_add,uart_receive_buffer[1]);                //月
  106.         DS1302_write_byte(ds1302_date_add,uart_receive_buffer[2]);                //日
  107.         DS1302_write_byte(ds1302_hr_add,uart_receive_buffer[3]);                //時
  108.         DS1302_write_byte(ds1302_min_add,uart_receive_buffer[4]);                //分
  109.         DS1302_write_byte(ds1302_sec_add,uart_receive_buffer[5]);                //秒
  110.         DS1302_write_byte(ds1302_day_add,uart_receive_buffer[6]);                //周
  111.         DS1302_write_byte(ds1302_control_add,0x80);                        //打開寫保護
  112. }
  113. void main(void)
  114. {
  115.         Delay_xms(50);
  116.         LCD_Init();
  117.         LCD_clear();
  118.         DSInit();
  119.         Delay_xms(10);
  120.         //DS1302_write_time();
  121.         Init_timer1();
  122.         Usart_Init();

  123.         while(1)
  124.         {
  125.                 Display();
  126. //                Delay_xms(500);
  127. //                LCD_write_char(0,0,flag);
  128. //                Delay_xms(500);
  129. //                flag++;
  130. //                if(flag>6)
  131. //                        flag = 0;

  132.         }
  133. }
復制代碼

所有資料51hei提供下載:
2020106項目庫.zip (45.02 KB, 下載次數: 13)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美激情四射 | 久久久久久国模大尺度人体 | 欧美成人精品激情在线观看 | 国产精品区二区三区日本 | 99精品欧美一区二区三区 | 三级视频国产 | 免费黄色特级片 | 美日韩视频 | 亚洲国产精品一区在线观看 | 中文字幕一区二区三区精彩视频 | 亚洲欧美精品在线观看 | 亚洲精品一区中文字幕 | 亚洲一区高清 | 韩国av一区二区 | 日本欧美黄色片 | 久久精品在线免费视频 | 热久久性 | 天天干夜夜 | 国产成人91视频 | 中文字幕亚洲一区 | 91短视频网址 | 精品国产第一区二区三区 | 国产精品一区二 | 精品三级在线观看 | 日韩中文在线视频 | 欧美精品一区二区在线观看 | 国产美女黄色片 | 日韩欧美国产精品一区二区三区 | 亚洲网站在线观看 | 91久久久久久久久久久 | 国产精品国产三级国产a | 国产免费一区二区三区 | 日韩av一二三区 | 亚洲人成网站777色婷婷 | 99reav| 欧美三级免费观看 | 成人欧美一区二区三区白人 | 夜久久| 久久精品a级毛片 | 91久色| 亚洲精品乱码久久久久久按摩观 |