当前位置:文档之家› 单片机波形发生器51

单片机波形发生器51

单片机波形发生器51
单片机波形发生器51

安徽工程大学机电学院本科课程设计说明书

专业:计算机科学与技术

题目:数字式波形发生器学生姓名:刘志国

指导教师:谢永宁

2012年6月6日

目录

附录 (3)

前言 (4)

课程设计任务书 (5)

第一章系统总体设计思路 (6)

1.1 总体设计思路 (6)

1.2 总体框图 (6)

1.3硬件设计组成 (6)

第二章接口技术及相关芯片介绍 (7)

2.1键盘接口电路 (7)

2.2显示电路 (7)

2.3电源电路 (7)

2.4波形转换(D/A)电路 (8)

2.5芯片介绍 (9)

第三章程序编写 (13)

第四章系统调试与测试结果 (19)

4.1. 硬件调试 (19)

4.2. 软件调试 (19)

4.3 调试结果 (19)

第五章设计心得与参考文献 (21)

5.1实验心得 (21)

5.2参考文献 (22)

元件清单

1 1K电阻·····················································6个

2 22uF电解电容···············································4个

3 104瓷片电容················································3个

4 33pF·······················································2个

5 0.1uF·······················································1个

6 15K电阻····················································2个

7 7.5K电阻···················································1个

8 12Mhz 晶振·················································1个

9 轻触开关····················································3个

10 89C52单片机芯片···········································一片

11 DAC0832数模转换芯片······································1片

12 TL082运放芯片·············································1片

13 发光二极管················································2个

14 上拉电阻···················································1个

15 1602液晶显示···············································1个

16 双面板·····················································一块

17 排针······················································若干

前言

随着微型计算机的普及和广泛应用,接口技术成为十分重要、十分关键的计术。因为计算机的强大的功能往往是由接口能力和处理外界信息的能力表现的。

所谓接口就是微处理器CPU与外设的连接电路,是CPU与外界进行通信信息交换的中转站。只有通过接口连接键盘、显示器、打印机,计算机处理的信息才能显现;通过接口连接软磁盘和硬磁盘,才可极大地扩充计算机的存储空间;通过接口连接多个微型计算机组成分布式系统,其多机并行运算可以达到数亿次以上;计算机只有通过接口连接各种各样的自然界模拟信号,才能应用到控制与测试等领域,实现机电仪一体化;将计算机配上接口组成计算机网,实现信息资源共享,使社会信息化。

由于计算机应用越来越广泛,要求与计算机接口的外围设备越来越多,越来越复杂。微机接口采用硬件与软件相结合的方法,使微处理器与外部世界进行最佳耦合与匹配,以在CPU与外部世界之间实现高效、可靠的信息交换。因此,接口技术是硬件与软件的综合技术。

波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。函数信号发生器是一种能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。通过对函数波形发生器的原理以及构成分析,可设计一个能变换出三角波、正弦波、方波的函数波形发生器。本次开发时在8086的平台上,利用AT89C51和DAC0832芯片利用系统内置的8255扩展接口连接电路实现的。可产生方波、三角波,也可以根据内部程序设定的参考值调节波形的频率、幅值,利用开关控制相应的操作,具有线路简单、结构紧凑等优点。

安徽工程大学机电学院

本科课程设计任务书

2009 届机电学院

计算机科学与技术专业

Ⅰ课程设计题目:

数字式波形发生器

Ⅱ原始资料

应用计算机技术,通过巧妙的软件设计和简易的硬件电路,实现数字式的波形发生器。具有显示输出波形类型、及其粗调频率和幅度的功能。

基本要求:

⑴、设计实验电路(要求利用实验仪的硬件资源)

⑵、分析实验原理

⑶、列出实验接线表

⑷、采用汇编语言编写实验程序

⑸、通过实验验证功能的实现

⑹、编写课程设计说明书

Ⅲ原理:

1.方波形成原理

方波就是在一个波形输出周期内输出一个高电平和一个低电平,通常是每半个周期输出一个高电平,另半个周期输出低电平。输出的高低电平的宽度由定时器B确定,定时器的初值由波形频率确定,即定时的时间是波形周期的一半。先输出高电平并启动定时器,定时到则输出低电平并再次启动定时器,定时到则输出高电平并在启动定时器……。

2、三角波形成原理

可以用数学上分割的思想,将斜线分割成很多小段,每一小段用直线代替,这样三角波的上升沿和下降沿由很多个小阶梯构成,由于阶梯很多则阶梯就很小,看上去三角波的上升沿和下降沿可以近似为直线,那么这样的波形便可以近似为三角波。按照这种原理,三角波的形成就可以转换成与方波类似的原理解决,即用定时输出,每个阶梯进行定时并输出对应的电平。这里和方波不同的地方在每次定时完后不是在高低电平两者切换,而是输出的电平是按一定的步进值进行递增和递减。

指导老师(签字) 接受任务书学生签字

完成日期 年 月 日

第一章 总体设计思路

1.1 总体设计思路

结合以前所做的实验以及对相关芯片的理解和认识,按照题目要求,经

