基于单片机的智能水平仪设计

基于单片机的智能水平仪设计
基于单片机的智能水平仪设计

摘要

电子水平仪是一种非常普遍的测量小角度的量具。用它可测量对于水平位置的倾斜度。基于传感器、数字信号处理、单片机技术的数字水平仪是当前倾角测试仪器数字化发展的方向。

本毕业设计就是采用STC89C52单片机和ADI公司生产的三轴加速度传感器ADXL345相结合,利用ADXL345三轴加速度传感器感应水平倾角,通过单片机的控制以及运算将倾角以数值的形式直接在LCD显示屏上进行显示、处理,从而使角度测量变得方便、快捷,实现了倾角的高精度测量。通过ADXL345三轴加速度传感器原理,提出了使用软件和硬件结合的自动校正技术进行测量角度,最大限度简化了电路,提高了系统的稳定性和可靠性。

通过对本课题的研究,让我对水平仪有了一定的了解,在未来水平仪将在建筑方面起着重要作用,并且随着时代发展,水平仪对角度的测量将越来越精细,随着光学应用领域的不断扩展,也相应的产生了一些基于光电原理的光电式水平仪和激光式水平仪,光电原理的应用将是未来水平仪的发展方向。

关键词:智能水平仪;单片机;ADXL345;角度

Abstract

Electronic level gauge is a very common small angle measurement. Measurement for the horizontal position of the inclination to use it. Based on the digital level sensor, digital signal processing, computer technology is the current development of digital instrument tilt testing instrument in the direction of.

This graduation design is the use of three axis accelerometer ADXL345 microcontroller STC89C52 and ADI company production of combination, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display,, so that the angle measuring is convenient, quick, realize high precision measurement of angle. The principle of the ADXL345 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliability of the system.

This graduation design is the use of three axis accelerometer ADXL345 microcontroller STC89C52 and ADI company production of combination, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display,, so that the angle measuring is convenient, quick, realize high precision measurement of angle. The principle of the ADXL345 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliability of the system.

Keywords: Intelligent level; MCU; ADXL345; angle

目录

1 绪论 (1)

1.1 课题研究背景和意义 (1)

1.2 国内外水平仪发展现状和趋势 (1)

1.3 系统设计的主要工作 (1)

1.4 论文结构及安排 (2)

2 三轴加速度传感器感应原理 (3)

2.1 ADXL345工作原理 (3)

2.2 ADXL345寄存器映射 (5)

2.3 ADXL345主要寄存器定义介绍 (6)

2.4 测量倾斜角度原理 (8)

2.4.1 加速度传感器进行倾角测量简介 (8)

2.4.2 ADXL345测量角度原理 (9)

3 水平仪总体设计 (12)

3.1 水平仪硬件设计 (12)

3.1.1 单片机模块 (13)

3.1.2 LCD液晶显示模块 (14)

3.1.3 ADXL345接口设计 (16)

3.1.4 ADXL345加速度传感器模块 (18)

3.2 水平仪软件设计 (20)

3.2.1 I2C总线协议分析 (21)

3.2.2 液晶显示驱动程序设计 (25)

3.2.3 ADXL345加速度传感器软件模块 (27)

3.2.4 ADXL345加速度传感器误差校准 (28)

4 实验数据及总结 (30)

结论 (33)

致谢 (34)

附录A 英文原文 (37)

附录B 汉语翻译 (41)

附录C 主程序 (44)

附录D 电路原理图 (55)

1 绪论

1.1 课题研究背景和意义

在高楼桥梁等建筑行业,对建筑物自身在水平面倾斜度的测量和处理,需要一个能连续工作几个月甚至一年以上采样进度很高的数字水平仪系统,这就要求该系统必须具有高精度微功耗的功能。水平仪从过去简单的气泡水平仪到现在的电子水平仪已经历经多次更新。电子水平仪是一种非常急需的测量小角度的量具。

随着精密制造技术的发展,已有的电子水平仪不能满足精度要求,国内数显式电子水平仪灵敏度,反应时间等与国外相比,差距较大。研究分辨率更高,性能更好的智能电子水平仪具有重要意义。

为了提高水平仪的测量精度,摆脱传统水平仪智能化程度低、数据处理能力差、抗震能力差等缺点,必须利用现代科技设计一种新的水平仪。基于MEMS传感器、数字信号处理、单片机的智能水平仪是今后水平仪的发展方向,可以应用于建筑、石油、煤矿和地质勘探等领域。本毕业设计将STC89C52单片机和ADI公司生产的三轴加速度传感器ADXL345相结合,实现了高精度数显智能水平仪的设计。

1.2 国内外水平仪发展现状和趋势

目前国内已有的水平仪不能很好的满足生产和应用的需求,国内电子水平仪的生产和研制能力与国外相比相对落后。尤其是存在着智能化程度不高,对数据缺乏处理能力,无法一次性测量出被测面倾斜角和方位角等缺点。近年来,国内在水平仪的研制开发方面取得了不少进展。国外蒸蒸日上,厂家繁多,种类齐全,速度越来越快,功耗越来越低,性能越来越强,国内除台湾做的比较好外,大陆也有几家具备研发和生产能力,如上海华虹、海尔等,只不过大陆产品占的市场份额太小了

1.3 系统设计的主要工作

本毕业设计的主要目标是利用单片机和三轴加速度传感器,设计一种高精度、大角度测量范围、实时显示、便携式的智能水平仪。该水平仪测量的角度显示在90o以内,并且能通过三个轴的加速度正负值,判断角度的倾斜方向,同时,由于本系统是基于

MEMS技术,因此即使在恶劣的现场工业环境中,仍能表现出优秀可靠的性能。

