万年历单片机C语言报告,C语言单片机万年历系统设报告优秀文档.doc

C语言多功能电脑时钟设计报告

一、实训目的意义及任务要求

1.1目的意义

单片机的使用领域已十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。“学好单片机,工作就不成问题了。”老师说,可见学好单片意义之重大。单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。电脑时钟有效地检验了对DS1302时钟芯片,STC89C52单片机中断,独立键盘,数码管,蜂鸣器,LED灯的控制,同时提高了学生的工程系统设计能力。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。通过此次单片机系统综合训练,不仅要让学生认识了解它,而且增强学生学科积极性。

2.2任务要求

要求设计的电脑时钟完成以下功能:

1.基本功能

①实时显示当前时间(4位数码管显示,2位显示小时,2位显示分钟,第2位小数点0.5秒亮,0.5秒灭)。

②能用一按键依次切换显示年及月日。

③能修改当前时钟。

④具有秒表功能,显示秒和百分秒。

2. 扩展功能

①单片机与PC机的通讯(可选)

②可设定初值的倒计时功能(可选)③闹钟及报时功能(可选)。④显示星期(可选)。

二、实训方案

2.1 系统分析

根据系统功能要求,可将系统组成结构分成四大部分:DS1302时钟芯片读数据写数据模块,数码管显示模块,按键设置调节时间模块,秒表功能模块,。硬件电路接线图如后图,本系统采用DS1302时钟芯片,四位数码管显示年月,日星期,时分,以及秒和百分秒。其中年月日,时分秒和星期采用DS1302的数据显示,秒表采用单片机定时中断实现。本系统共用到四个按键,且均为独立对地按键,分别用于显示切换,修改切换,修改加一,修改减一,秒表启动暂停和数据清零。

2.2 器件选择

选用STC89C52芯片,频率为11.0592MHz;由于系统要求显示年月日小时和分钟,采用四位LED数码管显示即可;按键是用来设置北京时间或闹钟时间或启动秒表等功能的,设置三个按键:显示切换模式键(key3)、修改数据键(key0)、加一键(key1)、减一键(key2)。DS1302时钟芯片。

常见的LED显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。

发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。

1. 显示器的结构

常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。1位显示器由8个发光二极管组成,其中7个发光二极管a~g控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。

三、系统硬件设计

3.1 单片机最小系统

单片机功能系统图见附录 1,。单片机最小系统由STC89C51单片机、复位电路、晶振电路组成。如图3.1所示

图3.1 单片机最小系统图

3.2 数码管、独立按键及DS1302时钟芯片电路的设计

系统仿真电路图

系统仿真电路图

系统仿真电路图

DS1302与单片机连线图

3.3 其他附属电路设计

按键、电频转换芯片、RS232串口通信及电源电路等设计,如图3.3所示

图3.3 附属电路设计图

四、软件设计

4.1主程序设计

主程序采用定时器0对程序进行扫描执行。分别执行DS1302芯片初始化子程序,写数据子程序,将最初的值写入芯片中,采用while循环循环执行键盘扫描子程序。

main()

{

TMOD=0x01; //使用模式1,16位定时器

TH0=(65536-10000)/256; //给定初值

TL0=(65536-10000)%256;

EA=1; //总中断打开

ET0=1; //定时器中断打开

TR0=1; //定时器开关打开

Ds1302_Init();

Ds1302_Write_Time();

while(1)

{

keyscan();

if(Btread==0)

{ Btread=1;

Ds1302_Read_Time();

}

display();

}

4.2 DS1302子程序设计

此子程序分为初始化程序,读数据程序,写数据程序,一些数据程序为例;

void Ds1302_Write_Byte(unsigned char a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值