当前位置:文档之家› 基于C51单片机的电子表(内附完整程序源码)

基于C51单片机的电子表(内附完整程序源码)

基于C51单片机的电子表(内附完整程序源码)
基于C51单片机的电子表(内附完整程序源码)

电子科学与技术系

科研训练

中文题目:基于C51单片机为主控芯片的电子时钟

英文题目: Based on C51 single chip microcomputer as main control chip

of electronic watch

姓名:王****

学号:**********

专业名称:电子科学与技术

指导教师:郑国旭

基于C51单片机为主控芯片的电子表

作者哈尔滨理工大学电子科学与技术系

[内容摘要]本文论述了用C51单片机制作电子表的方法和过程,电路图以及程序源代码。包括时间基准的选取和实现;1602液晶显示屏的驱动和编程;独立键盘的使用和编程;单片机内部时间中断的原理及编程。

[关键词] C51单片机;时间基准; 1602液晶显示屏;编程

Based on C51 single chip microcomputer as main

control chip of electronic watch

[Abstract]This paper discusses the using C51 production method and process of digital watches, circuit diagram and the program source code. Including the selection of time benchmark and implementation; 1602 LCD driver and programming; The use of independent keyboard and programming; The principle and programming of single chip microcomputer internal time interrupt.

[Keywords] C51 production;Time benchmark;1602 LCD;programming

目录

1 引言 (1)

2 相关文献综述 (1)

3 元件简述及应用 (1)

3.1 STC89C51RC单片机简介及其应用 (2)

3.1.1 STC89C51RC单片机简介 (2)

3.1.2 STC89C51RC单片机应用 (2)

3.2 1602液晶屏简介及其应用 (3)

3.2.1 1602液晶屏简介 (3)

3.2.2 1602液晶屏应用 (4)

4硬件电路构建 (5)

4.1中控部分以及时间基准部分 (6)

4.2按键交互部分 (7)

4.3液晶显示部分 (8)

5 软件程序编程 (9)

5.1计算类函数代码 (9)

5.1.1闰年计算函数 (9)

5.1.2日期清零函数 (9)

5.1.3星期计算函数 (10)

5.2独立按键函数 (11)

5.2.1 S1数位选择按键 (11)

5.2.2 S2数值加一按键 (12)

5.2.3 S3数值减一按键 (14)

5.3计时器函数 (15)

5.3.1计时器初始化函数 (15)

5.3.2计时器中断函数 (16)

5.4全部源代码 (18)

6结论 (29)

1 引言

单片机是一种集成电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU、随机存储器RAM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上,构成的一块小而完整的计算机系统。

本设计为采用89C51RC芯片作为主控芯片的电子表,电子表可以显示时间、日期和星期,可以手动调整时间和日期,星期将通过内部计算自动给定,拥有计算闰年功能,并且可以通过年份和月份自动计算当月最后一天日期。

2 相关文献综述

随着科技的不断发展,单片机的种类也变得多种多样,五花八门,以满足不同情况的需要。应用单片机的产品已经融入到各行各业,以单片机为主控芯片的电子时钟也应运而生。

在单片机应用以前,电子时钟主要使用震荡电路以及数字电路构成,然而振荡电路的频率不稳定,极易受到干扰,而且大量的数字器件具有较高的延迟,这些都会影响电子时钟的精度,并且利用数字元件搭建极其麻烦,无形中增大了电子时钟的体积。然而单片机是一种以C语言为基础语言的可编程MCU,配合较少的元件就可以做出功能强大的产品,提高精度的同时也极大的缩小了体积,而且复杂功能的计时器也成为了可能。

3 元件简述及应用

本时钟采用STC89C51RC作主控芯片芯片。

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

采用1602液晶屏作为显示元件。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵

字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

3.1 STC89C51RC单片机简介及其应用

本设计采取STC89C51RC为主控芯片,以提供时间基准和时间日期计算。

3.1.1 STC89C51RC单片机简介

STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。

3.1.2 STC89C51RC单片机应用

1)内置4组8位I/O口,其中P0口为双向I/O口,P1,P2,P3为准双向I/O

口。

2)内置2个16位定时器/计数器。

3)内置外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外

部中断低电平触发中断方式唤醒。

4)内置通用异步串行口。

5)工作电压为5V。

6)工作温度为0℃~70℃。

图3.1.2.1 STC89C51RC引脚图

引脚说明:

I/O口:P0、P1、P2、P3四组I/O口,P0口为三态双向I/O口,没有内置的上拉电阻,需要外接上拉电阻;P1、P2、P3为准双向I/O口;所有I/O口均可独立编程使用。