过仔细考虑,充分考虑各种因素,制定整体设计方案:以STC89C52单片机为控制核心,P1口接DAC0832信号输入并书面转换,程序控制方波的产生,通过P2口接3个按键,控制幅值电压和频率,由按键选择波形的复制电压和频率输出,由TL082运放实现DAC0832 输出电流到电压的转换。在LCD1602上实时显示频率和幅值。 1.2总体框图

1.3硬件设计组成

本系统由单片机、波形转换(D/A )电路、显示接口电路、键盘接口电路等部分组成。 所需设备

单片机最小开发系统,1602液晶屏一块,DAC0832一片,Tl082集成运放一片,PC 机一台,其他器件任选。 功能与基本原理

STC89C52外接12M 晶振作为时钟频率,并采用电源复位设计。产生方波

程序设计思路:根据定时器溢出的时间,将频率值换算为定时器溢出的次数,使用变量暂存定时器溢出的次数,当达到规定的次数时,将输出管脚的状态进行改变达到方波的产生。另外采用查询的方式实现案件的扫描和LCD液晶的显示,中断服务程序实现方波的产生和连续按键的计时功能。

第二章接口技术及相关芯片介绍

2.1 键盘接口电路

本设计中有三个按键,分别为总控制按键、频率转换按键、幅值转换按键。其与单片机的连接如图所示。

2.2显示电路

功能:驱动LCD1602液晶显示,扫描按钮

由LCD1602液晶显示器和三个按钮组成。当第一个按键按下一次后,程序开始扫描,再由第二个按键控制显示幅值,第三个按键控制显示频率。有单片机的P0口和P2口将数字信号发送到LCD1602。LCD1602是专门用于显示字母、数字、符号等点阵式LCD,它的外接电压也是5V.扫描利用软件程序实现,其与单片机的连接如图所示。

显示电路图

2.3 电源电路

单片机采用5V电源,DAC基准电压为15V,运放TL082采用正负15V供电。因此都采用外接电源供电。其电路图如图。

2.4 波形转换(D/A)电路

功能:将波形样值的编码转换成模拟值,完成波形输出。

由一片0832和TL082运放组成。DAC0832是具有20条引线的CMOS器件,它内部具有两级数据寄存器,完成8为电流D/A转换,固不需要外加电路,输出波形为正负电压,0832是电流输出型,示波器上显示的波形,通常需要电压

信号,电流信号到电压信号的额转换可以由运算放大器TL082实现。

在D/A转换电路中,很重要的一个参数就是基准电压(参考电压),设计中要求的最大幅值电压为12V,系统可以选用正负15V作为运算放大器供电的电源,同时用正15V作为DAC0832的基准电压。

单片机向0832 发送数字编码,产生不同的输出。利用采样定理, 8位D/A 转换器对应-15V~15V的电压输出,其输入数字量应为00H~FFH。在-15V~15V 的电压范围内产生波形,方波一个周期分成两个点,一个时钟中断向89C51送一个点,经过D/A转换后输出就可以得到方波。数字编码0x7f,0x90,0xa1,0xb2,0xc3,0xd4,0xe5分别对应D/A输出的0V,2V,4V,6V,8V,10V,12V。单片机的晶振控制输出周期的速度,也就是控制输出的波形频率。这样输出的方波幅值和频率都得到控制。

2.5 芯片功能介绍

8位D/A转换器DAC0832简介:

DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。

1、DAC0832的引脚及功能:

DAC0832芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,其主要特性参数如下:

·分辨率为8位;

·电流稳定时间1us;

·可单缓冲、双缓冲或直接数字输入;

·只需在满量程和下调整其线性度;

·单一电源供电(+5V~+15V);

·低功耗,200mW。

为便于DAC0832的使用,特将其应用特性总结如下:

·DAC0832是微处理器兼容型D/A转换器,可以充分利用微处理器的控制能力实现对D/A转换的控制。这种芯片有许多控制引脚,可以和微处理器控制线相连,接受微处理器的控制,如I

、/CS、/WR1、/WR2、/XFER端。

LE

·有两级锁存控制功能,能够实现多通道D/A的同步转换输出。

·DAC0832内部无参考电压源;须外接参考电压源。

·DAC0832为电流输入型D/A转换器,要获得模拟电压输出时,需要外加转换电路。

DAC0832的引脚图及逻辑结构如下图:

图1 DAC0832结构框图及引脚排列

DAC0832各引脚的功能如下: DI0~DI7: 数据输入线。

I LE : 数据允许锁存信号,高电平有效;

/CS : 输入寄存器选择信号,低电平有效。/WR1为输入寄存器的写选通信号。输入寄存器的锁存信号/LE1由I LE 、/CS 、/WR1的逻辑组合产生。当I LE 为高电平、/CS 为低电平、/WR1输入负脉冲时,在/LE1产生正脉冲;/LE1为高电平,输入锁存器的状态随数据输入线的状态变化,/LE1的负跳变将数据线上的信息锁入输入寄存器。

/XFER: 数据传送信号,低电平有效。/WR2为DAC 寄存器的写选通信号。DAC 寄存器的锁存信号/LE2,由/XEFR 、/WR2的逻辑组合产生。当/XFER 为低电平,/WR2输入负脉冲,则在/LE2产生正脉冲;/LE2为高电平是时,DAC 寄存器的输出和输入寄存器的状态一致,/LE2负跳变,输入寄存器的内容打入DAC 寄存器。 V REF : 基准电源输入引脚 。

