搜档网
当前位置:搜档网 › 基于51单片机的篮球比赛电子记分牌_仿真图+完整程序

基于51单片机的篮球比赛电子记分牌_仿真图+完整程序

基于51单片机的篮球比赛电子记分牌_仿真图+完整程序
基于51单片机的篮球比赛电子记分牌_仿真图+完整程序

NEPU

课程设计

课程单片机课程设计

题目基于单片机的篮球比赛电子记分牌院系电气信息工程学院测控系

专业班级测控技术与仪器**-*班

学生姓名****

学生学号************

指导教师**** ****

201*年* 月*日

NEPU课程设计任务书

课程单片机课程设计

题目基于单片机的篮球比赛电子记分牌

专业测控技术与仪器姓名**** 学号************* 一、任务

以AT89C51单片机为控制核心,遵循篮球比赛规则,设计一款具有记录比赛分数,比赛剩余时间等基本功能的电子记分牌。

二、设计要求

[1] 要求能实时记录比赛的分数、剩余时间。

[2] 通过对AT89C51单片机的编程,实现比分和剩余时间的显示。

[3] 设计篮球24秒定时器、剩余5秒时发出提示音。

[4] 提交设计报告、电路图及程序源码。

三、参考资料

[1] 张毅刚.单片机原理及应用[M].北京:高等教育出版社,2004.

[2] 刘润华,刘立山.模拟电子技术[J].山东:石油大学出版社,2003.

[3] 周润景,张丽娜等.PROTEUS入门教程[M].北京:机械工业出版社,2007.

[4] 尹仕.电工电子制作基础[M].武汉:华中科技大学出版社,2008.

[5] 彭介华.电子技术课程设计指导[J].北京:高等教育出版社,1997.

完成期限

指导教师

专业负责人******

201*年*月** 日

目录

第1章绪论 (1)

1.1 单片机在体育赛事计分的应用 (1)

1.2 本设计任务 (1)

第2 章总体方案论证与设计 (2)

2.1 显示模块 (2)

2.2 按键控制模块 (2)

2.3 报警模块 (2)

2.4 总体硬件组成框图 (3)

第3章系统硬件设计 (4)

3.1 LCD1602显示模块的硬件设计 (4)

3.2按键控制模块的硬件设计 (4)

3.3 蜂鸣器报警模块的硬件设计 (5)

3.4 单片机最小系统的硬件设计 (6)

第4章系统的软件设计 (7)

4.1 主程序设计 (7)

4.2 按键控制程序设计 (8)

4.3 蜂鸣器报警程序设计 (9)

第5章系统调试与测试结果分析 (11)

5.1 系统调试 (11)

5.2 测试结果 (11)

结论 (12)

参考文献 (13)

附录1 程序 (14)

附录2 仿真效果图 (20)

第1章绪论

体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。随着比赛规则的进一步完善,相应的计时计分系统也必须随之改进。

1.1 单片机在体育赛事计分的应用

