当前位置:文档之家› 嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计
嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计

————————————————————————————————作者:————————————————————————————————日期:

上海电力学院

嵌入式系统

课程设计报告

题目:电子词典的设计

姓名:

学号:

院系:

专业年级:

同组成员:

年月日

一、实验内容及要求

在LCD屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。

实现功能:

(1)LCD屏幕上显示4*4键盘,显示单词及其翻译、例句。

(2)一个键可完成2个英文字母的输入,如左上角第一个键可实现输入a,b两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。

(3)在输入完单词后,点击搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。

(4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。

二、设计思路

(1)通过LCD显示模块画出电子词典操作界面。

(2)对应界面中各键的位置设置键盘对应键值。

(3)设定功能键,实现以下3个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。

(4)按键后赋值并显示。

三、软件构架

LCD模块

键盘

四、模块分析

(1)键盘模块

流程图:

源代码:/*********************************************************************************************

* File : keyboard.c

* Author: embest

* Desc : keyboard source code

* History:

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

/*--- include files ---*/ 开键盘初始键盘是Y 读取是否是功Y N 执行赋显结束 N

#include "44b.h"

#include "44blib.h"

#include "def.h"

#include "keyboard.h"

#include "lcd.h"

#include "dict.h"

#ifndef KEY_INT

#define KEY_INT

#endif

#ifndef BUT_INT

#define BUT_INT

#endif

/*--- global variables ---*/

int input_char,n=0;

char word[20];

int wordIndex=0;

int x = 15;

int num=0;

int counter=0;

/* keyboard control address */

volatile UCHAR *keyboard_base = (UCHAR *)0x06000000;

/*--- function declare ---*/

void init_keyboard();

void close_keyboard();

void KeyboardInt(void);// __attribute__ ((interrupt ("IRQ")));

void Eint4567Isr(void);// __attribute__ ((interrupt ("IRQ")));

/*--- function code ---*/

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

* name: Test_Keyboard

* func: test keyboard

* para: none

* ret: none

* modify:

* comment:

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

void Test_Keyboard()

{

Uart_Printf("\n Keyboard Test Example\n");

Uart_Printf("\n Please press one key on keyboard and look at LED ...\n");

// init keyboard

init_keyboard();

while(1);

// close keyboard

// close_keyboard();

}

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

* name: init_keyboard

* func: init keyboard interrupt

* para: none

* ret: none

* modify:

* comment:

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

extern void isrEINT1(void);

extern void isrEint4567(void);

void init_keyboard()

{

/* enable interrupt */

rINTMOD = 0x0;

rINTCON = 0x1;

/* set EINT1 interrupt handler */

rINTMSK =~(BIT_GLOBAL|BIT_EINT1|BIT_EINT4567);

pISR_EINT1 = (int)isrEINT1;

pISR_EINT4567 = (int)isrEint4567;

/* PORT G */

rPCONG = 0xffff; // EINT7~0

rPUPG = 0x0; // pull up enable

rEXTINT = rEXTINT|0x20; // EINT1 falling edge mode

rI_ISPC = BIT_EINT1|BIT_EINT4567; // clear pending bit

rEXTINTPND = 0xf; // clear EXTINTPND reg

}

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

* name: close_keyboard

* func: close keyboard interrupt

* para: none

* ret: none

* modify:

* comment:

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

void close_keyboard()

{

pISR_EINT1 = NULL;

pISR_EINT4567 = NULL;

/* Mask interrupt */

rINTMSK = rINTMSK | BIT_EINT1 | BIT_EINT4567;

}

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

* name: KeyboardInt

* func: keyboard interrupt handler function

* para: none

* ret: none

* modify:

* comment:

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

void KeyboardInt(void)

{

int nTemp,i,j,k,m=0;

char bbyte;

rI_ISPC = BIT_EINT1; // clear pending bit

char pbyte[10];

nTemp = key_read();

if(nTemp > -1)

{

// Lcd_Draw_HLine(10, 310, 80, WHITE, 50);

input_char = nTemp;

Lcd_DspAscII8x16(15,45,WHITE,word);

switch(input_char)

{

case 0:

num=1;break;

case 1:

num=2;break;

case 2:

num=3;break;

case 3:

num=4;break;

case 4:

num=5;break;

case 5:

num=6;break;

case 6:

num=7;break;

case 7:

num=8;break;

case 8:

num=9;break;

case 9:

counter=1;break;

case 10:

counter=2;break;

case 11:

counter=3;break;

case 12:

m=1;

Lcd_Draw_HLine(15+n-10, 15+n, 45, WHITE, 16); n-=10;

word[wordIndex]='\0';

wordIndex--;

break;

/*if(n==0)

{

word[20]=0;

wordIndex=0;

Lcd_Draw_HLine(10, 310,85, WHITE, 160);

}break;*/

case 13:

word[wordIndex]='\0';

wordIndex=0;

for(i=0;i<20;i++)

{

if(strcmp(word,vocab[i].c)==0)

{

j=0;

k=i;

break;

}

else

j=1;

}

if(j==0)

{

//#ifdef Eng_v

Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c);

Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d);

Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f);

//#else

Lcd_DspHz16(15,100,BLUE,vocab[k].e);

//#endif

}

else

{

Lcd_DspHz16(15,120,BLUE,"未找到相应的单词");

DelayMs(600);

Lcd_DspHz16(15,120,WHITE,"未找到相应的单词"); }

break;

case 14:

word[wordIndex]='\0';

wordIndex=0;

for(i=0;i<20;i++)

{

if(strcmp(word,vocab[i].c)==0)

{

j=0;

k=i;

break;

}

else

j=1;

}

if(j==0)

{

//#ifdef Eng_v

Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c);

Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d);

Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f);

