当前位置:文档之家› 电子系统设计专题实验

电子系统设计专题实验

电子系统设计专题实验
电子系统设计专题实验

电子系统设计专题实验报告

——AVR 单片机基础实验

学 院: 电信学院

班 级: 计算机14

学 号: 2110505092

姓 名: 刘鑫

一、实验目的和要求

本实验课程的主要目的是通过一个新型嵌入式单片机为核心的应用系统设计,掌握微型计算机硬件系统结构基本原理,软件开发编程方法,外围接口电路的组成和应用编程技术,以及电子系统设计的相关技术。通过课程实践训练,能够独立实现一个完整的计算机应用系统设计。

要求基本实验部分学习单片机系统的基本硬件组成原理和软件程序设计方法;综合设计实验要求根据题目需求自行设计系统硬件组成电路,并设计实现完成相应功能的应用程序调试任务。

二、实验设备及开发环境

以AVR ATmega128单片机为核心的实验开发系统。实验开发板采用技术性能优良的AVR ATmega128单片机作为核心器件,还特别设计了USB接口模块、Ethernet网络接口模块,还有MCU对外扩插槽,可为电路扩展模块提供必要的准备。

AVR单片机实验开发系统实验测试环境:

1.软件开发平台: PC机WindowsXP操作系统;

AVR Studio 4.16 集成开发软件;

WinAVR 20080610 C语言编译器;

2.下载编程工具: JTAG ICE mkII在线仿真器;

3.测试目标板: ATmega128实验开发板;

4.测试程序:用C语言编写电路功能测试程序,在WinAVR(GCC)+

AVR Studio编译下通过。

三、实验设计题目及实现的功能

实验一:单片机实验系统开发环境学习

1. 熟悉实验电路的结构原理、元器件名称、作用及相应的接口连接;

2. 学会使用C编译器编辑、编译、调试简单C源程序;

3. 学会使用AVR Studio集成开发软件下载调试并得到正确结果;

4. 熟悉蜂鸣器电路的编程原理

实验程序源代码:

#include // I/O端口寄存器配置文件,必须包含

#include // 延时函数调用文件

int main(void) // GCC中main文件必须为返回整形值的函数,没有

// 参数

{

PORTE = 0X80; // PORTE输出高电平,使蜂鸣器不响

DDRE = 0X08; // 配置端口PE3为输出口

while(1)

{

PORTE &= ~(1 << PE3); //PE3置“0”,但是这种设置方法不改变PE口其余位

//的状态,平时程序中推荐这种使用方法 _delay_ms(100); // 延时100毫秒

_delay_ms(100);

_delay_ms(100);

_delay_ms(100);

_delay_ms(100);

PORTE |= (1 << PE3); //使PE3输出高电平,蜂鸣器不响

_delay_ms(100);

_delay_ms(100);

_delay_ms(100);

_delay_ms(100);

_delay_ms(100);

PORTE &= ~(1 << PE3);

_delay_ms(100);

_delay_ms(100);

_delay_ms(50);

PORTE |= (1 << PE3);

_delay_ms(100);

_delay_ms(100);

_delay_ms(50);

PORTE &= ~(1 << PE3);

_delay_ms(100);

_delay_ms(100);

_delay_ms(50);

PORTE |= (1 << PE3);

_delay_ms(100);

_delay_ms(100);

_delay_ms(50);

}

}

实验二:LED指示灯循环显示程序设计实验

1. 熟悉LED指示灯电路原理图;

2. 学会单片机C语言I/O端口编程控制方法;

3. 学会外部显示部件LED灯的软件编程使用方法;

4. 进一步熟悉单片机实验开发系统的使用。

实验程序源代码:

#include

#include

#include "led.h"

void LED_Init()

{

PORTB = PB_MASK;

DDRB = PB_MASK;

PORTC |= _BV(LED_CS);

DDRC |= _BV(LED_CS);

}

int main()

{

int i;

int m;

uint8_t led_sel;

LED_Init();

while(1) {

i = 0;

led_sel = 0x01;

while(i < 3) {

PORTB = ~led_sel;

_delay_ms(800);

if(led_sel == 0x80) {

led_sel = 0x01;

++i;

}

else

led_sel *= 2;

}

i = 0;

led_sel = 0x80;

while(i < 3) {

PORTB = ~led_sel;

_delay_ms(800);

if(led_sel == 0x01) {

led_sel = 0x80;

++i;

}

else

led_sel /= 2;

}

i = 0;

m = 0;

led_sel = 0xaa;

while(i < 3) {

PORTB = ~led_sel;

_delay_ms(800);

if(m==8){

m=0;

++i;

}

if(led_sel==0x00){

led_sel=0xaa;

}

led_sel /= 2;

++m;

}

i = 0;

m = 0;

led_sel = 0x55;

while(i < 3) {

PORTB = ~led_sel;

_delay_ms(800);

if(m==8){

m=0;

++i;

}

if(led_sel==0x00){

led_sel=0x55;

}

led_sel *= 2;

++m;

}

for(i = 0; i < 3; ++i) {

PORTB |= PB_MASK;

_delay_ms(500);

PORTB &= ~PB_MASK;

_delay_ms(500);

}

}

return 0;

}

实验三:数码管动态显示程序设计

1. 熟悉单片机数码管电路结构原理;

2. 学会单片机C语言I/O端口编程控制方法;

3. 学会外部显示部件LED灯的软件编程使用方法;

4. 学会单片机开发系统的软件调试方法。

实验程序源代码:

#include

#include

#include "digitron.h"

uint8_t code[10] = { 0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90 }; //存储0至9的显示代码void DIG_Init() //初始化端口

{

PORTB = ~PB_MASK;

DDRB = PB_MASK;

PORTG &= 0x00;

DDRG |= _BV(DIG_CS1) | _BV(DIG_CS2);

}

void LED_Flash(int i,int com){ //闪烁一个字符PORTG |= _BV(DIG_CS2);

PORTG &= ~_BV(DIG_CS1);

PORTB = code[i];

PORTG |= _BV(DIG_CS1);

PORTG &= ~_BV(DIG_CS2);

PORTB = com;

PORTG &= ~_BV(DIG_CS1);

PORTG &= ~_BV(DIG_CS2);

_delay_ms(1);

}

void LED_display(int s[8]){ 显示输出for(int i = 0; i < 100; ++i) {

LED_Flash(s[7],128);

LED_Flash(s[6],64);

LED_Flash(s[5],32);

LED_Flash(s[4],16);

LED_Flash(s[3],8);

LED_Flash(s[2],4);

LED_Flash(s[1],2);

LED_Flash(s[0],1);

}

}

int main()

{

int sum[] = {0,0,0,0,0,0,0,0}; //存储显示数字DIG_Init();

while(1){

LED_display(sum);

sum[7]++;

for(int i=7;i>0;--i){ //循环进位

if(sum[i]==10){

sum[i]=0;

sum[i-1]++;

}

}

if(sum[0]==10){

sum[0]=0;

}

}

return 0;

}

实验四:定时/计数器中断应用程序设计

熟悉单片机内部定时/计数器的工作原理;

了解单片机中断机制工作原理;

掌握单片机中断服务程序的设计方法;

了解定时计数器的功能及应用。

实验程序源代码:

#include

#include

#include

#include

#include "digitron.h"

uint8_t code[10] = { 0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90 };

int sum[] = {0,0,0,0,0,0,0,0};

void DIG_Init()

{

PORTB = ~PB_MASK;

DDRB = PB_MASK;

PORTG &= 0x00;

DDRG |= _BV(DIG_CS1) | _BV(DIG_CS2);

}

void LED_Flash(int i,int com){

PORTG |= _BV(DIG_CS2);

PORTG &= ~_BV(DIG_CS1);

PORTB = code[i];

PORTG |= _BV(DIG_CS1);

PORTG &= ~_BV(DIG_CS2);

PORTB = com;

PORTG &= ~_BV(DIG_CS1);

PORTG &= ~_BV(DIG_CS2);

_delay_ms(1);

}

