单片机课程设计

发布 2022-10-04 21:58:28 阅读 1610

电子**。

院系:机电工程学院生物医学工程系。

班级:生物医学工程10级本(1)班。

姓名:张挺李晨旭。

学号:100615039 100615061

时间:2012年11月11日。

指导教师:王佑湖

前言。本设计的主要内容是用stc89c52单片机为核心控制元件,设计一个电子****器。以单片机作为主控核心,与点阵、led小灯、数码管、蜂鸣器等模块组成核心主控制模块。

关键词: 点阵,数码管,led小灯,蜂鸣器,电子**。

一、设计任务

1、本课程设计的主要功能:

1)用功能键**或转换歌曲,可**预存的电子**;

2)采用点阵和数码管显示信息,在****前显示歌曲序号;

3)8个led小灯在**歌曲前依次点亮表示**歌曲倒计时。

2、设计思路和内容。

设计从单片机最小系统的出发,由与单片机外部中断io口相连接的按钮开关产生外部中断,每进入外部中断就改变数码管的显示并启动定时1,利用单片机的定时器1控制点阵及8个led小灯的显示。在显示结束后,关闭定时器1,同时由定时器0和52单片机特有的定时器2分别控制蜂鸣器产生音阶和节拍。

二、 系统硬件设计及说明。

1、系统组成及总体框图。

硬件设计的任务是根据总体设计要求,在选定stc89c52单片机的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

该设计要实现由单片机控制点阵、数码管、led小灯显示和电子**的**,因为单片机没有足够的驱动能力,这就需要相应的驱动电路。

系统结构图如图1-1所示。

图1-1 系统结构图。

2、各模块电路设计。

1)单片机最小系统的建立(复位电路和时钟振荡电路的连接,如图2-1所示。)

图2-1 单片机最小系统电路图。

2)点阵电路设计。

点阵的行与列分别有由单片机的p2与p0来控制。但在p2口和点阵的连接之间应接入驱动电路,以满足点阵的正常显示功能。点阵的驱动主要由8个pnp型三极管9012提供,利用其对电流的放大作用,驱动点阵的每行上的8个发光二级管。

具体电路如图2-2所示。

图2-2 点阵的控制及驱动电路。

3)数码管电路设计

4位数码管是共阴极的,其a,b,c,d,e,f,g和。对应和p 1口的p1.0~p1.7连接,位的选择则由p3.4~p3.7控制。具体电路如图2-3所示。

图2-3 数码管控制电路。

4)led小灯电路设计。

8个 led小灯采用共阳极方式,驱动仍然由9012提供,但三极管的基极与单片机的p3.1连接,以实现小灯的总开关控制。本设计中led的阴极也与单片机的p0口相连接,实现led小灯的控制。

具体电路如图2-4所示。

图2-4 led小灯的控制与驱动电路。

5)外部中断触发按键和蜂鸣器电路设计。

图2-5 外部中断触发按键和蜂鸣器的控制及驱动电路图。

3、 总电路(如图3-1所示)

3-1 总电路图。

4、元件清单。

三、程序流程图:

四、具体程序:

#include<>

sbit speaker=p3^2;

sbit led=p3^1;

typedef unsigned char uint8;

typedef unsigned int uint16;

uint8 i=0,j=0,k=1,m=0,l=0,y=0,z=0,timers=0;

uint16 n=0;

code uint8 tone1=

code uint8 beat1=

code uint8 tone2=

code uint8 beat2=

code uint8 tone3=

code uint8 beat3=

code uint8 a=

code uint8 b=

code uint8 c=

void load_tone1()

if(tone1[i]==0)

th0=tone1[i];

tl0=tone1[i+1];

i=i+2;

tr0=1;

void load_tone2()

if(tone2[i]==0)

th0=tone2[i];

tl0=tone2[i+1];

i=i+2;

tr0=1;

void load_tone3()

if(tone3[i]==0)

th0=tone3[i];

tl0=tone3[i+1];

i=i+2;

tr0=1;

void load_beat1()

if(beat1[j]==0)

j=0;timers=beat1[j++]

tl2=0xdc;

th2=0x0b;

cp_rl2=1;

tr2=1;

void load_beat2()

if(beat2[j]==0)

j=0;timers=beat2[j++]

tl2=0xdc;

th2=0x0b;

cp_rl2=1;

tr2=1;

void load_beat3()

if(beat3[j]==0)

j=0;timers=beat3[j++]

tl2=0xdc;

th2=0x0b;

cp_rl2=1;

tr2=1;

void tone_int()interrupt 1

tr0=0;

speaker=~speaker;

switch(z)

tr0=1;

void beat_int()interrupt 5

tf2=0;

tr2=0;

timers--;

if(timers==0)

th2=0x0b;

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...