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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2215|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区三区免费视频 | 性做久久久久久免费观看欧美 | 欧美天堂| 欧美二区在线 | 福利av在线| 午夜丰满寂寞少妇精品 | 国产无人区一区二区三区 | 黄色永久免费 | www亚洲精品| 色综合视频| 国产午夜三级一区二区三 | 波多野结衣二区 | 日韩一级免费电影 | 欧美在线综合 | 国产视频观看 | 欧美视频区 | 男人的天堂在线视频 | 亚洲精品免费视频 | 日本一区二区高清视频 | 亚洲精品888 | 最新免费视频 | 国产欧美精品 | 国产精品激情小视频 | 亚洲精视频 | 精品国产一区二区三区日日嗨 | 欧美日韩免费视频 | 欧美激情视频一区二区三区在线播放 | 国产一区二区三区四区三区四 | 91福利在线观看视频 | 亚洲一区 | 久久人| 日韩在线精品 | 激情欧美一区二区三区中文字幕 | 91精品国产高清一区二区三区 | 精品久久久久久久 | 成年视频在线观看福利资源 | 欧美精品综合 | 97精品久久| 精品视频一区二区 | 涩涩鲁亚洲精品一区二区 | 日韩在线中文字幕 |