单片机自动打铃系统设计方案

单片机自动打铃系统设计方案
单片机自动打铃系统设计方案

单片机自动打铃系统设计方

1.1 《设计要求》

它可以作为时钟电路来显示时间,进行设置,定时打铃。按照自顶向下设计方法划分自动打铃系统的功能。可分为:时间设置电路,计时电路,显示电路和定时打铃控制电路等。

(以信息科学与技术学院的打铃情况设计

1.2 《设计方案选择》

1.2.1 方案一:数字电路设计的自动打铃系统

利用函数信号发生器来进行脉冲信号输出,利用74160N来设置十进制和六进制的进位输出。利用数码显示器来显示时间,利用或门、与门、非门、与非门、等电路元件进行组合实现打铃的控制。

1.2.2 方案二:基于单片机的自动打铃系统设计

单片机部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,没产生一次中断,存储器相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。建立完一个实时时钟后接下来进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间与信息时间表上的作息时间是否相同,相同者,则进行报时处理并控制打铃,不相同则返回主程序。

1.2.3 方案确定

方案一的设计只能事先设定打铃时间不能完全自动打铃,且在修改打铃时间上存在一定的困难。而方案二中的设计能完全实现自动化,诠释了我们这次毕业设计的主题。并在修改打铃时间上有了很大的方便,只需修改一部分程序便能实现不同的需要。

因此我选择方案二进行设计。

1.3 《基本方案》

1.3.1 设计课题简要概述

自动打铃装置用于工厂、学校等地的时间控制,本设计是按照学校作息时问设定的,模拟了电了钟显示时、分、秒。还根据学校的作息时间按时打铃,本系统有4 个按钮,分别用来调时、调分、秒和强制打铃及强制关铃,以保证始终与标准时间相吻合。

首先设计出本系统的硬件基本框图,根据框图设计电气原理图,简要概述基本原理,按照设计技术参数设计出各部分程序。

1.3.2 系统软硬件划分

由于需要最小系统设计,因此,极介于系统的硬件成本,所有能用软件实现的功能都用软件完成,如按键的去抖,采用延时,显示部分用动态显示等,这样硬件部分的设计可以采用单片机最小系统,所谓最小系统时仅有程序存储器和时钟及复位电路的单片机系统。

1.3.3 单片机选型

根据课题的具体容,任务要求,计时、校时、定时、键盘显示等功能,经多方面考虑,所选系统选项用.与MSC-51单片机完全兼容的AT89C52功耗单片机。

1.4 总体设计框图

图一整体框图

第二章硬件电路设计

2.1 基本原理概述

本系统主要由主控模块,时钟模块,显示模块,键盘接口模块等4 部分构成。通过部定时产生中断,从而使驱动电铃打铃。设定51 单片机工作在定时器工作方式1 ,每100ms产生一次中断,利用软件将基准100ms 单元进行累加,当定时器产生10 次中断就产生lS 信号,这是秒单元加1 。同理,对分单元和时单元计数从而产生秒,分,时的值,通过六位七段显示器进行显示。由于动态显示法需要数据所存等硬件,接口较复杂,考虑显示只有六位,且系统没有其他浮躁的处理程序,所有采用动态扫描LED 的显示。

本系统采用四个按键,当时钟时间和设置时间一直时,驱动程序动作,进行打铃,每次打铃30S

2.2 主要原件参数及功能简介2.2.1 主控器AT89C52

AT89C52为8 位通用微处理器,采用工业标准的C51核,在部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。

功能包括对会聚主IC 部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。

P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

2.2.2 DS1302

1)性能特性

DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1.RSE复位,2.I/O数据线,3.SCLK 串行时钟。时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小十1mW 。提供秒分时日日期。月年的信息,每月的天数和闰年的天数可自动调整时钟,操作可通过AM/PM 指示决定采用24 或12 小时格式。

2)管脚描述

XI XZ 32.768KHz 晶振管脚

GND 接地

RST 复位脚

I/O 数据输入/输出引脚

SCLK 串行时钟

Vcc1,Vcc2 电源供电管脚

DS1302 串行时钟芯片8 脚 DIP

DS1302S 串行时钟芯片8 脚 SOIC 200mil

DS1302Z 串行时钟芯片8 脚 SOIC 150mi

2.3 单元电路的设计

2.3.1显示电路

显示部分采用1602采用标准的16脚接口,其中:

第1脚:VSS为电源地

第2脚:VCC接5V电源正极

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令

普通的LCD1602显示

2.3.2 键盘接口电路设计

由于键盘只有四个,采用独立式按钮,用查询法完成读健功能。

\

图五 按键电路

设置取消

选择移位增加

减小保存数据

2.3.3 响铃电路设计

响铃电路用到了蜂鸣器、三极管、1K电阻。蜂鸣器两端分别接地和三极管。三极管一段电源另一端与电阻相连并接入AT89C51的P3.7接口。

电路原理图使用SH69P43 为控制芯片,使用4MHz 晶振作为主振荡器。

PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开部上拉电阻。

先分析一下蜂鸣器。所使用的蜂鸣器的工作频率是2000Hz,也就是说蜂鸣器的驱动信号波形周期是500μs,由于是1/2duty 的信号,所以一个周期的高电平和低电平的时间宽度都为250μs。软件设计上,将根据两种驱动方式来进行说明。

a)蜂鸣器工作原理:PWM 输出口直接驱动蜂鸣器方式

由于PWM 只控制固定频率的蜂鸣器,所以可以在程序的系统初始化时就对PWM 的输出波形进行设置。

