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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)時(shí)鐘,如何將時(shí)分秒數(shù)據(jù)傳送到串口助手上?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:512275 發(fā)表于 2019-12-19 10:44 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
當(dāng)前已完成時(shí)鐘的走停,現(xiàn)在要讓時(shí)分秒數(shù)據(jù)發(fā)送到串口助手上,不知道如何寫程序了?年月日暫時(shí)先不弄,時(shí)分秒的數(shù)據(jù)只能分別發(fā)送到串口助手上顯示,有沒有大佬幫忙看看如何還你那個(gè)時(shí)分秒整體數(shù)據(jù)發(fā)送到串口助手上
/**************************************************************************************************************************************************************/
#include<reg51.h>        
#include"lcd.h"
sbit key1=P1^4;
sbit key2=P1^5;
sbit key3=P1^6;
extern uchar code table[]=" 2020-01-01 THU";
extern uchar code table1[]="    00:00:00";
uchar count,key1num;
char shi,fen,miao;
char ri,yue,nian;



void delay(uint z)     /延時(shí)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void Init ()           /初始化
{        uchar num;
        P1=0xf0;
        InitLcd1602();
        EA=1;              
        TMOD=0x01;
        TH0=(65536-50000)/256;      
        TL0=(65536-50000)%256;        
        ET0=1;
        TR0=1;
        for(num=0;num<15;num++)
                {
                        Lcd1602_Write_Data(table[num]);
                        delay(5);
                }
        Lcd1602_Write_Cmd(0x80+0x40);
        for(num=0;num<12;num++)
                {
                        Lcd1602_Write_Data(table1[num]);
                        delay(5);
                }
}        
void write_sfm(uchar add,uchar date)    //時(shí)分秒
{
        uchar shi1,ge;
        shi1=date/10;
        ge=date%10;
         Lcd1602_Write_Cmd(0x80+0x40+add);
   Lcd1602_Write_Data(0x30+shi1);
   Lcd1602_Write_Data(0x30+ge);
         SBUF=0x30+shi1;
          while (!TI);   
    TI = 0;
         SBUF=0x30+ge;
          while (!TI);  
    TI = 0;
}

void write_nyr(uchar add,uchar date)
{
        char shi2,ge2;
        shi2=date/10;
        ge2=date%10;
         Lcd1602_Write_Cmd(0x80+add);
   Lcd1602_Write_Data(0x30+shi2);
   Lcd1602_Write_Data(0x30+ge2);
}