VCC、GND:单片机电源引脚,常电压为+5V;

XTAL1、XTAL2:外接时钟引脚,XTAL1为输入端,XTAL2为输出端。

RST:单片机的复位引脚,连续两个机器周期以上的高电平为有效。

RXD、TXD:串行输入输出口。

INT0、INT1:外部中断0,外部中断1。

T0、T1:定时器\计数器0外部输入端、定时器\计数器0外部输入端。

PSEN:程序储存器允许输出控制端。

ALE/PROG:外部储存器锁存端。

EA/VPP:外部储存器控制端。

3.2 1602液晶屏简介及其应用

本设计采取1602液晶屏最为显示元件。

3.2.1 1602液晶屏简介

液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。

各种型号的液晶通常是按照显示字符的行数或液晶点阵的行列数来命名的。1602液晶屏每行显示16个字符,一共可以显示两行。

3.2.2 1602液晶屏应用

1602液晶屏内部RAM映射表

数据指针设置指令码:80H+地址码。

初始化设置指令码:00111000(设置16*2显示,5*7点阵,8位数据接口)。

显示开关及光标设置指令表

引脚说明:

图3.2.2.1 1602液晶屏引脚图

1、VSS:电源地

2、VDD:电源正极

3、VO:液晶显示对比度调节端

4、RS:数据命令选择端

5、RW:读写选择端

6、EN:使能信号端

7~14、D0~D7:数据口

15、BLA:背光电源正极

16、BLK:背光电源负极

4硬件电路构建

电子时钟分4个模块构成,分别为:中控部分,时间基准,按键交互,液晶显示。(其中时间基准部分已集成在中控模块中。)

图3.3.0.1 电子时钟结构图

4.1中控部分以及时间基准部分

中控部分以及时间基准采用如下电路图设计:

图3.3.1.1 中控部分及时间基准原理图

此中控电路叫做C51单片机的最小系统,作用是为单片机提供适合的外部工作条件。

U1为STM89C51RC,即为电子表的主控芯片。

左上角接在RST引脚的电路为复位按键电路,由一个按键、一个0.1μF电容和一个10Ω电阻组成。电容作用是消除按键抖动。按下按键即可为单片机提供连续两个机器周期的高电平,以供单片机复位。

左下角接在XTAL两个引脚的是晶振电路,由一个晶振、两个起振电容构成。以晶振的固定频率震荡以输出固定频率的脉冲信号,为单片机提供机器周期,同时提供时间基准。

左上角为P0 I/O口的上拉电阻。使其能稳定输出高低电平。

4.2按键交互部分

按键交互部分采用如下电路图:

S1

图3.3.2.1 按键交互原理图

按键交互部分由四个独立按键构成,四个独立按键一端接地,另一端口链接单片机上的四个I/O口,当单片机检测到其中的I/O口为低电平时,将会触发按键功能。

按键功能简述:

S1:选择时间日期将要调节的数位

S2:当前数位数值加一

S3:当前数位数值减一

S4:无功能,备用按键

4.3液晶显示部分

液晶显示部分采用如下电路图:

U1

图3.3.3.1 液晶显示部分原理图

液晶显示部分为1602液晶屏提供基本的工作环境,并且负责液晶屏与单片机的数据交互,D0~D7八个数据端链接单片机上的一组I/O口,E、RS连接单片机P3.4、P3.5口。供单片机操作液晶显示屏

5 软件程序编程

STC89C51RC芯片是基于C语言可编程芯片,只有硬件电路还无法正常工作因此还需要编程,并且将程序烧录至单片机中,才能使其正常工作。

由于代码过于繁杂,将选取重要代码加以论述,本章最后将给出全部源代码。

5.1计算类函数代码

本电子时钟可以按照年份和月份计算当月共有多少天,并且星期将由电子时钟自动给定,无需手动调节。

计算函数主要包括:闰年计算函数、日期清零函数(用来计算日期最后一天,超出后日期置一,重新叠加。)、星期计算函数。

5.1.1闰年计算函数

源代码如下

/**********************************************************************************/

/* */

/* */

/* 闰年计算函数*/

/* */

/* 是闰年返回值为1 */

/**********************************************************************************/

int isleapyear(int year)