R fb : 反馈信号输入引脚,反馈电阻在芯片内部。

I OUT1、I OUT2 : 电流输出引脚。电流I OUT1、I OUT2 的和为常数,I OUT1、I OUT2 随DAC 寄存器的内容线性变化。 VCC : 电源输入引脚。 AGND : 模拟信号地 DGND : 数字地。

2、DAC0832三种数据输入方式:

(1)双缓冲方式:即数据经过双重缓冲后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。

(2)单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入D/A转换电路。这种方式只需执行一次写操作,即可完成D/A转换。

(3)直通方式:此时两个寄存器均处于直通状态,因此要将、、

和端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存

寄存器同时处于放行直通状态,数据直接送入D/A转换电路进行D/A转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。

89C52单片机简介

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS

产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM 定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。1.2 时钟电路

本次设计采用的是内部时钟方式,即C52内部有一个用于构成震荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体震荡器和微调电容,就构成一个稳定的自激震荡器,图3.2是C52内部时钟方式的震荡器电路。

图3.2 C51内部时钟方式的震荡器电路

电路中电容C1和C2典型值通常选择为30pF左右,晶振的振荡频率的范围通常是在1.2MHz~12MHz之间,晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。

复位电路

89C51的复位是由外部的复位电路来实现的,复位结构如图3.3所示。

图3.3 复位结构

复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来控制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。

第三章程序编写

源代码:

#include

#include

#include"LCD_1602_H.h"

#define uchar unsigned char

#define uint unsigned int

#define DAdata P1

uchar code a[6][7]={"1000.00", //频率显示

"0100.00",

"0010.00",

"0001.00",

"0000.10",

"0000.05" };

uchar code Squaretab[7][2]={ //输出的幅度数组

{0x7f,0x7f}, //0V

{0x90,0x6e}, //正负2V

{0xa1,0x5d}, //正负4V

{0xb2,0x4c}, //正负6V

{0xc3,0x3b}, //正负8V

{0xd4,0x2a}, //正负10V

{0xe5,0x19}};//正负12V

uchar code disp1[]={"V oltage: 000V "};

uchar code disp2[]={"Frq:0000000.00Hz"};

uint i,num,k,freq=0;

uchar count,s;

uchar keytemp=0,keytemp2=0;

sbit DA=P2^3;

sbit WR1=P2^4;

sbit key1=P2^5;

sbit key2=P2^6;

sbit key3=P2^7;

void delay(uint z)