首先根据SH69P43 的PWM 输出的周期宽度是10 位数据来选择PWM 时钟。系统使用4MHz 的晶振作为主振荡器,一个tosc 的时间就是0.25μs,若是将PWM 的时钟设置为tosc 的话,则蜂鸣器要求的波形周期500μs 的计数值为500μs/0.25μs=(2000)10=(7D0)16,7D0H 为11 位的数据,而SH69P43 的PWM

输出周期宽度只是10 位数据,所以选择PWM 的时钟为tosc 是不能实现蜂鸣器所要的驱动波形的。

这里将PWM 的时钟设置为4tosc,这样一个PWM 的时钟周期就是

1μs 了,由此可以算出500μs 对应的计数值为500μs/1μs=(500)10=(1F4)16,即分别在周期寄存器的高2 位、中4 位和低4 位三个寄存器中填入1、F 和4,就完成了对输出周期的设置。再来设置占空比寄存器,在PWM 输出中占空比的实现是

通过设定一个周期电平的宽度来实现的。当输出模式选择为普通模式时,占空比寄存器是用来设置高电平的宽度。250μs 的宽度计数值为

250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2 位、中4 位和低4 位中分别填入0、F 和A 就可以完成对占空比的设置了,设置占空比为1/2duty。

以后只需要打开PWM 输出,PWM 输出口自然就能输出频率为2000Hz、占空比为1/2duty 的方波。

b)蜂鸣器工作原理:I/O 口定时翻转电平驱动蜂鸣器方式

使用I/O 口定时翻转电平驱动蜂鸣器方式的设置比较简单,只需要对波形分析一下。由于驱动的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。在程序上,可以使用TIMER0 来定时,将TIMER0 的预分频设置为/1,选择TIMER0 的始终为系统时钟(主振荡器时钟/4),在TIMER0 的载入/计数寄存器的高4 位和低4 位分别写入00H 和06H,就能将TIMER0 的中断设置为250μs。当需要I/O 口驱动的蜂鸣器鸣叫时,只需要在进入TIMER0 中断的时候对该I/O 口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将I/O 口的电平设置为低电平即可。不鸣叫时将I/O 口的输出电平设置为低电平是为了防止漏电。

2.4 总体运行进程

首先实现24小时制电子钟,在8位数码管显示,显示为时分秒,实现的格式为:23-59-59。到达预定时间启动蜂鸣器开始打铃,打铃的方式分为起床、熄灯和上下课铃两种。系统使用了4个按键,3只按键用来调整时间,另一只为强制打铃按钮。通过选择键选择调整位,选中位闪烁,按增加键为选中位加1,按减少键为选中位减1。按强制打铃按钮是实现强制打铃或者强制关闭打铃。

第三章软件电路设计及流程图

3.1 基本原理概述

主程序首先是初始化部分,主要是计时单元清零,中断初始化,堆栈指针初始化,启动定时器工作,然后是调用显示子程序。主程序的起始存储地址是0000H单元,但由于本系统用了定时器T0的中断,中断服务程序入口地址为000BH,因此从0000H单元起存放一条短调转指令AJMP,使真正的主程序从0300H单元开始存放。

3.1.1 中断服务程序设计

单片机部的定时/计数器T0定时100ms,即0.1s,10次中断即为1秒,60秒为1分,60分为1小时,24小时为一天,如此循环,从而实现计时功能。

编写中断服务程序关键要注意:1.现场保护,本系统中是累加器A和程序状态字PSW值的保护。2.计时处理时采用的确十进制,因此时,分,秒单元加1后要进行十进制调整,即要执行DAA指令,还要注意的是时计到24就回零,分和秒计到60就回零。3.中断返回前的现场恢复。

3.1.2 显示程序设计和按键判断与按键处理程序设计

显示采用的是动态显示,段控和位控都经过反相器,显示的字形代码是共阳的显示代码,位控信号输出时是高电平有效,在校时时,采用的是点亮小数点信位调节器标志,哪位小数点亮表示调整的是该为的值。

显示子程序的第一部分是拆字,显示缓冲区是2FH—2AH;第二部分是查字型码,输出段控和位控信号,由于采用的是动态显示,所以每出输出一位的段控和位控信号要延时一定的时间,使LED显示器显示的字符时稳定的。

按键判断程序有编写时应注意按键的去抖动,该系统采用的是延时去抖动的方法,延时是通过调用子程序来实现的,每个按键按下后都要等待释放后再返回。

按键处理程序中的按键式校时的,所以进入按键处理程序后就关闭定时中断,对于动能键注意设置显示标志。

3.2 流程图

3.2.1 系统主程序流程图

3.2.2 系统定时中断流程图

第四章系统程序设计

4.1 程序设计概要

程序名称:51 单片机自动扫铃机控制系统

说明:实现24 小时制电子钟,8 位数码管显示,显示时分秒显示格式:23-59-59(小时十位如果为0 则不显示)。

到预定时问启动蜂鸣器模拟打铃,蜂鸣器BEEP: P3.7。

打铃方式分起床、熄幻铃和上、下课铃两种。

系统使用4 只按键,3 只按键用来调整时间,另一只为闹钟按钮即定时扫铃。

键SET_KFY: PI.0;通过选择键选择调整位,选中位闪烁。

增加键ADD_KEY:PI.1;按一次使选中位加1。

减少键DEC_KEY: PI.2;按一次使选中位位。1

如果长按ADD_KEY 或DEC_KEY,识别后则进行调时快进,此时停止闪烁。

如果选中位是秒,则按增加键或减少键都是将秒清零。

定时扫铃键DALING_KEY: P1.3;用来强制打铃或强制关闭铃声PO 口输出数码管段选信号,P2 口输出数码管位选信号。晶振12M

4.2 源程序清单

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include

#include "ds1302.h"

#include "delay.h"