//#else

Lcd_DspHz16(15,100,BLUE,vocab[k].e);

//#endif

}

else

{

if(20>x>0)

{

for(i = 0; i < 20; i++)

vocab[x].c[i]=word[i];

word[i]='\0';

Lcd_DspAscII8x16(15,40,BLUE,vocab[x].c);

x++;

}

else

x=15;

//Lcd_DspAscII8x16(15,45,BLUE,word);

for(i = 0; i < 20; i++)

word[i]='\0';

}

break;

case 15:

//Lcd_Draw_Box(10,40,310,80,GREEN);

break;

}

if(num!=0&&counter!=0)

{

switch(3*(num-1)+counter-1)

{

case 0:

bbyte='a';break;

case 1:

bbyte='b';break;

case 2:

bbyte='c';break;

case 3:

bbyte='d';break;

case 4:

bbyte='e';break;

case 5:

bbyte='f';break;

case 6:

bbyte='g';break;

case 7:

bbyte='h';break;

case 8:

bbyte='i';break;

case 9:

bbyte='j';break;

case 10:

bbyte='k';break;

case 11:

bbyte='l';break;

case 12:

bbyte='m';break;

case 13:

bbyte='n';break;

case 14:

bbyte='o';break;

case 15:

bbyte='p';break;

case 16:

bbyte='q';break;

case 17:

bbyte='r';break;

case 18:

bbyte='s';break;

case 19:

bbyte='t';break;

case 20:

bbyte='u';break;

case 21:

bbyte='v';break;

case 22:

bbyte='w';break;

case 23:

bbyte='x';break;

case 24:

bbyte='y';break;

case 25:

bbyte='z';break;

case 26:

bbyte='y';break;

}

num=0;counter=0;

if(m==0)

{

word[wordIndex]=bbyte; wordIndex++;

//n+=10;

}

Lcd_DspAscII8x16(15,210,BLUE,word);

// Uart_Printf("Key is:%x \r",input_char);

}

}

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

* name: key_read

* func: read key value

* para: none

* ret: key value, -1 -- error

* modify:

* comment:

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

inline int key_read()

{

int value;

char temp;

/* read line 1 */

temp = *(keyboard_base+0xfd);

/* not 0xF mean key down */

if(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK)

{

if( (temp&0x1) == 0 )

value = 3;

else if( (temp&0x2) == 0 )

value = 2;

else if( (temp&0x4) == 0 )

value = 1;

else if( (temp&0x8) == 0 )

value = 0;

while(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK) // release

temp = *(keyboard_base+0xfd);

return value;

}

/* read line 2 */

temp = *(keyboard_base+0xfb);

/* not 0xF mean key down */

if(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK)

{

if( (temp&0x1) == 0 )

value = 7;

else if( (temp&0x2) == 0 )

value = 6;

else if( (temp&0x4) == 0 )

value = 5;

else if( (temp&0x8) == 0 )

value = 4;

while(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK) // release temp = *(keyboard_base+0xfb);

return value;

}

/* read line 3 */

temp = *(keyboard_base+0xf7);

/* not 0xF mean key down */

if(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK)

{

if( (temp&0x1) == 0 )

value = 0xb;

else if( (temp&0x2) == 0 )

value = 0xa;

else if( (temp&0x4) == 0 )

value = 9;

else if( (temp&0x8) == 0 )

value = 8;

while(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK) // release temp = *(keyboard_base+0xf7);

return value;

}

/* read line 4 */

temp = *(keyboard_base+0xef);

/* not 0xF mean key down */

if(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK)

{

if( (temp&0x1) == 0 )

value = 0xf;

else if( (temp&0x2) == 0 )

value = 0xe;

else if( (temp&0x4) == 0 )

value = 0xd;

else if( (temp&0x8) == 0 )

value = 0xc;

while(( temp & KEY_V ALUE_MASK) != KEY_V ALUE_MASK) // release

temp = *(keyboard_base+0xef);

return value;

}

return -1;

}

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

* name: Eint4567Isr

* func:

* para: none

* ret: none

* modify:

* comment:

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

void Eint4567Isr(void)

{

unsigned char which_int;

Uart_Printf("\n SB2 or SB3 had pressed and light LED.");

which_int=rEXTINTPND;

rEXTINTPND=0xf; //clear EXTINTPND reg.

rI_ISPC=BIT_EINT4567; //clear pending_bit

if(which_int == 4) // SB2

{

Led_Display(0x0);

Led_Display(0x1);

}

else if(which_int == 8) // SB3

{

Led_Display(0x0);

Led_Display(0x2);

}

}