{

year=year+2000;

return (year%4==0&&year%100)||year%400==0;

当年份可以被4整除并且不可以被100整除或者可以被400整除的年份是闰年。是闰年则函数返回值为1,反之则返回0.

当其他函数引用该函数时,则可以方便的判断该年是否是闰年。

5.1.2日期清零函数

源代码如下

/**********************************************************************************/

/* */

/* */

/* 日期清零计算函数*/

/* */

/* 日期需要清零时返回值为1 */

/**********************************************************************************/

int delete_riqi(int ri)

{

if(ri>28&&yue==2&&!isleapyear(nian))

return 1;

if(ri>29&&yue==2)

return 1;

if(ri>30&&(yue==4||yue==6||yue==9||yue==11))

return 1;

if(ri>31)

return 1;

return 0;

}

通过多个if语句进行判断,判断当前日期是否已经超过当月的最后一天,如果是,则返回1,否则返回0.

当其他函数引用该函数时,可以判断日期是否需要重新计数

5.1.3星期计算函数

源代码如下

/**********************************************************************************/

/* */

/* */

/* 星期计算函数*/

/* */

/* 星期日返回值为0 */

/**********************************************************************************/

int week(int nian,int yue,int ri)

{

int iWeek,y,c,m,d;

c=nian/100;

y=nian%100;

m=yue;

d=ri;

iWeek = y + y / 4 + c / 4 - 2 * c + 26 * ( m + 1 ) / 10 + d - 1; //蔡勒公式

iWeek = iWeek >= 0 ? ( iWeek % 7 ) : ( iWeek % 7 + 7 ); //iWeek为负时取模

return iWeek;

}

函数采用泰勒公布,将年月日输入函数,函数会通过年月日计算出但天是星期几,方便进行星期显示。

5.2独立按键函数

按键交互是由独立按键构成的,此函数是独立按键的驱动函数。

共有三个独立按键,分别为:S1,数位选择按键;S2,数值加一按键;S3,数值减一按键。

5.2.1 S1数位选择按键

源代码如下

if(s1==0)

{

delay(5);

if(s1==0) //调整选择

{ s1num++;

while(!s1);

if(s1num==1) //调整秒钟

{

TR0=0;

write_com(0x80+0x40+10);

write_com(0x0f); //光标闪烁

}

}

if(s1num==2) //调整分钟

{

write_com(0x80+0x40+7);

}

if(s1num==3) //调整小时

{

write_com(0x80+0x40+4);

}

if(s1num==4) //调整日期

{

write_com(0x80+9);

}

if(s1num==5) //调整月份

{

write_com(0x80+6);

}

if(s1num==6) //调整年份

{

write_com(0x80+3);

}

if(s1num==7) //还原

{

s1num=0;

write_com(0x0c);

TR0=1;

}

}

采用消抖延时来消除按键抖动,slnum用来记录数位,每按下按键一次,slnum 自加一,方便数值调整获取数位,当按下7次按键时,恢复正常显示。

5.2.2 S2数值加一按键

源代码如下

if(s2==0) //加数

{

delay(5);

if(s2==0)

{

while(!s2);

if(s1num==1) //调整秒钟

{

miao++;

if(miao==60)

miao=0;

write_sfm(10,miao);

write_com(0x80+0x40+10);

}

if(s1num==2) //调整分钟

{

fen++;

if(fen==60)

fen=0;

write_sfm(7,fen);

write_com(0x80+0x40+7);

}

if(s1num==3) //调整小时

{

shi++;

if(shi==24)

shi=0;

write_sfm(4,shi);

write_com(0x80+0x40+4);

}

if(s1num==4) //调整日期

{

ri++;

if(delete_riqi(ri))

ri=1;

write_nyr(9,ri);

write_xq(week(nian,yue,ri));

write_com(0x80+9);

}

if(s1num==5) //调整月份

{

yue++;

if(yue==13)

yue=1;

write_nyr(6,yue);

write_xq(week(nian,yue,ri));

write_com(0x80+6);

}

if(s1num==6) //调整年份

{

nian++;

if(nian==100)

nian=0;

write_nyr(3,nian);

write_xq(week(nian,yue,ri));

write_com(0x80+3);

}

}

}

获取slnum数值来获取数位,对当前数位的数值进行加一处理,并对液晶屏进行显示处理。

引用日期清零函数和星期计算函数,日期计满将自动置一,自动获取星期。方使用者操作。

5.2.3 S3数值减一按键

源代码如下

if(s3==0) //减数

{

delay(5);

if(s3==0)

{

while(!s3);

if(s1num==1) //调整秒钟

{

miao--;

if(miao==-1)

miao=59;

write_sfm(10,miao);

write_com(0x80+0x40+10);

}

if(s1num==2) //调整分钟

{

fen--;

if(fen==-1)

fen=59;

write_sfm(7,fen);

write_com(0x80+0x40+7);

}

if(s1num==3) //调整小时

{

shi--;

if(shi==-1)

shi=23;

write_sfm(4,shi);

write_com(0x80+0x40+4);

}

if(s1num==4) //调整日期

{

ri--;

if(ri==0)

ri=28;

write_nyr(9,ri);

write_xq(week(nian,yue,ri));

write_com(0x80+9);

}

if(s1num==5) //调整月份

{

yue--;

if(yue==0)

yue=12;

write_nyr(6,yue);

write_xq(week(nian,yue,ri));

write_com(0x80+6);

}

if(s1num==6) //调整年份

{

nian--;

if(nian==-1)

nian=99;

write_nyr(3,nian);

write_xq(week(nian,yue,ri));

write_com(0x80+3);

}

}

}

同加一按键功能相似,将加数变成减数操作,并对液晶屏进行显示处理。

5.3计时器函数

计时器函数为电子时钟的核心函数,用来计时以及对液晶屏进行操作。

5.3.1计时器初始化函数

初始化函数源代码如下

/**********************************************************************************/

/* */

/* */

/* 初始化函数*/

/* */

/* */

/**********************************************************************************/

void init()

{

uchar num;

lcden=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

nian=15;

yue=5;

ri=28;

shi=0;

fen=0;

miao=0;

for(num=0;num<15;num++)

{

write_date(table[num]);

delay(5);

}

write_com(0x80+0x40);

for(num=0;num<12;num++)

{

write_date(table1[num]);

delay(5);

}

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

初始化函数打开计时器开关,设置计时器工作模式,并且给定计时器初值。为计时器工作做前期准备。当计时器数值计满时,将进入计时器中断函数。

5.3.2计时器中断函数

计时器中断函数源代码如下

/**********************************************************************************/

/* */

/* */

/* 计时中断函数*/

/* */

/* */

/**********************************************************************************/

void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

count++;

if(count==18)

{

count=0;

miao++;

if(miao==60)

{

miao=0;

fen++;

if(fen==60)

{

fen=0;

shi++;

if(shi==24)

{

shi=0;

ri++;

if(delete_riqi(ri))

{

ri=1;

yue++;

if(yue==13)

{

yue=1;

nian++;

if(nian==100)

nian=0;

write_nyr(3,nian);

}

write_nyr(6,yue);

}

write_nyr(9,ri);

write_xq(week(nian,yue,ri));

}

write_sfm(4,shi);

}

write_sfm(7,fen);

}

write_sfm(10,miao);

}

}

进入计时器中断后需要重新为计时器填装初值,已进行下次计时,每1/18

单片机电子表课程设计

烟台南山学院 《单片机原理与接口技术》课程设计 题目:数字电子表设计 学院(系):自动化工程学院 年级专业:电气技术4班 学号: 200902040442 学生姓名:毕天华 指导教师:田敬成

课程设计任务书 学生姓名:毕天华专业班级:电气技术4班 指导教师:田敬成工作单位:自动化工程学院 题目: 基于51单片机的数字电子表的设计 初始条件: 1.运用所学的单片机原理与接口技术知识和数字电路知识; 2.51单片机应用开发系统一套; 3.PC机及相关应用软件; 要求完成的主要任务: 1.完成数字电子表的设计和调试。 2.要求采用四位八段数码管显示时间和日期,并且可以用按键修改时间和 日期。 3.撰写课程设计说明书。 4.课程设计说明书要求:引言、设计要求、系统结构、原理设计、各个模 块的设计与实现、软件设计、调试过程、收获、体会及总结、参考文献、电路图和源程序。说明书使用A4打印纸计算机打印或手写,用Protel 等绘图软件绘制电子线路图纸。 时间安排: 第1天下达课程设计任务书和日程安排,根据任务书查找资料; 第2~3天完成方案论证,单片机系统的设计; 第4~6天参考有关文献,完成程序的编写; 第7~10天调试硬件系统和软件程序; 第11~12天结果分析整理、撰写课程设计报告,验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

基于单片机数字电子表的设计 摘要 随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。本课程设计是基单片机原理与接口技术的简单应用。运用所学的单片机原理和接口技术知识完成数字电子表的设计。 电子表已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使电子表具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的电子表集成电路芯片出售,价格便宜、使用也方便,但鉴于电子表电路的基本组成包含了数字电路的主要组成部分,因此进行电子表的设计是必要的,用C语言设计电子表显示程序,要求根据输入程序显示电子表画面。研究电子表及扩大其应用,有着非常现实的意义。 关键词 LED,定时/计器数,C语言,调试,运行。

基于51单片机的简易电子表设计与仿真

智能仪器及应用实验报告项目名称:基于51单片机的简易电子表设计与仿真 专业名称:测控技术与仪器 班级:测控0901班 学生姓名: 指导教师:

一、任务要求 使用Keil uVision编程软件以及ISIS 7 Professional仿真软件制作一个简易电子表,要求具备电子表基本功能(时间显示、时间调整等)。 二、总体设计方案 利用AT89C51作为控制以及1602LCD作为显示,通过6个按键实现出入时间设置状态、出入闹铃设置状态、小时位调整、分钟位调整、开关闹铃等功能。系统的流程图如下: 图1-1 系统仿真流程图 三、系统硬件 1、AT89C51引脚功能说明: AT89C51芯片如图1-2所示

图1-2 AT89C51 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

单片机电子钟设计任务书

目录 一、课程设计的主要内容和要求 (1) 二、实现原理等知识的介绍 (2) 2.1电子时钟的设计 2.2单片机识的相关知识 三、系统的总体方案设计说明; 3.1总体设计方案 3.2总设计原理框图 四、具体实现步骤的设计说明; 五、单片机系统程序的编制; 六、测量过程的操作说明,原始测量数据的记录; 七、结论及存在问题; 八、心得体会总结; 九、参考文献。

一、主要内容和要求 1 主要内容:设计一个数字式电子钟,它具有时,分,秒的计时功能,可以通过键盘进行时间设定,并且将时间显示在LED数码管上。用按键设定时钟的时、分、秒,用扫描方式动态显示。时钟用定时中断方式工作,单片机晶体震荡器频率11.0592Mhz.。可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示。 2 对于基本题目要求是: 用按键设定时钟的时、分、秒。要求用4键方式,即选择、加、减、确认键,选择键用于选择修改起始时、分、秒值,每按一次,被修改数码管顺序移动并闪烁。用+,- 键修改数值,确认键确定修改结束。 a)用扫描方式动态显示时、分、秒,第2,4 数码管加小数点,并且要求第4数码管小数点每秒闪烁一次。 b)时钟用定时中断方式工作。注意单片机晶体震荡器频率是11.0592Mhz.。 c)可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示。

