基于51单片机的数字秒表课程设计、毕业设计论文

基于51单片机的数字秒表课程设计、毕业设计论文
基于51单片机的数字秒表课程设计、毕业设计论文

单片机课程设计报告

基于51单片机的数字秒表设计

专业:通信工程

学号:11100640225

姓名:罗宏

时间:2014-6-26

目录

一、课程名称 (1)

二、设计目的和意义 (1)

三、任务要求 (1)

四、任务分析、设计方案 (1)

五、具体实现过程 (9)

六、仿真、实验验证过程及实现结果、现象 (12)

七、结论 (14)

八、总结与体会 (14)

一、课题名称

基于51单片的数字秒表设计

二、目的和意义

1、通过本次课程设计可以灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到电路搭建焊接,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。

2、本次课程设计还可以通过上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。

3、在这次课程设计中,我们运用到了很多一切所学的知识和一些很有用的软件和工具,如keil4编程软件、Proteus仿真软件、Visio软件、等。

4、通过独立完成一个小的数字秒表系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。

5、掌握51单片机软件编程知识、实现功能、设计方法,及KEIL软件使用方法;

6、应用所学模拟电子线路的知识,掌握电路的设计与应用;

7、熟悉PROTEUS的设计与仿真;

8、STC——ISP的使用方法;

9、掌握焊接电子元器件的方法以及查阅元件功能与参数的方法、步骤。

三、设计目标或任务要求

1 、设计目标

以单片机为核心,设计数字秒表。

通过硬件电路设计,软件设计,电路搭建,作品调试。最后完成本次课程设计。

2 、设计要求

1、计时范围:0~59分59.59秒,整数四位数和小数两位数显示;

2、计时精度10毫秒;

3、复位按钮,计时器清零,并做好下次及时准备;

4、可以对三个对象(A、B)计时,具有启/停控制;

5、设开始、停止A、停止B、显示A、显示B、复位按钮。

四、任务分析、设计方案

1、任务分析

数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。

本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。

设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。主控制器采用单片机89C52显示电路采用共阳极LED数码管显示计时时间。

本设计利用89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,P2.0-P2.4口作列扫描输出,P1.1、P3.2、P3.3、P2.5口接四个按钮开关,分别实现开始、暂停、清零和查看上次计时时间功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。

图1.1 数字秒表硬件电路基本原理图

计时采用定时器T0中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到99.99秒重新复位。

再看按键的处理。这四个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键和查看主要功能在于数值复位和查询上次计时时间,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位和查看按键采取扫描的方式。而对开始和停止键采用外部中断的方式。

设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,显示电路和回零、启动、查看、计次电路等。主控制器采用单片机89C52,显示电路采用共阳极LED数码管显示计时时间,四个按键均采用触点式按键。

2、单片机的选择

本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自

己的实际情况,选择了stc公司的89C52。

89C52单片机采用40引脚的双列直插封装方式。图1.2为引脚排列图, 40条引脚说明如下:

主电源引脚Vss和Vcc

① Vss接地

② Vcc正常操作时为+5伏电源

外接晶振引脚XTAL1和XTAL2

① XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。

② XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部

振荡器时,此引脚接外部振荡源。

图1.2 8051单片机引脚图

控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp

输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。

