文档详情

单片机实验报告-数字时钟设计报告.pdf

发布:2025-01-03约5.12千字共5页下载文档
文本预览下载声明

为天地立心,为生民立命,为往圣继绝学,为万世开太平。——张载

单片机实验报告-数字时钟设计报告

一、实验目的

1、掌握单片机的主要原理及相关的功能和特点。

2、熟悉单片机测试与调试的一般步骤与操作。

3、掌握定时/计数功能在单片机系统中的实现方法。

4、领会单片机实验模块设计思想。

二、实验内容

本次实验主要是利用STC89C52单片机实现数字时钟设计,实验从硬件电路组成和单

片机编程两个部分来实现数字时钟的设计。

(1)硬件电路设计

该系统的硬件电路设计主要包括PCB板的设计、电源的设置、单片机与外设的连接以

及时钟芯片的接入。利用AltiumDesigner软件来进行电路板设计,将STC89C52芯片与

时钟模块(DS1302)以及屏幕连接,整个电路如图1所示。

图1数字时钟使用STC89C52的电路图

(2)单片机程序设计

本实验使用keil软件对单片机程序进行编程,主要的部分如下:

(2.1)定义单片机IO口

首先定义单片机IO口,其定义方式如下:

#includereg52.h

sbitRow0=P1^0;//定义P1.0作为数码管的Row0控制端

sbitRow1=P1^7;//定义P1.7作为数码管的Row1控制端

sbitRow2=P1^1;//定义P1.1作为数码管的Row2控制端

sbitRow3=P2^0;//定义P2.0作为数码管的Row3控制端

sbitCol0=P1^2;//定义P1.2作为数字管的Col0控制端

sbitCol1=P1^3;//定义P1.3作为数字管的Col1控制端

为天地立心,为生民立命,为往圣继绝学,为万世开太平。——张载

sbitCol2=P1^4;//定义P1.4作为数字管的Col2控制端

sbitCol3=P1^5;//定义P1.5作为数字管的Col3控制端

sbitCol4=P1^6;//定义P1.6作为数字管的Col4控制端

(2.2)定义LED数码管数据和定义变量

//定义LED数码管数据

unsignedcharcode

table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsignedchari,j,k,m,n,s;

(2.3)调用初始化函数

再调用初始化函数,用于完成I/O口、定时器0/1及外部中断的初始化,代码如下:

voidinit(void){

TMOD=0x01;//定时器0的模式1

TH0=0x3c;//定时器0赋初值

TL0=0xb0;

EA=1;//外部总中断开启

ET0=1;//允许定时器0中断

ET1=0;//不允许定时器1中断

TR0=1;//开启定时器0

TR1=1;//关闭定时器1

}

(2.4)主函数

显示全部
相似文档