二、实现原理等知识的介绍 2.1电子时钟的相关知识 1电子时钟简介 电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。 2电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED数码管代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 3电子时钟的工作原理 该电子时钟由89C51,MAX232,LED数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时。用按键设定时钟的时、分、秒。通过四个按键即选择、加、减、确认键,选择键用于选择修改起始时、分值,每按一次,被修改数码管顺序移动并闪烁。用+,- 键修改数值,确认键确定后秒位清零,修改结束。 2.2单片机的相关知识 1单片机简介 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 2 单片机的发展史

电子时钟系统设计

《嵌入式系统》课程设计说明书 电子时钟系统 院部: 学生姓名: 指导教师:职称 专业: 班级: 学号:

湖南工学院嵌入式系统课程设计课题任务书 2.显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变 I

摘要 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。 本次设计采用QT程序开发框架开发的模拟时钟程序,使用Linux系统到嵌入式终端移植和交叉编译环境搭建,最终成功实现了在嵌入式终端的运行。 关键词:嵌入式系统;QT;模拟时钟;Linux系统

目录 1绪论 (1) 1.1 设计背景 (2) 1.2 设计目的和意义 (2) 2 嵌入式Linux系统 (2) 2.1 嵌入式Linux概念 (2) 2.2 嵌入式Linux组成 (2) 3 Qt工具 (3) 3.1 Qt简介 (3) 3.2 Qt优点 (3) 4 模拟时钟的设计 (4) 4.1 代码的编写 (4) 4.2 代码的调试与运行 (4) 5 模拟时钟到开发板的下载 (6) 5.1 交叉编译环境的构建 (7) 5.2 模拟时钟到开发板的下载运行 (7) 结论 (10) 参考文献 (11) 致谢 (12) 附录 (13)

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。 源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序{ while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1;

单片机电子时钟的设计报告

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

基于51单片机的电子表设计

1 绪论 电子表是20世纪50年代才开始出现的新型计时器。最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。它的走时部分与机械手表完全相同,被称为第一代电子手表。1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。1969年,日本精工舍公司推出了世界上最早的石英电子表。石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。这样的性质在很多结晶体上也可见到,称为“压电效果”。石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。 1.1 单片机的介绍 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

单片机8255交通灯程序

单片机8255交通灯程序

交通灯程序 /*********************************************************** 十字路口交通灯控制 C 程序 ***********************************************************/ #include #define uchar unsigned char #define uint unsigned int /*****定义控制位*******************************************/ sbit Time_Show_LED2=P2^5; //Time_Show_LED2(直行时间显示)控制位 sbit Time_Show_LED1=P2^4; //Time_Show_LED1(直行时间显示)控制位 sbit EW_LED2=P2^3; //EW_LED2控制位 sbit EW_LED1=P2^2; //EW_LED1控制位 sbit SN_LED2=P2^1; //SN_LED2控制位 sbit SN_LED1=P2^0; //SN_LED1控制位 sbit SN_Yellow=P1^6; //SN黄灯 sbit EW_Yellow=P1^2; //EW黄灯 sbit EW_ManGreen=P3^0; //EW人行道绿灯 sbit SN_ManGreen=P3^1; //SN人行道绿灯 sbit Special_LED=P2^6; //交通特殊指示灯 sbit Busy_LED=P2^7; //交通繁忙指示灯 sbit Nomor_Button=P3^5; //交通正常按键 sbit Busy_Btton=P3^6; //交通繁忙按键 sbit Special_Btton=P3^7; //交通特殊按键

基于单片机的电子跑表设计

目录 1 设计内容及要求 (1) 1.1 设计内容与要求: (1) 1.2设计要求: (1) 2 系统总体方案设计 (2) 2.1 总体方案设计 (2) 2.2 设计说明 (2) 3 各部分方案选定及接口设计 (3) 3.1 主控制器单片机的选择 (3) 3.2 时钟电路 (3) 3.3显示接口电路 (3) 3.4 键盘接口电路 (4) 4 系统软件的设计 (5) 4.1 设计说明 (5) 4.2 主程序设计 (5) 4.3 时间处理模块 (6) 4.5 键盘扫描模块 (9) 5 系统的调试与使用说明 (11) 6 总结 (12) 7 参考文献 (13) 附录: (14)

1 设计内容及要求 1.1 设计内容与要求: 具有时钟和电子跑表的功能。开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。 1.2设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)完成应用程序设计; 5)进行应用程序的调试;