① P0口(P0.0 - P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器

时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL 负载。

② P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

③ P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。

④ P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。

(1)运算器

运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。

(2)程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

(3)令寄存器

指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

3、显示电路的选择与设计

对于数字显示电路,通常采用液晶显示或数码管显示。本设计的显示电路采用7段数码管作为显示介质。

数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用五位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。

图1.3 显示电路基本原理图

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。

数码显示管分为共阳数码管和共阴数码管两种

共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图1.4(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

图1.4 (a)数码管引脚图(b)共阳极内部结构图(c)共阴极内部结构图

最大

4 、按键电路的选择与设计

本设计中有四个按键,分别实现开始、暂停、复位和计次功能。这四个键可以采用中断的方法,也可以采用查询的方法来识别。对于复位键和查看键,主要功能在于数值复位和对上次计时时间的查看,对于时间的要求不是很严格,而开始和暂停键主要用于时间的锁定,需要比较准确的控制。因此可以考虑,对复位键和查看键采用查询的方式,

而对于开始和暂停键采用外部中断。四个按键均采用低电平有效,具体电路连接图如图1.5所示。

5、时钟电路的选择与设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于11.05926MHz的方波信号。

图中,电容器C

1、C

2

起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。

但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大小为30pF的电容和11.05926MHz的晶振。

图1.6 内部振荡电路

6、复位电路的选择与设计

当8051单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。而本系统选用的是11.05926MHz 的晶振,因此一个机器周期为1.09μs,那么复位脉冲宽度最小应为2.18μs。在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。

图1.10 单片机复位电路

7、系统总电路的设计

系统总电路由以上设计的显示电路,时钟电路,按键电路和复位电路组成,只要将单片机与以上各部分电路合理的连接就组成了系统总电路。系统总电路图附录B所示。

8051单片机为主电路的核心部分,各个电路均和单片机相连接,由单片机统筹和协调各个电路的运行工作。

8051单片机提供了XTAL1和XTAL2两个专用引脚接晶振电路,因此只要将晶振电路接到两个专用引脚即可为单片机提供时钟脉冲,但在焊接晶振电路时要尽量使晶振电路靠近单片机,这样可以为单片机提供稳定的始终脉冲。

复位电路同晶振电路,单片机设有一个专用的硬件复位接口,并设置为高电平有效。

按键电路与单片机的端口连接可以由用户自己设定,本设计中软件复位键和查看键分别接单片机的P1.1和P2.5,均设为低电平有效。而另外的开始键和暂停键两键使用了外部中断,所以需要连接到单片机的特殊接口P3.3和P3.2,这两个I/O口的第二功能分别为单片机的外部中断1端口和外部中断0端口。同样设置为位低电平有效。

显示电路由五位数码管组成,采用动态显示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分别控制数码显示管的a、b、c、d、e、f、g、dp显示,8051的P0口没有集成上拉电阻,高电平的驱动能力很弱,所以需要接上拉电阻来提高P0的高电平驱动能力。五位位控制则由低位到高位分别接到P2.0~P2.4口,NPN三极管9013做为位控制端的开关,当P2.0~P2.4端口任意一个端口为高电平时,与其相对应的三极管就导通,对应的数码管导通显示。

通过以上设计已经将各部分电路与单片机有机的结合到一起,硬件部分的设计以大

功告成,剩下的部分就是对单片机的编程,使单片机按程序运行,实现数字电子秒表的全部功能。

五、具体实现过程

1、对数字秒表设计进行分析,敲定几组方案;

2、在PROTUES软件中,画电路图,进行仿真、调试;

3、对自己想要实现的秒表现象进行编程,运用KEIL软件;并于Proteus联调。

4、调试过程中要不断改进自己的方案;

6、测试各个所需元件,STC89C52RC,数码管。

7、将方案敲定之后,对LED数字秒表进行焊接其中最主要的是对最小系统的焊接时非常关键的,在进行焊接数码管时,很关键。

8、将最小系统焊接好以后要用数字万用表进行测试,首先要测试有没有短接、断接的地方,再将焊好的板子放在电源上进行加电,看电路板子是否正常工作。

9、将最小系统板子与数码管板子连在一个,通过USB口与电脑相连,打开串口助手,将KEIL软件中的程序下载到单片机中,进行验证。

10、具体程序

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

* 文件名 : 秒表.c

* 描述 : 基于51单片机的数码管数字秒表;

带有指示灯,蜂鸣器,按键(启动、清零、计次)

* 创建人 : 罗宏

* 单位 : 佳木斯大学信息电子技术学院电子协会

* 日期 : 2014.6.26

* 开发环境: Keil 4

* 邮箱 : 744544126@https://www.360docs.net/doc/719983530.html,

* 晶振:11.05926MHZ

* 版本号 :

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

#include

#define uint unsigned int //宏定义无符号整型

#define uchar unsigned char //宏定义无符号字符型

#define DUAN (P0) //宏定义数码管段代码

#define WEI (P2) //宏定义数码管位代码

sbit keystart_stop = P3^2; //定义启动/停止按键

sbit keyrest = P3^3; //定义复位/清零按键

sbit keyrecord = P3^4; //定义计数/存储按键

sbit keydispaly = P3^5; //定义计数/显示按键

sbit beep = P3^6; //定义蜂鸣器

sbit led = P3^7; //定义

uchar x,msec5,msec10,second,minute; //时间变量

uchar msec,sec,min; //显示变量

uchar code table1[] = {0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管数组不带点显示

uchar code table2[] = {0x40,0x79,0x24,0x30,

0x19,0x12,0x02,0x58,0x00,0x10}; //共阳数码管带点显示

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

函数名称: 延时函数 delay

功能: 延时指定毫秒

参数: uchar x

返回值: 无

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

void delay(uchar x)

{

uint b,c;

for(b = x;b>0;b--)

for(c = 110;c>0;c--);

}

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

函数名称: 定时器初始化函数time_init(void)

功能: 定时器初始化

参数: 无

返回值: 无

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

void time_init(void)

{

msec5=0;

TMOD = 0x01;

TH0 = (65536-9174)/256;

TL0 = (65536-9174)%256;

ET0 = 1;

TR0 = 1;

EA = 1; }

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

函数名称: 显示函数display()

功能: 数码管显示

参数: uchar msec,uchar sec,uchar min

返回值: 无

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

void display(uchar msec,uchar sec,uchar min)

{

DUAN = table1[(msec%10)%10];// 0.01秒 5.64%10=64%10=0.04

WEI = 0x01;

delay(2);

WEI = 0x00;

DUAN = table1[(msec/10)%10];// 0.1秒 5.64/10=56%10=0.6

WEI = 0x02;

delay(2);

WEI = 0x00;

DUAN = table2[(sec%10)]; // 1秒 564%10=6

WEI = 0x04;

delay(2);

WEI = 0x00;

DUAN = table1[(sec/10)]; // 10秒 564/10=56%10=6

WEI = 0x08;

delay(2);

WEI = 0x00;

DUAN = table1[(min%10)]; // 1分 564/10=56%10=6

WEI = 0x10;

delay(2);

WEI = 0x00;

DUAN = table1[(min/10)]; // 10分 564/10=56%10=6

WEI = 0x20;

delay(2);

WEI = 0x00;

}

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

函数名称: 蜂鸣器函数

功能: 蜂鸣器发声

参数: 无

返回值: 无

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

void beep_led()

{

beep = 0;

delay(600);

beep = 1;

delay(600);

led = 0;

delay(600);

led = 1;

}

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

函数名称: 按键函数

功能: 调试按键的函数

参数: 无

返回值: 无

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

void keys()

{

if(keystart_stop==0)

{

delay(5);

if(keystart_stop==0)

TR0 = ~TR0;

beep_led();

while(!keystart_stop);

}

if(keyrest==0)

{

delay(5);

if(keyrest==0)

TR0 = 0;

msec5=0;

msec10=0,

second=0;

minute=0;

beep_led();

while(!keyrest);

}

}

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

函数名称: 主函数

功能:

参数: 无

返回值:

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

void main()

{

uchar jishu=0;

uchar flag=0;

uchar msec1=0,sec1=0,min1=0;

uchar msec2=0,sec2=0,min2=0;

time_init();

while(1)

{

keys(); // 键盘的扫描函数一定要放在while循环里边

msec=msec10;

sec=second;

min=minute;

if(flag==1)

{

display(msec1,sec1,min1);

}

else if(flag==0)

{

display(msec,sec,min);

}

else

{

display(msec2,sec2,min2);

}

if(keyrecord==0)

{

delay(5);

if(keyrecord==0)

{

beep_led();

jishu++;

if(jishu>2)

{

jishu=0;

}

else if(jishu==1)

{

msec1=msec10;

sec1=second;

min1=minute;

}

else if(jishu==2)

{

msec2=msec10;

sec2=second;

min2=minute;

}

}

while(!keyrecord);

}

if(keydispaly==0)

{

delay(5);

if(keydispaly==0)

{

beep_led() ;

flag++;

if(flag>2)

flag=0;

}

while(!keydispaly);

}

}

}

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

函数名称: 中断函数

功能:

参数: 无

返回值:

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

void timer0 () interrupt 1

{

TH0 = (65536-9174)/256;

TL0 = (65536-9174)%256;

msec10++; // msec10加一次等于 10ms if(msec10==100) // j=100 为1s

{

msec10 = 0;

second++;

if(second==60) // second=60 为1minute

{

second=0 ;

minute++;

if(minute==60) // minute=60 为1hour {

minute=0 ;

}

}

}

}

六、仿真、实验验证过程及实现结果、现象

七、结论

本设计的数字电子秒表系统采用89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现八位LED显示,显示时间为0~59分59.59秒,计时精度为0.01秒,能正确地进行计时,同时能记录两次时间,并在计时后对上一次计时时间进行查询。其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程序,按键扫描程序等,并在keil4中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

八、总结(体会)

开始做设计的时候总是会犯一些错误,只有经过不停的改错,不断地编译得到正确的程序,说明作为一名编程人员是不能粗心大意的,一个程序的质量的高低与你的细心与否有着很大的联系,在编程时,我充分地使用了结构化的思想,这样程序检查起来也比较方便,调试时也会方便很多。只要一个模块一个模块的进行调试就可以了,充分体现了结构化编程的优势。在设计中要求我要有耐心和毅力,细心是最重要的,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检

查要有足够的耐心,通过这次设计和设计中遇到的问题,我也积累了一定的经验。为了能完成这次

设计,我还复习了《数字电子技术》、《模拟电子技术》、《微机接口技术》、《单片机技术》、《C语言》。

通过这次单片机课程设计,我了解到自己在单片机方面还有很多不足,特别是单片机指令系统及stc89C52单片机各引脚的第二功能等等知识不够了解.因此我在设计中遇到不懂的东西就马上查资料或请教同学.这不仅加深了我对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。

基于89C51单片机的秒表课程设计讲解

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (3) 2.2设计指标 (3) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计内容提要 (4) 3 课程设计报告内容 (4) 3.1设计思路 (4) 3.2设计过程 (5) 3.3 程序流程及实验效果 (6) 3.4 实验效果 (13) 4 心得体会 (14)

基于 MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以 8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计内容以硬件电路设计,软件设计和 PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求 2.1实验题目 开始时,显示“00.0”,第一次按下按钮后开始从0-99.9s计时,显示精度为0.1s;对用有4个功能按键,第1个按键复位00.0,第2个按键正计时开始按钮,第3个按键复位99.9,第4个按钮倒计时开始。 2.2设计指标 了解8051芯片的的工作原理和工作方式,使用该芯片对 LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

80c51单片机交通灯课程设计报告1.pdf

80C51单片机交通灯课程设计报告 目录 第一章引言 (3) 第二章单片机概述 (4) 第三章芯片介绍 (6) 3.1AT89S51单片机介绍 (6) 3.1.1简介 (6) 3.1.2主要管脚介绍 (6) 3.274LS164介绍 (8) 3.3共阳数码管介绍 (8) 3.3.1分类简介 (8) 图3.3LED数码管引脚定义 (9) 3.3.2驱动方式 (9) 3.3.3主要参数 (10) 3.3.4应用范围 (10) 第四章系统硬件设计 (11) 4.1硬件设计要求 (11) 4.2硬件设计所用元器件 (11) 4.3硬件设计图 (11) 4.4设计流程图 (12) 第五章系统软件设计 (13) 5.1流程图 (13)

5.2程序设计 (14) 第六章结论 (16) 参考文献 (18)

第一章引言 在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。 本文为了实现交通道路的管理,力求交通管理先进性、科学化.分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

(完整)基于89C51单片机交通灯课程设计要点

(完整)基于89C51单片机交通灯课程设计要点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于89C51单片机交通灯课程设计要点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于89C51单片机交通灯课程设计要点的全部内容。

华北水利水电学院 基于C51单片机 交通灯课程设计实验报告 姓名:田坤 班级:125 专业:电子信息科学与技术 指导老师:辛艳辉刘明堂 2013年1月16日 摘要 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题.系统具

有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词:交通灯 单片机 数码管 一 。总体设计思路 1.1设计目的及思路 设计目的 了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。 设计思路 (1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,增加了倒计时显示提示。 (3)进行显示电路。 (4)进行软件系统的设计。 1。2 实际交通灯显示时序及状态转换的理论分析 图1所示为红绿灯转换的状态图。 图1 红绿灯状态转换图 表1 十字路口指示灯燃 亮方 S1 S4 S3 S2

基于51单片机的4位数码管秒表

原理图: 源程序: /************************************************************* 标题:定时器中断精确到00.01的秒表 效果:能清零重新开始,暂停,继续计时,能精确到0.01秒 作者:皖绩小挺 说明:使用12M晶振,四位数码管,3个按键 ****************************************************************/ #include #define uint unsigned int #define uchar unsigned char uint temp,tt,qian,bai,shi,ge; sbit smg_q=P1^0; sbit smg_b=P1^1; sbit smg_s=P1^2; sbit smg_g=P1^3; sbit key1 = P3^7; sbit key2 = P3^6; sbit key3 = P3^5; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};

uchar code table1[]={0x40,0x79,0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10}; //带小数点 void keyscan(); void display(uint shi,uint ge); void delay(uint z); void init(); /************************************************************** 主函数 ******************************************************************/ void main() { init();//初始化子程序 while(1) { if(tt==1) { tt=0; temp++; if(temp==10000) { temp=0; } qian=temp/1000; bai=temp%1000/100; shi=temp%100/10; ge=temp%10; } keyscan(); display(shi,ge); } } /********************************************************************* 延时 ***********************************************************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /*********************************************************************

基于51单片机课程设计报告

单片机课程设计 课题:基于51单片机的交通灯设计 专业:机械设计制造及其自动化 学号: 指导教师:邵添 设计日期:2017/12/18 成绩: 大学城市科技学院电气学院 基于51单片机数字温度计设计报告

一、设计目的作用 本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。DS18B20支持“一线总线”接口,测量温度围-55°C~+125°C。在-10~+85°C围,精度为±0.5°C。18B20的精度较差,为±2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。 二、设计要求 (1).利用DS18B20传感器实时检测温度并显示。 (2).利用数码管实时显示温度。 (3).当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。 (4).能够手动设置上限和下限报警温度。 三、设计的具体实现 1、系统概述 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。 方案设计框图如下:

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

89C51单片机课程设计之秒表设计实验报告.

这里可以加学校LOGAL 单片机课程设计报告 院系:12级物信系 班别:光信息科学与技术7班 课程名称:秒表设计 姓名:龚俊才欧一景 学号:1210407033 1210407041 指导老师:张涛 2011.12.23

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2软件方案设计 3 程序编写流程及课程设计效果3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会 5 相关查阅资料

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C52RC设计一个4位LED数码显示“秒表”,显示时间为 00.00~99.99秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决三个主要问题,一是有关单片机定时器的使用;二是如何实现LED 的动态扫描显示;三是如何对键盘输入进行编程。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有两个开关按键:其中key1按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key2按键按下去时数码管清零,复位为“00.00”. 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步 的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的 计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 六、课程设计仪器 a) 集成电路芯片8051,七段数码管,89C51单片机开发板 b) MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2)。