经过文献的翻阅和芯片资料的对比,选择了一套可行的方案。在硬件方面,可以用于测量倾角的芯片有三种类型,分别是ADXL345三轴加速度传感器、mma7455三轴加速度传感器、三轴陀螺仪。通过对比,ADXL345具备数字输出,高精度(3.9mg/LSB),误差小等优点,因此选择了ADXL345芯片作为测量倾角的传感器。同时选择了集成了单片机、LCD液晶显示屏和一些基本元件的开发板,减少设计的时间和复杂度。在软件方面,采用C语言在Keil软件中编程,使用I2C通信方式实现单片机和传感器的数据传输;利用数学方法推倒出的角度计算公式计算角度大小;最后经过实际测量角度,计算出传感器的测量误差,在偏移寄存器中进行校准。

1.4 论文结构及安排

本文将围绕设计一个完整的电容式传感器信号处理系统的过程展开,包括角度转换模块和数据处理模块。

本文主要内容如下:

第1章,绪论,阐述了选题背景和意义,分析了国内外相关技术的发展动态及研究现状,并对本论文的主要工作进行了介绍。

第2章,通过对角度转换中涉及的三轴加速度传感器以及数据处理中涉及的A/D转换、数码显示等各部分综合分析,确定本系统的总体方案,并给出系统总体结构框图,为后续设计做准备。

第3章,先简单介绍了智能水平仪的硬件设计、软件技术,并对其选型和性能进行分析。

第4章,设计结果实现,分析数据。

2 三轴加速度传感器感应原理

2.1 ADXL345工作原理

ADXL345是一款小而薄的超低功耗三轴加速度测量系统(如图2.1所示),分辨率高达13位,可选择的测量范围有±2g,±4g,±8g或±16g。数字输出数据格式为16位二进制补码。ADXL345非常适合应用在移动设备中,它既能测量运动或冲击导致的动态加速度,也能测量静止加速度,例如重力加速度,使得器件可作为倾斜传感器使用。其高分辨率(3.9mg/LSB)能够测量不到1.0o的倾斜角度变化。ADXL345的主要特性如下: 超低功耗:V s=2.5V时(典型值),测量模式下为23μA,待机模式下为0.1μA;

用户可以选择不同的量程和分辨率,±2g(10bit), ±4g(11bit), ±8g(12bit), ±16g(13bit);

(1)电源电压范围:2.0V至3.6V;I/O电压范围:1.7V至3.5V S;

(2)SPI模式(3线和4线)和I2C模式数字接口;

(3)通过串行命令可选测量范围和带宽;

(4)32级FIFO缓冲器;

(5)使用温度范围:-40℃至+85℃;

(6)抗冲击能力:10000g;

(7)小而薄:3mm*5mm*1mm,LGA封装;

(8)应用范围:手机、医疗仪器,工业仪器、仪表、个人导航设备等。

图2.1 ADXL345芯片

该加速度传感器提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生以及在各个轴上的加速度值是否超过

用户设置的阀值。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。芯片内部集成式存储器管理系统采用一个32级先进先出(FIFO)缓冲器,可用于存储32个X、Y和Z轴的数据样本集,从而将主机处理器负荷降至最低,并降低整体系统功耗。同时,低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阀值感测和运动加速度测量。

ADXL345为多晶硅表面微加工结构,置于晶圆顶部。由于应用加速度,多晶硅弹簧悬挂于晶圆表面的结构之上,提供力量阻力。差分电容由独立固定板和活动质量连接板组成,能对结构偏转进行测量。加速度使惯性质量偏转、差分电容失衡,从而传感器输出的幅度与加速度成正比。相敏解调用于确定加速度的幅度和极性。

ADXL345的工作原理是:首先有前端感应器感测加速度大小,然后感应电信号器件将它转换成可识别的电信号,此时的信号还是模拟信号。在芯片内部集成了AD转化器,因此模拟信号经过转化器变为数字信号输出。与计算机系统数字信号输出类似,AD 转换器输出的也是16位的二进制补码。数字信号经过数字滤波器的滤波处理后,在控制和中断逻辑单元的控制下访问32级FIFO,单片机通过串行接口读取三个轴的加速度数据。单片机通过对寄存器的操作,发送对串口的读写命令实现对ADXL345的控制。芯片内部的功能框图如图2.2所示。

图2.2 ADXL345芯片功能框图

2.2 ADXL345寄存器映射

表2.1 寄存器映射

地址

名称类型复位值描述十六进制十进制

0x00 0 DEVID R 11100101 器件ID

0x01-0x1C 1-28 保留- - 保留不操作0x1D 29 THRESH_TAP R/W00000000 敲击阈值

0x1E 30 OFSX R/W00000000 X轴偏移

0x1F 31 OFSY R/W00000000 Y轴偏移

0x20 32 OFSZ R/W00000000 Z轴偏移

0x21 33 DUR R/W00000000 敲击持续时间0x22 34 Latent R/W00000000 敲击延迟

0x23 35 Window R/W00000000 敲击窗口

0x24 36 THRESH_ACT R/W00000000 活动阈值

0x25 37 THRESH_INACT R/W00000000 静止阈值

0x26 38 TIME_INACT R/W00000000 静止时间

0x27 39 ACT_INACT_CTL R/W00000000 轴使能控制活动和静止检测

0x28 40 THRESH_FF R/W00000000 自由落体阈值0x29 41 TIME_FF R/W00000000 自由落体时间

0x2A 42 TAP_AXES R/W00000000 单击/双击轴控制

0x2B 43 ACT_TAP_STATUS R 00001010 单击/双击源

0x2C 44 BW_RATE R/W00000000 数据速率及功率模式控制

0x2D 45 POWER_CTL R/W00000000 省电特性控制0x2E 46 INT_ENABLE R/W00000000 中断使能控制