2 系统总体方案设计 2.1 总体方案设计 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。为求结构简单,本次设计利用单片机组成数字电子跑表。 2.2 设计说明 本系统采用AT89C51单片机、4位LDE 数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。时间显示功能通过LED 数码管动态扫描来实现。电子跑表的启动/暂停/清零功能由软件来实现。P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。图2.1为本系统方框图。 AT89C51 单片机 模块 按键 时钟 位驱动 4位共阴数 码管显示 图2.1系统框图

电子跑表的设计

课程名称单片机原理与应用课程设计课题名称电子跑表设计 专业电子信息工程 班级1501 学号03 姓名谭青权 指导老师肖锋 2015年6月*日

报告撰写要求(此页不打印) 课程设计报告是体现课程设计成果的载体,具体要求如下: 1、课程设计报告的基本格式 (1)说明书统一使用word文档打印,A4纸张,页边距设置为:上2cm,下2cm,左2.54cm,右2cm。 (2)正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。 (3)图表需统一编号,图标标题采用黑体五号;图标题在图片下方,表格标题在表格上方。 (4)装订顺序为:封面、任务书、报告正文、评分表。 2、课程设计报告的撰写要求 (1)设计报告正文内容为5-6页为宜,主要内容为自己的设计思路、设计步骤、关键性步骤的记录、重要结果的记录以及自己本次课程设计的总结。报告撰写要求思路清晰、结构合理、层次清晰,报告简洁但又要能体现设计过程。 (2)报告中图表要求清晰、规范,图表的尺寸大小适当。 (3)课程设计报告内容(仅供参考):