单片机秒表设计..

郑州科技学院 单片机课程设计 题目 学生姓名 专业班级 学号 院(系) 指导教师 完成时间 2015年1月9日

郑州科技学院 单片机课程设计任务书 专业11电科班级 1班学号 201131006 姓名李军 一、设计题目电子秒表 二、设计任务与要求 基本功能: 1.使用A T89C51单片机的定时器/计数器定时和记数的原理,使秒表其能精确计时。 2.能够稳定显示并能准确计时,计时精度达到0.01秒,最大计时59-59-99。 3.能够实现开始、暂停、清零、保存、读取的功能 三、主要参考文献 [1] 艾运阶.单片机项目教程.北京:北京理工大学出版社,2011 [2] 李泉溪.单片机原理与实例仿真.北京:北京航空航天大学出版社,2009 [3] 江世明.基于Protues的单片机应用技术.北京:电子工业出版社,2009 [4] 李朝青.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社,2006 [5] 孙育才.MCS-51 系列单片微型计算机及其应用.广东:东南大学出版社,2009 四、设计时间 2014 年12 月29日至2015 年1月9 日 指导教师签名: 年月日

目录 前言 (1) 1 课程设计的目的及要求 (2) 1.1 课程设计的目的 (2) 1.2 课程设计的任务 (2) 1.3 课程设计的要求 (2) 2 设计的方案及论证 (2) 2.1 方案设计 (2) 2.2 方案选择 (3) 2.3 方案确定 (4) 3 硬件电路设计 (5) 4 软件设计 (5) 4.1 主要模块流程图 (6) 4.2 程序的主要模块 (6) 5 电路仿真 (7) 6 电路的焊接与调试 (8) 6.1 电路的焊接 (8) 6.2 电路的调试 (9)