(2)LCD模块

流程图:

LCD初

显示开机

显示操作

结束

源代码:/****************************************************************************** ***************

* File:lcd.c

* Author: embest

* Desc: LCD control and display functions

* History:

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

/*--- include files ---*/

#include "lcd.h"

//#include "bmp.h"

#include "44b.h"

/*--- global variables ---*/

INT32U aLcdActiveBuffer[LCD_YSIZE][LCD_XSIZE/4];

/*--- extern variables ---*/

extern const INT8U aucTempBitmap[][76800];

/*--- function code ---*/

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

* name: Lcd_Init()

* func: Initialize LCD Controller

* para: none

* ret: none

* modify:

* comment:

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

void Lcd_Init (void)

{

rDITHMODE=0x12210;

rDP1_2 =0xa5a5;

rDP4_7 =0xba5da65;

rDP3_5 =0xa5a5f;

rDP2_3 =0xd6b;

rDP5_7 =0xeb7b5ed;

rDP3_4 =0x7dbe;

rDP4_5 =0x7ebdf;

rDP6_7 =0x7fdfbfe;

// disable,8B_SNGL_SCAN,WDL Y=16clk,WLH=16clk,

rLCDCON1=(0x0)|(2<<5)|(MV AL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<< 12);

// LINEBLANK=10 (without any calculation)

rLCDCON2=(LINEV AL)|(HOZV AL_COLOR<<10)|(10<<21);

rLCDCON3=0;

// 256-color, LCDBANK, LCDBASEU

rLCDSADDR1= (0x3<<27) | ( ((unsigned int)aLcdActiveBuffer>>22)<<21 ) | M5D((unsigned int)aLcdActiveBuffer>>1);

rLCDSADDR2= M5D((((unsigned int)aLcdActiveBuffer+(SCR_XSIZE*LCD_YSIZE))>>1)) | (MV AL<<21);

rLCDSADDR3= (LCD_XSIZE/2) | ( ((SCR_XSIZE-LCD_XSIZE)/2)<<9 );

//The following value has to be changed for better display.

rREDLUT =0xfdb96420; // 1111 1101 1011 1001 0110 0100 0010 0000

rGREENLUT=0xfdb96420; // 1111 1101 1011 1001 0110 0100 0010 0000

rBLUELUT =0xfb40; // 1111 1011 0100 0000

rLCDCON1=(0x1)|(2<<5)|(MV AL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<< 12);

// rPDATE=rPDATE&0x0e;

rPDATE=0xfe;

Lcd_Clr();

}

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

* name: Lcd_Clr()

* func: clear LCD screen

* para: none

* ret: none

* modify:

* comment:

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

void Lcd_Clr(void)

{

INT32U i;

INT32U *pDisp = (INT32U*)aLcdActiveBuffer;

for (i = 0; i < (SCR_XSIZE * SCR_YSIZE / 4); i++)

{

*pDisp++ = ALLWHITE;

}

}

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

* name: LcdClrRect()

* func: fill appointed area with appointed color

* para: usLeft,usTop,usRight,usBottom -- area's rectangle acme coordinate

* ucColor -- appointed color value

* ret: none

* modify:

* comment: also as clear screen function

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

void LcdClrRect(INT16 usLeft, INT16 usTop, INT16 usRight, INT16 usBottom, INT8U ucColor) {

INT32U i, j;

INT8U *pDisp = (INT8U*)aLcdActiveBuffer;

for(i=usTop;i<=usBottom;i++)

{

for(j=usLeft;j<=usRight;j++)

{

LCD_PutPixel(j, i, ucColor);

}

}

}

#ifdef MON_LCD

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

* name: LcdClrRect()

* func: fill appointed area with appointed color

* para: usLeft,usTop,usRight,usBottom -- area's rectangle acme coordinate

* ucColor -- appointed color value

* ret: none

* modify:

* comment: also as clear screen function

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

void LcdClrRect(INT16 usLeft, INT16 usTop, INT16 usRight, INT16 usBottom, INT8U ucColor) {

INT16 i=0;

INT16 k,l;

INT16 m;

INT32U ulColor = (ucColor << 28) | (ucColor << 24) | (ucColor << 20) | (ucColor << 16) |

(ucColor << 12) | (ucColor << 8) | (ucColor << 4) | ucColor;

if((usRight-usLeft)<=8)

{

for(i=usTop;i<=usBottom;i++)

{

for(m=usLeft;m<=usRight;m++)

{

LCD_PutPixel(m, i, ucColor);

}

}

return;

}

C语言课程设计——电子英汉词典.

课程设计报告 课程名称 C语言课程设计 课题名称电子英汉词典 专业纺织服装学院 班级纺工1203 学号 姓名 指导教师田媛 2014年 01 月06 日

湖南工程学院 课程设计任务书 课程名称 C语言课程设计课题电子英汉词典 专业班级纺工工程 学生姓名 学号 指导老师田媛 审批 任务书下达日期 2013 年 12 月 26 日 任务完成日期2014年 01 月 06 日

一、设计内容与设计要求 1.设计内容: 课题一:电子英汉词典。具体内容见附录。 2.设计要求: 1)设计正确,方案合理。 2)界面友好,使用方便。 3)程序精炼,结构清晰。 4)上机演示。 3.设计报告要求: 课程设计报告格式如下: 1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。 2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。 3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。 二、进度安排 上课时间另外安排上课时间另外安排。