电气信息学院 课程设计任务书 课题名称电子跑表的设计 姓名谭青权专业电子信息工程班级1501 学号03 指导老师肖锋 课程设计时间2017/12/11-2017/12/22 一、任务及要求 设计任务: 利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。用做时钟时,在显示器上显示时、分、秒,用做跑表时,显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。 设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要的参数计算与元器件选择; 4)完成应用程序设计; 5)应用系统的硬件和软件的调试。 二、进度安排 第一周: 周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。 周二~周三:完成硬件设计和电路连接 周四~周日:完成软件设计 第二周: 周一~周三:程序调试 周四~周五:设计报告撰写。周五进行答辩和设计结果检查。 三、参考资料 1、王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,2012 2、胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010. 3、戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,201

用单片机控制交通灯源程序代码及流程图

用单片机控制交通灯 传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。 一、硬件硬件电路如附图。AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。 二、软件交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮60秒,绿灯亮55秒,黄灯亮5秒。每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。 源程序清单如下: ORG0000H START:MOVDRTR,#TAB MOVSCON,#00H MOVP1,#6CH;点亮红、绿灯 MOVR0,#0;R0清零 LEFT:INCR0 CJNER0,#55,LP0;R0<55,转LP0 MOVP1,#6AH;R0=55,点亮红、黄灯 LJMPLP1 LP0:CJNER0,#60,LP1;R0<60,转LP1 MOVP1,#0C6H;R0=60,点亮绿、红灯 LJMPRIGHT LP1:LCALLDBDB LCALLDISP LJMPLEFT;20H为1,转LEFT RIGHT:DECR0 CJNER0,#5,LP2;R0>0,转LP2 MOVP1,#0A6H;R0=5,点亮黄、红灯 LJMPLP3 LP2:CJNER0,#0,LP3 MOVP1,#6CH;R0=0,点亮红、绿灯 LJMPLEFT LP3:LCALLDBDB