传统的篮球比赛计分是由工作人员人工翻动记分牌实现的,而比赛的时间则由工作人员计表控制。由于人为因素,人工操作的比赛计分板难免会出现误差。而作为微型控制系统的单片机具有集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。]3[因此单片机在体育比赛记分牌的应用也成为了一种不可避免的趋势。

1.2 本设计任务

本次设计以AT89C51单片机为核心组成单片机最小系统,构建得分和时间的显示模块、进行控制的按键模块以及能够在规定的时间报警的提示模块,通过在按键控制模块的操作实现对比分和时间的设计,最终在显示模块上显示]8[。

第2 章总体方案论证与设计

本系统采用单片机AT89C51为控制核心,系统主要包括显示模块、按键控制模块、蜂鸣器报警模块等。下面对各模块的设计进行论证比较。

2.1 显示模块

方案一:采用七段码数码管显示。数码管是指将所有发光二极管的一极接到一起形成公共极,因此数码管有共阴共阳之分。以共阳数码管为例,共阳数码管在应用时应将公共极接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。因此每个数码管有9个接口。数码管的驱动方式有静态扫描和动态扫描两种形式。静态扫描编程简单,但电路复杂;动态扫描变成复杂,而且还需要使用其他芯片。

方案二:采用1602液晶显示。液晶的物理特性是:当通电时导通,排列变得有秩序,是光线容易通过,不通电时排列混乱,阻止光线通过。相比于数码管,LCD1602不仅可以显示的图形符号更丰富,而且具有轻薄、无辐射等优点。

比较以上两种方案,系统设计中采用方案二。

2.2 按键控制模块

方案一:采用矩阵键盘。矩阵键盘的长各分接口分别于单片机的I/O口连接,可以通过连接数量较少的I/O口,扩展出多个按键。但其缺点是电路更复杂,编程更麻烦。

方案二:采用独立按键。每个独立按键与单片机I/O连接,虽然不能节省I/O口,但电路简单、编程容易

比较以上两种方案,由于本系统只需要4个按键,因此选者方案二。

2.3 报警模块

报警模块中,信号由单片机输出经PNP型三极管放大后进入蜂鸣器发出声响进行比赛时间的提示功能。

2.4 总体硬件组成框图

系统框图如图2-1所示,系统主要由四大模块组成即单片机最小系统模块、液晶显示模块、蜂鸣器报警模块、按键控制模块。

单片机最小系统作为整个系统的控制核心,按键模块的4个按键对分数和时间进行控制然后显示在LCD1602上,蜂鸣器报警模块则根据程序设定的时间进行报警。

图2-1 总体硬件组成框图

AT89C51

按键控制模块

晶振电路

复位电路

液晶显示模块

蜂鸣器报警模块

第3章系统硬件设计

为使该电子记分牌更加方便和灵活,本设计将其划分为四个模块,下面将对各个模块逐一介绍。

3.1 LCD1602显示模块的硬件设计

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块。

图3-1 液晶显示模块电路

3.2按键控制模块的硬件设计

按键控制模块采用4个独立按键,Key1、Key2、Key3、Key4分别于单片机的P1^0、P1^1、P1^2、P1^3连接,每个按键的另一端直接与地相连接,因此是低

电平有效。按键控制模块的电路如图3-2所示。

这四个独立按键分别实现了比赛的暂停、时间的刷新以及比赛两只队伍的得分值的改变。具体标号和功能如表3-1所示。

表3-1 按键功能描述

序号 接口 功能

Key1 P1^0 比赛开始/暂停 Key2 P1^1 刷新进攻球队24秒时间

Key3 P1^2 A 队得分值加一 Key4

P1^3

B 队得分值加一

3.3 蜂鸣器报警模块的硬件设计

蜂鸣器报警模块由一个蜂鸣器和一个PNP 型的三极管组成,接单片机的P2^7

图3-2 按键控制模块电路图

图3-3 蜂鸣器报警模块电路图

图3-4 最小系统模块电路图

口,蜂鸣器为5V 驱动,低电平有效。蜂鸣器模块如图3-3所示。

3.4 单片机最小系统的硬件设计

AT89C51是一种带4K 字节FLASH 存储器(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL

高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。最小系统模块的晶振电路由12MHz晶振和30pF的电容构成,复位电路由10uF的电解电容和104瓷片电容构成。电路如图3-4所示。

第4章系统的软件设计

在本设计中,系统的软件设计也采用了模块化的设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。

4.1 主程序设计

本系统中单片机的主要功能就是利用内部的定时器计时,并随时接受控制模块的信息,将比赛的得分和剩余时间显示在1602液晶上。其主程序流程如图4-1所示

4.2 按键控制程序设计

Key1键配合程序所设定的标志位flag 控制比赛的暂停,当Key1按下,flag 加一,两种不同的flag 值分别带关闭定时器和打开定时器。按下Key2键后给24秒进攻时间的变量"miao"重新赋值为24,代表上一次进攻结束,另一只球队开始进攻。每按下Key3和Key4键,A 、B 两队的得分加一。程序流程如图4-2所示。

图4-1 主程序流程图

开始

初始化

倒计时

是否按键

执行控制程序

是否到时

蜂鸣器响

显示

Y

N

Y

N

4.3 蜂鸣器报警程序设计

在程序里设定一个变量,用if 语句判断,当该变量等于设定的时间段的时候,蜂鸣器响。在24秒进攻时间只剩5秒时,蜂鸣器响一秒;当24秒进攻时间结束时,蜂鸣器响4秒;单节比赛结束蜂鸣器响4秒。流程图如图4-3所示。

Key2按下

Key3按下

Key4按下

Key1按下

是否按下

延时

暂停/开始

A 队分加一

B 队分加一 刷新24秒

图4-2 按键控制流程图

Y

Y

Y

Y

N

N

N

N

基于单片机的篮球比赛电子记分牌

单节赛结束

蜂鸣器响4秒

N

图4-3 报警程序流程图

第5章系统调试与测试结果分析

5.1 系统调试

为预先排除软件和硬件的错误,本设计需经过软件调试、硬件调试和软硬兼联合调试。

5.1.1硬件调试

本阶段采用实验板ST-3A对各个模块的功能进行调试,主要检查硬件间连线是否正确并调试各模块能否实现指定的功能。

5.1.2软件调试

软件调试采用Keil软件完成。在写好源程序之后,建新工程,选择AT89C51处理器;接着新建文档编辑程序,编辑完存为.C,把保存的.C文件加入到工程里。检查无语法错误后生成.HEX文件。

5.1.3硬件软件联调

软硬件联合调试主要是运用Proteus完成]6[。将系统原理图在Proteus环境下画好之后,将软件调试阶段Keil生成的.HEX文件下载到单片机里,在电脑上进行软件仿真。

5.2 测试结果

本次系统设计结构较好,单片机最小系统能正常工作,按键模块能实现控制功能,液晶显示模块能根据按键模块输入的控制信息进行显示,蜂鸣器报警模块能按程序设定的要求报警。仿真结果图如附录2所示。

结论

本次基于单片机的篮球比赛电子记分牌是针对传统篮球比赛人工翻动比分牌的改进,解决篮球比赛时计分与计时准确方便和灵活适用的问题。

系统总体电路由单片机最小系统、1602液晶显示模块、5个独立按键控制模块以及蜂鸣器报警模块构成。四个模块分别完成信息的处理、显示、控制等篮球比赛记分牌的基本功能。

通过软硬件的仿真调试,实现了本次设计的基本功能:在1602液晶左边部分分别显示比赛队伍的得分,右边部分显示比赛剩余时间,四个按键能完成程序的要求对比分和时间的调整进行控制,蜂鸣器能在规定的时间段鸣叫,给予球员和观众提示。

参考文献

[1] 李川,汪秋蒙.ISP技术的原理及实现方法[J].科技资讯.2007,35期:93-94.

[2] 万光毅.单片机实验与实践教程[M]. 北京:北京航空航天大学出版社.2005.1.

[3] 张毅刚.单片机原理及应用[M]. 北京:高等教育出版社.2003:160-190.

[4] 胡烨,姚鹏翼,陈明.Protel 99SE原理图与PCB设计教程[M].机械工业出

社.2005:23-99.

[5] 马忠梅.单片机的C 语言应用程序设计[M].北京:北京航空航天大学出版

社.2006

[6] 周润景.基于Proteus的电路与单片机仿真系统设计与仿真[M]. 北京:北京航

空航天大学出版社. 2005.

[7] 金炯泰,金奎焕. 如何使用KEIL8051C编译器[M ]. 北京:北京航空航天大学

出版社.2002.

[8] 尹仕.电工电子制作基础[M].武汉:华中科技大学出版社,2008.

[9] 彭介华.电子技术课程设计指导[J].北京:高等教育出版社,1997.

附录1 程序

#include

#define uchar unsigned char

#define uint unsigned int

uchar code tab1[]="A : ";

uchar code tab2[]="B ";

uchar code tab3[]=" GAME OVER "; //比赛结束时显示uchar code tab4[]=" A B "; //比赛结束时显示

sbit lcden=P2^2;

sbit lcdrw=P2^1; //1602液晶的3个端口

sbit lcdrs=P2^0;

sbit key1=P1^0;

sbit key2=P1^1; //四个按键

sbit key3=P1^2;

sbit key4=P1^3;

sbit Bell=P2^7; //蜂鸣器

uint keyflag,flag; //标志位

uchar i,num,count;

uchar sec,min,miao;

uchar Ascore,Bscore; //两队得分

/*******************液晶函数****************************/ void delay(uint z) //液晶延时函数

{

uint x,y;

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

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

}

void write_com(uchar com) //命令子函数command

{

lcdrs=0; //接受指令

P0=com; //给P0口送指令码

delay(5);

lcden=1; //E变为高电平

delay(5); //在此延迟期间,将指令送入

lcden=0; //E变为低电平,高脉冲结束

}

void write_dat(uchar date) //数据子函数data

{

lcdrs=1; //接受数据

P0=date; //给P0口送数据

delay(5);

lcden=1; //E变为高电平

delay(5); //在此延迟期间,将数据送入

lcden=0; //E变为低电平,高脉冲结束

}

void write_time(uchar add,uchar date) //写入时间函数

{

uchar shi,ge;

shi=date/10;

ge=date%10;

write_com(0x80+add);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

void write_miao(uchar add,uchar date) //写入24秒函数

{

uchar shi,ge;

shi=date/10;

ge=date%10;

write_com(0x80+0x40+add);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

void write_Ascore(uchar add,uchar date) //写入A队得分函数{

uchar bai,shi,ge;

bai=date/100;

shi=date/10%10;

ge=date%10;

write_com(0x80+add);

write_dat(0x30+bai);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

void write_Bscore(uchar add,uchar date) //写入B队得分函数{

uchar bai,shi,ge;

bai=date/100;

shi=date/10%10;

ge=date%10;

write_com(0x80+0x40+add);

write_dat(0x30+bai);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

void write_score(uchar add,uchar date) //比赛结束写入得分函数

{

uchar bai,shi,ge;

bai=date/100;

shi=date/10%10;

ge=date%10;

write_com(0x80+0x40+add);

write_dat(0x30+bai);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

void delay_Bell(uint z) //蜂鸣器延时函数

{

uint x,y;

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

for(y=255;y>0;y--);

}

void init() //初始化函数

{

Bell=1;

keyflag=0; flag=0;

min=12; sec=0; miao=25;

Ascore=0; Bscore=0;

lcdrw=0;

lcden=0; //E的初始值为低电平,后面的程序给高电平从而满足E为高脉冲write_com(0x38); //写入显示模式指令

write_com(0x0e); //显示是否打开以及光标的设置

write_com(0x06); //地址指针的加减和整屏是否移动

write_com(0x01); //清屏指令

write_com(0x80+0x00); //显示字符的初始位置

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

{ write_dat(tab1[num]); }

write_com(0x80+0x40); //起始地址为53,将字符调到了第二行

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

{ write_dat(tab2[num]); }

write_Ascore(2,Ascore);

write_Bscore(2,Bscore);

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1; ET0=1; TR0=1; //开定时器

}

void keyscan() //按键函数

{

if(key1==0)

{

delay(10);

if(key1==0)

{ keyflag++; //键一按下,标志位加一

while(!key1);

if(keyflag==1)

{ TR0=0; } //关中断

if(keyflag==2)

{ TR0=1; keyflag=0; }

}

}

if(key2==0) //刷新24秒

{

delay(5);

if(key2==0)

{ while(!key2);miao=25; }

}

if(key3==0)

{

delay(5);

if(key3==0)

{ while(!key3);

Ascore++; write_Ascore(2,Ascore); } //写入A队得分}

if(key4==0)

{

delay(5);

if(key4==0)

{ while(!key4);

Bscore++; write_Bscore(2,Bscore); } //写入B队得分}

}

void main()

{

init();

基于AT89C51单片机的多音阶电子琴的设计

重庆三峡学院 单片机课程设计报告书 学院: 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 成绩: 制作日期2012年11月29日

基于AT89C51单片机的多音阶电子琴的设计 重庆三峡学院 摘要 单片机是电子、计算机及机电专业的一门重要的必修课程。要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。 随着科技的快速发展,单片机的应用日益普遍。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机、电子琴、AT89C51、独立键盘、

目录 第 1 章引言......................................................................................................................... 1. 1. 1 设计背景 (1) 1.2 设计任务 (1) 1.3 设计目的 (1) 1.4 设计思路 (1) 第 2 章方案论证 (1) 2.1 方案论证 (1) 第 3 章硬件系统设计 (2) 3.1时钟电路 (2) 3.2 复位电路 (3) 3.3 原理框图 (3) 3. 4 显示部分设计 (3) 3.5 按键部分设计 (4) 3.6 发音部分设计 (5) 第 4 章软件系统设计 (5) 4.1 系统分析 (5) 4.2 参数计算 (7) 4.3 程序设计 (8) 第 5 章实验结果 (10) 5.1硬件调试 (10) 5.2 软件调试 (10) 5.3 仿真结果 (10) 5.4 结果分析 (11) 第 6 章总结 (11) 附录一:系统整体电路图 (12) 附录二:元器件清单 (12) 附录三:源程序代码 (13) 参考文献 (19)

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

基于51单片机电子密码锁设计

一、设计目的 1.1课题简介 如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开和闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。 1.2课题研究目的 本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。 本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码和密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。 本次设计中硬件主要由我完成,软件主要由张振完成。 二、硬件设计 2.1概述 本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:

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

随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用和参考价值。 关键词:AT89C51单片机;数码管;电子琴

1 系统方案设计 (1) 1.1 设计指标 (1) 1.2 系统方案综述 (1) 1.3 系统设计思路 (1) 2 硬件设计 (2) 2.1 电路图 (2) 2.2 单片机AT89C51简介 (2) 2.3 单片机的工作过程 (4) 2.4 键盘电路 (5) 2.5 显示电路 (5) 2.6 声音电路 (7) 3 系统软件设计 (7) 3.1延时程序设计 (9) 3.2定时器初始化及其中断函数 (9) 3.3示例音乐播放程序 (10) 3.4单独按键中断处理函数 (10) 4 实验结果与分析 (10) 4.1 Proteus软件简介 (10) 4.2仿真调试 (12) 5 设计心得 (13) 6 参考文献 (14) 附录 (15) 附录A 元件清单、器件识别与检测 (15) 附录B 程序源代码 (16)

基于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硬件电路设计

单片机电子密码锁_(可以修改设置密码)——基于51单片机与AT24C02与LCD1602显示

单片机电子密码锁(可以修改设置密码)——基于51单片机与AT24C02与LCD1602显示 其电路图连接如下:本人已经用硬件实验,程序可用。正确~~ 本程序特点:装载后读者可以自改密码,然后需要再次载入程序时:可以把主程序aa=Sendstring(0xa0,1,table2,6);这一句去掉。然后程序的电子锁密码就是你个人设置的密码。 程序代码为: #include #include #include #define uchar unsigned char #define uint unsigned int #define LCDIO P2 #define delay4us() _nop_();_nop_();_nop_();_nop_(); uchar buffer[6]={0}; sbit sda=P3^7; sbit scl=P3^6; sbit beep=P3^5; bit flag=0,aa; //用户蹲渊义定时溢出标志位 uchar DSY_BUFFER[16]=" ";

uchar DSY_BUFFER1[16]=" "; uchar Userpassword[6]={0}; sbit rs=P0^4; sbit rd=P0^3; sbit lcden=P0^2; sbit led=P3^0; uchar code table2[]="123456"; uchar code table[]="Your Password..."; void delayms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay() //短延时,两个机器周期,做总线的延时用{;;} void write_com(uchar com) { rs=0; rd=0; lcden=0; P2=com; delayms(3); lcden=1; delayms(3); lcden=0; } void write_date(uchar date) { rs=1; rd=0; lcden=0; P2=date; delayms(3); lcden=1; delayms(3); lcden=0; } void Display_String(uchar *p,uchar com) { uchar i; write_com(com); for(i=0;i<16;i++) {

基于multisim的51单片机控制电子琴电路

基于multisim的51单片机控制电子琴电路 程序:#include sbit pf=P0^4; void scan_key() { if(P0==0xfe) key=1; if(P0==0xfd) key=2; if(P0==0xfb) key=3; if(P0==0xf7) key=4;

if(P0==0xef) key=5; if(P0==0xdf) key=6; if(P0==0xbf) key=7; if(P0==0x7f) key=8; } void delay(unsigned char i) {unsigned int j; for(i;i>0;i--) for(j=250;j>0;j--); } void main() { scan_key(); if(key==1) { while(1) { pf=1; delay(100); pf=0; delay(100);

} } if(key==2) { while(1) { pf=1; delay(200); pf=0; delay(200); } } if(key==3) { while(1) { pf=1; delay(300); pf=0; delay(300); } } if(key==4) { while(1) { pf=1; delay(400); pf=0; delay(400); }

} if(key==5) { while(1) { pf=1; delay(500); pf=0; delay(500); } } if(key==6) { while(1) { pf=1; delay(600); pf=0; delay(600) } } if(key==7) { while(1) { pf=1; delay(700); pf=0;delay(700) } }

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

#include unsigned char DispBuf[6]; //时间显示缓冲区 unsigned char Disdate[6]; //日期显示缓冲区 unsigned char DisSec[6]; //秒表缓冲区 struct //设定时间结构体 { unsigned char Hour; unsigned char Min; unsigned char Sec; }Time; struct //设定日期结构体 { unsigned char Year; unsigned char Month; unsigned char Days; }Date; struct //设定毫秒结构体 { unsigned char Minite; unsigned char Second; unsigned char MilliSec; }Millisecond; unsigned char point=0; unsigned char point1=0; unsigned char point2=0; unsigned char Daymount; unsigned char Daymount1; unsigned char T0_Int_Times=0; //中断次数计数变量 unsigned char Flash_flag=0; //闪烁标志,每半秒闪烁 unsigned char Flash_flag1=0; //闪烁标志,每半秒闪烁 unsigned char DisPlay_Back=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char DisPlay_Back1=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char i,j; unsigned char SetMillisecond; //启动秒表 code unsigned char LEDCode[]={0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80}; //数码管显示代码 code unsigned char ErrorLEDCode[]={0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80};//绘制错误图纸的数码管显示代码 void DisPlayBuf(); void ChangeToDispCode(); void ChangeToDispCode1(); void changedate(); // 调日期 void displaydate(); // 显示日期 void makedays(); //确定每个月的日期 void runSec();

51单片机电子密码锁

目录 第1节引言 (1) 1.1 电子密码锁述 (1) 1.2 本设计主要任务 (1) 1.3 系统主要功能 (2) 第2节系统硬件设计 (3) 2.1 系统的硬件构成及功能 (3) 2.2 AT89C2051单片机及其引脚说明 (3) 第3节系统软件设计 (5) 3.1 系统主程序设计(流程图) (5) 3.2 软件设计思想 (5) 3.3 储单元的分配 (5) 3.4 系统源程序 (6) 3.5 系统应用说明 (9) 3.6 小结 (9) 结束语 (10) 参考文献 (11) 附录 (12)

电子密码锁 第1节引言 1.1 电子密码锁概述 随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。从而使密码锁具有很高的安全性、可靠性。目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。 很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。 设计本课题时构思的方案:采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。 1.2 本设计主要任务 (1)共8位密码,每位的取值范围为1~8。 (2)用户可以自行设定和修改密码。 (3)按每个密码键时都有声、光提示。 (4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

#基于单片机AT89C51的电子时钟的课程设计

苏州市职业大学 课程设计任务书课程名称:单片机原理和使用课程设计 起讫时间:2011年6月22日----6月28日 院系:电子信息工程系 班级:09电子3班 指导教师:金小华 系主任:张红兵 一、课程设计课题 基于单片机的电子时钟的设计

1.掌握使用proteus软件的方法。 2.理解单片机的时钟显示方法。 3.明确设计指标,写出设计方案,设计出硬件原理图。 4.基于硬件的软件设计和调试。 5.将结果向指导教师演示,由教师提问验收通过; 6.打印程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论 设计心得。

1.第一天:明确课程设计任务和目标,熟悉单片机系统调试软件仿真实 现。 2.第二天:明确设计指标,设计电路原理图。 3.第三、四天:基于硬件的软件设计和调试。 4.第五天:学生演示设计调试结果,教师提问验收。打印程序清单,撰 写程序说明,完成课程设计报告书。 四、课程设计说明书内容(有指导书的可省略) 1,单片机结构、原理。 2,电子时钟硬件设计(原理图,原理图分析)。 3,软件设计(软件简介,调试过程)。 4,硬件、软件程序清单。

苏州市职业大学课程设计说明书 名称基于单片机的电子时钟的设计 2011年6月22日至2011年6月28日共一周院系电子信息工程系 班级09电子3班 姓名于宁 学号097302340 系主任张红兵 教研室主任陆春妹 指导教师金小华

目录 第一章电子时钟 (1) 1.1电子时钟简介 (1) 1.2电子时钟的基本特点 (1) 1.3电子时钟的原理 (1) 第二章单片机识的相关知识 (2) 2.1单片机简介 (2) 2.2单片机的发展史 (2) 2.3单片机的特点 (3) 2.489C51单片机介绍 (3) 第三章控制系统的硬件设计 (6) 3.1单片机型号的选择 (6) 3.2数码管显示工作原理 (6) 3.3键盘电路设计 (7) 3.4系统工作原理 (7) 3.5整个电路原理图 (9) 第四章控制系统的软件设计 (10) 4.1程序设计 (10) 4.2程序流程图 (13) 4.3伟福硬件仿真器简介 (14) 4.4仿真图及结果分析 (15) 第五章附录程序 (17) 第六章结束语 (19) 参考文献 (20)

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

【精品完整版】基于51单片机的数字电子钟设计

本科毕业论文(设计) 题目基于51单片机的数字电子钟设计 院(系)电子工程与电气自动化学院 专业电气工程及其自动化 学生姓名 学号 10028116 指导教师王静洪作奎职称硕士讲师 论文字数 9682 完成日期:2014年5月20日

巢湖学院本科毕业论文(设计)诚信承诺书 本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本人签名:日期: 巢湖学院本科毕业论文 (设计)使用授权说明 本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。 保密的毕业论文(设计)在解密后遵守此规定。 本人签名:日期: 导师签名:日期:

巢湖学院2014届本科毕业论文(设计) 基于51单片机的数字电子钟设计 摘要 随着时代的发展,生活节奏的加快,人们的时间观念愈来愈强,同时伴随着自动化、智能化及微电子技术的发展,人们用于计时的工具也在不断的更新,单片机等技术的出现使得数字电子钟有了新的发展方向。基于此本设计以单片机STC89C52为控制核心,采用美国DALLAS公司生产的实时时钟芯片DS12C887和液晶芯片LCD1602,该设计具有电路设计简单,结构合理,能够精确显示时间、星期、日期等优点,并且能够实时更新显示。本设计同时具有闹铃设置功能以及到时报警功能,按键操作简单方便。更重要的是时钟芯片DS12C887具有误差小,内部自带锂电池使得断电时时间不停,再次上电后时间仍然能够准确显示在液晶上的特点。 关键词:单片机;电子钟;DS12C887;LCD1602

51单片机电子琴

摘要 本设计对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 电子琴音色优美,音域较宽,和声丰富,表现力极其丰富。它可模仿多种音色,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。它还能够作为独奏乐器出现,具有鲜明的时代特色,深受广大音乐爱好者的喜爱,又是我国广大中小学生学习音乐的重要工具,而且电子琴容易制作,价格便宜,有很好的市场前景。随着科技的不断发展,电子产品也在不断的进步。现在的电子产品越来越接近智能化,性能也精益求精。现阶段,单片机发展日益成熟,且发展迅猛,以单片机为核心部件的电子琴将会比以555定时器为核心部件电子琴的性能更加稳定,而且依靠单片机强大的编程功能更易实现电子琴各音节所对应频率的产生。所以此次设计具有很现实的意义。 本次设计的目的主要是复习并运用我们所学的单片机知识,同时通过本次设计能够对电子电路以及作图软件等方面的知识有进一步的认识并掌握;熟悉AT89S52 单片机的内部结构和功能,合理利用其功能实现简单设计,能够完成相关软件编程设计工作;掌握一般的简单电子电路的设计方法。本次设计的主要内容是利用单片机编程设计出具有发出标准高中低的Dou,Ruai,Mi,Fa、Sou,La,Si,Dou(高音)21个音的功能并能通过9个按键控制的电子琴。它包括数码显示电路、时钟电路、复位电路、发声电路以及键盘接口电路。

目录 1 概述 ............................................................................................................... 错误!未定义书签。 电子琴功能模式介绍 ..................................................................... 错误!未定义书签。 系统设计的任务与要求.................................................................. 错误!未定义书签。 2 系统总体方案及硬件设计 ........................................................................... 错误!未定义书签。 2. 1 系统总体方案........................................................................... 错误!未定义书签。 定时/计数器的设计和状态字定义 .............................................. 错误!未定义书签。 音调数据表.................................................................................... 错误!未定义书签。 总体硬件组成框图......................................................................... 错误!未定义书签。 主要芯片简介................................................................................ 错误!未定义书签。 子系统模块一................................................................................ 错误!未定义书签。 子系统模块二................................................................................ 错误!未定义书签。 子系统模块三................................................................................ 错误!未定义书签。 AT89S52复位模块 ........................................................................ 错误!未定义书签。 AT89S52晶振模块 ........................................................................ 错误!未定义书签。 3 软件设计 ....................................................................................................... 错误!未定义书签。 系统软件设计 ................................................................................ 错误!未定义书签。 内置歌曲输出.................................................................................. 错误!未定义书签。 音阶键识别........................................................................................ 错误!未定义书签。 系统总流程图 ................................................................................ 错误!未定义书签。 4 Proteus软件仿真........................................................................................... 错误!未定义书签。 程序仿真 ....................................................................................... 错误!未定义书签。 proteus仿真 .................................................................................. 错误!未定义书签。5课程设计体会 ................................................................................................ 错误!未定义书签。参考文献............................................................................................................ 错误!未定义书签。附1 源程序代码 ............................................................................................ 错误!未定义书签。附2 系统原理图 ............................................................................................ 错误!未定义书签。

基于单片机的数字时钟之C51单片机

山东大学威海分校 基于单片机的数字时钟 C51单片机 王若愚 学号200800800307 2010/7/18

概述 AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 功能特性概述 AT89S51提供以下标准功能:4K字节闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。

AT89S51硬件电路原理 复位及振荡电路 复位电路由按键复位和上电复位两部分组成,如图2所示。AT89S系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC 充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为8.2K和10uF。 按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。 MCS51 LITE使用22.1184MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路, 所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。

相关主题