附录: 设计课题三:电子英汉词典 一、问题描述: 该设计实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。 二、功能描述: 1、本设计采用结构体数组,每个数据的结构应当包括:单词的英文拼写,单 词的中文释义。 2、系统功能: a.词条录入:即添加单词记录。 b.信息显示:将所有的单词按字母顺序显示。 c.词条修改:对已经输入的单词信息进行修改。 d.词条删除:删除某个单词记录。 e.单词查询: 输入单词英文拼写,输出该单词的中文释义。 f.信息保存:将单词信息保存到文件。 g.退出系统 3、系统使用说明:执行一个具体的功能之后,程序将重新显示功能菜单。系统 的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。 三、测试数据: 要求被选用的词条有30个左右,简单单词为主。

嵌入式课程设计

嵌入式课程设计 学院:计算机与通信工程学院专业:物联网工程班级:物联1501 姓名:王强学号:41501602 实验日期:2017年12月25日 实验名称: 嵌入式课程设计 实验目的: 以STC89开发板为硬件平台,开发温度采集、动态数码管显示、按键响应、与PC串口通讯的综合程序,实现以下功能: 1)PC上的串口调试助手通过串口给STC89开发板发送“GetTemp”命令。 2)STC89开发板从串口接收到“GetTemp”命令后启动温度传感器DS18B20的测温程序获取当前温度,测试完成时将所测得温度数据显示在动态数码管上。(动态数码管在温度获取之前应该显示“FFFFFFFF”,只有在获取温度后才显示温度值) 3)动态数码管显示出温度数据后,请通过按键触发STC89开发板通过串口回送步骤2所测的温度数据给PC上串口调试助手,同时恢复动态数码管显示为“FFFFFFFF”。为保证每个同学的实验都独立完成,要求回送的数据包含自己的学号,即如果你的学号是20150809,当前温度值是19.6摄氏度,那么在PC上的串口调试助手应该显示:20150809 : 19.6°C。硬件电路说明: 1)STC89处理器管脚和晶振电路

2)独立按键 独立按键一共5个,分别连接在单片机的P3.0到P3.4口。去抖动的方式,我们采用软件延时的方法。过程如下: 先设置IO口为高电平(一般上电默认就为高),读取IO口电平确认是否有按键按下,如有IO电平为低电平后,延时几个ms,再读取该IO电平,如果任然为低电平,说明对应按键按下,执行相应按键的程序。 3)DS18B20温度传感器部分 DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。 高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。 初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。 初始时,计数器1预置的是与-55℃相对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数。 DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25℃进行比较,若低于0.25℃,温度寄存器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度寄存器的最低位就进位然后置0。这样,经过比较后所得的温度寄存器的值就是最终读

EDA课程设计 电子琴

简易电子琴的设计和实现 ----结题报告 学号:110342241 姓名:章译文 一.设计要求 1.能发出1234567基本音。 2.能自动播放《偶像万万岁》和《梁祝》。 3.能在数码管上显示弹奏时的音名。 二.设计原理分析 1.音阶的获得 系统要求要求用7个按键控制发声,我们用7个键盘来控制产生低音(或中音)段的7个音阶频率。所有的音名频率都是通过一个基准频率经过分频得到的。但部分分频过大的音频直接输出给扬声器,频率信号脉冲的占空比会非常窄,不能驱动扬声器工作。于是,我们设计了一个“带有预置数的计数器”来简化整个设计过程。将原频率分频成期望值的2倍频率信号。再通过二分频,驱动扬声器工作。

简易电子琴控制流程图 2.MUSICAL_NOTE内部电路 MUSICAL_NOTE内部电路 使用MUSICAL_NOTE电路,实现初值可变的计数器,并对音阶实

现二分频,使电子琴实现正常发音。 按键播放部分电路3.自动播放功能的实现 自动播放部分电路

Hebing.mif文件(偶像万万岁&梁祝) 歌曲长度为352位,利用三个74261设计0~352的计数器,自动寻址,将音频导入lpm_rom,与MUSICAL_NOTE相互作用,实现自动播放。

按键除颤电路原理图 作为机械开关的键盘,在按键操作时,机械触点的弹性及电压跳动等原因,再触点闭合或者开启的瞬间会出现电压的抖动,如果不进行处理就会造成误操作。按键去抖动的关键在于提取稳定的低电平状态,滤去前沿后沿的抖动毛刺。 4.在数码管上显示弹奏时的音名 显示部分电路图