电子跑表设计

目录 1.系统总体方案选择与说明……………………… 2. 系统结构框图与工作原理……………………… 3. 各单元硬件设计说明及计算方法……………………… 4. 软件设计与说明(包括流程图)……………………… 5. 调试结果与必要的调试说明……………………… 6. 使用说明……………………………………………… 7. 课程设计总结与体会……………………… 8. 参考文献……………………………………………… 9附录: A:系统原理图………………………………………………B:程序清单………………………………………………

一.前言 1.设计要求: 要求以MCS-51系列单片机为核心设计一个多功电子表,具有电时钟和跑表功能。做时钟时在4位LED 显示器上显示分、秒,做跑表时显示范围000.0秒~999.9秒并具有跑表启动和跑表复位功能键。电子时钟的计时范围00分00秒59分-59秒,并在4位LED 显示器上显示;做跑表时显示范围000.0秒-999.9秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。 2.设计思路 1)计时单元由单片机内部的定时器/记数器来实现。 2)时间显示功能通过LED数码管动态扫描来实现。利用专用键盘/显示器接口芯片8279可实现对键盘/显示器的动态扫描,由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H 中,达到跑表显示与时钟显示互不影响。 3)表的启动/复位/清零功能由软件来实现。P1.0接启动键,P1.1接停止键,P1.2接清零键。 4)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H 标志位,用标志位来给跑表计数。 二.系统组成与工作原理 1.硬件电路的设计方案 根据设计要求和设计思路,硬件电路有两部分组成,即单片机按键电路,LED显示器电路。图1 为硬件电路设计框图。

C51单片机的交通灯控制系统

基于C51单片机的交通灯控制系统 1、实验方案论证: 进行十字路口的交通信号灯控制电路设计,画出电路原理图及实验电路图,进行软件编程、以及使用说明文档的建立等一整套工作任务。进行十字路口的交通信号灯控制程序设计,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。 2、控制流程分析: 对设计要求进行分析后可得出以下交通工作状态表: 3、硬件设计概要: 根据设计要求,可用6个LED灯分别模拟东西、南北的交通灯。具体接法如下:AT89C51的P1口接LED灯,P1.0、P1.1、P1.2分别接东西方向红、绿、黄交通灯,P1.3、P1.4、P1.5分别接南北方向的红、绿、黄交通灯。P1口和LED 灯之间要接限流保护电阻。两位数码管段选接P2口,位选接P0口低两位,P0口低两位接上拉电阻使其可以输出高电平。紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。

三、原理图设计 1、LED显示部分电路设计: 把单片机AT89C51的P1口作为红黄绿灯显示部分,用6个LED灯分别模拟东西、南北的交通灯。P1.0、P1.1、P1.2各通过一个300Ω的限流保护电阻接东西方向的红、绿、黄LED灯;P1.3、P1.4、P1.5各通过一个300Ω的限流保护电阻接南北方向的红、绿、黄LED灯。LED灯的一端接电源,另一端经电阻接P1口,因此当P1口引脚输出低电平时LED灯发光,即此方案采取低电平驱动方式。具体电路如下: 2、紧急情况处理电路设计: 紧急情况按钮一端接地,另一端与外中断1引脚相连;恢复正常按钮一端接地,另一端与外中断0引脚相连。在程序设计时,我会将其设置为下降沿触发方式。具体电路如下:

基于51单片机的电子表设计

目录 目录 (1) 第1章概述 (1) 1.1实验原理 (1) 第2章设计思路及框图 (1) 2.1设计思路 (1) 2.2设计框图 (2) 第3章系统的硬件设计 (2) 3.1主控制部件 (2) 3.2显示模块 (3) 3.3晶振模块 (3) 3.4按键模块 (3) 3.5驱动模块 (4) 第4章电路设计原理图 (4) 4.1电路原理图 (4) 第5章程序设计 (5) 5.1程序流程图 (5) 5.2源程序 (6) 第6章系统的验证及调试 (26) 6.1日期设置显示测试 (26) 6.2秒表测试 (26) 6.3倒计时测试 (27) 第7章总结 (28) 第8章参考文献 (28)