51单片机数字秒表设计说明

单片机系统课程设计 成绩评定表 设计课题

单片机系统课程设计 目录 第1章数字式秒表的设计介绍 (5) 1.1设计任务及功能要求说明 (5) 1.2工作原理及其方法 (5) 第2章数字式秒表硬件系统的设计 (7) 2.1数字式秒表硬件系统各模块功能简要介绍 (7) 2.1.1 AT89S52简介 (7) 2.1.2时钟电路 (8) 2.1.3键盘电路 (8) 2.1.4复位电路 (9) 2.1.5 驱动及显示电路 (9) 2.1.6 单片机下载口电路 (10) 2.2 数字式秒表的硬件系统设计图…………………11. 2.2.1 电路原理图…………………………………….11. 2.2.2 PCB图…………………………………………11. 第3章数字式秒表软件系统的设计………………….11. 3.1 数字式秒表使用单片机资源情况 (11) 3.2 主程序流程图……………………………………12. 3.3中断服务程序流程图 (12)

3.4显示程序流程图 (14) 3.5软件系统程序清单 (14) 第4章设计总结 (15) 4.1 数字式秒表的设计结论及使用说明 (15) 4.2 程序仿真与结果 (15) 4.3 误差分析及解决方法……………………………16.. 总结 (16) 参考文献 (17) 附录 (17) 第1章数字式秒表的设计介绍 1.1设计任务及功能要求说明 由单片机接收小键盘控制递增计时,由LED 显示模块计时时间,显示格式为 XX(分):XX(秒).XX,精确到0.01s的整数倍。绘制系统硬件接线图,并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。 使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表通过按键控制可实现开始计1时、暂停计时、连续计时、清零和停止功能。 1.2工作原理及其方法 使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;采用S8550作为数码管的驱动部分;用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。 对于时钟,它有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。 LED数码显示器有如下两种连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻

