ds串口更新时间实时时钟设计实训报告

ds串口更新时间实时时钟设计实训报告

ID:17537779

大小:1.25 MB

页数:9页

时间:2018-09-02

ds串口更新时间实时时钟设计实训报告_第1页
ds串口更新时间实时时钟设计实训报告_第2页
ds串口更新时间实时时钟设计实训报告_第3页
ds串口更新时间实时时钟设计实训报告_第4页
ds串口更新时间实时时钟设计实训报告_第5页
资源描述:

《ds串口更新时间实时时钟设计实训报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2012—2013学年实训报告名称:单片机应用综合实训地点:实A407时间:6.3~~~6.7系部:电子系班级:1101电信姓名学号:指导老师:王平实习实训评语成绩评语指导老师:年月日DS1302串口更新时间实时时钟设计一、实训任务与计划任务主要内容:采用AT89S51单片机的I/O口,选用串行实时时钟DS1302和LED数码显示管,采用C语言编程,设计串口自动更新实时时钟,显示年月日时分钞及学号。工作学习过程要求:显示两个屏时分秒,学号。PC的时间通过串口传送到时钟二、方案与电路设计利用单片机开发板!d

2、s1302以及两个锁存器和五个个按键,来设计时钟电路。并自动更新时间显示。电路如图电路原理图仿真电路图一、程序设计#include#include"ds1302.h"#defineKeyPortP3#defineDataPortP0sbitLATCH1=P2^2;//定义锁存使能端口段锁存sbitLATCH2=P2^3;//位锁存bitReadTimeFlag;//定义读时间标志bitSetFlag;//更新时间标志位unsignedchartime_buf2[16];unsignedc

3、harcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码值0~9unsignedcharcodedofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsignedcharTempData[8];//存储显示值的全局变量voidDelayUs2x(unsignedchart);//us级延时函数声明voi

4、dDelayMs(unsignedchart);//ms级延时voidDisplay(unsignedcharFirstBit,unsignedcharNum);//数码管显示函数unsignedcharKeyScan(void);//键盘扫描voidInit_Timer0(void);//定时器初始化voidUART_Init(void);voidmain(void){unsignedchari,num,displaynum;Init_Timer0();Ds1302_Init();UART_Init()

5、;while(1)//主循环{if(SetFlag)//如果接收到串口信息则更新时钟{for(i=0;i<8;i++){time_buf1[i]=time_buf2[2*i]*10+time_buf2[2*i+1];}//数据整合,如2个数1和5整合成15Ds1302_Write_Time();SetFlag=0;//时钟信息更新后标志位清零}num=KeyScan();if(num==1){displaynum++;if(displaynum==2)displaynum=0;}if(ReadTimeFl

6、ag==1){ReadTimeFlag=0;Ds1302_Read_Time();if(displaynum==0)//显示时间{TempData[0]=dofly_DuanMa[time_buf1[4]/10];//时TempData[1]=dofly_DuanMa[time_buf1[4]%10];TempData[2]=0x40;TempData[3]=dofly_DuanMa[time_buf1[5]/10];//分TempData[4]=dofly_DuanMa[time_buf1[5]%10]

7、;TempData[5]=0x40;TempData[6]=dofly_DuanMa[time_buf1[6]/10];//秒TempData[7]=dofly_DuanMa[time_buf1[6]%10];}elseif(displaynum==1)//显示日期{TempData[0]=dofly_DuanMa[time_buf1[2]/10];TempData[1]=dofly_DuanMa[time_buf1[2]%10];TempData[2]=0x40;//加入"-"TempData[3]=d

8、ofly_DuanMa[time_buf1[3]/10];TempData[4]=dofly_DuanMa[time_buf1[3]%10];TempData[5]=0x40;TempData[6]=dofly_DuanMa[1];TempData[7]=dofly_DuanMa[9];}}}}voidUART_Init(void){SCON=0x50;//SCON:模式1,8-bitUART,使能接收TMOD

9、=0x20;/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。