{

uint i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void T0_time()interrupt 1

{

TH0=(65536-1000)/256; //定时器装初值精确到1mS

TL0=(65536-1000)%256;

num++;

}

void key1_ctr_frq() // 调频控制按键

{

if(key1==0)

{

TR0=0;

_nop_();

if(key1==0)

{

keytemp++;

while(!key1)

{

TR0=1;

if(keytemp==1) //通过按键按下的次数控制频率

{

freq=1; //选择频率1KHz

} //while

if(keytemp==2) //选择频率100Hz

{

freq=10;

}

if(keytemp==3) //选择频率10Hz

{

freq=100;

}

if(keytemp==4) //选择频率1HZ

{

freq=1000;

}

if(keytemp==5) //选择频率0.1Hz

{

freq=10000;

}

if(keytemp==6) //选择频率0.05HZ

{

freq=20000;

}

if(keytemp>=6)keytemp=1;

write_1602_com(0xc0+7);

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

{

write_1602_data(a[keytemp][k]);

delay(2);

} //FOR

}

}

}

}

void key2_ctr_vol() //调幅控制按键

{ //控制幅值分别为0V、2V、4V、6V、8V、10V、12V

uchar shi,ge,vol;

if(key2==0) //功能按键

{ TR0=0;

_nop_();//精确延时1uS

if(key2==0)

{

keytemp2++;

while(!key2)

{

TR0=1;

vol=keytemp2*2;

shi=vol/10;

ge=vol%10;

write_1602_com(0x80+12);

write_1602_data(0x30+shi);

write_1602_data(0x30+ge);

if(keytemp2>=7)

{

keytemp2=0;

}

}

}

}

}

void key3_ctr() //总控制按键

{

if(key3==0) //功能按键

{

TR0=0;

_nop_();//精确延时1uS

if(key3==0)

{

delay(2);

while(!key3)

{

s++;

// if(s==2)DA=1;

if(s>=2)s=1;

}

}

}

}

void init()

{

TMOD=0X01; //设定定时器0为工作方式1 TH0=(65536-1000)/256; //进行1ms的精确定时

TL0=(65536-1000)%256; //定时器装初值

EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1;

init_1602();

}

void main()

{

DAdata=0x00;

DA=0;

WR1=0;

init();

display_1602(0x80, disp1);

_nop_();

display_1602(0x80+0x40,disp2);

_nop_();

while(1)

{

key3_ctr(); // if(count==2)count=0;

if(s==1) //总控制按键

{

key1_ctr_frq();

key2_ctr_vol();

_nop_();

if(num==freq) //选频

{

num=0;

count++;

if(count==2)count=0;

switch(keytemp2)

{

case 0: DAdata=Squaretab[0][count];break;

case 1: DAdata=Squaretab[1][count];break;

case 2: DAdata=Squaretab[2][count];break;

case 3: DAdata=Squaretab[3][count];break;

case 4: DAdata=Squaretab[4][count];break;

case 5: DAdata=Squaretab[5][count];break;

case 6: DAdata=Squaretab[6][count];break;

} // end SWITCH

}//end if

}// end if

}// end while

} //end main

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

液晶1602的初始化程序

#ifndef LCD_1602_H

#define LCD_1602_H

#define uchar unsigned char

#define uint unsigned int

uchar com_1602,date_1602;

sbit lcd_1602_rs=P2^0;

sbit lcd_1602_rw=P2^1;

sbit lcd_1602_en=P2^2;

sbit lcd_busy=P0^7;

void delay_1602(uint x) //延时子函数

{

uint i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}

void write_1602_com(uchar com_1602)

{ lcd_busy=0;

lcd_1602_rs=0; //选择写命令模式

P0=com_1602;

delay_1602(5); //稍做延时以待数据稳定

lcd_1602_en=1; //使能端给一高脉冲,因为初始化函数中已经将lcden置为0

delay_1602(5); //稍做延时

lcd_1602_en=0; //将使能端置0 ,以完成高脉冲

}

void write_1602_data(uchar date_1602)

{ lcd_busy=0;

lcd_1602_rs=1;

P0=date_1602;

delay_1602(5);

lcd_1602_en=1;

delay_1602(5);

lcd_1602_en=0;

}

void display_1602(uchar addr,uchar *temp)

{

uchar i;

write_1602_com(addr);

delay_1602(5);

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

{

write_1602_data(temp[i]);

delay_1602(5) ;

}

}

void init_1602(void)

{

lcd_1602_rs=0; //清除读操作

lcd_1602_rw=0; //初始化写操作

lcd_1602_en=1;

delay_1602(10);

write_1602_com(0x01);

delay_1602(10);

write_1602_com(0x02);//光标归位,此处不设置可能出现错误

write_1602_com(0x38); //设置16X2显示,5X7点阵,8位数据接口write_1602_com(0x0c); //设置开显示,且显示光标并闪烁

write_1602_com(0x06); //写一字符后光标自动加一

}

第四章系统调试与测试结果

4.1 硬件调试

整个硬件调试过程基本顺利,由于采用了分单元模块制作,各单元电路工作稳定,给调试工作带来很大的方便。

调试过程中,由于某些元器件参数的问题,在频率要求上没有达到预期效果。各单元调试通过以后,进行整机调试,调试结果显示,整个系统能够正常工作。

4.2 软件调试

由于对51系列单片机编程不是很熟悉,在软件的仿真调试过程中请同学帮了忙,在同学的帮助和指导下,调试也顺利完成。

4.3 调试结果

4.31方波波形图

4.32三角波波形

设计时的主要问题是软件方案上,涉及到51单片机编程,由于没有学单片机,对单片机不熟悉,所以编程时很迷茫,这一大模块是在同学的帮助下得以顺利完成的。

第一次观察波形时,达到的波形很不稳定,而且不像方波,仔细检查线路才发现PCB板上某些地方由于洗板子时不小心断路了,用焊锡焊接好后,得到了精确度比较高的方波。

根据单片机的三路抢答器的设计王辉

基于单片机的三路抢答器的设计 1课程设计的任务与要求 1.1 课程设计的任务 (1)设计一个可供3人进行的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 (3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。 (4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。 (5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。 1.2 课程设计的要求 (1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。 (2)程序用Keil编程出来,并且生成Hex文件。 (3)设计的方案要能够长期,有效,稳定的运行。 (4)力求简单实用。 1.3 课程设计的研究基础 本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。 2 基于单片机三路抢答器系统方案制定 2.1 方案提出 方案一:

图1 方案一设计方案 方案二: 图2 方案二设计方案 2.2 方案比较 第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。 2.3 方案论证 该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 2.4 方案选择 通过以上两个方案的比较,选择第二个方案。 3 基于单片机三路抢答器系统方案设计 3.1各单元模块功能介绍及电路设计

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.doczj.com/doc/f96598327.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

基于51单片机的6路抢答器

摘要 此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。六路抢答器的设计特点是让选手应答时间与选手号码实时显示出来,利用复位电路开始新一轮的比赛或者游戏,我们使用的也是我们所掌握的C 语言来进行编程,实现了一些基本功能。 该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。它的体现的功能主要是比赛开始时,主持人读完题目后按下抢答键,语音提示答题开始,提示音结束后开始倒计时,这时数码管开始进行10s 的倒计时,当有选手进行抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答结束,这一题就作废即所有人均不得分,然后开始新一轮的抢答。在下一轮抢答开始之前按下复位键将时间归零,再按下开始键进行新的一轮。抢答者回答正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加(按一次加一分,最高显示9分)。相反,如果抢答者回答错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少(按一次减一分,最低显示0分)。 关键词:单片机、AT89C51、抢答器 Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the competition or game, we used our disposal C language programming, to achieve some basic functions. The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice

基于单片机正弦信发生器












专业班级:
学生姓名:
指导教师(签名):
一、课程设计(论文)题目
正弦波信号发生器设计
二、本次课程设计(论文)应达到的目的
本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程 及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综 合训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理 解,进一步熟悉 51 单片机系统设计的基本理论、方法和技能;掌握工程 应用的基本内容和要求,力争做到理论与实际的统一;同时培养学生分析 问题、解决问题的能力和独立完成系统设计的能力,并按要求编写相关的 技术文档和设计报告等。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技 术参数、设计要求等)
1.设计内容
(1)选择 51 单片机,晶振采用 12MHz。
(2)设计一个能产生 0 至 50HZ 正弦波信号。通过 0832D/A 芯片完成 数模转换。

(3)频率值由键盘输入。 (4)将频率值由 LED 数码管上显示(两位)。 2.设计要求 (1)按照任务书的要求完成系统分析及方案设计。 (2)完成硬件原理图的设计,并选择相关元器件。 (3)完成控制软件流程图的设计,编写相应的单片机控制程序。 (4)撰写设计报告。 四、应收集的资料及主要参考文献: 1.李建忠.单片机原理及应用.西安电子科技大学出版社,2008 2.杨居义.单片机课程设计指导.清华大学出版社,2009 3.李海滨等.单片机技术课程设计与项目实例.中国电力出版社,2009 以及与 51 系列单片机相关的文献及教材。 五、审核批准意见
教研室主任(签字) 正弦信号发生器设计方案框图

基于80C51单片机的八路抢答器设计分析

专业论文 题目:基于80C51单片机的八路抢答器设 计

摘要:八路智力抢答器是一个可供八个参赛组进行智力竞赛的电路装置,该装置主要是由单片机最小系统、控制电路(八个选手抢答按钮;三个主持人控制按钮;四个修改按钮)、数码显示电路与蜂鸣器电路组成的。单片机(MCU)是目前在电气控制技术中广泛应用的重要元件。它具有体积小,稳定性高,应用范围广,控制能力强,升级改造容易等诸多优点。本论文介绍采用ATMEL公司AT89S52单片机设计八路智能抢答器。软件采用汇编语言编程,汇编语言属于计算机领域的低级语言,具有简明易懂,执行效率高等的优点。智能八路抢答器具有抢答时间与答题时间调整,抢答错误报警提示等功能,可以广泛应用于各类知识竞赛。 关键词:抢答器;单片机;硬件系统;软件编程

基于80C51单片机的八路抢答器设计 一、系统概述与原理方框图 在文中,我对八路抢答器的总体设计及其主要的功能特点进行简单的分析,并给出它的特点,实现的功能以及系统的简单操作,以对单片机及其控制系统的了解。 (一)单片机技术发展的概述与系统问题的提出 目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等 几个方面 发展。近几年,由于某种原因CHMOS技术的进步,大大地促进了单片机的CMOS 化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功 耗精细管理状态,特别是IIC,API等串行总线的引入,可以使单片机的引脚 设计得更少,单片机系统结构更加简化及规范化。 我们设计出的8路抢答器是一种基于MCS-51单片机的硬件和软件设计及 实现方法,这种电路设计具有按键有效提示,输入错误提示,控制报警电路, 在线修改功能等多种功能,保密性强,灵活性高,特别适用于家庭!办公室!学 生宿舍及宾馆等场所。它具有全集成化,智能化,高精度,高性能,高可靠 性和低价格等优点,是一个值得推广的一种方法。接下来我们就对方案与设 计原理方框图进行比较分析。 (二)设计思路与系统组成及主要特点 为了使设计更具有针对性,使用性更强,我对其进行精心的设计,在设 计过程中,我们想到了很多的设计方案。 1.设计思路 设计一个八路抢答器,可同时供8名选手或者8个代表队参加比赛,他 们的编号分别为1——8,各用一个抢答器按钮,按钮的编号与选手的编号相 对应,分别设为S1…S8。节目主持人设置一组控制开关,用来控制系统的清 零和抢答器的开始,修改抢答时间与答题时间,如果想调节抢答时间或答题 时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态。并且抢答器具 有数据锁存和显示的功能,抢答开始,若有选手按动抢答按钮,编号立即锁

基于51单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟 院系:电气与电子工程系 专业:电气工程及其自动化 班级:电气工程1503 姓名: 学号: 指导教师: 二零一七年十二月

多功能电子闹钟 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机定时器中断闹钟 LED

目录 第1章方案的选择和论证 (1) 1.1单片机型号的选择 (1) 1.2按键的选择 (1) 1.3显示器的选择 (1) 1.4计时部分的选择 (1) 1.5发音部分的设计 (2) 1.6显示器驱动电路 (2) 1.7电源的选择 (2) 第2章数字电子钟的设计原理和方法 (3) 2.1设计原理 (3) 2.2硬件电路的设计 (3) 2.2.1 AT89C51单片机简介 (3) 2.2.2 键盘电路的设计 (3) 2.2.3 段码驱动电路 (4) 2.2.4 蜂鸣器驱动电路 (4) 2.3软件部分的设计 (5) 2.3.1 主程序部分的设计 (5) 2.3.2 中断定时器的设置 (5) 2.3.3 闹钟子函数 (6) 2.3.4 计时函数 (6) 2.3.5 键盘扫描函数 (8) 2.3.6 时间和闹钟的设置 (8) 第3章实验结果 (10) 总结 (11) 致谢 (12) 参考文献 (13) 附录 (14)

C51单片机的波形发生器

通信专业技能实训报告 题目基于Proteus的波形发生器设计 学院信息科学与工程学院 专业通信工程 班级 学生 学号 指导教师魏长智 二〇一九年一月五日

济南大学通信专业技能实训报告 目录 1 前言 ...................................................................................................................... - 1 - 2 硬件设计 .............................................................................................................. - 2 - 2.1 启动方式选择 ........................................................................................... - 2 - 2.2 框图设计 ................................................................................................... - 2 - 2.3 电路图设计 ............................................................................................... - 3 - 3 DAC0832性能与特征....................................................................................... - 4 - 3.1 D/A转换器与单片机接口探究 ............................................................. - 4 - 3.1.1 数据线连接 .................................................................................... - 4 - 3.1.2 地址线连接 .................................................................................... - 4 - 3.1.3 控制线连接 .................................................................................... - 4 - 3.2 DAC0832的认识.................................................................................... - 5 - 3.2.1 DAC0832的结构......................................................................... - 5 - 3.2.2 DAC0832的引脚......................................................................... - 6 - 3.2.3 DAC0832的启动控制方式......................................................... - 7 - 4 程序设计 .............................................................................................................. - 8 - 4.1 程序流程图 ............................................................................................... - 8 - 4.1.1 程序设计思路 ................................................................................ - 8 - 4.1.2流程图 ............................................................................................. - 8 - 4.2 用C语言实现 ........................................................................................ - 10 - 5 Proteus仿真及结果 ......................................................................................... - 13 - 5.1方波: ...................................................................................................... - 13 - 5.2正弦波: .................................................................................................. - 14 - 5.3三角波: .................................................................................................. - 15 - 5.4梯形波: .................................................................................................. - 16 - 5.5锯齿波: .................................................................................................. - 17 -实训结语: ............................................................................................................ - 18 -参考文献 ................................................................................................................ - 19 -

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602. 目录

基于51单片机波形发生器的设计与实现开题报告

基于51单片机波形发生器的设计与实现开题报告合肥师范学院本科生毕业论文(设计)开题报告 (学生用表) 课题基于51单片机波形发生器的设计与实现 系部电子信息工程学院专业电子信息工程学科工学 学生屠宝轩指导教师吴剑威一、课题的来源、背景及意义 (1)来源:科研/生产 (2)背景:单片机是再20世纪70年代中期发展起来的一种大规模集成电路芯 片,是由中央处理器(CPU), ROM、RAM芯片及I/O接口和一些外围电路等通过印刷版总线连接在一起的一个完整的讣算机系统。信号发生器是一种作为激励源或者信号源的电子设备,它能够产生各种各样的波形和频率,其在教学实验,生产装实践和科技领域有着广泛的应用,是最普遍使用的电子仪器之一。对于电子类专 业的学生,除了学习理论知识外,还必须将所学的理论知识付诸实践,在实践中订应用理论知识,提高动手能力,从而提高发现,解决问题的能力,所以试验是必 不可少的环节,而信号波形发生器是实验过程最普遍,最基本,也是应用最广泛线的电子设备之一,本研究不是针对高端的信号发生器开发,而是从降低经 济成本, 操作方便简单,输出波形实用角度出发,研究一套设备。

(3)意义:传统的正弦信号源根据实际需要一般价格昂贵,低频输出时性能不好且不便于自动调节,丄程实用性较差。现在利用单片机的优越性,制作一种体积小,实用性强,使用方便的低频信号发生器,以AT85C51单片机为核心,结合低俗D/A转换器,通过设计与编程实现了正弦波、方波、锯齿波的产生及其自山切换以及频率、相位的可调与多相波的同时输出。 二、国内外发展现状 信号波形发生器历史非常的久远,它产生于上个世纪20年代,那会,电子设备刚刚诞生,随后,雷达发展了起来,通信技术也在不断地发展,到了40年代,标准信号发生器开始出现,它的出现主要是为了进行各种接收机的测试,使信号发生器诞生之初主要是用来做定性分析的,随着使用的要求不断提升,慢慢发展成为了定量分析的测量仪器,还是在这个时期,脉冲信号发生器也出现了,这个主要是用于脉冲方面的测量的,上面说的这些信号波形发生器都是早期的一些产品,复杂的机械结构,比较 [1]大的功率,比较简单的电路,速度发展总体是比较慢的。这种发展速度一直持续到1964年,笫一台全电子晶体管做的信号发生器出现。 从60年代以后,信号波形发生器的发展速度就开始加快了,有个代表产品,那就是函数信号发生器,但是模拟的电子方面的技术在这段时期是占主要的,组成的部分一般都是分立元件,或者是采用模拟的集成方面的电路,电路结构相比于60年代以前,要复杂了,产生的波形就多了一些,比如有方波、正弦波、三角波,还有了锯齿波,但是波形还是比较简单的,加上模拟电路会产生较大的漂移,输出波形的稳定性还是比较差的,70年代乂是一个转折点,出现了微控制器,这个时候信号波形发生器的功能就开始强大了起来,波形的产生也比较复杂了。对信号波形发生器而言,软件成为这个时期的主要特征,通过程序用微控制器进行相应的处理就能方便灵活的获得一些简单的信号波形,当然这种方式也是有缺陷的,那就是波形输出的频率不会很

基于51单片机8路抢答器设计

创新实践课 课程名称:创新实践课 实践题目:基于51单片机8路抢答器设计学院:信息工程与自动化学院 专业:生物医学工程 年级:2014级 学生:4 丽莎2海星 指导教师:嘉林 日期:2016-12-30 教务处制

目录 一、前言 (3) 二、电路原理图设计 (3) 三、印制版图设计 (7) 四、软件设计 (9) 五、测试数据及分析 (16) 六、总结 (18)

一、前言 目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用51单片机为核心控制元件,设计一个简易的八路抢答器。本方案以51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。本次设计的系统实用性强、判断精确、操作简单、扩展功能强。 功能:以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位和报警的功能。 此系统是基于51单片机,led发光二极管,一位共阳数码管,蜂鸣器,按键,等分立元件设计而成。 元件设计的意义:关于按键:共设计了10个独立按键,其中8个分别为八位选手抢答输入用,另外两个分别为开始和停止按键!只有裁判按下了开始键才进入正常抢答,否则属于犯规抢答,抢答完毕,裁判按下停止,数码管显示0。关于led发光二极管:共设计了9个发光二极管,其中一个为电源指示,其他8个为选手抢答状态指示,正确抢答时led发光二极管缓慢闪烁,犯规抢答时,快速闪烁。关于数码管:选手按下自己的按键时显示相应的选手编号!裁判按下开始键时数码管显示倒计时,

基于单片机的信号发生器(完整电路_程序)资料

电子与信息工程学院综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级:10电工2班 学号:20101851046 姓名:李俊 指导教师: 时间:

摘要 本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如 正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。 关键词:低频信号发生器;单片机;D /A转换; 1设计选题及任务 设计题目:基于单片机的信号发生器的设计与实现 任务与要求: 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。 基本要求: 1. 产生三种以上波形。如正弦波、三角波、矩形波等。 2.最大频率不低于500Hz。并且频率可按一定规律调节,如周期按1T,2T,3T,4T 或1T,2T,4T,8T变化。 3.幅度可调,峰峰值在0——5V之间变化。 扩展要求:产生更多的频率和波形。 2系统概述 2.1方案论证和比较 2.1.1总体方案: 方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

基于51单片机的函数发生器和示波器解析

《智能仪器仪表设计基础》 课程设计报告 单位:自动化学院 学生姓名:汪连升 专业:测控技术与仪器 班级:0821001 学号:2010212950 指导老师:耿道渠 成绩: 设计时间:2013 年5月 重庆邮电大学自动化学院制

一、题目:基于单片机的多波形信号发生器设计 二、指导教师:耿道渠 三、设计要求: 设计一个信号发生器,实现如下功能: (1)可产生正弦波、方波、三角波、脉冲等波形; (2)通过按钮或键盘选定输出波形; (3)波形频率可设定; (4)波形可通过液晶屏显示。 四、给定条件: 1、8051单片机最小系统; 2、ADC,DAC器件; 五、设计: 1、方案论证,并确定设计方案 2、给出信号发生器的整体设计框图 3、硬件电路设计 4、软件设计(画出程序流程图,并给出相应模块程序代码) 5、完成设计报告 六、具体设计过程及实验结果: 七、设计的心得体会: 八、附件:(可选) 完成心率波、指数上升和指数下降波形; 九、参考书目: 给出主要参考书目(如:《单片机原理与应用》、《电子测量技术》、《单片机C语言程序设计》等),包括作者,书目名称,出版社等。

基于51单片机的波形发生器 引言 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。 本系统通过对51单片机的控制,用DA-AD等模块实现了正弦波、方波、三角波和锯齿波的产生,同时可以通过按键实现波形的选择和波形频率的改变。在实现波形的发生的同时又实现了波形图线的显示,通过NoKia5110对AD实时采集数据的显示、波形类型和波形频率的显示。 摘要: 本系统采用单片C8052为控制核心,通过其端口实现数字量的输出,然后由DAC0832把数字量转换成模拟量;但是DAC芯片输出的是电流信号,本系统用LM324运放把电流信号转换为电压信号。然后利用LM358搭建一个同相比例放大器,将转换后的电压信号按可调比例放大一定倍数。波形显示利用NoKia5110液晶屏,显示其波形、频率和实时的图像。显示其图像的时候我们利用ADC0804模数转换芯片将产生的模拟信号转换为数字信号,把AD实时读取到的值等比例显示到液晶屏上。本系统通过按键实现波形的选择以及波形频率的改变。 关键字:STC89C52 DAC0832 Nokia5110 ADC0804 LM324 独立按键

51单片机制作的波形发生器

51单片机制作的波形发生器 相信很多朋友都可能接触到一个波型发生器的制作,可能刚刚入门,做的东西也不会说是很复杂。可能就一 个矩形波,或者是三角波。但是网上的很多资料是忽悠 人的,就此,我也提供一个比较完整的波型发生器 C51 原代: 该系统的软件比较典型:包括键盘的应用,显示的 应用和 DA 转换器的应用。本设计中,输出的波形有三种:正弦波,方波,三角波。 方波的输出最为简单,只要按照设定的周期值将输 出的电压改变即可。 三角波的输出也比较简单,单片机的输出只要完成 数字量递增和递减交替进行即可。、 正弦波的输出最麻烦,如果在软件中计算出输出的 各点电压值,将会浪费很多的 CPU 时间,以至于无法满足频率的要求。通常最简单的方法是通过手动的方法计 算出输出各点的电压值,然后在编写程序时以数组的方 式给出。当需要时,只要按照顺序进行输出即可。这种 方法比运算法速度快且曲线的形状修改灵活。在本设计 中将 360 度分为 256 个点,则每两个点之间的间隔为1.4 度,然后计算出每个点电压对应的数字量即可。只

要反复输出这组数据到 DAC0832, 就可以在系统输出端得到想要的正弦波。 具体程序如下: #include ; #define uchar unsigned char #define uint unsigned int #define DAdata P0 uchar code Sinetab[256]= { 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e, 0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xab,0xad, 0xaf,0xb1,0xb2,0xb4,0xb6,0xb7,0xb9,0xba, 0xbc,0xbd,0xbf,0xc0,0xc1,0xc3,0xc4,0xc5, 0xc6,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce, 0xce,0xcf,0xd0,0xd1,0xd1,0xd2,0xd2,0xd3, 0xd3,0xd3,0xd2,0xd2,0xd1,0xd1,0xd0,0xcf, 0xce,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8, 0xc6,0xc5,0xc4,0xc3,0xc1,0xc0,0xbf,0xbd, 0xbc,0xba,0xb9,0xb7,0xb6,0xb4,0xb2,0xb1, 0xaf,0xad,0xab,0xaa,0xa8,0xa6,0xa4,0xa2, 0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,

基于51单片机八路抢答器的设计大学论文

毕业设计(论文) 题 目: 基于51单片机的抢答器系统设计 函授站点: 中国矿业大学继续教育学院 学习层次: 专科 班级名称: 徐工技师学院 函机电2015班 姓名: 学号: 中国矿业大学继续教育学院 20 年 月 日

摘要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:STC89C52RC;共阴数码管;按键;蜂鸣器

基于51单片机的简易函数信号发生器

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

2、实验内容 1、运用keil软件对程序进行编写,运行程序,并进行程序修改。 2、运用protues软件进行硬件电路仿真设计。 3、将程序下载到仿真单片机中,并观测输出波形。 4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。 5、仿照仿真软件进行硬件电路的焊接。 6、将程序下载到单片机,并用示波器测试输出波形。 7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤 1、首先打开keil软件. 2、运用keil软件对程序进行编写,程序见附件。 3、打开protues软件. 4、运用protues软件对硬件电路进行设计。 9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:?XTAL1,XTAL2:外接晶振,产生时钟信号。 ?RST:复位电路; ?P2口:8位数字信号输出输出,外接DAC0832; ?P3.6口和P3.7口:DAC0832的时钟信号; 单片机模块 单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

51单片机-波形发生器

单片机课程设计报告 题目波形发生器 专业电子信息科学与技术 班级 2008级1班 学生姓名 ***** 学号 3080422*** 指导老师 ***** 2011年 7 月 8 日

目录 一、设计目的……………………………………………………错误!未定义书签。 二、设计的主要内容和要求……………………………………错误!未定义书签。 2.1基本内容和要求…………………………………………………………错误!未定义书签。 2.2创新部分…………………………………………………………………错误!未定义书签。 三、整体设计思路………………………………………………错误!未定义书签。 3.1设计思路…………………………………………………………………错误!未定义书签。 3.2元件选型…………………………………………………………………错误!未定义书签。 3.3功能原理图………………………………………………………………错误!未定义书签。 四、方案论证…………………………………………………… - 3 - 五、硬件电路设计……………………………………………… - 4 - 5.1硬件连线图………………………………………………………………错误!未定义书签。 5.2主要芯片介绍……………………………………………………………错误!未定义书签。 六、软件设计………………………………………………………错误!未定义书签。 6.1正弦波的产生过程………………………………………………………错误!未定义书签。 6.2方波产生过程……………………………………………………………错误!未

定义书签。 6.3锯齿波的产生过程……………………………………………………错误!未定义书签。 6.4三角波的产生过程……………………………………………………错误!未定义书签。 6.5通过开关实现波形切换和调频…………………………………………错误!未定义书签。 6.7附程序代码………………………………………………………………错误!未定义书签。 七、调试与仿真……………………………………………………错误!未定义书签。 八、总结……………………………………………………………错误!未定义书签。 九、参考文献……………………………………………………错误!未定义书签。 波形发生器 一、设计目的 (1)利用所学单片机机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的波形发生器。 (3)掌握各个接口芯片(如0832等)的功能特性及接口方法,并能运用其实现一个简单的单片机应用系统功能器件。 (4)在平时的学习中,我们所学的知识大都是课本上的,在机房的练习大家也都是分散的对各个章节的内容进行练习。因此,缺乏一种系统的设计锻炼。在课程所学结束以后,这样的课程设计十分有助于学生的知识系统的总结到一起。 (5)通过这几个波形进行组合形成了一个波形发生器,使得我对系统的整个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目,更可以

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