80c51单片机课程设计word文档良心出品

单片机课程设计报告 题目: 基于51单片机发光牌与伴奏音乐系统 专业班级机械111班 姓名 学号

一、设计目的 (一)、以AT89C51单片机为主体,设计一个有伴奏音乐的发光牌。 1、功能 放光牌用数码管显示,分别按顺序显示出“2”、“0”、“1”、“3”的数字样。而且不断的循环从左到右显示。同时还伴有歌名为“同一首歌”的旋律。 发光牌由数码管进行设置,歌声的旋律则由蜂鸣器来实现。 2、效果 即数码管为发光牌,同时伴有歌声 发光牌效果图可如下

二、硬件系统 AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。 (1)、硬件总电路图如下 其中AT89C51单片机的设置如下 选择12MH的晶振,该单片机选用24V的电压。其中电路图中的7447芯片中的A,B,C,D,E,F,G 引脚是引出来用来分别接四个数码管的。其中低电平代表通电,其数码管的0~9的数字代码如下: 0X01、0X12、0X24、0X38、0X41、0X52、 0X64、0X78、0X81、0X92. 并通过p2.0、p2.1、p2.2、p2.3引脚分别来控制四个数码管的得电顺序。从而实现发光牌的设置和控制。 、对蜂鸣器的控制的电路介绍)2(. 为般是指时钟电路引脚、其中XTAL1XTAL2在片内它是振荡器反相放大器的

输接外部晶振和微调电容的一端,TAL1:X入;若使用外部时钟时,该引脚必 须接地。在片内它是振荡器反相放大器的:接外部晶振和微调电容的另一端,XTAL2 输出;若使用外部时钟时,该引脚接外部时钟的输入端。利用这两个引脚可以对歌曲的节奏和时间进行控制。从而演奏蜂鸣器可根据不同代码发出声音。其中歌曲的谱音可用代码表示,出“同一首歌”的旋律。三、软件系统protues,仿真用软件软件编程序用keil软件其中控制歌曲播放的流程图如下 开始 定义晶振频率 12000000HZ

51单片机汇编秒表程序

ORG 0000H LJMP MAIN ORG 0003H LJMP INT_0 ORG 000BH LJMP T0_INT ORG 0013H LJMP INT_1 ORG 001BH LJMP T1_INT MAIN: MOV TMOD,#11H MOV TH1,#0D8H MOV TL1,#0F0H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET1 SETB ET0 SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB TR1 MOV 32H,#00H MOV R1,#80H MOV 30H,#00H LOOP: MOV A,R4 CJNE A,33,Y MOV A,R5 CJNE A,32H,Y INC 30H Y: MOV A,P3 CJNE A,#0CFH,Y1 LJMP Y2 Y1: MOV A,30H CJNE A,#01H,LOOP CLR P1^0 LCALL DELAY2 SETB P1^0 LCALL DELAY2

LJMP LOOP Y2: JNB P3^5,Y2 JNB P3^4,Y2 MOV R3,#0AH LJMP Y3 Y3: MOV R4,33H MOV R5,32H MOV A,P3 CJNE A,#0DFH,Y5 Y4:JNB P3^4,OUT JNB P3^5,Y4 INC 32H MOV A,32H CJNE A,#10,Y3 INC 33H MOV 32H,#00H LJMP Y3 Y5: MOV A,P3 CJNE A,#0EFH,Y3 Y6: JNB P3^5,OUT JNB P3^4,Y6 MOV A,32H CJNE A,#00,JJ DEC 33H MOV 32H,#09H LJMP Y3 OUT:JNB P3^5,OUT JNB P3^4,OUT MOV R5,#00H MOV R3,#00H LJMP LOOP JJ: DEC 32H LJMP Y3 INT_0: CPL TR0 RETI INT_1: MOV R6,#00H MOV R5,#00H

(完整word版)51单片机课程设计实验报告

51单片机课程设计报告 学院: 专业班级: 姓名: 指导教师: 设计时间:

51单片机课程设计 一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、总原理图及元器件清单 1.总原理图 2.元件清单 三、模块电路分析 1. 最小系统: 单片机最小系统电路分为振荡电路和复位电路, 振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;

图 1 图 2 复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可; 图 3 当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST 为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST 为低电平。正常工作为低电平,高电平复位。 2. 显示模块: 分析发光二极管显示电路: 图 4 发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为

LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,产生自发辐射的荧光。图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。其余四个为功能状态指示灯,实际作用与学习板有关 分析数码管显示电路 图 5 数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。数码管主要用来显示经电路板处理后的程序的运行结果。图中使用了八个八段数码管,可以显示八个0-15的数字。使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。 四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。 1、详细描述硬件安装过程中出现的故障现象,并作故障分析,及解决方法。 六、软件调试

51单片机课程设计秒表

微控制器技术课程 设计报告 设计题目:秒表 专业:供用电技术 班级:供电141 学号:140315143 姓名:王晨铭 指导教师:李昊 设计时间:2016.6.21

微控制器技术课程设计任务书 设计题目:秒表 设计时间:2016.6.20 设计任务: 在单片机开发板或软件仿真,编制程序,实现以下功能 1、利用定时器实现秒表功能,精确到0.1S; 2、数码管显示当前计时时间; 3、设定三个键,计时开始,停止计时和复位清零。 背景资料:1、单片机原理与应用 2、检测技术 3、计算机原理与接口技术 进度安排: 1、第1天,领取题目,熟悉设计内容,分解设计步骤和任务; 2、第3天,规划设计软硬件,编制程序流程、绘制硬件电路。 3、第5天,动手制作硬件电路,或编写软件,并调试。 4、第7天,中期检查。 5、第9天,完善设计内容,书写设计报告。 6、第13天,提交设计报告,整理设计实物,等待答辩。 7、第14天,设计答辩。

目录 一、设计任务和要求 (3) (1)设计任务 (3) (2)设计要求 (3) 二、设计方案与论证 (3) 三、单元电路设计与参数计算 (4) (1)时钟电路 (4) (2)按钮电路 (4) (3)显示电路 (5) (4)单片机 (5) 四、原理图及器件清单 (6) ( 1 )总原理图 (6) (2)PCB图 (7) (3)Proteus仿真图 (7) (4)元器件清单 (8) 五、安装与调试 (8) (1)安装 (8) (2)调试 (8) 六、性能测试和分析 (9) 七、结论和心得 (9) 八、参考文献 (9)

题目:秒表 二、方案设计与论证 本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。但根据显示方式的不同选择,我们可以有几种方案: 方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。 方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。 本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略) 显示电路 单片机 AT89C51 时钟电路 按钮电路