#include "1602.h"

#include "i2c.h"

//管脚定义

sbit SPEAK= P3^7; //蜂鸣器

sbit KEY_SET=P3^2; //设置返回

sbit KEY_ENTER=P3^3; //确认下一个参数

sbit KEY_UP=P3^4; //增加

sbit KEY_DOWN=P3^5; //减小

sbit KEY_SAVE=P3^6; //保存

//按键菜单的数据定义

bit bSet_Time_Flag = 0;//进入设置时间的标志位

bit bShow_Time_Flag = 1;//进入设置时间的标志位

unsigned char ucPage = 0;//页面菜单

unsigned char ucMenu_Count = 1;//菜单的数据

bit bSet_Model_Frash = 0;

//数据保存相关

#define FLAG_ADDR 250

#define FLAG_DAT 41

#define MAX_LIST 15

#define Start_Time_First 0 //第一个保存的时间

//设置的时间缓存

idata unsigned char ucSave_Time_Set[16][3] = {

{10,0,0},

{10,45,0},

{10,55,0},

{11,40,0},

{12,10,0},

{12,55,0},

{13,5,0},

{13,50,0},

/////////

{16,0,0},

{16,45,0},

{16,55,0},

{17,40,0},

{18,10,0},

{18,55,0},

{19,5,0},

{19,50,0}

};

//void Write_Time_Dat(unsigned char ucAddr,unsigned char *ucSet_Time)

//数据定义

bit bRead_Time_Flag = 1;

bit bSave_Dat_Flag = 0;//保存标志位

unsigned char time_use_Set[8];

unsigned char time_use_Set_Dis[16];

/*------------------------------------------------

主函数

------------------------------------------------*/

//读取时间

void Read_Time_Once(void);

//定时器初始化

void Init_Timer0(void);

///按键扫描函数

void Key_Scan(void);

void Del_Time(unsigned char ucPage,unsigned char ucPositon,unsigned char ucHang_Num,char ucDel_Fun);

//主函数入口

void main (void)

{

unsigned char ucGlobal_Dat = 0;//临时使用的变量

SPEAK = 1;

LCD_Init(); //初始化液晶

DelayMs(20); //延时有助于稳定

LCD_Clear(); //清屏

//////////

Ds1302_Init(); //ds1302初始化

Ds1302_Read_Time(); //首次读取时间

LCD_Write_String(0,0,"OPEN SYSETM ") ;

//之前没有写入时间就要写入时间

if( FLAG_DAT != read_IIC(FLAG_ADDR))//标志位没有写入

{

Ds1302_Write_Time();

write_IIC(FLAG_ADDR, FLAG_DAT);

for(ucGlobal_Dat = Start_Time_First;ucGlobal_Dat < Start_Time_First + 48;ucGlobal_Dat += 3)

{

Write_Time_Dat(ucGlobal_Dat,ucSave_Time_Set[ucGlobal_Dat/3]);

DelayMs(2);

}

}

else

{

for(ucGlobal_Dat = Start_Time_First;ucGlobal_Dat < Start_Time_First + 48;ucGlobal_Dat += 3)

{

Write_Read_Dat(ucGlobal_Dat,ucSave_Time_Set[ucGlobal_Dat/3]);

}

}

/////////////

while (1) //主循环

{

Key_Scan();

Read_Time_Once();

}

}

//bit bSet_Time_Flag = 0;//进入设置时间的标志位

//unsigned char ucPage = 0;//页面菜单

//unsigned char ucMenu_Count = 0;//菜单的数据

///按键扫描函数

void Key_Scan(void)