void timer0() interrupt 1
{
  TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        count++;  
        if(count==20)
        {
          count=0;
                miao++;
                if(miao==60)
                {
                                miao=0;
                                fen++;
                                if(fen==60)
                                {
                                         fen=0;
                                                shi++;
                                        if(shi==24)
                                        {  
             shi=0;
             ri++;
             if(ri==31)
                                          {
                      ri=0;
                yue++;
                if(yue==13)
                                              {
                                                  yue=0;
                                                        nian++;
                                                                        write_nyr(3,nian);
                                                           }               
                                                                write_nyr(6,yue);
                                          }               
                                                  write_nyr(9,ri);
                                        }
                                        write_sfm(4,shi);

        }
}

void KEY()
{
    if(key1==0)
                {
                delay(5);
                        if(key1==0)
                        {           key1num++;
                                                        while(!key1);
                                                        if( key1num==1)
                                                        {
                                                                TR0=0;
                                                         Lcd1602_Write_Cmd(0x80+0X40+11);
                                                         Lcd1602_Write_Cmd(0x0f);
                                                        }
                                                        if( key1num==2)
                                                        {
                                                        Lcd1602_Write_Cmd(0x80+0X40+8);
                                                        }
                                                        if( key1num==3)
                                                        {
                                                        Lcd1602_Write_Cmd(0x80+0X40+5);
                                                        }
                                                        if( key1num==4)
                                                        {
                                                                key1num=0;
                                                        Lcd1602_Write_Cmd(0x0c);
                                                                 TR0=1;
                                                        }
                           }
                        }
                if(key1num!=0)
                        {
                          if(key2==0)
                                {
                                    delay(5);
                                        if(key2==0)
                                        {   while(!key2);
                                            if(key1num==1)
                                                        {
                                                            miao++;
                                                                if(miao==60)
                                                                        miao=0;
                                                                        write_sfm(10,miao);
                                                                  Lcd1602_Write_Cmd(0x80+0X40+11);
                                                
                                                         }
                                                           if(key1num==2)
                                                          {   fen++;
                                                                   if(fen==60)
                                                                             fen=0;
                                                                             write_sfm(7,fen);
                                                                       Lcd1602_Write_Cmd(0x80+0X40+8);
                                                           }
                                                           if(key1num==3)
                                                           {   shi++;
                                                                   if(shi==24)
                                                                           shi=0;
                                                                           write_sfm(4,shi);
                                                                     Lcd1602_Write_Cmd(0x80+0X40+5);
                                                      }
                                           }
                                        }
                                if(key3==0)
                                        {
                                           delay(5);
                                                  if(key3==0)
                                                                while(!key3);
                                                           if(key1num==1)
                                                                        {
                                                                                        miao--;
                                                                                if(miao==-1)
                                                                                        miao=59;
                                                                                        write_sfm(10,miao);
                                                                                        Lcd1602_Write_Cmd(0x80+0X40+11);
                                                               
                                                                         }
                                                                                 if(key1num==2)
                                                                                {   fen--;
                                                                                         if(fen==-1)
                                                                                                         fen=59;
                                                                                                         write_sfm(7,fen);
                                                                                                         Lcd1602_Write_Cmd(0x80+0X40+8);
                                                                                 }
                                                                                 if(key1num==3)
                                                                                 {   shi--;
                                                                                         if(shi==-1)
                                                                                                 shi=23;
                                                                           write_sfm(4,shi);
                                                                     Lcd1602_Write_Cmd(0x80+0X40+5);
                                                         }
                                        }
                                
                }
}


void main(void)
{  
   Init();        
    UsartConfiguration();
//         write_sfm(0x80+0x40+5,shi);
//         SBUF=shi;
//         while (!TI);
//         TI = 0;
//         write_sfm(0x80+0x40+8,fen);
//         SBUF=fen;
//         while (!TI);
//         TI = 0;
//        write_sfm(0x80+0x40+11,miao);
//         SBUF=miao;
//         while (!TI);
//         TI = 0;
//        
//         Lcd1602_Write_Cmd(0x80+0x40+5);
//         SBUF=shi;
//         while (!TI);
//         TI = 0;
//         Lcd1602_Write_Cmd(0x80+0x40+8);
//         SBUF=fen;
//         while (!TI);  
//         TI = 0;
//         Lcd1602_Write_Cmd(0x80+0x40+11);
//         SBUF=miao;
//         while (!TI);
//         TI = 0;
        
   while(1)
         {  
                 KEY();
         }
                        
}




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

使用道具 舉報(bào)

沙發(fā)
ID:378732 發(fā)表于 2019-12-19 16:23 | 只看該作者
用stdio.h里面的printf();函數(shù)。
串口助手用文本模式。
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-12-19 17:37 | 只看該作者
1.添加串口初始化程序(略)
2.添加串口發(fā)送程序
  1. void Send_byte(unsigned char dat)
  2. {
  3.         SBUF = dat;
  4.         while(!TI);
  5.         TI = 0;
  6. }        
  7. void main(void)
  8. {  
  9.         unsigned char i,j;
  10.         Init();        
  11.         UsartConfiguration();
  12.         while(1)
  13.         {  
  14.                 KEY();
  15.                 if(j!=miao)//每秒發(fā)送一次
  16.                 {
  17.                         j=miao;
  18.                         for(i=4;i>12;i++)
  19.                                 Send_byte(table1[i]);//把保存在table1[]里的字符串發(fā)送串口
  20.                 }
  21.         }                  
  22. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久99精品国产 | 国产乱码精品一区二区三区五月婷 | 久久人人爽人人爽 | 福利视频网 | 一级美国黄色片 | 农村妇女毛片精品久久久 | 日日草天天干 | 色婷婷精品久久二区二区蜜臂av | 东京久久 | 一级看片 | 欧美一区2区三区4区公司二百 | 奇米影视首页 | 成人亚洲精品久久久久软件 | 日韩电影a | 精品一区二区视频 | 亚洲成人在线网 | 欧美九九 | 亚洲免费在线观看 | 成人免费小视频 | 日韩中文字幕在线不卡 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 伊人网国产 | 精品中文在线 | 成人在线精品视频 | 综合色播| 国产成人网 | av电影一区二区 | 337p日本欧洲亚洲大胆精蜜臀 | 亚洲第一女人av | 亚洲欧美精品一区 | 欧美操操操 | 国产高清一区二区 | 色桃网| 亚洲高清视频一区二区 | 成人黄色三级毛片 | 最新中文字幕第一页视频 | 中文天堂网 | 日本精品视频一区二区三区四区 | 一级看片免费视频囗交动图 | 中国av在线免费观看 | 久久精品一区二区三区四区 |