基于stc89c51单片机的秒表设计

基于stc89c51单片机的秒表 //基于stc89c51单片机的秒表 //应用定时器和中断的知识。 //两个按键。K1是启动/暂停按键。K2是复位按键。 //显示数字从0-99. //zzuli_wuzhipeng #include #define uchar unsigned char #define uint unsigned int uchar count=0,time=0,K1num=0; uchar seg_date[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; // 共阳极数码管段码表 sbit K1=P3^0; sbit K2=P3^1; uchar ge=0,shi=0; void delay(uint xms) //简单延时程序 { uint i,j; for (i=xms;i>0;i--) for(j=115;j>0;j--);

void display() // 显示程序 { shi=time/10; // 分离十位 ge=time%10;// 分离个位 P2=0x01; P1=seg_date[ge];//显示个位 delay(1); P2=0x02; P1=seg_date[shi];//显示十位 delay(1); } void key() // 键盘处理程序 { if( K1==0 ) // K1键功能 { K1num++; delay(1); if( K1==0 ) { while(!K1); if( K1num==1 ) {TR0=1; } if( K1num==2 ) {TR0=0;K1num=0; } } } if(K2==0) // K2键功能 { delay(1) ; if (K2==0) { while (!K2); TR0=0; time=0; TR0=1; } } } void main () //主函数