第1章概述 1.1实验原理 单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。 单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。 利用AT89C51单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为0,每中断一次中断计数初值加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在6位LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 第2章设计思路及框图 2.1设计思路 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,第一,熟悉AT89S51单片机,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二,设计硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。第三,画图部分:设计好电路后进行画图。第四,软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电路并导入程序检查电路,实现想要的功能。

简易电子手表设计

四川工业科技学院 电子工程系课程设计 专业名称:电子信息工程 课程名称:单片机课程设计 课题名称:简易电子表设计 设计人员: 指导教师: 2017年 6 月8 日

《单片机原理与接口技术课程设计》任务书 一、课题名称:简易电子手表设计 二、技术指标: (1)掌握简易电子手表的设计、组装和调试方法。 (2)熟悉掌握单片机AT89S52、ADC0809和数码管的具体使用、工作原理及注意事项。 (3)能够熟练运用制图软件进行制图。 三、要求: (1)设计简易电子手表 (2)自动计时,用6位LED显示器显示时、分、秒 (3)根据提供的材料清单。设计并用软件画出电路图。 指导教师:陈华 学生:袁镜淳张巧敬东彭帅 电子信息工程系 2017 年6 月8日

课程设计报告书评阅页 课题名称:简易电子表设计 班级:14级电信1班 姓名: 2017年6月8 日指导教师评语: 考核成绩:指导教师签名: 20 年月日

目录 摘要 (1) 第1章数码管概述 (1) 1.1 数码管简介 (2) 1.2 数码管的特点 (2) 1.3 数码管的应用领域 (2) 第2章单片机概述 (3) 2.1 单片机简介 (3) 2.2 单片机的特点 (3) 2.3 单片机的应用 (3) 第3章MCS-51单片机结构 (5) 3.1MCS-51单片机的内部结构 (5) 3.1.1 内部结构概述 (5) 3.1.2 CPU结构 (5) 3.1.3存储器和特殊功能寄存器 (6) 3.2 P0-P3口结构 (7) 3.3 时钟电路和复位电路 (8) 3.3.1 时钟电路 (8) 3.3.2 单片机的复位状态 (9) 第4章硬件电路设计及电路图 (9) 4.1 AT89S52芯片的简介 (9) 4.1.1 功能特性概述 (10) 4.1.2 引脚功能 (10) 4.2 硬件系统的整体框图 (11) 4.3 仿真电路图 (12) 心得体会 (12) 参考文献 (13) 附录 (14)

湖南工程学院2014单片机电子表

等级:湖南工程学院应用技术学院课程设计 课程名称单片机原理与应用 课题名称电子表 专业电气工程及其自动化 班级 学号 姓名 指导教师周向红、李晓秀、汪超、肖峰 2014年月日

湖南工程学院应用技术学院课程设计任务书 课程名称单片机原理与应用 课题电子表 专业班级 学生姓名 学号 指导老师周向红、李晓秀、汪超、肖峰 审批 任务书下达日期2014年月日 任务完成日期2014 年月日

设计内容与设计要求 设计内容: 本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒~999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试。 设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)开发板焊接及测试 5)系统软件设计及调试; 6)系统联调及操作说明 7)写说明书

主要设计条件 1、MCS-51单片机实验箱1台; 2、PC机及单片机调试软件,仿真软件proteus; 3、开发板1块; 4、制作工具1套; 5、系统设计所需的元器件。 说明书格式 封面 课程设计任务书 目录 第1章、概述 第2章、系统总体方案设计 第3章硬件设计 第4章开发板焊接及其测试 第5章软件设计与说明(包括流程图) 第6章调试步骤、结果、使用说明 第7章设计总结 第8章参考文献 附录:系统电路原理图(用PROTEL99制作)、系统程序清单。电气与信息工程系课程设计评分表

进度安排 设计时间分为二周 第一周 星期一、上午:布置课题任务,课题介绍及讲课。 下午:借阅有关资料,总体方案讨论。 星期二、分班级焊接开发板 星期三、确定总体方案,学习与设计相关内容。 星期四、各部分方案设计,各部分设计。 星期五、设计及上机调试。 星期六、设计并调试 第二周 星期一:设计及上机调试。 星期二:调试,中期检查。 星期三:调试、写说明书。 星期四--星期五上午:写说明书、完成电子版并打印成稿。 星期五下午:答辩。 参考文献 1、王迎旭编.《单片机原理与应用》[M].机械工业出版社. 2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版 社. 3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社 4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社. 5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社. 6、周向红编《51系列单片机应用与实践教程》[M].北航出版社

相关主题
文本预览
相关文档 最新文档