{

char cI = 0;

if(KEY_SET == 0) //设置

{

DelayMs(10);

if(KEY_SET == 0)

{

LCD_Clear( );

ucMenu_Count = 1;

if(bSet_Time_Flag)//退出设置

{

bSet_Time_Flag = 0;

ucMenu_Count = 0;

bShow_Time_Flag = 1;//不显示时间

ucPage = 0;

LCD_Write_Com(0x0c);//归位

bSave_Dat_Flag = 0;

}

else //进入设置

{

bSet_Time_Flag = 1;//设置时间

bShow_Time_Flag = 0;//不显示时间

ucPage = 0;

bSet_Model_Frash = 1;

}

while(KEY_SET == 0);

}

}

else if(KEY_ENTER == 0) //enter

{

DelayMs(10);

if(KEY_ENTER == 0)

{

if(bSet_Time_Flag == 0)

return;

ucMenu_Count+=3;

if(ucMenu_Count > 7)

{

ucMenu_Count = 1;

ucPage++;

if(ucPage >= (MAX_LIST + 1)) //限值处理 ucPage = 0;

}

bSet_Model_Frash = 1;

while(KEY_ENTER == 0);

}

}

else if(KEY_UP == 0) //增加

{

DelayMs(10);

if(KEY_UP == 0)

{

if(bSet_Time_Flag == 0)

return;

if(ucMenu_Count == 1)

Del_Time(ucPage,0,0,1);//减法

else if(ucMenu_Count == 4)

Del_Time(ucPage,1,0,1);//减法

else if(ucMenu_Count >= 4)

Del_Time(ucPage,2,0,1);//减法

bSet_Model_Frash = 1;

bSave_Dat_Flag = 1;

while(KEY_UP == 0);

}

}

单片机自动打铃系统设计

自动打铃系统 ----学校上下课自动打铃设计 设计人: 要求:(1)实现上下课的打铃,并通过语音提示上下课;(2)按下开机键,显示当前年月日时间,在LCD液晶屏显示年,月,日,星期,时,分,秒,年-月-日-星期显示在第一行,格式xx-xx-xx-星期x;时分秒显示在第二行,格式xx-xx-xx(24小时格式); (3)能够设置当前时间; (4)使用语音芯片提示上下课,上课时提示:“亲爱的同学们,

上课了”,重复2遍,下课时提示:“亲爱的同学们,下课了“,重复2遍。 (5)允许使用时钟芯片。 《摘要》 单片机的外接石英晶体振荡器能提供稳定、准确的基准频率,并经12分频后向部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息。如果石英晶体振荡器的频率信号为6MHZ,设定定时器定时工作方式1下,定时器为3CBOH,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数自动打铃系统,是以一片8位单片机为核心的实时时钟及控制系统。我们知道到60,则向时计数器进位,如此周而复始的连续计数,便可获得时、分、秒的信号,建立一个实时时钟。接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求。

单片机课程设计之自动打铃系统

单片机课程设计之自动打铃系统 这是我们本学期的单片机课程设计题目,程序就是在昨天的数字钟的基础上增加了一些内容,不想继续做了,还有一门考试要复习。 设计一台自动打铃系统 一、设计任务 用单片机器件为主体,设计一台自动打铃系统。 (1)按照设计标准,画出系统框图和系统硬件电路图。 (2)完成该课题的程序设计,提交程序设计框图及程序设计清单。 (3)提交课程设计报告 二、设计要求 (一)基本要求 (1)基本计时和显示功能(用12小时制显示)。包括上下午标志,时、分的数字显示,秒信号指示。 (2)能设置当前时间(含上、下午,时,分) (3)能实现基本打铃功能,规定: 上午6:00起床铃:打铃5秒、停2秒、再打铃5秒。 下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。 铃声可用小喇叭播放,凡是用到铃声功能的均按此处理 (二)发挥部分 (1)增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。 (2)增加调整起床铃、熄灯铃时间的功能。 (3)增设上午4节课的上下课打铃功能,规定如下: 7.30 上课,8.20下课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。 (4)特色和创新自选。 三、设计步骤 (1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏; (2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒; (3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能; (4)设计打铃执行机构,完成自动打铃功能。 四、课程设计说明书要求

基于单片机的校园打铃系统设计_毕业设计说明书(论文)

信息职业技术学院 毕业设计说明书(论文) 设计题目: 基于单片机的校园打铃系统设计 专业: 应用电子技术 班级: 应电08-2 学号: 姓名: 指导教师: 二〇一〇年九月十日

信息职业技术学院毕业设计(论文)任务书 学生 学号班级应电08-2 专业应用电子技术 姓名 设计(或论文)题目基于单片机的校园打铃系统设计 指导教师姓名职称工作单位及所从事专业联系方式备注 工程师学01 设计(论文)内容:利用单片机做为主控器件,设计一校园打铃系统的硬件部分: 1.实现打铃时间的设置和修改; 2.显示当前日期、时间; 3.掉电情况下计时工作正常进行、能保存以前设置的时刻。 基本要求: 1.正确选择元器件完成相应功能; 2.设计整机电路、明晰系统工作原理; 3.系统仿真; 4.完成说明书撰写。 进度安排: 第3~6周:选题及查找相关资料主要查找与课题相关的资料; 第7周:相关资料的整理并对其进行理解; 第8周:对毕业论文的资料进行初步的整理; 第9周:期中检查; 第10周:对论文进行修改及进行仿真实验; 第11周:对毕业论文进行排版; 第12周:检查排版及内容; 第13周:加深对毕业论文的理解准备答辩; 第14周:检查毕业设计论文的地方准备答辩; 第15周:答辩。 主要参考文献、资料(写清楚参考文献名称、作者、出版单位): [1]苏平.单片机原理与接口技术.北京:电子工业出版社,2003 [2]林伸茂.8051单片机彻底研究实习篇.北京:人民邮电出版社,2005 [3]韩志军.单片机应用系统设计.北京:机械工业出版社,2005 [4]陈坤.电子设计技术.成都:电子科技大学出版社,1997 [5]郑应光.模拟电子线路(一).南京:东南大学出版社,2005 [6]李秀忠.单片机应用技术.北京:人民邮电出版社,2007 审 批 意 教研室负责人: 见 年月日 备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。

基于51单片机的自动打铃系统

机电信息工程学院 单片机系统课程设计报告 系:电子信息工程系 专业:电子信息工程 班级:072班 设计题目:自动打铃系统设计 学生姓名:张锡斌仇龙佳 指导教师:刘忠富于为民 完成日期:2010年5月31日

目录 一、设计任务和性能指标 (2) 1.1设计任务 (2) 1.2性能指标 (2) 二、设计方案 (2) 三、系统硬件设置 (3) 3.1、单片机最小系统 (3) 3.2时钟电路DS1302 (4) 3.3、显示电路的设计 (5) 3.4、键盘接口的设计 (5) 3.5打铃电路的设计 (6) 四、系统软件设计 (7) 4.1程序流程图 (7) 4.2主程序设计 (10) 4.3显示子程序的设计 (11) 五、调试及性能分析 (12) 5.1调试步骤 (12) 5.2性能分析 (12) 六、心得体会 (12) 参考文献 (13) 附录1 系统硬件电路图 (14) 附录2 程序清单 (15)

一、设计任务和性能指标 1.1设计任务 用单片机器件为主体,设计一台自动打铃系统。 (一)基本要求 1、基本计时和显示功能(用12小时制显示)。包括上下午标志,时、分的数 字显示,秒信号指示。 2、能设置当前时间(含上、下午,时,分)。 3、能实现基本打铃功能,规定:上午6:00起床铃:打铃5秒、停2秒、 再打铃5秒。下午10:30熄灯铃:打铃5秒、停2秒、再打铃5秒。铃声可用小喇叭播放,凡是用到铃声功能的均按此处理。 (二)发挥部分 1、增加整点报时功能,整点时响铃5秒,要求有控制启动和关闭功能。 2、增加调整起床铃、熄灯铃时间的功能。 3、增设上午4节课的上下课打铃功能,规定如下:7.30 上课,8.20下 课:8.30上课,9.20下课;9.40 上课,10.30下课;10.40上课,11.30下课;每次铃声5秒。 4、特色和创新自选。 1.2性能指标 1.时钟:上下午(1位)、时(2位) 、分(2位) 2.校对键:确认键/设置键、右移键/灭铃键、加键、减键 3.响铃:蜂鸣器二.设计方案 二、设计方案 按照系统设计的功能的要求,初步确定设计系统由主控模块、时钟模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示通过内部定时产生中断,从而驱动电铃打铃。电路系统构成框图如图1.1所示。主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS 微处理芯片,市场应用最多。 时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302。采用DS1302作为主要计时芯片、可以做到计时准确。更重要的是,DS1302可以在很小的电流的后备电源(2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。采用串行数据传输,与单片机硬件连接简单,如果使用时钟芯片DS12887,将采用并行数据传输,占用更多的硬件资源。因此为节省单片机端口,时钟芯片采用DS1302。

单片机自动控制打铃系统设计

单片机自动控制打铃系统,是以一片8位单片机为核心的实时时钟及控制系统.我们知道单片机的外接石英晶体震荡器能提供稳定、准确的基准频率,并经12分频后向内部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,便可得到秒信号,再对秒信号进行计数便可得到分、时等实时时钟信息.如果石英晶体震荡器的频率信号为6MHZ,设定定时器定时器工作在方式1下,定时器为3CB0H,则定时器每100ms产生1次中断,在定时器的中断定时处理程序中,每10次中断,则向秒计数器加1,秒计数器计数到60则向分计数器进位(并建立分进位标志),分计数器计数到60,则向时计数器进位,如此周而复始的连续技术,便可获得时、分、秒的信号,建立一个实时时钟.接下来便可以进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在RAM中)与信息时间表上的作息时间(小时与分,存放在ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现了报时控制的要求. 2.2 ISP下载电缆的电路及程序设计简介 能实现ISP功能的硬件电路,通常被称为“下载电缆”。ATMEL公司推出的AT89S51/52单片机就具有ISP功能。用计算机并行口实现ISP功能,在电路设计上非常灵活。(1)下载电缆的电路设计: 计算机并行接口共有25个口线,主要包括数据端口D0~D7(端口地址为378H,用于数据输出);状态端口Busy、nAck、PE、Select、nError(端口地址为379H,用于数据输入);控制端口nSelin、nlnit、nStrobe(端口地址为37AH,用于输出控制)。从中选出4个口线来模拟ISP所需的引脚,就非常灵活,只需考虑数据的输入、输出方向及操作方便即可。但要注意同一端口的数据方向必须一致,例如数据端口是8位同时操作的,只能全部作为输入或输出,而不能将一部分做输入,另一部分做输出。 下载电缆的电路如图附件一所示。该电路主要包括并行接口电路、驱动隔离电路和JTAG接口电路3大部分,这里只所以说JTAG接口电路,是因为ISP传输虽然在协议上符合SPI协议,但引脚是按照JTAG标准而定义的,它们的对应关系如下:TCK对应SCK,D0对应MOSI,TMS对应RST,TDO对应MISO。 (2)并行接口电路 该电路是按计算机并行口标准定义的,在电路中采用nStrobe模拟TCK,用D0模拟TDI,用nSelin模拟TMS。用nACK模拟TDO。这样的定义方法就决定了TCK时钟和TMS的产生要由并行口的控制端口产生;TDI由并行口的数据端口产生,TDO要由状态端口获取,不同的端口操作地址不同,涉及程序的编写。这些对应关系见表:

单片机应用系统设计工程实践报告

2016-2017学年第1学期 单片机应用系统设计/工程实践 (课号:103G06B/D/E) 实验报告 项目名称:基于AT89C51单片机温度报警系统 学号 姓名 班级 学院信息科学与工程学院 完成时间

目录 一、项目功能及要求 (3) 1.1、课程设计的性质和目的 (3) 1.3、项目设计要求 (3) 二、系统方案设计及原理 (3) 2.1、设计主要内容 (3) 2.2 、AT89C51单片机简介 (3) 2.3 、DS18B20简介 (4) 2.4 、数码管显示 (5) 2.5、报警电路 (6) 三、系统结构及硬件实现 (7) 3.1、总电路图 (7) 3.2、单片机控制流程图 (8) 四、软件设计过程 (8) 五、实验结果及分析 (8) 5.1 、Proteus仿真 (8) 5.2 、C程序调试 (9) 六、收获及自我评价 (14) 七、参考文献 (15)

一、项目功能及要求 1.1、课程设计的性质和目的 本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设范围则发出警报,且精度高。 利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。 1.2、课程设计的要求 1、遵循硬件设计模块化。 2、要求程序设计结构化。 3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。 5、适当追求编程技巧和程序运行效率。 1.3、项目设计要求 1、基于AT89C51单片机温度报警系统; 2、设计3个按键分别为:设置按钮、温度加、温度减; 3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别; 二、系统方案设计及原理 2.1、设计主要内容 本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。 2.2 、AT89C51单片机简介 AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.AT89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。

毕业设计--单片机自动打铃系统论文

摘要 在现如今快节奏的生活中,人们对于时间的要求越来越苛刻,很多时候都需要对时间进行规划,然后到时间点就要有时间提醒,这就必须用到时钟提醒装置,亦可称为打铃装置。打铃装置有很多种,比如手机的打铃系统,闹钟的机械打铃装置,广播打铃系统等等,但是日常生活中见得最多的还是校园的自动打铃系统。在学校生活中,每天上下课都离不开打铃系统的使用。打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排,同时,也可作为一个提醒学生们作息时间的时间表,让老师和学生都能有一个规律和科学的时间安排。因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。 本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以AT89S51单片机为控制器,以DS1307时钟芯片为系统提供时间,并在液晶显示器上显示,通过按键可以设定定时打铃时间和打铃的时间间隔。系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。本文提出的设计方法电路简单、成本低廉、实用性强。 关键字:打铃器、AT89S51单片机、DS1307、液晶显示器

Abstract Now fast-paced life, the time more and more demanding, often need time to plan and then to the point in time there should be reminded, which must be used to clock reminder can also be calledrang the bell device. Rang the bell device are many, such as the phone rang the bell system, mechanical bell device of the alarm clock, radio bell systems, etc., but in daily life appear or campus automatic bell system. In school life, the last class of the day are inseparable from the bell system. The bell can provide time for the last class of students and teachers to remind conducive to a reasonable arrangement of the teachers and students to school and learning, but also as a reminder of the schedule of the students schedule, so that teachers and students cana law and scientific timing. Therefore, the core part is the clock part of the bell system, the system provides a time reference. This design is mainly for the applicable requirements of the campus bell system, introduced a microcontroller-based automatic bell system design method, the system controller is AT89S51 SCM , the DS1307 clock chip provide the system with time, and the LCD displayed on the monitor button can set the time interval of the timer rang the bell time and rang the bell. System software design using C language, C language syntax is simple, easy to use, very convenient to be used to complete the software design. This paper presents the design circuit is simple, low cost, and practical. Key words: Rang the bell AT89S51 SCM the DS1307 LCD monitors

自动打铃系统设计

<<综合课程设计>> 自动打铃系统设计报告 题目:自动打铃系统 专业:电子信息工程 年级: 学号: 学生: 联系: 指导老师: 完成日期: 2013年12月30日

自动打铃系统 摘要 在现如今快节奏的生活中,人们对于时间的要求越来越苛刻,很多时候需要对时间规划,然后到时间点就要有时间提醒,这就必须用到时中提醒装置,亦可称为打铃装置。打铃装置有很多种,比如手机的打铃系统,闹钟的机械打铃系统,广播打铃系统等等,但是日常生活中见得最多的还是校园的自动打铃系统。在学校生活中,每天上课都离不开打铃系统的使用。打铃器可以为上下课的学生和老师们提供时间提醒,有利于师生对上课和学习的合理安排。同事也可以作为一个提醒学生作息时间的时间表,让老师和学生都有一个规律科学的时间安排。因此,打铃系统的核心部分也是时钟部分,为系统提供时间基准。 本设计主要是针对适用于校园打铃系统要求的,其介绍了一种基于单片机的自动打铃系统的设计方法,系统以STC89C52单片机为控制器,以DS1302时钟芯片为系统提供时间,并在1602液晶显示器上显示,通过按键可以设定定时打铃时间和打铃间隔。系统软件设计采用C语言来完成,C语言语法简洁,使用方便,用于完成软件设计非常方便。 关键词:打铃器、STC89C52单片机、DS1302、LCD1602

ABSTRACT In today's fast-paced life, people are more and more requirements, in many cases need time to plan, and then to point in time will have time to remind, which must be used to remind device, also known as Bell equipment. Bell devices there are many, such as phone ringing system, the mechanical Bell alarm clock system, broadcast the Bell System, and so on, but in everyday life up to the school bell system automatically. In school life, are inseparable from the Bell system used in class every day. Bell can provide reminder of students and teachers to and from school, reasonable arrangements conducive to teachers and students on school and learning. Colleagues can be used as an alert student hours schedule, so that teachers and students have a timeline of the laws of science. Accordingly, Bell clock in the core part of the system, provide a time reference for the system. Designed primarily for the Bell System requirements apply to the campus, and introduces an automatic Bell system based on single-chip design methods, systems with STC89C52 single-chip controller, DS1302 provides the system time clock chip, in 1602 and displayed on the LCD by pressing the set ringing and ringing in intervals of time on a regular basis. System software design using the c language to complete, c language syntax is simple, easy to use, is very convenient for completing a software design. Key Words: t Bell, DS1302, collector, STC89C52 single-chip LCD1602

基于单片机的校园打铃系统设计方案

基于单片机的校园打铃系统设计方案 第1章绪论 校园打铃系统就是利用现代计算机、通讯等技术,以传统的铃声系统为基础,根据用户对铃声系统功能的要求,由单片机来控制、管理、播放的系统。 通过把播放的容以数字形式存放在存储器中,然后单片机通过控制软件,按照学校设定的播放时间和容控制单片机自动将存储器中的数字音乐文件播放出来。铃声控制系统整体由两部分组成:主控中心和终端电铃。主控中心以单片机为核心,包括控制电路、显示电路、键盘电路和存储电路。终端电铃为响应控制设备,通过其自身的控制系统可以获得清晰、响亮的声响。 单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到校园铃声和广播控制。单片机又称单片微控制器,是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词—“智能型”,如智能型洗衣机等。 本次设计是实现一个单片机的校园打铃系统,能过设置打铃时间,同时要求能够在系统掉电时,时间能够继续,数据能够保持,能够实现打铃。

第2章方案设计与论证 2.1 系统方案选择与比较 2.1.1 控制模块方案选择 校园打铃系统设计方案有多种,下面提出两种电路方案。 方案一:主要是由石英晶体振荡电路和分频器电路组成的脉冲发生器、校时电路、报时电路以及时、分、秒计数器和译码显示电路等电路组成,其中采用计数器74LS290、译码器74LS49、分频器和八段数码管显示器等器件组成的校园打铃系统,整个系统有控制简单,调试容易等优点,但是其显示功能单一、电路复杂。其组成方框图如下2-1所示: 图2-1 方案一组成方框图 方案二:采用ATC公司的单片机ATC89C51作为控制器。单片机运算能力强,软件编程灵活,自由度大。它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片资源上与标准8051单片机完全兼容,使用时容易掌握;采用ATC89S52单片机稳定可靠、应用广泛、通用性强。

基于51单片机的自动打铃机设计

单片机系统课程设计 课程设计名称:自动打铃器设计 专业班级:XXXX 学生姓名:XXXX 学号:XXXXXXXX 指导教师:XXX 课程设计地点:XXXX 课程设计时间:XXXXXXXXXX

单片机系统课程设计任务书学生姓名专业班 级 自动化学号 题目自动打铃器设计 课题性质工程设计课题来源老师拟定 指导老师XXX 主要内容(参数)基于89c51单片机可以实现以下功能: 1、根据自己需要设计打铃时间,到定时时间自动打铃。 2、8位LED动态显示,实现表24小时制计时和显示功能。 3、能设置当前时间 4、可以随时更改打铃时间 任务要求(进度)1、查阅有关资料,熟悉设计任务要求,确定设计方案,大概需要1——2天。 2、按照确定的方案设计单元电路,画出单元电路图,元件及元件参数的选择有依据,大概需要1——2天的时间 3、软件设计及编写程序,大概需要1——2天的时间。 4、实验室调试,需要1——2天。 5、撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理设计正确。 主要参考资料[1]张迎新.单片机原理、应用及接口技术[M].北京:国防工业出版社,2004 [2]李光飞.单片机课程设计实例[M].北京:北京航天航空大学出版社,2004 [3]周润景,袁伟婷,景晓松.Proteus在MCS-51系统中的应用[M].北京:电子工业出版社,2006 [4] 邓兴成.单片机原理与实践指导.北京:机械工业出版社,2010 [5] 阎石.数字电子技术基础.北京:高等教育出版社,2009 审查意见系(教研室)主任签字:年月日

目录 1概述 (5) 1.1研究背景 (5) 1.2设计思想及基本功能 (5) 2总体设计 (5) 2.1模块设计 (5) 2.2程序流程图 (5) 3硬件单元设计 (6) 3.1电路设计总原理图 (7) 3.2各模块电路设计 (7) 3.2.1键盘扫描模块 (7) 3.2.2时钟与复位模块 (8) 3.2.3显示模块 (8) 3.2.4响铃模块 (9) 4软件设计 (9) 4.1键盘扫描程序 (9) 4.2主程序 (10) 4.3显示程序 (13) 4.4响铃程序 (14) 5 总结 (17) 6参考文献 (17) 7附录 (18)

基于单片机自动打铃系统设计

目录 第一部分设计任务 (2) 1、毕业设计的主要任务 (2) 2、单片机总体设计思路 (2) 第二部分设计说明 (3) 1、单片机介绍 (3) 2、设计说明 (3) 3、软件设计 (8) 第三部分设计成果 (12) 1、开机运行图 (12) 2、自动打铃器源程序 (12) 第四部分结束语 (15) 第五部分致谢 (18) 第六部分参考文献 (19)

第一部分设计任务 1、毕业设计的主要任务 设计一个采用4位数码管显示时间秒、分、时,伴有调时校正电路,响铃控制则是通过作息时间表和定时器来实现自动打铃的单片机控制系统。 对于不同的季节,作息时间可能不同,可以制定多个作息时间表采用开关切换达到目的。 本设计采用了1个开关实现夏季和冬季作息时间的切换,完成一个自动循环。 2、单片机总体设计思路 (1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏。 (2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒。 (3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能。 (4)设计打铃执行机构,完成自动打铃功能。

第二部分设计说明 1、单片机介绍 本系统主要由主控模块,时钟模块,显示模块,键盘接口模块等4部分构成。通过内部定时产生中断,从而使驱动电铃打铃。设定51单片机工作在定时器工作方式1,每100ms产生一次中断,利用软件将基准100ms单元进行累加,当定时器产生10次中断就产生1S信号,这是秒单元加1。同理,对分单有采用动态扫描LED的显示。本系统采用四个按键,当时钟时间和设置时间一直时元和时单元计数从而产生秒、分、时的值,通过六位七段显示器进行显示。由于动态显示法需要数据所存等硬件,接口作,进行打铃,每次打铃30s较复杂,考虑显示只有六位,且系统没有其他浮躁的处理程序。 2、设计说明 2.1 AT89C51简介 一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2.1.2引脚说明 VCC:供电电压。 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口缓冲器可接收,

单片机设计电子打铃器

单片机课程设计 目录 摘要 (1) 引言 0 第一章设计简介及方案论述 (1) 第二章设计思路与方案 (1) 2.1单片机总体设计思路 (1) 2.2各功能模块程序实现原理分析 (2) 2.3 AT89C51单片机性能介绍 (2) 第三章电子打铃系统硬件设计 (5) 3.1系统主要硬件电路 (5) 3.3蜂鸣器驱动模块的硬件设计 (7) 第四章系统软件设计 (7) 4.1系统软件设计的主要内容 (8) 4.2主程序流程设计 (8) 第五章系统调试与测试结果分析 (10) 5.1系统调试 (10) 5.2调试现象及分析 (10) 5.3仿真结果 (10) 第六章、心得体会 (12) 参考文献: (12) 附录: (13)

单片机课程设计 摘要 本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。 关键词:AT89C51;数码管; LED

单片机课程设计 引言 本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文用AT89C51单片机设计的一个电子打铃系统。

单片机课程设计之自动打铃系统

单片机课程设计之自动打铃系统院系:电气与信息工程系 专业: 应用电子 班级: 电子092班 指导教师: 设计时间: 2010年11月05 日

摘要 本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89S52单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用AT89S52单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。 关键词:AT89S52;数码管; LED 目录 引言 (1) 第一章设计简介及方案论述 (1) 1.1 作息时间控制钟系统概述 (1) 1.2 本设计任务和主要内容 (1) 第二章系统硬件电路设计 (2) 2.1单片机总体设计思路 (2) 2.2 各功能模块程序实现原理分析 (2) 2.21 七段式数码管驱动模块 (2) 2.22 蜂鸣器驱动模块 (2) 2.23 按钮控制模块 (3) 2.3系统主要硬件电路 (5) 2.31 七段式数码管驱动模块的硬件设计 (6) 2.32 蜂鸣器驱动模块的硬件设计 (7) 第三章系统软件设计 (8)

3.1 系统软件设计的主要内容..........................................................................................83.2 系统软件设计的流程图 (8) 第四章系统调试与测试结果分析 (10) 4.1 系统调试 (10) 4.11 软件调试 (10) 4.12 硬件调试 (10) 第五章附录及参考文献 (12) 5.1 汇编程序清单 (12) 5.2 器材仪表 (34) 5.3参考资料 (34) 第六章设计总结 引言 本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握 单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用 领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子 系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子 系统中最重要的智能化的核心部件。 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域, 传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控 制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能 控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学

单片机打铃系统设计(完整)

目录前言 (1) 第1章方案比较与选择 (2) 1.1系统的比较与选................... ..... .... ......... (2) 1.2显示器的比较与选择 (2) 1.3时钟芯片的比较与选择 (2) 第2章系统框图 (3) 2.1系统框图 (3) 第3章原理分析 (4) 3.1 89C52简介 (4) 3.2键盘控制模块 (7) 3.3时钟电路模块............. ............. ............. ........... . (7) 3.4复位电路模块........... ........ ........... ................ .. (7) 3.5系统电源模块........ ........ ........... ................ ....... (8) 3.6液晶显示模块........ ........ ........... ................ ......... .. (8) 3.7打铃模块....... ........ . ......... .......... ................ .. (9) 3.8 ISP下载线接口....... ........ .......... .......... ............ . (9) 第4章系统软件设计 (10) 4.1软件调试 (11) 结论..................................................... .............13 致谢.................... .... .... .... .... (24) 参考文献....................... ..... ..... ..... .. (26)

单片机打铃系统设计(完整)

目录 前言 (1) 第1章方案比较与选择 (2) 1.1系统的比较与选................... ..... .... ......... (2) 1.2显示器的比较与选择 (2) 1.3时钟芯片的比较与选择................... . (2) 第2章系统框图 (3) 2.1系统框图 (3) 第3章原理分析 (4) 3.1 89C52简介 (4) 3.2键盘控制模块 (7) 3.3时钟电路模块............. ............. ............. ........... . (7) 3.4复位电路模块........... ........ ........... ................ .. (7) 3.5系统电源模块........ ........ ........... ................ ....... (8) 3.6液晶显示模块........ ........ ........... ................ ......... .. (8) 3.7打铃模块....... ........ . ......... .......... ................ .. (9) 3.8 ISP下载线接口....... ........ .......... .......... ............ . (9) 第4章系统软件设计 (10) 4.1软件调试 (11) 结论..................................................... . (13) 致谢.................... .... .... .... .... (24) 参考文献....................... ..... ..... ..... .. (26)

基于单片机的打铃系统设计

天津大学网络教育学院 专科毕业论文 题目:基于单片机的打铃系统设计 完成期限:2016年1月8日至 2016年4月20日 学习中心:嘉兴 专业名称:电气自动化技术 学生姓名:陆华 学生学号:132092433142 指导教师:刘伯颖

基于单片机的打铃系统设计 引言 随着科技的不断发展,各种芯片都得到了很好的发展,80C51 同样如此,从开始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭煲,电视等只要是电子产品,都会和芯片有关,其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.而这里要介绍的是用汇编语言来编程的一个系统,它能够让一个学校或企业集团实现打铃自动化,总之,一个需要时间系统的机构实现自动提醒功能。 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。而本文是用AT89C51单片机设计的一个自动打铃系统。

第一章设计方案论证 1.1 设计要求 它可以作为时钟电路来显示时间,进行设置,定时打铃。按照自顶向下设计方法划分自动打铃系统的功能。可分为:时间设置电路,计时电路,显示电路和定时打铃控制电路等。 以江苏信息职业技术学院的打铃情况设计 1.2 设计方案选择 1.2.1 方案一:数字电路设计的自动打铃系统 利用函数信号发生器来进行脉冲信号输出,利用74160N来设置十进制和六进制的进位输出。利用数码显示器来显示时间,利用或门、与门、非门、与非门、等电路元件进行组合实现打铃的控制。 1.2.2 方案二:基于单片机的自动打铃系统设计 单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,没产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。建立完一个实时时钟后接下来进行定时处理和打铃输出,当主程序检测到有分进位标志时,便开始比较当前时间与信息时间表上的作息时间是否相同,相同者,则进行报时处理并控制打铃,不相同则返回主程序。 1.2.3 方案确定 方案一的设计只能事先设定打铃时间不能完全自动打铃,且在修改打铃时间

相关文档
最新文档