Display内部电路 电路中的74161是16进制的计数器,它的低三位接到3—8译码器模块74138的地址输入端,这样就可以实现74138的8个输出端轮流输出低电平,恰好用来控制“位码”DIG7~DIG0。LPM_MUX是QuartusⅡ中的宏模块,用来实现多位的“多选一”,它的数据位数可以以及数据的数量可以任意设定。 电路中使用了与非门,实现发音与现实同时实现,在此要注意的是,因为使用了与非门,静态字符现实数码管管脚的设定值应该与原 值相反。

简易电子琴课程设计报告

摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音奏中已成为不可缺少的一部分。本文主要介绍运用555定时器制作简易电子琴的设计方法。该方法利用555定时器构成多谐振荡器,通过按键控制不同的RC组合应用多谐振荡器产生不同频率八个基本音阶的脉冲信号波,然后连到扬声器上,即可发出八音阶的音乐。在该设计中,利用了555定时器构成的多谐振荡器产生各音阶不同频率的脉冲,不仅仅使其频率调节更加方便,而且发出的声音稳定、饱满。 前言 (1) 第一章设计内容及要求 (2) 1.1 设计的基本原理 (2) 1.2 设计要求 (2) 第二章系统组成及工作原理 (3) 2.1 系统组成 (3) 2.1.1 按键模块 (3) 2.1.2音调发生模块 (3) 2.1.3音响模块 (4) 2.2 工作原理 (4) 2.2.1 NE555多谐振荡器 (5) 2.2.2 LM386集成功率放大器 (7) 第三章方案比较 (8) 3.1 方案一 (8) 3.2 方案二 (9) 3.3方案三 (10) 3.4方案分析与比较 (11) 第四章参数计算、器件选择 (12) 4.1 参数计算 (12) 4.2 器件选择 (12) 第五章系统调试及测试结果分析 (14) 5.1 系统调试 (18) 关键词:简易电子琴,555定时器,多谐振荡器,八个基本音阶 目录

5.2 硬件调试···················································19 2 5.3 测试结果与分析 (19) 前言 随着当代科学设计的发展,电子产品在人们的日常生活中占据着越来越多重要的地位。电子琴作为其中的一个典型代表,引领着许多孩子进入音乐的殿堂。因此,我们选择了简易电子琴这个题目来制作,因为它不仅能过提高实际动手能力,还与实际生活有着紧密的联系。 模拟电子技术基本教程是一门实践性很强的课程,而此次课程设计依据的理论基础是模拟电子技术基本教程,其主要目的是通过本课程的培养,启发学生的创造性思维,进一步探究书本知识。本课程设计是设计出一个电子产品,先焊接好,再进行检验。 在电子课程设计的过程中,系统的概念十分重要,熟悉从系统的层次分析问题、解决问题的方式。基本方法除了实验课中要求掌握的功能测试、故障排除等各种一般方法以外、要特别注重使用“电路拼装”的方法。课程设计的一般步骤如下:(1)、选择一个课题;(2)、查阅有关资料;(3)、进行可行论证;(4)、通过设计方案的比较,定出最优的设计方案;(5)、分解为多个模块;(6)、分别设计各个功能模块电路,并完成调试;(7)、组装成完整的数字系统;(8)、编写设计、安装、调试报告。 1 第一章设计原理及要求 1.1 设计的原理 555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积小,使用起来方便。只要在外部配上几个适当的阻容元件,就可以构成施密特触发器、单稳态触发器及多谐振荡器等脉冲信号产生与变换电路。它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。 5.4 误差分析 (19) 实验小结及心得体会 (20) 结论······························································21 参考 文献·························································22 附录一····························································23 附录二···························································· 24 3

C课程设计之电子词典

C课程设计之电子 词典

仲恺农业工程学院 工程实训报告 电子词典 课程名称 C++面向对象课程设计 姓名郑志欣 院(系)信息科学与技术学院 专业班级计算机科学与技术132班 学号 20244215 指导教师史婷婷 仲恺农业工程学院教务处制

目录 1 需求分析................................................................................ 错误!未定义书签。 2 系统总框图和功能模块说明................................................. 错误!未定义书签。 2.1 系统总框图.................................................................. 错误!未定义书签。 2.2 功能模块说明.............................................................. 错误!未定义书签。 3 系统设计................................................................................ 错误!未定义书签。 3.1 主要结构体 .................................................................. 错误!未定义书签。 3.2主要功能函数 .............................................................. 错误!未定义书签。 3.3 关键函数的流程图....................................................... 错误!未定义书签。 4 系统调试................................................................................ 错误!未定义书签。 5 总结........................................................................................ 错误!未定义书签。 6 源程序清单 ............................................................................ 错误!未定义书签。

嵌入式课程设计电子词典硬件设计

嵌入式课程设计电子词典硬件设计

————————————————————————————————作者:————————————————————————————————日期:

上海电力学院 嵌入式系统 课程设计报告 题目:电子词典的设计 姓名: 学号: 院系: 专业年级: 同组成员: 年月日