ADXL345共有30个寄存器(如表2.1所示),其中包括29个功能寄存器和1个识别设备标识的只读寄存器DEVID的,地址分别为0x1D至0x39和0x00。单片机对ADXL345的控制操作主要是通过对其寄存器的读写来实现的,在访问寄存器之前要先发送一个字节的读写地址信息。第7位是操作类型位,“1”表示读操作,“0”表示写操作;第6位是读写类型位,“1”表示多值读写,“0”表示单值读写。字节第5位至第1位是寄存器地址,根据需要可以选择30个寄存器中的任意一个进行读写操作,实现对加速度传感器的初始化和不同功能的控制。

2.3 ADXL345主要寄存器定义介绍

寄存器OFSX、OFSY、OFSZ(0x1E、0x1F、0x20)都是8位寄存器,在二进制补码格式中提供用户设置偏移调整,比例因子为15.6mg/LSB。通过实际测量,确定各个轴平均的偏移量,储存在这三个寄存器中,然后偏移寄存器的存储值会自动添加到加速度数据上,结果值存储在输出数据寄存器中。

速率位(0x2C)能选择器件带宽和输出数据速率,如表2.2所示。默认值为0x0A,转换后为100Hz的输出数据速率。在本毕业设计中,选择了适合I2C通信协议和频率的输出数据速率12.5Hz,十六进制为0x08,若选择太高的输出数据速率和过低的通信速度会导致采样的丢失,数据传输失败。

FIFO_CTL,设置缓存器具体的工作模式,比如Bypass、FIFO、Stream、Trigger 模式,各种模式区别如下:在Bypass 模式中,FIFO 缓存器是退化的,仅FIFO[0]存储一次采样结果,无论是否被读取,新数据到来时将旧数据覆盖;在FIFO 模式中,FIFO 缓存器不停地收集数据直到缓存器满,此时如果没有及时读数据,新到样本数据将被丢弃,而当FIFO 被读取后,它将继续收集新到数据;在Stream 模式中,FIFO 缓存器不停地收集数据,当缓存器满,自动丢弃FIFO[0],其他样本值向前移位填充,最新数据填入FIFO[31];在Trigger 模式中,FIFO 开始工作与Stream 模式类似,收集样本值直到FIFO 缓存器满,然后丢弃最旧的数据,一旦触发事件发生(由FIFO_CTL 寄存器中TRIG_SOURCE 位所定义),FIFO 将保留最后n 采样值(其中n 在FIFO_CTL 寄存器中指定),然后像FIFO 模式一样运行,即FIFO 不满时,继续收集新的样本值。

表2.2 输出数据速率

输出数据速率(Hz)带宽(Hz)速率代码I DD(μA)

3200 1600 1111 140

1600 800 1110 90

800 400 1101 140

400 200 1100 140

200 100 1011 140

100 50 1010 140

50 25 1001 90

25 12.5 1000 60

12.5 6.25 0111 50

6.25 3.13 0110 45

3.13 1.56 0101 40

1.56 0.78 0100 34

0.78 0.39 0011 23

0.39 0.2 0010 23

0.2 0.1 0001 23

0.1 0.05 0000 23

寄存器INT_ENABLE(0x2E)字节格式如表2.3所示。寄存器设置位值为1,使能相应功能,生成中断;设置为0时,阻止这些功能产生中断。DATA_READY位、水印位和溢出位仅使能中断输出;这些功能总是处于使能状态,在本毕业设计中,在其输出前进行了中断配置,然后读取寄存器内部数据。

表2.3 寄存器INT_ENABLE字节格式

D7 D6 D5 D4

DATA_READY SINGLE_TAP DOUBLE_TAP Activity

D3 D2 D1 D0

Inactivity FREE_FALL Watermark Overrun

范围位(0x31)可以设置g范围,如表2.4所述。在本设计中,选择了±16g范围,全分辨率13位。

表2.4 范围设置

设置

g范围

D1 D0

0 0 ±2g

0 1 ±4g

1 0 ±8g

1 1 ±16g

寄存器DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1(0x32至0x37)都是8位字节,保存各个轴的输出数据。寄存器0x32和0x33保存x轴输出数据,寄存器0x34和0x35保存y轴输出数据,寄存器0x36和0x37保存z轴输出数据。输出数据为二进制补码,DATAx0为最低有效字节,DATAx1为最高有效字节,其中x可代表X、Y或Z。DATA_ FORMAT寄存器(地址0x31)控制数据格式。在本设计中所有寄存器都执行多字节读取,防止相继寄存器读取之间的数据变化。

2.4 测量倾斜角度原理

2.4.1 加速度传感器进行倾角测量简介

目前常用的确定平面系统倾斜的方法是对陀螺仪的输出求积分。尽管这种方法简单明了。但随着积分周期的增加,与零偏稳定性相关的误差也可能快速增大,即使当器件处于静止状态时也可能导致明显的旋转。在某些净加速度或者重力加速度的应用中,可以利用加速度传感器来测量静态倾斜角,这样克服了陀螺仪的缺点。目前加速度传感器测量角度的方法广泛应用于数码相机水平检测,以及工业和医学应用中检测器件方向等。

利用加速度传感器进行倾斜检测的基本假设是:加速度只与重力相关。实际上,可以对信号输出进行信号处理,以消除其中的高频组分,因而可以接受一定的交流加速度。

倾斜角度检测是利用重力矢量及其在轴上的投影来确定倾斜角由于重力是直流加速度,因此任何额外加入的直流加速度都会破坏输出信号并且导致计算错误。造成直流加速度的因素包括车辆以恒定速率加速时的时间,以及在加速度传感器上导致向心加速度的旋转器件。另外,当目标轴上的重力投影发生变化时,通过重力旋转加速度会导致

明显的交流加速度。在计算角度之前对加速度信号进行的任何过滤都会影响输出达到新静态值的速度。综上所述,在本毕业设计中,测量平面倾斜角度时,要让加速度传感器在平面上保持一段时间的静止,以保证角度测量的准确性。