51单片机课程设计源程序

TIME0_DOWN EQU F0 ;将F0设置为定时器0定时到标志 FINISH_ID EQU 30H ;学号发送标志 KEY_FLAG BIT 00H ;有键按下标志 KEY_LONG BIT 01H ;键长按 KEY_D EQU 31H ;键值存放地址 ADC0809_AD EQU 8000H ;设置ADC0809地址 DAC0832_AD EQU 0000H ;设置DAC0832地址 ADC_FLAG BIT 02H ;设置ADC0809读数据标志 ADC_DATE EQU 32H ;设置ADC0809数据地址 ADC_0 EQU 33H ;ADC0809转化为BCD码后个位存放地址 ADC_1 EQU 34H ;十分位存放地址 ADC_2 EQU 35H ;百分位存放地址 ADC_3 EQU 36H ;千分位存放地址 ORG 0000H ;程序开始,跳转至主程序 0000 020030 LJMP MAIN ORG 0003H ;外部中断0入口0003 020141 LJMP INT0_IN ORG 000BH ;设置定时器0中断入口地址 000B 020132 LJMP TIME0 ORG 0013H ;外部中断1入口0013 020151 LJMP INT1_IN ORG 0030H ;主程序开始地址 0030 758169 MAIN: MOV SP,#69H ;初始化堆栈指针 0033 C292 CLR P1.2 ;显示器清零 0035 D292 SETB P1.2 0037 753000 MOV FINISH_ID,#0 ;将标志位清零 003A C2D5 C LR TIME0_DOWN 003C C200 CLR KEY_FLAG 003E C201 CLR KEY_LONG 0040 753100 MOV KEY_D,#0 0043 C202 CLR ADC_FLAG 0045 753200 MOV ADC_DATE,#0 0048 753300 MOV ADC_0,#0 004B 753400 MOV ADC_1,#0 004E 753500 MOV ADC_2,#0 0051 753600 MOV ADC_3,#0 0054 C291 CLR P1.1 ;初始化键盘,行线置零,有键按下触发中断 0056 C293 CLR P1.3