一、实验内容及要求 在LCD屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。 实现功能: (1)LCD屏幕上显示4*4键盘,显示单词及其翻译、例句。 (2)一个键可完成2个英文字母的输入,如左上角第一个键可实现输入a,b两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。 (3)在输入完单词后,点击搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。 (4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。 二、设计思路 (1)通过LCD显示模块画出电子词典操作界面。 (2)对应界面中各键的位置设置键盘对应键值。 (3)设定功能键,实现以下3个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。 (4)按键后赋值并显示。 三、软件构架 开 LCD模块 键盘 结

四、模块分析 (1)键盘模块 流程图: 源代码:/********************************************************************************************* * File : keyboard.c * Author: embest * Desc : keyboard source code * History: *********************************************************************************************/ /*--- include files ---*/ 开键盘初始键盘是Y 读取是否是功Y N 执行赋显结束 N

电子琴课程设计

摘要 随着电子技术的发展,电子技术正在逐渐改善着人们的学习、生活、工作,电子技术与音乐的结合正在不断加深。因此开发本系统希望能够给人们多带来一点生活上的乐趣。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89C51,矩阵键盘,LED显示管,扬声器。

目录 摘要..............................................................................................................................I 目录.............................................................................................................................II 1 引言. (1) 1.1 研究背景及意义 (1) 1.2 研究现状和发展趋势 (1) 2 硬件设计 (2) 2.1 总体设计方案 (2) 2.2 电子琴组成原件的概述 (2) 3 软件设计 (4) 3.1 keil软件的任务 (4) 3.2 proteus的界面实现 (6) 4 系统调试与实验 (7) 4.1 程序调试 (7) 4.2 硬件调试 (7) 5 总结 (8) 参考文献 (9)

嵌入式课程设计报告

中南大学 嵌入式课程设计 《基于ARM平台的打地鼠游戏》 姓名:董嘉伟 学号:0909103303 班级:物联网1002

指导教师:刘连浩李刚 时间:2013-9-13 目录 ●课程设计内容 ●课程设计实验环境 ●课程设计原理分析 ●课程设计开发计划 ●课程设计系统设计图 ●课程设计关键源码分析 ●课程设计成果展示 ●课程设计总结 ●参考资料 ●工程源代码

一、课程设计内容 本次课程设计基于课程《物联网与嵌入式系统》的学习,利用现有的硬件知识和计算机软件编程知识从以下三个题目选择一个作为课程设计内容:测频程序、交通灯演示系统、打地鼠游戏,难度依次递增。基于个人实力和兴趣的考虑,我选择了打地鼠游戏作为我的课程设计题目。 具体要求如下: ●LCD正确显示需求内容 ●触摸屏功能正常使用 ●基本的打地鼠游戏环节 ●打地鼠游戏流畅运行,无显著BUG ●游戏结束后输出统计数据 二、课程设计实验环境 软件:WindowsXP\Keil uVision4.72\ARM DeveloperSuite1.2\ H-JTAG\DNW\,其中keil编译优化等级为Level0. 硬件:飞凌FL2440开发板,4.3寸(480*272)显示屏、USB-JTAG 仿真器 实验室:中南大学-美国德州仪器联合嵌入式实验室 三、课程设计原理分析 1、LCD显示原理分析

S3C2440的LCD控制器由由一个逻辑单元组成,它的作用是:把LCD 图像数据从一个位于系统内存的videobuffer传送到一个外部的LCD 驱动器。LCD控制器使用一个基于时间的像素抖动算法和侦速率控制思想,可以支持单色,2-bitper pixel(4级灰度)或者4-bit-pixel(16级灰度)屏,并且它可以与256色(8BPP)和4096色(12BPP)的彩色STN LCD连接。它支持1BPP,2BPP,4BPP,8BPP的调色板TFT彩色屏并且支持64K色(16BPP)和16M色(24BPP) 非调色板真彩显示。LCD控制器是可以编程满足不同的需求,关于水平,垂直方向的像素数目,数据接口的数据线宽度,接口时序和刷新速率。 S3C2440 LCD控制器被用来传送视频数据和生成必要的控制信号,比如VFRAME, VLINE,VCLK,VM,等等。除了控制信号外,这S3C2440还有作为视频数据的数据端口,它们是如图15-1 所示的VD[23:0]。LCD控制器由REGBANK,LCDCDMA,VIDPRCS, TIMEGEN,和LPC3600(看15-1LCD控制器方块图)组成。REGBANK 由17个可编程的寄存器组和一块256*16的调色板内存组成, 它们用来配置LCD控制器的。LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器。通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD 屏上。VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:0]传送视频数据到LCD驱动器。TIMEGEN由可编程

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

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

湖南文理学院 课程设计报告 课程名称:单片机课程设计 专业班级:自动化10102班17号学生姓名:肖葵 指导教师:王南兰 完成时间:2013年 6 月13 日报告成绩: 湖南文理学院制

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

ABSTRACT With the development of our society, music has become an important part of life. There’s a saying goes that people who likes music cannot be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback. The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value. Key words : single chip MCU keyboard speaker electronic organ