void LED_display(int s[8]){

for(int i = 0; i < 125; ++i) {

LED_Flash(s[7],128);

LED_Flash(s[6],64);

LED_Flash(s[5],32);

LED_Flash(s[4],16);

LED_Flash(s[3],8);

LED_Flash(s[2],4);

LED_Flash(s[1],2);

LED_Flash(s[0],1);

}

}

SIGNAL(SIG_OUTPUT_COMPARE1A)

{

TCNT1H = 0x00; //T/C1计数值清零TCNT1L = 0x00;

//对PE3取反,0.5秒改变一次

if(PORTE & _BV(PE3))

PORTE &= ~_BV(PE3); //输出低电平

else

PORTE |= (1<

DIG_Init();

while(1){

LED_display(sum);

sum[7]++;

for(int i=7;i>0;--i){

if(sum[i]==10){

sum[i]=0;

sum[i-1]++;

}

}

if(sum[0]==10){

sum[0]=0;

}

if(sum[7]==0&&sum[6]==6){

sum[7]=0;

sum[6]=0;

sum[5]++;

}

if(sum[5]==0&&sum[4]==6){

sum[5]=0;

sum[4]=0;

sum[3]++;

}

if(sum[3]==0&&sum[2]==6){

sum[3]=0;

sum[2]=0;

sum[1]++;

}

sum[0]=0;

sum[1]=0;

}

}

//主程序

int main(void)

{

DDRE = _BV(PE3); //初始化端口PE3为输出模式

PORTE &= _BV(PE3); //输出高电平,蜂鸣器禁止发声

TCCR1B = 0x00; //中断控制寄存器清零,停止T/Cl计数

OCR1AH = 0x3D; //设置8MHz、256分频、定时0.5s的比较值,

OCR1AL = 0x09; //与TCNTl的计数值进行比较,若匹配产生中断

TCCR1A = 0x00; //T/C1普通端口模式

TCCR1B = 0x04; //启动定时器T/C1,256分频

TIMSK |= 0x10; //使能C/Tl比较匹配中断

sei(); //允许全局中断

while(1); //等待中断的发生

return 0;

}

实验五:LCD字符图形显示程序设计

1. 熟悉单片机字符图形显示电路工作原理;

2. 了解LCD12864字符图形显示部件的工作原理;

3. 学会单片机控制字符图形显示的程序设计方法;

4. 学会单片机应用系统的人机界面软件设计方法。

实验程序源代码:

#include //io端口寄存器配置文件,必须包含

#include //GCC中的延时函数头文件

//端口位定义

#define RS PD5 //数据/命令控制端 0命令,1数据

#define RW PD6 //读/写选择控制端 0写,1读

#define E PD7 //使能端下降沿读,高电平写

//#define PSB PA3 //数据传输方式选择端,H,8位或4位并口方式;L,串口方式//全局变量声明

unsigned char ucString[2][4][16]={

{"ATMEGA-128开发板",

"LCD12864液晶测试",

" 换屏显示 ",

" 刘鑫2110505093"},

{" 五花马, ",

" 千金裘, ",

"呼儿将出换美酒,",

"与尔同销万古愁。"}};

double a[4]={0x80+0x00,0x90+0x00,0x88+0x00,0x98+0x00};

//函数声明

void LCD12864PortInit(void); //端口初始化

void LCD12864Init(void); //LCD初始化

void LCD12864WriteCommand(unsigned char ucCommand); //LCD写指令

void LCD12864WriteData(unsigned char ucData); //LCD写数据

void LCD12864BusyCheck(void); //读写检测函数,每次对液晶操作前都要进 // 行读写检测

int main(void)

{

while (1)

{

unsigned char i;

unsigned char j;

unsigned char k;

LCD12864PortInit(); //端口初始化

LCD12864Init(); //LCD初始化

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

{

LCD12864WriteCommand(a[i]);

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

{LCD12864WriteData(ucString[0][i][k]);

}

_delay_ms(15000);

}

LCD12864Init();

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

{

LCD12864WriteCommand(a[i]);

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

{LCD12864WriteData(ucString[1][i][k]);}

_delay_ms(15000);

}

LCD12864Init();

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

{

LCD12864WriteCommand(a[i]);

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

{

LCD12864WriteData(ucString[0][i+1][k]);

};

_delay_ms(113000);

}

LCD12864Init();

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

{

LCD12864WriteCommand(a[i]);

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

{

LCD12864WriteData(ucString[0][i+2][k]);

};

_delay_ms(113000);

}

LCD12864Init();

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

{

LCD12864WriteCommand(a[i]);

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

{

LCD12864WriteData(ucString[0][i+3][k]);

};

_delay_ms(113000);

}

}

}

void LCD12864PortInit()

{

//LCD数据端口设置

PORTB = 0x00; //

DDRB = 0xFF; //配置端口PB全部为输出口

PORTD = 0x00;

DDRD |= (1 << RS) | (1 << RW) | (1 << E);

_delay_ms(15);

}

void LCD12864Init()

{

LCD12864WriteCommand(0x01); //清屏

_delay_ms(15);

LCD12864WriteCommand(0x38); //显示模式

_delay_ms(5);

LCD12864WriteCommand(0x0f); //显示开关控制,开显示,光标显示,光 // 标闪烁

LCD12864WriteCommand(0x0c); //显示开关控制,开显示,光标不显示, //光标不闪烁

_delay_ms(5);

LCD12864WriteCommand(0x06); //光标设置,读或写一个字符后,地址指 // 针加一,光标加一,整屏不移动}

void LCD12864WriteCommand(unsigned char ucCommand)

{

LCD12864BusyCheck();

PORTD &= ~(1 << RS); //RS=0,写命令

PORTD &= ~(1 << RW); //RW=0,写指令

PORTD |= (1 << E); //E=1,写操作

_delay_ms(2);

PORTB = ucCommand; //指令送数据端口

PORTD &= ~(1 << E); //E=0,停止写操作

_delay_ms(5);

}

void LCD12864WriteData(unsigned char ucData)

{

LCD12864BusyCheck();

PORTD |= (1 << RS); //RS=1,写数据

PORTD &= ~(1 << RW); //RW=0,写指令

PORTD |= (1 << E); //E=1,写操作

_delay_ms(50);

PORTB = ucData; // 数据送数据端口

PORTD &= ~(1 << E); //E=0,停止写操作

_delay_ms(5);

}

void LCD12864BusyCheck(void)

{

unsigned int uiTemp;

uiTemp = 3000;

DDRB = 0x00; //PB口置为输入口,准备读取数据

PORTD &= ~(1 << RS); //RS=0,读命令

PORTD |= (1 << RW); //RW=1,读指令

PORTD |= (1 << E); //E=1,使能

while((0x80 & PINB) && (uiTemp--)); //监测忙信号,直到忙信号为0,才能进行读写操作

PORTD &= ~(1 << E); //E=0

DDRB = 0xFF; //PA口置为输出口,准备向端口发送数据

}

实验六:键盘控制程序设计

1. 熟悉单片机键盘电路工作原理;

2. 学会单片机键盘控制程序设计使用方法;

3. 学会单片机矩阵键盘扫描程序的设计;

4. 学会键盘控制与显示部件的联合应用。

实验程序源代码:

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

** 文件名:keypad.c

** 功能:行列式键盘扫描,并输出键值

** 说明:程序需要调用串口输出程序在PC机显示键值

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

//** 文件名:led.h

#ifndef LED_H

#define LED_H

#define LED_CS PC5

#define PB_MASK 0xFF

void LED_Init();

#endif

#include

#include

#include

#include

// #include "uart.h"

// #include "led.h"

#define LINE1_SCAN() PORTC = (PORTC | _BV(PC7)) & ~_BV(PC6)

#define LINE2_SCAN() PORTC = (PORTC | _BV(PC6)) & ~_BV(PC7)

#define MASK 0xFF

//端口位定义

#define RS PD5 //数据/命令控制端 0命令,1数据

#define RW PD6 //读/写选择控制端 0写,1读

#define E PD7 //使能端下降沿读,高电平写

//#define PSB PA3 //数据传输方式选择端,H,8位或4位并口方式;L,串口方式

void KP_Init()

{

// CHIP_Init();系统端口初始化

DDRB = 0xFF;

DDRC = 0xFF;

DDRD = 0xFF;

DDRE = 0xFF;

DDRF = 0xFF;

DDRG = 0xFF;

PORTD = 0x00;

PORTE = 0x08;

PORTF = 0x00;

PORTC |= 0x20;

PORTB = 0xFF;

PORTC = 0x02;

PORTG |= 0x18;

PORTB = 0x00;

PORTG = 0x00;

// 键盘端口初始化

PORTC &= 0x3F;

DDRC |= 0xC0;

PORTB = 0xFF;

DDRB = 0x00;

}

uint8_t KP_read()

{

asm("nop");

uint8_t retb = PINB;

return retb;

}

uint8_t KP_scan()

{

uint8_t code = MASK;

uint8_t key = 0x00;

//scan the first line

LINE1_SCAN();

LINE1_SCAN();

code = KP_read();

if(code != MASK) {

_delay_ms(10);

code = KP_read();

if(code != MASK) {

switch(code) {

case 0xFE: key = '0'; break;

case 0xFD: key = '1'; break;

case 0xFB: key = '2'; break;

case 0xF7: key = '3'; break;

case 0xEF: key = '4'; break;

case 0xDF: key = '5'; break;

case 0xBF: key = '6'; break;

case 0x7F: key = '7'; break;

}

}

while(1) {

code = KP_read();

if(code == MASK) {

_delay_ms(10);

code = KP_read();

if(code == MASK);

break;

}

}

}

//scan the second line

LINE2_SCAN();

LINE2_SCAN();

code = KP_read();

if(code != MASK) {

_delay_ms(10);

code = KP_read();

if(code != MASK) {

switch(code) {

case 0xFE: key = '8'; break;

case 0xFD: key = '9'; break;

case 0xFB: key = 'A'; break;

//case 0xFB: key = 0x0A; break;

case 0xF7: key = 'B'; break;

//case 0xF7: key = 0x0B; break;

case 0xEF: key = 'C'; break;

//case 0xEF: key = 0x0C; break;

case 0xDF: key = 'D'; break;

//case 0xDF: key = 0x0D; break;

case 0xBF: key = 'E'; break;

//case 0xBF: key = 0x0E; break;

case 0x7F: key = 'F'; break;

//case 0x7F: key = 0x0F; break;

}

}

while(1) {

code = KP_read();

if(code == MASK) {

_delay_ms(10);

code = KP_read();

if(code == MASK);

break;

}

}

}

//if no key is pressed, return 0x00

return key;

}

//函数声明

void LCD12864PortInit(void); //端口初始化

void LCD12864Init(void); //LCD初始化

void LCD12864WriteCommand(unsigned char ucCommand); //LCD写指令

void LCD12864WriteData(unsigned char ucData); //LCD写数据

void LCD12864BusyCheck(void); //读写检测函数,每次对液晶操作前都要进行读写检测void LCD12864PortInit()

{

//LCD数据端口设置

PORTB = 0x00; //

DDRB = 0xFF; //配置端口PB全部为输出口

PORTD = 0x00;

DDRD |= (1 << RS) | (1 << RW) | (1 << E);

_delay_ms(15);

}

void LCD12864Init()

{

LCD12864WriteCommand(0x01); //清屏

_delay_ms(15);

LCD12864WriteCommand(0x38); //显示模式

_delay_ms(5);

LCD12864WriteCommand(0x0f); //显示开关控制,开显示,光标显示,光标闪烁

LCD12864WriteCommand(0x0c); //显示开关控制,开显示,光标不显示,光标不闪烁_delay_ms(5);

LCD12864WriteCommand(0x06); //光标设置,读或写一个字符后,地址指针加一,光标加一,整屏不移动

_delay_ms(5);

}

void LCD12864WriteCommand(unsigned char ucCommand)

{

LCD12864BusyCheck();

PORTD &= ~(1 << RS); //RS=0,写命令

PORTD &= ~(1 << RW); //RW=0,写指令

PORTD |= (1 << E); //E=1,写操作

_delay_ms(2);

PORTB = ucCommand; //指令送数据端口

PORTD &= ~(1 << E); //E=0,停止写操作

_delay_ms(5);

}

void LCD12864WriteData(unsigned char ucData)

{

LCD12864BusyCheck();

PORTD |= (1 << RS); //RS=1,写数据

PORTD &= ~(1 << RW); //RW=0,写指令

PORTD |= (1 << E); //E=1,写操作

_delay_ms(2);

PORTB = ucData; // 数据送数据端口

PORTD &= ~(1 << E); //E=0,停止写操作

_delay_ms(5);

}

void LCD12864BusyCheck(void)

{

unsigned int uiTemp;

uiTemp = 3000;

DDRB = 0x00; //PB口置为输入口,准备读取数据

PORTD &= ~(1 << RS); //RS=0,读命令

PORTD |= (1 << RW); //RW=1,读指令

PORTD |= (1 << E); //E=1,使能

while((0x80 & PINB) && (uiTemp--)); //监测忙信号,直到忙信号为0,才能进行读写操作

PORTD &= ~(1 << E); //E=0

DDRB = 0xFF; //PA口置为输出口,准备向端口发送数据

}

unsigned char ucString[4][16];

unsigned char row=0;

unsigned char i=0;

uint8_t PorNum[4]={0x80, 0x90, 0x88, 0x98};

unsigned char PorNumP=0;

void ResstucS(){

int m, k;

for (m=0; m<4; m++)

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

{

ucString[m][k]=' ';

}

}

int main()

{

uint8_t keysc;

KP_Init();

ResstucS();

//UART_Init(); // 串口输出

//printf("Press a Key:\n");

while(1) {

KP_Init();

keysc = KP_scan();

if(keysc != 0)

//printf("You pressed key: %c\n", keysc);//输出键值

{

unsigned char j;

ucString[row][i]=keysc;

i++;

LCD12864PortInit(); //端口初始化

LCD12864Init(); //LCD初始化

LCD12864WriteCommand(0x80+0x00);

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

{

LCD12864WriteData(ucString[0][j]);

}

LCD12864WriteCommand(0x90+0x00);

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

{

LCD12864WriteData(ucString[1][j]);

}

LCD12864WriteCommand(0x88+0x00);

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

{

LCD12864WriteData(ucString[2][j]);

}

LCD12864WriteCommand(0x98+0x00);

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

{

LCD12864WriteData(ucString[3][j]);

}

if (i==16)

{

if(row==3)

{

ResstucS();

}

i=0;

row = ( row + 1 ) % 4;

//PorNumP = ( PorNumP + 1 ) % 4;

}

_delay_ms(20);

}

}

}

六、实验感想

实验中遇到了很多的问题,不过都在老师和同学的讨论中得到解决,对于一门新的语言经历了由陌生到熟悉的过程,虽然还不是很熟练但收获已是不小。

在实验5是用led显示时钟的过程中,遇到了很大麻烦,不过在讨论和探索中难题都得到了解决。虽然LCD显示原理较为复杂,只能到初步理解的地步,但通过对示例程序的阅读,修改显示内容是比较简单的。

通过本次实验,对于简单单片机的的功能设计的过程有了初步了解,对于相应的软件实现也有了熟练的掌握,尤其是硬件方面的简单编程。

对于单片机的工作原理实现也很好的掌握了,实验过程很好的锻炼了我的动手能力,操作能力,团队合作能力以及专研精神,收获很大,也很珍惜这样的机会。

电子系统设计 实验报告

本科生实验报告 实验课程电子系统设计 学院名称 专业名称测控技术与仪器 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇年月——二〇年月

实验一、运放应用电路设计 一、实验目的 (1)了解并运用NE555定时器或者其他电路,学会脉冲发生器的设计,认识了解各元器件的作用和用法。 (2)掌握运算放大器基本应用电路设计 二、实验要求 (1)使用555或其他电路设计一个脉冲发生器,并能满足以下要求:产生三角波V2,其峰峰值为4V,周期为0.5ms,允许T有±5%的误差。 V2/V +2 图1-1 三角波脉冲信号 (2)使用一片四运放芯片LM324设计所示电路,实现如下功能:设计加法器电路,实现V3=10V1+V2,V1是正弦波信号,峰峰值0.01v,频率10kHz。 V3 图1-2 加法电路原理

三、实验内容 1、555定时器的说明: NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率的脉波讯号。 a. NE555的特点有: 1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。 2.它的操作电源范围极大,可与TTL,CMOS等逻辑闸配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。 3.其输出端的供给电流大,可直接推动多种自动控制的负载。 4.它的计时精确度高、温度稳定度佳,且价格便宜。 b. NE555引脚位配置说明下: NE555接脚图: 图1-3 555定时器引脚图 Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 Pin 2 (触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC,下缘须低于1/3 VCC 。

电子系统设计报告

课程设计实践报告 一、课程设计的性质、目的与作用 本次电子系统设计实践课程参照全国大学生电子设计模式,要求学生综合利用所学的有关知识,在教师的指导下,分析和熟悉已给题目,然后设计系统方案、画原理图及PCB、软件编程,并做出课程设计报告。因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系,在设计思路上不框定和约束同学们的思维,同学们可以发挥自己的创造性,有所发挥,并力求设计方案凝练可行、思路独特、效果良好。 本课程设计的目的是为了让学生能够全面了解电子电路应用系统的整个设计过程,逐步掌握系统开发的以下相关技术: (1)熟悉系统设计概念; (2)利用所学数电、模拟电路知识,设计电路图; (3)利用PROTEL软件画原理图及PCB; (4)熟悉系统项目设计报告填写知识; (5)培养团队合作意识。 通过本课程设计,有助于学生更好地了解整个课程的知识体系,锻炼学生实际设计能力、分析和思考能力,使其理论与实践相结合,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。 二、课程设计的具体内容 电子系统设计实践课程就是锻炼学生系统设计、分析和思考能力,全面运用课程所学知识,发挥自己的创造性,全面提高系统及电路设计、原理图及PCB 绘画等硬件水平和实际应用能力,从而体现出电子系统设计的真谛。下面是各个设计阶段的具体内容。 1.系统方案认识 根据所设定的题目,能够给出系统设计方案与思路

题目:信号发生器产生电路,请设计一个能产生正弦波、方波及三角波电路,并制作原理图,然后阐述其原理。 基本原理: 系统框图如图1所示。 图1 低频信号发生器系统框图 低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电 压转换电路、按键和波形指示电路、电源等电路组成。 其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿 波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。2、各部分电路原理 (1)DAC0832芯片原理 ①管脚功能介绍(如图5所示) 图5 DAC0832管脚图 1) DI7~DI0:8位的数据输入端,DI7为最高位。

现代电子实验报告 电子科技大学

基于FPGA的现代电子实验设计报告 ——数字式秒表设计(VHDL)学院:物理电子学院 专业: 学号: 学生姓名: 指导教师:刘曦 实验地点:科研楼303 实验时间:

摘要: 通过使用VHDL语言开发FPGA的一般流程,重点介绍了秒表的基本原理和相应的设计方案,最终采用了一种基于FPGA 的数字频率的实现方法。该设计采用硬件描述语言VHDL,在软件开发平台ISE上完成。该设计的秒表能准确地完成启动,停止,分段,复位功能。使用ModelSim 仿真软件对VHDL 程序做了仿真,并完成了综合布局布线,最终下载到EEC-FPGA实验板上取得良好测试效果。 关键词:FPGA,VHDL,ISE,ModelSim

目录 绪论 (4) 第一章实验任务 (5) 第二章系统需求和解决方案计划 (5) 第三章设计思路 (6) 第四章系统组成和解决方案 (6) 第五章各分模块原理 (8) 第六章仿真结果与分析 (11) 第七章分配引脚和下载实现 (13) 第八章实验结论 (14)

绪论: 1.1课程介绍: 《现代电子技术综合实验》课程通过引入模拟电子技术和数字逻辑设计的综合应用、基于MCU/FPGA/EDA技术的系统设计等综合型设计型实验,对学生进行电子系统综合设计与实践能力的训练与培养。 通过《现代电子技术综合实验》课程的学习,使学生对系统设计原理、主要性能参数的选择原则、单元电路和系统电路设计方法及仿真技术、测试方案拟定及调测技术有所了解;使学生初步掌握电子技术中应用开发的一般流程,初步建立起有关系统设计的基本概念,掌握其基本设计方法,为将来从事电子技术应用和研究工作打下基础。 本文介绍了基于FPGA的数字式秒表的设计方法,设计采用硬件描述语言VHDL ,在软件开发平台ISE上完成,可以在较高速时钟频率(48MHz)下正常工作。该数字频率计采用测频的方法,能准确的测量频率在10Hz到100MHz之间的信号。使用ModelSim仿真软件对VHDL程序做了仿真,并完成了综合布局布线,最终下载到芯片Spartan3A上取得良好测试效果。 1.2VHDL语言简介:

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

现代电子系统设计与实践 复习资料

一、选择题 1、蓝色发光二极管正常工作时,其二端电压大约等于() A、1V B、2V C、3V D、4V 2、二极管由于省电,长寿,鲜艳而常被用来作指示,以下哪个工作电流是合适的?() A、0.5mA B、5mA C、50mA D、500mA 3、三极管在放大状态工作在什么区?() A、截止区 B、放大区 C、非线性区 D、饱和区 4、整流电源中的滤波电容的取值与负载有关,R*C取值?() A、>(2~5)T/2 B、>(2~5)T/2 C、C=1000uF D、随意 5、单晶体管由于其震荡的特有特性常可用于() A、放大特性 B、负阻特性 C、同步控制 D、震荡特性 6、我们经常可以看到,在电子产品中,有黑色的铝材,都是为了(C) A、美观 B、增加重量 C、便于散热 D、便于器件固定 7、运放工作正常的时候,其同相端和反相端的电压是() A、6V B、1/2Vcc C、1/3Vcc D、1/4Vcc 8、差分电路中的射极电阻可以提高放大器的() A、工模抑制比 B、差模电压增益 C、共模电压增益 D、输入信号的线性范围 9、反相器作放大器时,其上的反相电阻可以取() A、100欧 B、1千欧 C、100千欧 D、1兆欧 10、共发射极放大电路中,Uce取多少才合适() A、6V B、1/2 Vcc C、1/3Vcc D、1/4Vcc 11、为了改善组合逻辑电路由于竞争而出现冒险而影响后续电路的正常工作,下面哪项措施是不妥的() A、增加选通门 B、换滤波器 C、选高速器件 D、消除卡诺图中的相切相

12、用CMOS非门制作的晶体振荡器中,没有信号输出,最易疏忽的是() A、忘了换电容 B、震荡电容用了电解电容 C、忘了接反馈电阻 D、忘了接电容 13、设计多输出组合逻辑,既方便又经济的是采用() A、门电路 B、译码器 C、数据选择器 D、CPLD 14、普通的单电压比较器,左转换点,可能出现来回振荡现象,解决的办法是() A、提高比较电压 B、加负反馈 C、加正反馈 D、降低比较电压 15稳压二极管是利用它的()特性 A、稳压特性 B、非线性 C、发光原理 D、单向导电特性 16、高频放大器通常工作在() A、甲类 B、乙类 C、丙类 D、丁类 17、检波二极管是利用它的()特性 A、稳压特性 B、非线性 C、发光原理 D、单向导电特性 18、做实验时常常不小心把电源短路了,但也没发现电源坏了,那是因为() A、电源质量不好 B、有过压保护 C、有输出过载保护 D、运气好 19、OTL放大器通常工作在() A、甲类 B、乙类 C、丙类 D、丁类 20、检波电路的后缀如果输入阻抗不够大,可能会出现() A、惰性失真 B、滤波效果变差 C、限幅失真 D、负锋切割 21、在正交鉴频电路中,为了便于制作正交线圈,和降低成本,实际的正交线圈是一个() A、纯电感 B、晶体 C、并有合适的电容 D、并了个电阻 22、差分电路中的恒流源可以提高放大器的() A、工模抑制比 B、差模电压增益 C、共模电压增益 D、输入信号的线性范围 23、对于MCS-51系列单片机,内部RAM中堆栈指针SP的指针指向()

电子系统设计专题实验

电子系统设计专题实验报告 ——AVR 单片机基础实验 学 院: 电信学院 班 级: 计算机14 学 号: 2110505092 姓 名: 刘鑫

一、实验目的和要求 本实验课程的主要目的是通过一个新型嵌入式单片机为核心的应用系统设计,掌握微型计算机硬件系统结构基本原理,软件开发编程方法,外围接口电路的组成和应用编程技术,以及电子系统设计的相关技术。通过课程实践训练,能够独立实现一个完整的计算机应用系统设计。 要求基本实验部分学习单片机系统的基本硬件组成原理和软件程序设计方法;综合设计实验要求根据题目需求自行设计系统硬件组成电路,并设计实现完成相应功能的应用程序调试任务。 二、实验设备及开发环境 以AVR ATmega128单片机为核心的实验开发系统。实验开发板采用技术性能优良的AVR ATmega128单片机作为核心器件,还特别设计了USB接口模块、Ethernet网络接口模块,还有MCU对外扩插槽,可为电路扩展模块提供必要的准备。 AVR单片机实验开发系统实验测试环境: 1.软件开发平台: PC机WindowsXP操作系统; AVR Studio 4.16 集成开发软件; WinAVR 20080610 C语言编译器; 2.下载编程工具: JTAG ICE mkII在线仿真器; 3.测试目标板: ATmega128实验开发板; 4.测试程序:用C语言编写电路功能测试程序,在WinAVR(GCC)+ AVR Studio编译下通过。 三、实验设计题目及实现的功能 实验一:单片机实验系统开发环境学习 1. 熟悉实验电路的结构原理、元器件名称、作用及相应的接口连接; 2. 学会使用C编译器编辑、编译、调试简单C源程序; 3. 学会使用AVR Studio集成开发软件下载调试并得到正确结果; 4. 熟悉蜂鸣器电路的编程原理 实验程序源代码: #include // I/O端口寄存器配置文件,必须包含 #include // 延时函数调用文件 int main(void) // GCC中main文件必须为返回整形值的函数,没有 // 参数 { PORTE = 0X80; // PORTE输出高电平,使蜂鸣器不响 DDRE = 0X08; // 配置端口PE3为输出口 while(1) { PORTE &= ~(1 << PE3); //PE3置“0”,但是这种设置方法不改变PE口其余位 //的状态,平时程序中推荐这种使用方法 _delay_ms(100); // 延时100毫秒 _delay_ms(100); _delay_ms(100);

电子系统综合设计实验报告

电子系统综合设计实验报告 所选课题:±15V直流双路可调电源 学院:信息科学与工程学院 专业班级: 学号: 学生姓名: 指导教师: 2016年06月

摘要本次设计本来是要做±15V直流双路可调电源的,但由于买不到规格为±18V的变压器,只有±15V大小的变压器,所以最后输出结果会较原本预期要小。本设计主要采用三端稳压电路设计直流稳压电源来达到双路可调的要求。最后实物模型的输出电压在±13左右波动。 1、任务需求 ⑴有+15V和-15V两路输出,误差不超过上下1.5V。(但在本次设计中,没有所需变压器,所以只能到±12.5V) ⑵在保证正常稳压的前提下,尽量减小功效。 ⑶做出实物并且可调满足需求 2、提出方案 直流可变稳压电源一般由整流变压器,整流电路,滤波器和稳压环节组成如下图a所示。 ⑴单相桥式整流 作用之后的输出波形图如下:

⑵电容滤波 作用之后的输出波形图如下: ⑶可调式三端集成稳压器是指输出电压可以连续调节的稳压器,有输出正电压的LM317三端稳压器;有输出负电压的LM337三端稳压器。在可调式三端集成稳压器中,稳压器的三个端是指输入端、输出端和调节端。 LM317的引脚图如下图所示:(LM337的2和3引脚作用与317相反)

3、详细电路图: 因为大容量电解电容C1,C2有一定的绕制电感分布电感,易引起自激振荡,形成高频干扰,所以稳压器的输入、输出端常并入瓷介质小容量电容C5,C6,C7,C8用来抵消电感效应,抑制高频干扰。 参数计算: 滤波电容计算: 变压器的次级线圈电压为15V ,当输出电流为0.5A 时,我们可以求得电路的负载为I =U /R=34Ω时,我们可以根据滤波电容的计算公式: C=т/R,来求滤波电容的取值范围,其中在电路频率为50HZ 的情况下,T 为20ms 则电容的取值范围大于600uF ,保险起见我们可以取标准值为2200uF 额定电压为50V 的点解电容。另外,由于实际电阻或电路

电子系统设计与实践课程设计——多点温度测量(汇编语言+C语言版)

《电子系统设计与实践》 课程设计报告 课程设计题目:多点温度测量系统设计专业班级:2012级电子信息科学与技术 学生姓名:罗滨志(120802010051) 张倩(120802010020) 冯礼哲(120802010001) 吴道林(120802010006) 朱栖安(120802010039)指导老师:刘万松老师 成绩: 2015 年6 月27日 目录

摘要 (4) 1 总体设计 (4) 1.1 功能要求 (5) 1.2 总体方案及工作原理 (5) 2 系统硬件设计 (6) 2.1 器件选择 (6) 2.1.1主要器件的型号 (6) 2.1.2 AT89C51 (7) 2.1.3智能温度传感器DS18B20 (9) 2.1.4晶振电路方案 (9) 2.1.5 LED液晶显示器 (10) 2.1.6复位电路方案 (10) 2.2 硬件原理图 (11) 3 系统软件设计 (11) 3.1基本原理 (11)

3.1.1主程序 (11) 3.1.2读ROM地址程序 (12) 3.1.3显示ROM地址程序 (13) 3.1.4读选中DS18B20温度的程序 (13) 3.1.5显示温度程序 (14) 3.2软件清单 (15) 3.2.1汇编语言程序 (15) 3.2.2 C语言程序 (24) 4实验步骤 (29) 4.1汇编语言程序调试 (29) 4.2 C语言程序调试 (30) 4.3实验仿真 (31) 5设计总结 (32) 6参考文献: (33)

摘要 温度是我们生活中非常重要的物理量。随着科学技术的不断进步与发展,温度测量在工业控制、电子测温计、医疗仪器,家用电器等各种控制系统中广泛应用。温度测量通常可以使用两种方式来实现:一种是用热敏电阻之类的器件,由于感温效应,热敏电阻的阻值能够随温度发生变化,当热敏电阻接入电路时,则流过它的电流或其两端的电压就会随温度发生相应的变化,再将随温度变化的电压或者电流采集过来,进行A/D转换后,发送到单片机进行数据处理,通过显示电路,就可以将被测温度显示出来。这种设计需要用到A/D转换电路,其测温电路比较麻烦。第二种方法是用温度传感器芯片,温度传感器芯片能把温度信号转换成数字信号,直接发送给单片机,转换后通过显示电路显示即可。这种方法电路比较简单,设计方便,现在使用非常广泛。 关键词:多点温度测量单片机温度传感器 1 总体设计 多路温度测量系统的总体结构如图1所示,根据要求,整个系统包含以下几个部分:51单片机、时钟电路、复位电路组成的51单片机小系统;多块测温模块;显示温度值的显示模块和按键模块。测温模块由温度传感器组成,温度传感器采用美国Dallas半导体公司推出的智能温度传感器DS18B20,温度测量范围为-55 -- +125,可编程为9到12位的A/D转换精度,测温分辨率可达0.0625C,完全能够满足系统要求。DS18B20采用单总线结构,只需要一根数据线DQ即可与单片机通信,多个DS18B20可同时连接在一根数据线上与单片机通信。显示器可采用LCD液晶显示器,显示信息量大、效果好、使用方便。

电子系统设计实习报告模板

实习报告 ——电子系统设计 学号:0706110408 班级:电信07-4 姓名:李华君

一.设计内容 基本任务: 1、用一位数码管(DS1)显示自己的学号,大约1秒钟显示1位数字 2、流水灯(循环点亮8个LED)\ 3、通过串口将自己的班级,学号,姓名发送至电脑,用串口调试助手显示。 扩展任务(做完基本任务后,有余力的同学选作,评定成绩加分): 任务一 在ds1302中写入当前时间,然后每个2秒钟通过max232送入计算机显示(年月日时分秒),送出20个时间信息后,蜂鸣器响一声。 任务二 在AT24C02中写入自己的姓名(拼音),学号,并通过串口在电脑显示输出。 任务三 通过ds18b20读入当前温度值,送入数码管显示,显示用三位(DS1,DS2,DS3显示,DS4不焊接),显示温度范围0-99摄氏度,精度0.5摄氏度。 任务四 通过ds18b20读入当前温度值,送入串口显示 二.系统程序代码 1、流水灯: #include #include void delay(unsigned int); unsigned char a; void main() { a=0xfe; P1=a; while(1) { a=_crol_(a,1); delay(500); P1=a; } } void delay(unsigned int z) { unsigned int x,y; for(x=100;x>0;x--) for(y=z;y>0;y--); }

2、数码管: #include sbit dula=P2^7; unsigned char ss,t; unsigned char code table[]={0x3f,0x07,0x3f,0x7d,0x06,0x06,0x3f,0x66,0x3f,0x7f}; void delay(unsigned int); void main() { /*t=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;*/ while(1) { /*if(t==20)*/ for(ss=0;ss<10;ss++) { /*t=0; if(ss==10) ss=0;*/ dula=1; P0=table[ss]; dula=0; delay(500); /*ss++;*/ } } } void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); } /*void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; }*/ 3、串口: #include

030741001《电子系统设计》课程教学大纲2010计划

《电子系统设计》课程教学大纲 课程代码:030741001 课程英文名称:Electronic system design 课程总学时:48 讲课:32 实验:16 上机:0 适用专业:电子信息科学与技术专业 大纲编写(修订)时间:2011.5 一、大纲使用说明 (一)课程的地位及教学目标 电子系统设计是电子信息科学与技术专业本科生的必修专业课之一,通过课程了解并掌握电子系统的基本构成、电子设计单元电路,特别是掌握基于单片机、CPLD、FPGA的设计方法,提高学生的综合素质,培养创新精神。 通过本课程的学习,学生将达到以下要求: 1.掌握电子系统方案设计的基本原理和方法,应用方案比较,方案论证,工作原理考核,测试方案论证,测试仪器选择,数据分析,系统总结等方法进行系统整体方案设计; 2.具有设计单元电路的能力; 3. 具有运用相关电子设计工具软件的应用能力,能使用相应软件进行实例设计; 4.具有基于硬件平台进行电子系统综合调试的能力,能够实现某些基本功能; 5.了解电子系统的最新技术和发展方向。 (二)知识、能力及技能方面的基本要求 1.基本知识:掌握电子系统设计的基本思想、原理、方法。 2.基本理论和方法:掌握包括电源设计、键盘输入、显示输出等基本电路,掌握应用单片机、CPLD、FPGA进行系统设计的基本原理和方法。 3.基本技能: 能够应用单片机、CPLD、FPGA为核心芯片进行简单系统的设计。 (三)实施说明 1.教学方法:课堂讲授中要重点对基本概念、基本方法的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;讲课要联系实际并注重培养学生的创新能力,重点应放在提高工程应用的训练上。 2.教学手段:本课程属于应用技术类的专业课,教学内容中设计大量的电路设计和程序设计。在教学中应结合实际,如真实的电子器件、开发板等实物进行讲解以增加学生的感性认识,对程序设计调试等内容采用多媒体教学,以确保在有限的学时内,全面、高质量地完成课程教学任务。 (四)对先修课的要求 本课程的教学必须在完成先修课程之后进行。本课程主要的先修课程有模拟电子技术A、数字电子技术A、单片机、数字系统与VHDL。本课程将为毕业设计的学习打下良好基础。 (五)对习题课、实践环节的要求 1.对重点、难点章节应安课堂演示,结合开发板等进行现场调试等,例题的选择以培养学生消化和巩固所学知识,用以解决实际问题为目的。 2.课后作业要少而精,内容以查资料、进行实际电路设计为主,并针对学生的典型设计进行课堂讲解和讨论,分析不同设计的差别和优缺点,对设计方法要鼓励多样化。学生必须独立、按时完成课外习题和作业,作业的完成情况应作为评定课程成绩的一部分。

温度测量控制系统的设计与制作实验报告(汇编)

北京电子科技学院 课程设计报告 ( 2010 – 2011年度第一学期) 名称:模拟电子技术课程设计 题目:温度测量控制系统的设计与制作 学号: 学生姓名: 指导教师: 成绩: 日期:2010年11月17日

目录 一、电子技术课程设计的目的与要求 (3) 二、课程设计名称及设计要求 (3) 三、总体设计思想 (3) 四、系统框图及简要说明 (4) 五、单元电路设计(原理、芯片、参数计算等) (4) 六、总体电路 (5) 七、仿真结果 (8) 八、实测结果分析 (9) 九、心得体会 (9) 附录I:元器件清单 (11) 附录II:multisim仿真图 (11) 附录III:参考文献 (11)

一、电子技术课程设计的目的与要求 (一)电子技术课程设计的目的 课程设计作为模拟电子技术课程的重要组成部分,目的是使学生进一步理解课程内容,基本掌握电子系统设计和调试的方法,增加集成电路应用知识,培养学生实际动手能力以及分析、解决问题的能力。 按照本专业培养方案要求,在学完专业基础课模拟电子技术课程后,应进行课程设计,其目的是使学生更好地巩固和加深对基础知识的理解,学会设计小型电子系统的方法,独立完成系统设计及调试,增强学生理论联系实际的能力,提高学生电路分析和设计能力。通过实践教学引导学生在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。 (二)电子技术课程设计的要求 1.教学基本要求 要求学生独立完成选题设计,掌握数字系统设计方法;完成系统的组装及调试工作;在课程设计中要注重培养工程质量意识,按要求写出课程设计报告。 教师应事先准备好课程设计任务书、指导学生查阅有关资料,安排适当的时间进行答疑,帮助学生解决课程设计过程中的问题。 2.能力培养要求 (1)通过查阅手册和有关文献资料培养学生独立分析和解决实际问题的能力。 (2)通过实际电路方案的分析比较、设计计算、元件选取、安装调试等环节,掌握简单实用电路的分析方法和工程设计方法。 (3)掌握常用仪器设备的使用方法,学会简单的实验调试,提高动手能力。 (4)综合应用课程中学到的理论知识去独立完成一个设计任务。 (5)培养严肃认真的工作作风和严谨的科学态度。 二、课程设计名称及设计要求 (一)课程设计名称 设计题目:温度测量控制系统的设计与制作 (二)课程设计要求 1、设计任务 要求设计制作一个可以测量温度的测量控制系统,测量温度范围:室温0~50℃,测量精度±1℃。 2、技术指标及要求: (1)当温度在室温0℃~50℃之间变化时,系统输出端1相应在0~5V之间变化。 (2)当输出端1电压大于3V时,输出端2为低电平;当输出端1小于2V时,输出端2为高电平。 输出端1电压小于3V并大于2V时,输出端2保持不变。 三、总体设计思想 使用温度传感器完成系统设计中将实现温度信号转化为电压信号这一要求,该器件具有良好的线性和互换性,测量精度高,并具有消除电源波动的特性。因此,我们可以利用它的这些特性,实现从温度到电流的转化;但是,又考虑到温度传感器应用在电路中后,相当于电流源的作用,产生的是电流信号,所以,应用一个接地电阻使电流信号在传输过程中转化为电压信号。接下来应该是对产生电压信号的传输与调整,这里要用到电压跟随器、加减运算电路,这些电路的实现都离不开集成运放对信号进行运算以及电位器对电压调节,所以选用了集成运放LM324和电位器;最后为实现技术指标(当输出端1电压大于3V时,输出端2为低电平;当输出端1小于2V时,输出端2为高电平。输出端1电压小于3V并大于2V时,输出端2保持不变。)中的要求,选用了555定时器LM555CM。 通过以上分析,电路的总体设计思想就明确了,即我们使用温度传感器AD590将温度转化成电压信号,然后通过一系列的集成运放电路,使表示温度的电压放大,从而线性地落在0~5V这个区间里。最后通过一个555设计的电路实现当输出电压在2与3V这两点上实现输出高低电平的变化。

电子科技大学 实验设计方法 实验报告

电子科技大学 实 验 报 告 学生姓名:黎超群 学号: 20 指导教师:王守绪、何为 日期: 2014年5月13日

一、实验室名称: 211大楼 二、实验项目名称: 统计分析应用软件在优化试验设计中的应用 三、实验原理: 统计分析应用软件可以应用在优化试验设计中以简化运算,提高工作效率 四、实验目的: 1. 掌握“正交助手”应用软件在正交试验统计分析法中的应用 2. 熟悉Minitab、DPS统计分析应用软件在多元回归分析中的应用 3. 熟悉“均匀设计”应用软件在均匀试验设计以及分析方法中的应用 4. 加深对理论教学知识的理解 5. 更深刻理解试验设计方法在实际工作中的应用 五、实验内容: 1、用“正交设计助手”进行正交实验的极差分析和方差分析 2、用“正交设计助手”处理带交互作用的正交试验问题 3、minitab进行正交实验的方差分析 4、minitab处理多元回归分析问题 5、“均匀设计”软件解决均匀设计问题的一般流程 6、用DPS数据处理系统处理正交实验及回归分析 六、实验器材(设备、元器件): 计算机、正交设计助手软件、Minitab软件、均匀设计软件、DPS数据处理系统

七、实验步骤: Ⅰ. 用“正交设计助手”进行正交实验的极差分析和方差分析 1.点击文件→新建工程→右击未命名工程→修改工程→键入用户名→点击实验 34)→再点→新建实验→填写实验名称和描述→点击旁边选项卡选择正交表(L 9 击“因素与水平”选项卡填写实验因素和水平(图1)→软件自动完成实验安排(图2)→填写实验结果(图3)→点击分析→“直观分析”得到极差分析结果(图4)→点击“因素指标”得到各因素二元图(图5)→点击“方差分析”→选择误差列为空白列得到方差分析结果(图6)→实验Ⅰ结束 图1 图2 图3 图4 图5 图6Ⅱ. 用“正交设计助手”处理带交互作用的正交试验问题 27)→填写因素、交互作点击新建实验→填写实验名称和描述→选择正交表(L 8 用和水平(图1)→软件自动安排实验(图2)→输入实验结果(图3)→点击“直观分析”得到极差分析结果(图4)→点击“交互作用”→选择发生交互作用的A、B得到交互作用表(图5)→点击“方差分析”得到方差分析结果(图6)

电子系统设计温度控制系统实验报告

电子系统设计实验报告温度控制系统的设计 姓名:杨婷 班级:信息21 学校:西安交通大学

一、问题重述 本次试验采用电桥电路、仪表放大器、AD转化器、单片机、控制通断继电器和烧水杯,实现了温度控制系统的控制,达到的设计要求。 设计制作要求如下: 1、要求能够测量的温度范围是环境温度到100o C。 2、以数字温度表为准,要求测量的温度偏差最大为±1o C。 3、能够对水杯中水温进行控制,控制的温度偏差最大为±2o C,即温度波 动不得超过2o C,测量的精度要高于控制的精度。 4、控制对象为400W的电热杯。 5、执行器件为继电器,通过继电器的通断来进行温度的控制。 6、测温元件为铂热电阻Pt100传感器。 7、设计电路以及使用单片机学习板编程实现这些要求,并能通过键盘置入预期温度,通过LCD显示出当前温度。 二、方案论证 1、关于R/V转化的方案选择 方案一是采用单恒流源或镜像恒流源方式,但是由于恒流源的电路较复杂,且受电路电阻影响较大,使输出电压不稳定。 方案二是采用电桥方式,由电阻变化引起电桥电压差的变化,电路结构简单,且易实现。 2、关于放大器的方案选择 方案一是采用减法器电路,但是会导致放大器的输入电阻对电桥有影响,不利于电路的调节。 方案二是采用仪表放大器电路,由于仪表放大器内部的对称,使电路影响较小,调整放大倍数使温度从0到100度,对应的电压为0-5V。 三、电路的设计 1、电桥电路 通过调节电位器R3使其放大器输出端在0度的时候输出为0实现调零,然后合理选择R1、R2的阻值配合后面放大器的放大倍数实现热电阻阻值向电压值的转化。 通过调节电位器R3使其放大器输出端在0度的时候输出为0实现调零,然后合理选择R1、R2的阻值配合后面放大器的放大倍数实现热电阻阻值向电压值的转化。本次实验中:R1=R2=10KΩ,R3为500Ω的变阻器。

电子电路综合设计实验报告

电子电路综合设计实验报告 实验5自动增益控制电路的设计与实现 学号: 班序号:

一. 实验名称: 自动增益控制电路的设计与实现 二.实验摘要: 在处理输入的模拟信号时,经常会遇到通信信道或传感器衰减强度大幅变化的情况; 另外,在其他应用中,也经常有多个信号频谱结构和动态围大体相似,而最大波幅却相差甚多的现象。很多时候系统会遇到不可预知的信号,导致因为非重复性事件而丢失数据。此时,可以使用带AGC(自动增益控制)的自适应前置放大器,使增益能随信号强弱而自动调整,以保持输出相对稳定。 自动增益控制电路的功能是在输入信号幅度变化较大时,能使输出信号幅度稳定不变或限制在一个很小围变化的特殊功能电路,简称为AGC 电路。本实验采用短路双极晶体管直接进行小信号控制的方法,简单有效地实现AGC功能。 关键词:自动增益控制,直流耦合互补级,可变衰减,反馈电路。 三.设计任务要求 1. 基本要求: 1)设计实现一个AGC电路,设计指标以及给定条件为: 输入信号0.5?50mVrm§ 输出信号:0.5?1.5Vrms; 信号带宽:100?5KHz; 2)设计该电路的电源电路(不要际搭建),用PROTE软件绘制完整的电路原理图(SCH及印制电路板图(PCB 2. 提高要求: 1)设计一种采用其他方式的AGC电路; 2)采用麦克风作为输入,8 Q喇叭作为输出的完整音频系统。 3. 探究要求: 1)如何设计具有更宽输入电压围的AGC电路; 2)测试AGC电路中的总谐波失真(THD及如何有效的降低THD 四.设计思路和总体结构框图 AGC电路的实现有反馈控制、前馈控制和混合控制等三种,典型的反馈控制AGC由可变增益放大器(VGA以及检波整流控制组成(如图1),该实验电路中使用了一个短路双极晶体管直接进行小信号控制的方法,从而相对简单而有效实现预通道AGC的功能。如图2,可变分压器由一个固定电阻R和一个可变电阻构成,控制信号的交流振幅。可变电阻采用基极-集电极短路方式的双极性晶体管微分电阻实现为改变Q1电阻,可从一个由电压源V REG和大阻值电阻F2组成的直流源直接向短路晶体管注入电流。为防止Rb影响电路的交流电压传输特性。R2的阻值必须远大于R1。

电子系统设计总结报告

电子系统设计总结报告 题目:对讲机 班级:电气 组别:第二组 指导教师: 设计时间:

对讲机 一、引言 1、选题意义 有线对讲机在日常生活中应用广泛。有线对讲机原理简单,设计方便,制作简易,成本低,对于初次进行实验设计的我们来说实验成功率高。而且,有线对讲机广泛应用于医院病员呼叫机、门铃、室内电话等,具有应用范围广,实用性强的特点,所以有线对讲机日益成为生活中不可缺少的部分。为了本次实验的顺利成功,我们首先去了解它的原理过程以及如何正确的去操作它,这样既可以在很大程度上提高我们对知识的掌握与应用,又可以提高我们的动手能力,增强我们对动手实验的兴趣。本次试验,目的既在于提高动手能力,结合理论知识与实际操作于一体,最终设计并制作出具有实用性的产品,又在于磨练个人意志,增强个人耐心,培养团队意识。在产品制作过程中,组内相互分工,互帮互助,协调一致,共同完成此次实验。通过本次实验,大家对于模拟电子技术和数字电子技术会有更好的理解与掌握,也教会大家在遇到问题时如何思考,如何发现问题、解决问题,这些对于今后的学习与研究都是有相当大的帮助的。 2、设计目标 这次实验,我们小组由产品功能出发,设计实验电路图,计算各电子元器件的值,再进行元器件调研来对不同元器件进行比较,最终选择出价格合理,性能完善并且适用于所设计的电路图的元件,再依据所设计的电路图,进行正确焊接与调试,最终得到在50米内,能进行清晰对讲的“半双工对讲机”,即在同一时刻,一方讲话,另一方在距离其50米处可以清晰听到其所讲内容,通过调节转换开关,来进行听与说的角色的相互转换。

3、小组成员分工 二、作品说明 1、功能 对讲机可用于室内电话、医院病员呼叫机、门铃等,可用YUHIHHIH米内进行对讲。本次实验制作成的对讲机为“半双工式对讲机”,即在相同时刻,主机与从机之间只有一个可以讲,而在此时刻,另一个只能听,通过一个双刀双掷开关控制讲话与听话的相互转换。 2、操作说明 操作时,按下电源开关,将控制转换的双刀双掷开关打到一侧,可以完成主机讲话,从机收听主机发送的声音信号;将控制开关打到另一侧,则可以完成从机讲话,主机接收由从机发送的声音信号。通过双刀双掷开关的转换完成主机与从机之间的交流与信息转换。当长时间不使用时,可将控制电源的开关关闭,这样可以节约电能,避免不必要的浪费。

电子商务系统分析与设计课程设计实验报告

江苏科技大学电子商务系统分析与设计课程设计网上书城系统的开发 学生姓名张颖 学号0840412117 班级08404121 指导老师 成绩 经济管理学院信息管理系 2012年1月8日

目录 一.系统规划 (2) 1.1明确用户需求 (3) 1.2初步调查 (3) 1.3确定电子商务模式和模型 (4) 1.4可行性分析和可行性分析报告 (4) 二.系统分析 (5) 2.1系统调查 (5) 2.2需求规格说明书 (5) 2.2.1 引言 (5) 2.2.2项目概述 (6) 2.2.3需求规定 (6) 2.2.4环境要求 (10) 2.3组织结构分析 (10) 2.4业务流程分析 (11) 2.5数据流程分析 (13) 三.系统设计 (14) 3.1系统总体结构 (14) 3.2网络基本结构 (15) 3.3系统平台选择 (16) 3.4应用系统方案 (16) 3.4.1各功能模块简要描述 (16) 3.4.4数据库设计 (18) 3.4.5用户界面设计 (23) 3.5实施方案 (24) 3.5.1客户端要求 (24) 3.5.2服务器端要求 (24) 3.5.3系统测试 (24) 四.支付系统设计 (28) 4.1支付协议选择 (28) 4.2支付系统数据流程分析 (29) 4.3支付系统安全需求分析 (29) 4.4支付系统总体设计 (30) 4.5支付系统功能 (32) 4.6交易流程设计 (33) 4.7支付系统安全设计 (34) 五.心得体会 (34) 一.系统规划

1.1明确用户需求 随着当今社会新系统大度的提高,网络的高速发展,计算机已被广泛应用于各个领域,因而网络成为人们生活中不可或缺的一部分。互联网用户应经接受了电子商务,网购成为一种时尚潮流。 书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着科学技术得分速发展,Internet这个昔日只被少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。随着现金全民素质和科学技术水平的不断提高,知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书城”网站发展的原动力。 网上书城网站的建立可以跟好的解决这方面的问题,向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁。 1.2初步调查 截止至2010年6月底,中国网民的数量达到4.21亿人,互联网电子商务化的程度也越来越高,网络购物、网上支付和网上银行的使用率分别达到33.8%、30.5%和29.1%。而在众多的电子商务行为中,因网上购书具有较高的可信性和打折优惠,网上购书的比例逐年提高。当当网、卓越亚马逊两间网上书城更是在同类B2C网站中占据头两位。很多人看到了书这种网上销售的诸多好处:方便购买、金额小、风险小、用户容易决定;信息的完整性以及很少出现质量问题和退货现象等,无论是当当、卓越还是99读书人,网上书店的强大搜索功能帮助顾客查找图书和选择图书,与传统书店中令人无所适从的货架分类不同,网上书店通过强大的搜索引擎为用户挑书提供了最大的便利。早在2005年底,著名调查公司AC尼尔森的

电子系统设计与实践论文范例

东北石油大学课程设计 2009年7 月10 日

东北石油大学课程设计任务书 课程电子系统设计与实践计 题目数字电压表设计 专业计算机科学与技术姓名学号 主要内容、基本要求等 一、主要内容: 利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计数字钟。可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。最后在EL教学实验箱中实现。 二、基本要求: 1、A/D转换接口电路的设计,负责对ADC0809的控制。 2、编码转换电路设计,负责把从ADC0809数据总线中读出的电压转换成BCD 码。 3、输出七段显示电路的设计,负责将BCD码用7段显示器显示出来。 三、扩展要求 1. 当测量结束后,蜂鸣器鸣响10声。 按照规范写出论文,要求字数在4000字以上,并进行答辩。论文内容包括概述(学习、调研、分析、设计的内容摘要)、EDA技术的现状和发展趋势、对EL教学实验箱和QuartusⅡ软件的掌握程度、数字钟的设计过程(包括原理图或程序设计、编译、仿真分析、硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。 完成期限2周 指导教师 专业负责人 年月日

东北石油大学课程设计成绩评价表 指导教师:年月日

摘要 Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 本文设计主要利用VHDL语言在EDA平台上设计一个数字电压表,它的显示位数为4位,由三大部分组成,每一部分又包含了若干子电路,将各电路组合起来,就构成了一个整体。。总的程序由几个各具不同功能的部分组成,其中包括循环控制P1、复位和状态转换P2、编码转换data、BCD码加法do、输出七段显示dout。并且使用Quartus7.2-II软件进行电路波形仿真,下载到EDA实验箱进行验证。 关键词: EDA(电子设计自动化);VHDL(硬件描述语言);ADC0809;数字电压表。

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