51单片机数字时钟(带闹钟)

计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师: 目录 1 设计要求 1.1 功能需求 1.2 设计要求 2 硬件设计及描述 2.1 总体描述 2.2 系统总体框图 2.3 Proteus仿真电路图 3 软件设计流程及描述 3.1 程序流程图 3.2 函数模块及功能 4 心得体会 附:源程序 1设计要求 1.1功能需求 (1)实现数字时钟准确实时的计时与显示功能; (2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响;

(3)实现时间和闹钟时间的调时功能; (4)刚启动系统的时候在数码管上滚动显示数字串(学号)。 1.2设计要求 (1)应用MCS-51单片机设计实现数字时钟电路; (2)使用定时器/计数器中断实现计时; (3)选用8个数码管显示时间; (4)使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前 时间的分钟;模式3:调闹钟时间的小时;模式4:调闹钟时间的分 钟);按钮2:在非模式0下给需要调节的时间数加一,但不溢出; 按钮3:在非模式0下给需要调节的时间数减一,但不小于零; (5)在非0模式下,给正在调节的时间闪烁提示; (6)使用扬声器实现闹钟功能; (7)采用C语言编写程序并调试。 2 硬件设计及描述 2.1总体描述 (1)单片机采用AT89C51型; (2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; (3)时间设置电路:P3.0、P3.1、P3.2分别连接3个按键,实现调模式,时间加和时间减; (4)闹钟:P3.3口接扬声器。 2.2系统总体框图 2.3Proteus仿真电路图 3 软件设计流程及描述 3.1 程序流程图

51单片机电子时钟课程设计报告报告

目录 第一部分设计任务和要求 1.1单片机课程设计内 容 (2) 1.2单片机课程设计要求………………………………………………… 2 1.3系统运行流程………………………………………………………… 2 第二部分设计方案 2.1 总体设计方案说明 (2) 2.2 系统方框图 (3) 2.3 系统流程图 (3) 第三部分主要器材及基本简介 3.1 主要器材 (4) 3.2 主要器材简介 (4) 第四部分系统硬件设计 4.1 最小系统 (6) 4.2 LCD显示电路 (6) 4.3 键盘输入电路 (7) 4.4 蜂鸣器和LED灯电路 (7)

第五部分仿真电路图与仿真结果 (8) 第六部分课程设计总结 (8) 第七部分参考文献 (9) 附录A 实物图 附录B 系统源程序 第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序

用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图

相关文档
最新文档