数电课程设计--简易电子琴

目录 1 设计任务 (1) 1.1 基本任务 (1) 1.2 扩展任务 (1) 2 设计方案原理 (1) 3 单元电路的设计 (2) 3.1 多谐振荡器 (2) 3.2 琴键开关 (3) 3.3 扩音器(喇叭) (4) 3.4 器件选择 (4) 4 电路图的绘制 (5) 5 电路的仿真及调试 (6) 6 体会 (6) 参考文献 (8)

1设计任务 电子琴是一种很简单的电子产品,目前市场上所售的电子琴多为基于单片机所设计的。本次课设要求利用数电知识,设计一个能奏出八个音阶的电子琴。虽然没有基于单片机的电子琴那么多的功能,但是电子琴的基本功能是可以满足的。 本次设计的主要内容为:根据数电课程所学内容,结合其他相关课程知识,设计一个简易电子琴,以加深对单片机知识的理解,锻炼实践动手能力。 本次设计的任务为: 1.1基本任务 ①具备8个按键,能够分别较准确地弹奏出1?1八个音符。 ②选择电路方案,完成对确定方案电路的设计。计算电路元件参 数与元件选择、并画出总体电路原理图,阐述基本原理。用 Proteus或MULTISIM软件完成仿真,并按规定格式写出课程设计 报告书。 1.2扩展任务 ①能够弹奏出至少21个音符(三个音阶)。 ②能够较便捷地完成音阶的升降。(按一个开关实现升8度,按另一个开关实现降 8度) 2设计方案原理 本方案为利用555多谐振荡器能输出脉冲信号的特性,通过改变振荡器外接电阻的阻值来改变振荡器输出脉冲的频率,驱动喇叭发出各种音阶。电子琴所用琴键即为改变电阻阻值的开关,通过改变阻值使输出与琴键音阶相对应。

原理框图如下: 图1原理框图 3单元电路的设计 3.1多谐振荡器 利用多谐振荡器产生周期脉冲电路图如下图所示 图2 多谐振荡器电路实现 图中引脚功能: 1脚:GND或Vss)外接电源负端VSS或接地,一般情况下接地。 2脚:TR低触发端。 3脚:OUT(或Vo)输出端。 4脚:Rd是直接清零端。当R端接低电平,则时基电路不工作,此时不论TR、TH 处于何电平,时基电路输出为“ o”,该端不用时应接高电平。 5脚:CO或VC)为控制电压端。若此端外接电压,则可改变内部两个比较器的

C++课程设计之电子词典

C++课程设计之电子词 典 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

仲恺农业工程学院工程实训报告 电子词典 课程名称C++面向对象课程设计 姓名郑志欣 院(系)信息科学与技术学院 专业班级计算机科学与技术132班 学号 4215 指导教师史婷婷 仲恺农业工程学院教务处制

目录 1 需求分析........................................................................................................................ 错误!未定义书签。 2 系统总框图和功能模块说明 ........................................................................................ 错误!未定义书签。 系统总框图 ............................................................................................................. 错误!未定义书签。 功能模块说明 ......................................................................................................... 错误!未定义书签。 3 系统设计........................................................................................................................ 错误!未定义书签。 主要结构体.............................................................................................................. 错误!未定义书签。 主要功能函数........................................................................................................... 错误!未定义书签。 关键函数的流程图.................................................................................................. 错误!未定义书签。 4 系统调试........................................................................................................................ 错误!未定义书签。 5 总结................................................................................................................................ 错误!未定义书签。 6 源程序清单 .................................................................................................................... 错误!未定义书签。

C++课程设计之电子词典

仲恺农业工程学院 工程实训报告电子词典 课程名称C++面向对象课程设计 姓名郑志欣 院(系)信息科学与技术学院 专业班级计算机科学与技术132班 学号4215 指导教师史婷婷 仲恺农业工程学院教务处制

目录 1 需求分析错误!未定义书签。 2 系统总框图和功能模块说明错误!未定义书签。系统总框图错误!未定义书签。 功能模块说明错误!未定义书签。 3 系统设计错误!未定义书签。 主要结构体错误!未定义书签。 主要功能函数错误!未定义书签。 关键函数的流程图错误!未定义书签。 4 系统调试错误!未定义书签。 5 总结错误!未定义书签。 6 源程序清单错误!未定义书签。