下面来介绍下ADXL345三轴加速度传感器通过X、Y、Z轴上的重力加速度换算成倾斜角的基本原理。

2.4.2 ADXL345测量角度原理

通过ADXL345测量出X、Y、Z轴上的重力加速度分量大小,分别能得到X轴与水平面的夹角α,Y轴与水平面的夹角β,Z轴与水平面的夹角δ。设X轴的加速度分量为Ax,Y轴的加速度分量为Ay,Z轴的加速度分量为Az。对重力进行力学分析可得如下公式:

αs i n

α

Ax=

-

= (2.1)

g

)

*g

*

90

cos(

βs i n

β

g

Ay=

-

= (2.2)

cos(

*g

*

)

90

δ

δc o s

γ

g

Az=

=

= (2.3)

-

g

cos(

s i n

*g

*

*

)

90

图2.3 水平仪的测量数学模型示图

水平仪测量倾角的数学模型如图2.3所示。如图所示,DA代表X轴,DB代表Y 轴,DG代表Z轴,DA⊥DB,假设X轴与水平面的夹角为α,Y轴与水平面的夹角为β,X轴与Y轴所组成的平面DAB与水平面的夹角为γ。过D点做水平面的垂线,垂足为点E,那么∠DAE=α。∠DBE=β。过E点做AB的垂线与AB交于C点,由立体几何知识可知∠DCE就是平面EAB与水平面的夹角γ,即使水平仪要测量并显示的角度。下面

是推导α、β、γ之间关系的过程,假设DE=1,由DE ⊥AE ,DE ⊥BE 可知:

αs i n 1=DA βs i n 1=DB (2.4) 因为△ADB 为直角三角形,所以:

2

22DB DA AB += (2.5)

将AB 代入式(2)得:

22*DB DA DB

DA DC += (2.6)

又因为△DEC 为一直角三角形,所以可得: 2

21

11

s i n DB DA DC

DC DE +

===γ (2.7) 将式(1)代入式(5)得:

2

2s i n s i n s i n βαγ+= (2.8) 因为g Ax =αsin ,g Ay =βsin ,所以: 22

22

sin g

Ay g Ax +=γ (2.9) 由g Az =γcos ,推出:

Az

Ay Ax 2

2tan +=

γ (2.10)

即可得出被测面与水平面间的夹角γ:

)a r c t a n (2

2Az

Ay Ax +=γ (2.11)

由图2.4.1的数学模型可知,角γ就是加速度传感器Z 轴与自然坐标系Z 轴间夹角。同理可得,加速度传感器X 轴与自然坐标系X 轴的夹角α为:

)a r c t a n (22Az Ay Ax +=α (2.12)

加速度传感器Y 轴与自然坐标系Y 轴的夹角β为:

)a r c t a n (22Az

Ax Ay

+=β (2.13)

综上分析,因为单片机能计算简单的反三角函数,所以在程序中利用公式(2.10)就能计算出需要的倾斜角度(弧度值),再将其进行转化就能显示直观的角度值。在该

毕业设计中,为了方便读数,无论Z轴的加速度值是正还是负,都将γ的值取在0o-90o之间。

3 水平仪总体设计

电子水平仪的测量系统主要由单片机、ADXL345三轴加速度传感器、数码显示屏以及电源四部分构成。进行测量时,水平仪发生微小倾斜,传感器的相对位置发生改变,按照测量算法就可得到倾斜角,结果通过LED数码显示屏显示出来。

ADXL345传感

器单片机LED显示屏电源

角度测量模块角度运算模块

图3.1 水平仪系统设计原理框图

本设计在选用传感器方面,对比了三种,最终使用了误差小,精度高的ADXL345三轴加速度传感器,选择了ADXL345芯片作为测量倾角的传感器。在单片机方面最后使用了STC89C52单片机,以及液晶12864LED显示屏共同完成本设计。

3.1 水平仪硬件设计

通过上述几章的分析,在了解了ADXL345的基本工作原理之后,开始进行智能水平仪的硬件设计。根据设计需要确定各部分器件的选型,购买合适的电路板,熟悉原理图之后进行连线测试工作。

硬件是一套系统的“躯体”,是系统能够成功运行的基础,没有一个稳定而且可靠的硬件系统,就无法保证系统的稳定运行。硬件设计的主要任务是根据总体设计所确定方案的要求,选择符合设计指标所要求功能、精度、处理速度并且价格合理的器件,并在所选用元器件的基础之上确定系统硬件扩展所需用到的I/O 接口电路以及外围设备电路,然后设计系统的原理图,根据原理图设计PCB电路图,完成元器件的焊接和电气

特性测试。在该毕业设计中,我选择了购买已经设计好的模块来实现需要的功能。但是无论是硬件的设计还是选购都要遵循如下原则:

(1)尽可能选择典型电路,并符合单片机的常规用法[9],为硬件系统的常规化和模块化打下良好的基础。同时硬件系统的设计应充分满足系统的功能要求,并留有适当余地,以便进行二次开发。

(2)硬件设计应结合软件方案一并考虑。在进行总体设计时,系统的整套方案应了如指掌,充分考虑软硬件的相互配合和相互影响。在不影响系统实时性的情况下,能够由软件实现的功能尽量由软件实现,这样可以简化硬件结构、节约硬件成本。

(3)系统中的相关器件要尽可能做到性能匹配。如选用芯片,单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品;选用处理速度较快的处理器时,系统中相关芯片都应尽量选择处理能力相近的芯片。

(4)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。根据设计的需要,将智能水平仪的硬件部分分为3个模块:显示模块、单片机模块、ADXL345加速度传感器模块。整个系统的硬件框图如图3.2所示。

图3.2 系统硬件框图

3.1.1 单片机模块

单片机是本系统的核心部分,在这个模块中包括了单片机芯片、电源电路、复位电路、继电器电路、串行口通信电平转换电路、键盘电路、数码管电路和液晶显示电路,如图3.3所示。电源电路为整个系统提供稳定的5V直流电,保证系统正常工作。串行口通信电平转换电路既能实现单片机与计算机间的全双工通信,又能用于与其它单片机

通信,同时方便计算机中的程序烧写进单片机。单片机的串行口具有两条独立的数据线:发送端TXD和接收端RXD,它允许数据同时往两个相反的方向传输。一般通信时发送数据由TXD端输出,接收数据由RXD端输入。

图3.3 单片机硬件模块

3.1.2 LCD液晶显示模块

为了使显示效果更好,本毕业设计选择了带中文字库的点阵液晶显示屏FYD12864-0402B。该液晶屏支持4位/8位并行、2线或3线串行多种接口方式,内置8192个16*16点汉字和128个16*8点ASCII字符集,显示分辨率为128*64。灵活的接口方式和简单、方便的操作指令是12864显示屏的优点,其基本特征如下:

(1)低电源电压(V DD为3.0V至5.5V);

(2)显示分辨率:128*64;

(3)2MHz时钟频率;

(4)驱动方式:1/32DUTY、1/5BIAS;

(5)内置DC—CD转换电路,无需外加负压

(6)工作温度:0℃—+55℃,存储温度:-20℃—+60℃;

(7)背光方式:侧部高亮白色LED,功率仅为普通LED的1/5—1/10。

12864液晶显示屏总共有20个管脚,根据表3.1的管脚功能描述,选择并行接口模式,设计液晶屏与单片机连接的电路图,如图3.4所示。DB0—DB7管脚连接到单片机的P0.0—P0.7I/O接口,传输数据。RS管脚连接到单片机的P1.0端口,R/W管脚接到

P1.1,EN管脚接到P1.2端口,改变三者的高低电平状态实现读写不同的功能。

表3.1 并行接口管脚信号

管脚号管脚名称电平管脚功能描述

1 VSS 0V 电源地

2 VCC 3.0-5V 电源正

3 V0 - 对比度调整

4 RS(CS) H/L RS=1,表示DB7—DB0为显示数据;RS=0,表示DB7—DB0为显示指令

数据;

5 R/W(SID) H/L

R/W=1,E=1,数据被读到

DB7—DB0;R/W=0,E=1→0,DB7—DB0的数据被写到IR或DR

6 E(SCLK) H/L 使能信号

7 DB0 H/L 三态数据线

8 DB1 H/L 三态数据线

9 DB2 H/L 三态数据线

10 DB3 H/L 三态数据线

11 DB4 H/L 三态数据线

12 DB5 H/L 三态数据线

13 DB6 H/L 三态数据线

14 DB7 H/L 三态数据线

15 PSB H/L 1:8位或4位并口方式,0:串口方

16 NC - 空脚

17 /RESET H/L 复位端,低电平有效

18 VOUT - LCD驱动电压输出端

19 A VDD 背光源正端

20 K VSS 背光源负端

图3.4 12864液晶屏模块电路图

3.1.3 ADXL345接口设计

DXL345为用户提供SPI和I2C两种与单片机通信的方式。在这两种方式下ADXL345都是作为从机运行。在该毕业设计中,采集三个轴的加速度数据和对其进行控制操作都是通过I2C方式来完成的。下面分别介绍下这两种通信方式。

(1)SPI通信接口设计

SPI(Serial Peripheral Interface)即串行外围设备接口,是Motorola首先在其处理器上推出的同步接口技术。每个SPI系统由一个主机,一个或者多个从机构成。主机是微控制器,提供SPI时钟信号;从机是接受SPI信号的集成电路,如ADXL345传感器。SPI模式可配置成3线或4线方式,4条线分别为SDI(数据输入)、SDO(数据输出)、SCLK(时钟)和CS(片选)。连线方式如图3.5和图3.6所示。

单片机课程设计大纲

单片机原理及应用课程设计教学大纲 课程设计名称:单片机原理及应用课程设计编号:E1010020 课程设计学分:2.0 课程设计周(时)数:2周课程设计授课单位:测控技术及仪器指导方式: 集体辅导与个别辅导相结合课程设计适用专业:测控技术与仪器、自动化、电气工程及其自动化 课程设计教材及主要参考资料: 《单片机原理及应用》,张毅刚,高等教育出版社,2004年, 《单片机教程》,蔡惟铮编,东北大学出版社,2001年, 服务课程名称:单片机原理服务课程编号:T1010020 服务课程讲课学时:40 服务课程学分:2.5 一、课程设计教学目的及基本要求 1.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 2.提高综合运用所学的理论知识独立分析和解决问题的能力。 3.掌握汇编语言的设计和调试。 4. 掌握C-51语言的设计和调试。 二、课程设计内容及安排 1.掌握各种进制数的特点及其转换方法。 2.掌握MCS-51单片机的硬件结构的特点,详细了解MCS-51单片机的各种资源。 3.了解单片机的指令系统、指令格式及其意义。 4.理解中断的基本概念,了解单片机的中断响应。 5.掌握存储器的分类,熟练掌握存储器的扩展。 6.了解单片机的接口技术及其串行通讯方式。 7.编写课程设计报告,掌握汇编语言的设计和调试方法。 设计题目: 1.交通灯控制系统 实验目的:(1)学习输出口的使用方法;(2)学习延时子程序的编写;(3)交通灯的控制规律 实验要求:设计并且制作交通灯控制系统,编制控制系统监控软件;交通灯控制软件,要求以单片机为核心,P1口输出口接三只发光二极管(红绿黄), 编写程序,使发光二极管按交通灯的控制规律点亮。 思考问题:改变延时常数,使发光二极管闪亮时间改变。红绿灯不允许同时点亮,红绿灯交换时黄灯闪烁,考虑车流量情况,改变交通灯指挥状况,单路 口/多路口情况,寻求最佳交通流量。

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

单片机课程设计(温度控制系统)

温度控制系统设计 题目: 基于51单片机的温度控制系统设计姓名: 学院: 电气工程与自动化学院 专业: 电气工程及其自动化 班级: 学号: 指导教师:

2015年5月31日 摘要: (3) 一、系统设计 (3) 1.1 项目概要 (3) 1.2设计任务和要求: (4) 二、硬件设计 (4) 2.1 硬件设计概要 (4) 2.2 信息处理模块 (4) 2.3 温度采集模块 (5) 2.3.1传感器DS18b20简介 (5) 2.3.2实验模拟电路图 (7) 2.3.3程序流程图 (6) 2.4控制调节模块 (9) 2.4.1升温调节系统 (9) 2.4.2温度上下限调节系统 (8) 2.43报警电路系统 (9) 2.5显示模块 (12) 三、两周实习总结 (13) 四、参考文献 (13) 五、附录 (15)

5.1原理图 (15) 摘要: 在现代工业生产中,温度是常用的测量被控因素。本设计是基于51单片机控制,将DS18B20温度传感器实时温度转化,并通过1602液晶对温度实行实时显示,并通过加热片(PWM波,改变其占空比)加热与步进电机降温逐次逼近的方式,将温度保持在设定温度,通过按键调节温度报警区域,实现对温度在0℃-99℃控制的自动化。实验结果表明此结构完全可行,温度偏差可达0.1℃以内。 关键字:AT89C51单片机;温控;DS18b20 一、系统设计 1.1 项目概要 温度控制系统无论是工业生产过程,还是日常生活都起着非常重要的作用,过低或过高的温度环境不仅是一种资源的浪费,同时也会对机器和工作人员的寿命产生严重影响,极有可能造成严重的经济财产损失,给生活生产带来许多利的因素,基于AT89C51的单片机温度控制系统与传统的温度控制相比具有操作方便、价价格便宜、精确度高和开展容易等优点,因此市场前景好。

本科毕业设计--基于51单片机的电子日历设计

成都电子机械高等专科学校成教院毕业设计(论文) 论文题目:基于51单片机的电子日历设计 教学点:重庆科创职业学院 指导老师:张忠雨职称:讲师 学生姓名:聂燕学号: 2011700558 专业:应用电子技术 成都电子机械高等专科学校成教院制 2012 年 3 月 9 日

成都电子机械高等专科学校成教院毕业设计(论文)任务书 题目:基于51单片机的电子日历设计 任务与要求: 通过单片机设计电子日历数码管正常显示阳历、阴历日期,显示的格式为年-月-日,利用外部按键的操作实现阳历和阴历之间的 转换,实现阴历和阳历显示的暂停、运行等功能。 时间:2011年12月15日至2012 年3月15日共12 周教学点:重庆科创职业学院 学生姓名:聂燕学号:2011700558 专业:应用电子技术 指导单位或教研室: 指导教师:张忠雨职称:讲师 成都电子机械高等专科学校成教院制

毕业设计(论文)进度计划表

摘要 设计以单片机AT89C51为核心部件的电子日历,利用74LS245作为驱动器,74LS138作为译码器使用,六个七段数码管均采用共阴极的方式,P0口作为段选码输出口,P2口作为位选码输出口。 本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。 本次设计可分为两部分:硬件系统、软件系统。 硬件系统包括:AT89S51单片机、74LS245驱动器、74LS138译码器、RC复位电路、+5V直流电源电路、去抖电路、动态显示扫描电路。 软件系统主要有单片机的编程构成。 关键词:单片机,日历,位码,段码,显示

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

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

单片机课程设计题目

《单片机原理与应用》课程设计题目 1.基于单片机的电子秒表 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。 要求按键输入采用中断方式,按键A接INT0,按键B接INT1。 2.智能电动百叶窗 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。 设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。 按键输入采用中断方式,按键中断请求信号接INT0. 单片机根据设定光强S1和S2(S2 > S1)和实测光强P控制电机M的动作:当P<=S1时,控制M正转以增加进光量; 当P>S2时,控制M反转以减少进光量; 当S1S+1时,控制R断开电加热回路; 当S-1

基于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 按键控制模块

单片机最小系统课程设计

目录 摘要............................................................................................................................................................. I ABSTRACT .....................................................................................................................................................II 第1章绪论 . (1) 1.1 单片机的概述 (1) 1.2 单片机的基本结构 (1) 第2章单片机最小系统介绍 (4) 2.1单片机最小系统电路介绍 (4) 2.2电路设计方案 (4) 第3章单片机最小系统的硬件设计 (7) 3.1硬件原理图 (7) 3.2系统各组成模块介绍 (8) 3.2.1 振荡电路 (8) 3.2.2 电源电路 (7) 3.2.3 程序下载电路 (9) 3.2.4 外存储电路 (10) 3.2.5 数码管显示电路和矩阵键盘电路 (11) 3.2.6 液晶显示电路 (12) 3.2.7 复位电路 (13) 第4章安装与调试 (15) 4.1调试方法和结果 (15) 4.1.1电源部分安装调试 (15) 4.1.2 STC89C52单片机最小化系统主控制部分安装调试 (15) 4.1.3 程序下载部分电路安装调试 (16) 4.1.4 外存储电路调试 (16) 4.1.5 数码管显示电路和键盘电路调试 (16) 总结和体会 (17) 致谢 (18) 参考文献 (19) 附录 (20)

基于51单片机-数字秒毕业设计

物理与电子工程学院 《数字式秒表》 课程设计报告书 设计题目:数字式秒表 专业:自动化 班级:xxx 接本 学生姓名: xxxx 学号:201xx343xxx 指导教师:xxxxx 2015年6 月14 日

物理与电子工程学院课程设计任务书

摘要 数字式秒表是一种用数字电路技术实现时、分、秒计时的装置,无机械装置,具有较长的使用寿命,因此得到了广泛的使用。数字式秒表从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。本次实验所做数字式秒表由信号发生系统和计时系统构成。由于需要比较稳定的信号,所以信号发生系统555定时器与电阻和电容组成的多谐振荡器构成,信号频率为100HZ。计时系统由计数器、译码器、显示器组成。计数器由74 LS160构成,由十进制计数器组成了一百进制和六十进制计数器,采用异步进位方式。译码器由74LS48构成,显示器由数码管构成。具体过程为:由晶体震荡器产生100HZ脉冲信号,传入计数系统,先进入计数器,然后传入译码器,将4位信号转化为数码管可显示的7位信号,结果以“秒”、“毫秒”依次在数码管显示出来。该秒表最大计时值为9.9秒。 关键词:数字式秒表;计时;精度;计数器;显示器

目录 1 设计目的 (1) 1.1 设计目的 (1) 1.2 设计内容和要求 (1) 1.3 设计思路 (1) 2 设计原理分析 (1) 2.1 十秒秒表系统设计 (1) 2.2 十秒秒表系统的功能要求 (1) 2.3 十秒秒表系统的基本构成及原理 (2) 3 系统硬件电路的设计 (4) 3.1 系统硬件总电路构成及原理 (4) 3.2 主控制部分――AT89C51单片机简介 (4) 3.3 其它器件 (6) 3.4 十秒秒表系统原理图 (7) 3.5 运行步骤 (7) 4 系统软件程序的简单设计 (8) 4.1 程序框图 (8) 4.2仿真结果图 (9) 总结 (11) 参考文献 (12) 附录 (13)

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

单片机课程设计题目汇总(全)

单片机原理与接口技术课程设计题目汇总 说明:为便于同学提前探讨开发思路,特将本课程设计的可选题目发给大家。 每个同学可以在以下题目中选一题要求:课程设计考核内容包括:源程序;设计报告文档基于单片机的电子时钟设计设计内容:1、用LCD液晶作为显示设备(30分) 2、可以分别设定小时,分钟和秒,复位后时间为:00: 00:00 (30 分) 3、能实现日期的设置,年、月、日(30分) 4、其他创新内容(10分)如:闹钟功能;显示星期;整点音乐报时等。 图示: 2010-04-09 MON 11:06:42 基于单片机的交通灯显示系统(一) 设计内容:1、东西方向、南北方向均有红、黄、绿三种信号灯;(30 分) 2、带紧急制动按钮,按钮按下,所有方向亮红灯;再次按下,恢复正常显 示(20分) 3、夜间模式按钮按下,所有方向显示黄灯闪烁(20分) 4、实时提醒绿灯亮的剩余时间(30分)图示: 基于单片机的交通灯显示系统(二) 设计内容:1、东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒(40分) 2、信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒 钟。(30分) 3、东西干道和南北干道交替控制,每次干道绿灯交替时,有 3 秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过。(30分)

4、其他创新内容。(10分) 图示: 四、基于单片机的波形发生器设计 设计内容:1、设计一款能产生3种以上波形的波形发生器(30分) 2、设计波形选择按钮(采用3个独立按键)(10分) 3、点阵显示波形图案(20分) 4、能同时输出两种波形(30分) 5、显示频率(10分) 图示: 五、基于单片机的LED点阵广告牌设计 设计内容:1、能显示不同字符、图形的LED点阵广告牌(30分) 2、用独立按键控制不同字符的切换效果(如闪烁、静止、平移)(30 分) 3、可通过串口从电脑下载更新需要显示的字符(30分) 4、其他创新功能(10分) 图示:略 六、基于单片机的篮球计分器设计 设计内容:1、设计LCD显示篮球比分牌(30分) 2、通过加分按钮可以给A队或B队加分(20分) 3、设计对调功能,A队和B队分数互换,意味着中场交换场地。(20 分) 4、显示比赛倒计时功能(20分) 5、创新内容:如显示第几小节(10分) 显示: A 083: B 079 4th Period 10:25

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

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

51单片机毕业设计论文

1.1核心芯片8051单片机 (2) 1.2 ADC0809转换芯片 (5) 1.2.1 ADC0809的逻辑结构 (5) 1.2.2 ADC0809 的通道选择 (6) 1.2.3 ADC0809的引脚图及各引脚作用 (6) 1.3 MC14499芯片 (8) 1.3.1.MC14499的结构及功能介绍 (8) 1.3.2 MC14499在单片机中的应用 (10) 1.4 74LS373芯片 (13) 1.5 LED数码管 (15) 1.5.1 LED数码管显示器的结构 (15) 1.5.2 LED数码管显示器的显示段码 (17) 1.5.3 LED显示器的参数 (18) 1.6 X25045 (18) 2 系统硬件设计 (20) 2.1系统设计原理和系统框图 (21) 2.1.1设计原理 (21) 2.1.2系统框图 (21) 2.2液位传感器设计 (22) 2.2.1 传感器原理 (22) 2.2.2 传感器的组成 (22) 2.2.3 测量原理 (23) 2.2.4 将电容转化成电信号部分 (24) 2.2.5 电信号放大电路设计 (25) 2.3 A/D0809模数转换 (25) 2.4 显示电路的设计 (27) 2.5 键盘电路 (29) 2.5.1矩阵式键盘的工作原理 (30) 2.5.2 硬件电路设计及电路图 (30) 2.6 继电器控制水泵加水电路 (31) 2.7 报警电路 (32) 2.8 电源电路 (33) 2.8.1 直流电源电路 (33) 2.8.2 备用电源切换电路 (34) 2.9看门狗电路 (35) 3 系统软件的设计 (38) 3.1 软件设计流程图 (38) 3.2矩阵键盘程序设计 (40) 3.2.1 程序设计内容 (40) 3.2.2系统程序 (40) 3.3 ADC0809模数转换流程图 (42) 4 结论 (45) 附录A (46)

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

单片机课程设计_排队叫号系统设计

单片机系统 课程设计 成绩评定表 设计课题排队叫号系统设计 学院名称:电气工程学院 专业班级: 学生姓名: 学号: 指导教师: 设计地点: 设计时间: 指导教师意见: 成绩: 签名:年月日

单片机系统课程设计 课程设计名称:排队叫号系统设计 专业班级: 学生姓名: 学号: 指导教师: 课程设计地点: 课程设计时间: 单片机系统课程设计任务书

学生姓名专业班级学号 题目 课题性质工程设计课题来源选题指导教师 主要内容(参数) 利用排队叫号系统,实现以下功能: 1、取票:顾客取一张号票吗,上面有号码、等候人数、时间等 2、休息等待:持号票在休息区休息并留意显示屏音箱叫号 3、按键叫号:工作人员办完一笔业务后按下叫号器上的下一位按钮 4、前去办理:叫号时根据显示屏音箱的信息到指定位置享受一对一的服务。 任务要求(进度) 第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。 第5-6天:软件设计,编写程序。 第7-8天:实验室调试。 第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。 主要参考资料[1] 康万新.毕业设计指导及案例剖析—应用电子技术方向[M].北京:清华大学出版社,2007. [2] 杨连国.医院智能排队叫号系统的设计与实现[D].南京:东南大学,2006. [3] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004. 审查意见 系(教研室)主任签字:年月日

(完整版)基于51单片机简易计算器的设计毕业设计

本科毕业论文 题目:基于51单片机简易计算器的设计 院(系):物理与电子工程学院 专业:应用物理学 学生姓名:王彬 指导教师:王强 职称:

2014年11月5日 目录 摘要 (1) 关键字 (1) 引言 (1) 1、单片机及其应用 (2) 1.1 单片机介绍 (2) 1.2 单片机应用 (2) 1.3 AT89C51单片机 (3) 2、LCD1602和74LS08的工作理 (7) 2.1 选取LCD1602 ……………………………………………………… 2.2 LCD1602的功能和指令现………………………………………………… 2.3 74LS08的功能………………………………………… 3、系统实现模块框 架…………………………………………………………… 3.1 硬件设计电路框 图……………………………………………………… 3.2 实现原理框

图…………………………………………………………… 4、硬件设计及仿真…………………………………………………………… 4.1 晶振、复位电路的设 计………………………………………………… 4.2 按键电路的设计……………………………………………… 4.3 LCD1602显示电路的设计………………………………………… 5、软件设计…………………………………………………………… 6、总结…………………………………………………………… 7、参考文献…………………………………………………………… 8、附件…………………………………………………………… 摘要:简易计算器在人们的生活中应用极为广泛,由于它主要进行一些简单的运算,适用性强,并且方便携带,所以在许多的地方都必不可缺,比如在办公,交易等等。本系统主要介绍计算器实现简易计算的这个详细的过程,它的电路是以AT89C51单片机作为核心器件的,并且它的功耗低,能再3V的低压下工作,有时也可按照要求提升一定的电压。它的硬件部分主要由AT89C51单片机、按键、LCD1602显示屏、指示灯系统等部分构成。软件部分,是在Keil平台用C语言编写程序,包括运算、复位、延时、计算等。其次电路的设计会再proteus上面进行仿真,以保障硬件电路的正确。 关键字:AT89C51单片机;LCD1602显示屏;74LS08;按键;C语言。引言:计算器是日常学习和生活中的好帮手,比如对工科的学生来说,常常要用到基本的 +,-,* ,/ 运算,备有一个科学计算器在手边,可以把繁琐的计算迅速解决,对学习事半功倍。单片机是一种集成的电路芯片,它是采用超大规模集成电路技术把具有数据处理能力的中央处理器

基于单片机电子闹钟的设计

西南石油大学 单片机课程设计 学院: 电气信息学院 专业年级: 通信工程2013级 姓名: 王昕铃 学号: 课题:基于单片机的定时闹钟设计 指导老师: 邓魁 日期: 2016 年 6月 30日 前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有

更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机,定时器,中断,闹钟,LED

单片机课程设计大纲

《单片机原理及应用课程设计》教学大纲 适用专业:电子信息科学与技术 学时:一周学分: 课程编号:课程类别:专业课 开课单位:信息工程学院编写人:李丹 一、课程设计目的和要求 1、设计目的 通过课程设计,可将所学过的电子技术、模/数转换技术、传感器技术、单片机技术及智能仪器等知识综合串联起来,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,从而培养和提高学生的独立工作能力及解决实际问题的能力,为毕业设计和以后的工作打下一个良好的基础。 2、设计要求 a.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 b.提高综合运用所学的理论知识独立分析和解决问题的能力。 c.掌握汇编语言的设计和调试。 二、课程设计方式 集体辅导与个别辅导相结合 三、课程设计内容 1.课程设计课题及要求 A类题目:(此类题目主要在“THGMZ-3型单片机·微机·CPLD·FPGA·网络接口开发综合实验装置”上完成) 题目1:V/F转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Vin和Fout,画出V/F线。 2)Fout接入8051的INT0或INT1,编程由单片机完成测量及显示项目 参考资料:见附件1。 题目2:F/V转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Fin和Vout,画出F/V线。 2)Fin接单片机I/O口,编程由单片机产生频率信号。 参考资料:见附件1。

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

相关文档
最新文档