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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于串口問題。

[復制鏈接]
跳轉到指定樓層
樓主
ID:14101 發表于 2009-6-11 12:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛學單片機。
用DS1302制作電子鐘
為什么單片機串口程序一直都不斷的重新載入
求各位幫幫忙啊

串口程序

#include <reg52.h>
#include "serio.h"
#include "ds1302.h"
uchar count=0;
struct time clock1;
struct time *tm1;
/*******************************************************************/
void UART0_Init()//initial uart
{
SCON = 0x50;
//SCON: serail mode 1, 8-bit UART, REN=1,Buard=(2^SMOD)(Timer1 溢出率 )/32
TMOD |= 0x20; //TMOD:timer1 mode 2,8 位reload
PCON |= 0x80; //SMOD=1;
TH1 = 0xFD; //fosc=11.0592MHz,smod=0, Baud:4.8k--TH:F4,9.6K--TH:FD;
TL1 = 0xFD; //fosc=11.0592MHz,smod=1, Baud:19.2K--TH:FD;
IE |= 0x90; //ea=1,es=1,Enable Serial Interrupt
TR1 = 1; // timer 1 run
}
/*******************************************************************/
void UART0_SendByte(uchar da)//send one byte to pc
{
EA = 0;
SBUF = da;
while(TI==0);
TI=0;
EA = 1;
}
/******************************************************************/
void UART0_SendStr(uchar *str)//send one string to pc
{
uchar i;
i=0;
while((*(str+i))!='\0')
{
UART0_SendByte(*(str+i));
i=i+1;
}
}
/******************************************************************/
void UART0_SendUint32(uint32 da)
{
uchar flag;//第一次非0 標志,1 有效
uchar temp;
flag=0;
da=da%100000000;//求余數
temp=da/10000000;//求千萬位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%10000000;
temp=da/1000000;//求百萬位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%1000000;
temp=da/100000;//求十萬位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%100000;
temp=da/10000;//求萬位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%10000;
temp=da/1000;//求千位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%1000;
temp=da/100;//求百位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%100;
temp=da/10;//求十位數
if(temp!=0 || flag!=0)
{
flag=1;
UART0_SendByte(temp+'0');
}
da=da%10;
UART0_SendByte(da+'0');//發送個位數
}
//******************************************************************//
void receive(void) interrupt 4
{
uchar temp;
EA=0;
if(RI)
{
temp=SBUF;
switch(count)
{
case 0:if(temp==0x30)
count=1;
else
count=0;
break;
case 1:if(temp==0x30)
count=2;
else
count=0;
break;
case 2:if(temp==0x30)
count=3;
else
count=0;
break;
case 3:clock1.year=(temp&0x0f)<<4;
count=4;
break;
case 4:clock1.year=(temp&0x0f)+clock1.year;
count=5;
break;
case 5:clock1.month=(temp&0x0f)<<4;
count=6;
break;
case 6:clock1.month=(temp&0x0f)+clock1.month;
count=7;
break;
case 7:clock1.date=(temp&0x0f)<<4;
count=8;
break;
case 8:clock1.date=(temp&0x0f)+clock1.date;
count=9;
break;
case 9:clock1.hour=(temp&0x0f)<<4;
count=10;
break;
case 10:clock1.hour=(temp&0x0f)+clock1.hour;
count=11;
break;
case 11:clock1.minute=(temp&0x0f)<<4;
count=12;
break;
case 12:clock1.minute=(temp&0x0f)+clock1.minute;
count=13;
break;
case 13:clock1.sec=(temp&0x0f)<<4;
count=14;
break;
case 14:clock1.sec=(temp&0x0f)+clock1.sec;
count=15;
break;
case 15:clock1.week=(temp&0x0f);
tm1=&clock1;
SetTime(tm1);
count=0;
break;
}
RI=0;
}
else
TI=0;
EA=1;
}
/*******************************************************************/

主程序
#include "reg52.h"
#include "ds1302.h"
#include "serio.h"
#include "display.h"
#include "YM12864.h"
uchar code string1[]="20  年  月  日";//第一行,lcd 顯示年月日,星期
uchar code string2[]="  :  :  ";//第二行,lcd 顯示時分秒
uchar code string3[]="電子鐘設置,設置格式為:";//計算機上顯示的提示信息
uchar code string4[]="000  年  月  日  時  分  秒 星期";//共16 個字符,其中000 為時鐘修改字
struct time *tm;
struct time clock;
void main(void)
{
UART0_Init();//串口初始化
UART0_SendStr(string3);
UART0_SendStr(string4);
UART0_SendByte(0x0d);
UART0_SendByte(0x0a);
LCDInit();//初始化lcd
CLS();
ShowGroup(1,1,string1);
ShowGroup(1,2,string2);
tm=&clock;//給結構指針tm 分配空間while(1)
{
GetTime(tm);
ShowTime(tm);
Delay(2000);
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线精品 | 成人欧美一区二区三区白人 | 日韩福利| 天天干国产 | 久草精品在线 | 午夜影院在线观看 | 中文字幕一区二区三区在线乱码 | 亚洲精品日韩在线观看 | 国产91久久久久 | 国产成人精品一区二区三区在线 | 最新免费视频 | 免费一级欧美在线观看视频 | 国产农村妇女毛片精品久久麻豆 | 国产目拍亚洲精品99久久精品 | av看片网站 | 成人国产一区二区三区精品麻豆 | 国产电影一区二区在线观看 | 一区二区三区四区电影 | 玖玖操 | 精品一区在线 | 91久久北条麻妃一区二区三区 | 亚洲性人人天天夜夜摸 | 亚洲成人精品国产 | 热99视频 | 狠狠骚 | 午夜激情视频在线 | 欧美一级免费看 | 久久久久久久久久久久91 | av网站在线看 | 女同av亚洲女人天堂 | 国产三级一区二区三区 | 欧美乱码精品一区二区三区 | 成人影院网站ww555久久精品 | 欧美一区二区三区在线视频 | 青青草网站在线观看 | 在线观看免费av片 | 久久久久国产一区二区三区不卡 | 中文字幕av网站 | 欧美一区二区视频 | 久久国产精品免费视频 | 亚洲国产一区二区三区在线观看 |