在这个电子词典系统里,我主要是作为一个英汉词典进行,该系统具备简单的英汉词典的功能,使之能提供以下功能: 单词查找 单词增除 单词修改、维护等工作 2 系统总框图和功能模块说明 系统总框图 3 #include<> #include<> #include<> #include<> void main() { static int n=13; char m; struct { char eng[50]; char ci[50]; char yin[50];

} word[1000]={{"cat","n","猫"}, {"clean","adj&d&v","1.干净2.整洁"}, {"finally","ad","最终,终于"},}; int(); loop: for(;;) { system("cls"); int(); cout<<"\n\t==========欢迎进入英汉词典=========="<>m; switch(m) { case '1': { char j[10],k[15],l[10],p[30]; ++n; cout<<"\n 增加单词"<>j; cout<<"\n 输入词性:"; cin>>k; cout<<"\n 输入中文:"; cin>>l; strcpy(word[n].eng,j); strcpy(word[n].ci,k); strcpy(word[n].yin,l); cout<<"\n Please check it:"; cout<<"\n\n 英文: "<>m; } break;

2012嵌入式系统课程设计报告书5

郑州航空工业管理学院嵌入式系统课程设计报告 题目:嵌入式Linux系统中无线网络的设计 20 – 20第学期 院系: 姓名: 专业: 学号: 指导老师: 电子通信工程系 2012年11月制

目录(在这里添加相应的目录)

一、引言 (同学们自己在这里添加相应的内容) 二、设计目的 三、设计要求 1. 任务要求 要求能独立地分析题目意义、设计实现步骤、画出硬件原理图及软件流程图、调试驱动模块。 该设计的具体要求如下: 2. 设计所需的软硬件设备 (1)硬件环境配置 计算机:Intel(R) Pentium(R) 及以上 内存:1GB及以上 实验设备:UP-NETARM2410-S嵌入式开发平台 (2)软件环境配置 操作系统:Microsoft Windows XP Professional Service Pack 2 虚拟机:VMware WorkStation 7 Linux系统:Red Hat Enterprise Linux AS 4 (2.6.9-5.EL) 嵌入式交叉编译器:arm-linux-gcc 3.4.4版本 Linux内核版本:Linux-2.6.14 SKYEYE版本:skyeye-1.2.4 U-Boot版本:U-Boot-1.3.2 BusyBox版本:BusyBox-1.2.0 3. 课程设计报告内容 按该设计报告要求的模式格式提交课程设计报告书。 四、推荐的进展安排 五、考核评价

六、总体设计 (同学们自己在这里添加相应的内容)七、总结 (同学们自己在这里添加相应的内容)八、参考文献 (同学们自己在这里添加相应的内容)

简易电子琴课程设计

课程设计任务书学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采 用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原 理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

嵌入式课程设计——蓝牙无线数据传输

课程设计书—《嵌入式系统实训》 学院 姓名 学号 组别

目录 1设计概述 (1) 2设计方案 (1) 2.1详细设计方案 (2) 2.1.1 电源模块 (2) 2.1.2 主芯片模块 (2) 2.1.3 WIFI模块 (3) 2.1.4 霍尔传感器模块 (3) 2.1.5 开关磁阻电机 (4) 2.1.6 电路板抗干扰设计 (5) 2.2软件设计方案 (6) 3手机客户端APP设计 (6) 3.1开发环境的搭建 (6) 3.2手机APP的主要功能模块 (7) 4软件件调试过程和结果 (15) 5课程总结 (19)

1设计概述 能源是经济发展和社会进步的支柱,能源问题成为当今世界各国尤其是发达国家所要解决的头等大事。世界各国都在鼓励大力开发可再生能源。风能和太阳能成为当下最受欢迎的新能源,也是目前可再生能源应用技术中最成熟的。本设计基于人体运动出来的机械能转化成可利用回收的电能,是新能源的一种体现,具有很好的开发前景和实际用途。 该设计是基于以stm32f030芯片为主芯片的智能发电的PCB 主板,再利用开关磁阻电机进行发电,将其电压和电流通过wifi 模块发送给手机端,通过手机上的APP 可以显示出电流和电压值,并进行后台处理和数据保存。设计将从芯片器件的选型再到PCB 板的设计,之后是PCB 板的焊接,再是软件的编写与调试,软件部分还包括手机APP 的编写,最终完成本次设计。 1 设计方案 该设计方案可以划分为两个部分,第一部分是终端部分,有发电机的驱动模块,电压电流采集模块,WiFi 模块以和主控芯片及其外设;第二部分是手机部分,该部分主要是实现一个上位机的功能,包括接收信息,发送指令,主要有登录界面和查询界面。两部分之间通过WIFI 来实现通信。所以总体设计框图1所示: 图2.1 总体设计方案 其中手机端的设计为纯粹的软件设计,而智能发电系统主体的设计方案是方案设计中的重点部分包括硬件部分的设计与软件部分的设计。该系统的设计方案包括以下几个方面,一是小车主体电路板的设计方案,属于硬件部分的设计;二是软件设计方案,属于软件部分的设计,主要是用于驱动硬件电路和给手机端APP 提供操作接口。 该系统主体电路板的设计包括电源模块的设计,主芯片外围电路的设计,WiFi 模块的设计,电机驱动模块的设计,各个传感器模块的设计。软件部分的设计包括主体函数的设计及各个功能模块的设计,在实现了各个功能模块设计的基础上设计出主体程序,以便可以随时中断某一个功能而去实现另外的功能。外围设计主要是各个传感器的放置位置的选择,以便达到所需的功能。 终端部分 手机端 蓝牙信号

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

相关主题
文本预览
相关文档 最新文档