用AVR单片机来产生正弦波信号

用AVR单片机来产生正弦波信号

用AVR单片机来产生正弦波信号

用AVR单片机来产生正弦波信号

?

?使用AVR定时/计数器的PWM功能设计要点

?

?一、定时/计数器PWM设计要点

?

?根据PWM的特点,在使用ATmega128的定时/计数器设计输出PWM时应注意以下几点:

?

?1.首先应根据实际的情况,确定需要输出的PWM频率范围,这个频率与控制的对象有关。如输出PWM波用于控制灯的亮度,由于人眼不能分辨

42Hz以上的频率,所以PWM的频率应高于42Hz,否则人眼会察觉到灯的闪烁。

?

?2.然后根据需要PWM的频率范围确定ATmega128定时/计数器的PWM工作方式。AVR定时/计数器的PWM模式可以分成快速PWM和频率(相位)调整PWM两大类。

?

?3.快速PWM可以的到比较高频率的PWM输出,但占空比的调节精度稍微差一些。此时计数器仅工作在单程正向计数方式,计数器的上限值决定PWM的频率,而比较匹配寄存器的值决定了占空比的大小。PWM频率的计算公式为:

单片机课程设计产生三角波、正弦波、方波

STC89C51单片机产生正弦波、方波、三角波LED显示频率源程序 #include #include #define uchar unsigned char #define uint unsignedint sbit LATCH1=P2^6;//定义锁存使能端口段锁存 sbit LATCH2=P2^7;// 位锁存 unsigned char TempData[8]; //存储显示值的全局变量 unsigned char code DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9 unsigned char code DuanMa2[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};// 显示段码值0~9 unsigned char code DuanMa1[3]={0x77,0x7c,0x39}; unsigned char code WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码 #define DataPort P0 sbitkeyA=P3^3; sbitkeyB=P3^4; sbitkeyC=P3^5; sbitwc=P1^0; sbitscl=P1^1; sbitsda=P1^2; sbit scl1=P1^3; sbit sda1=P1^4; sbit p5=P1^5; sbit p6=P1^6; sbit p7=P1^7; uintsign,ad; uchar temp[10], temp1[3];//定义显示区域临时存储数组

基于单片机正弦信发生器












专业班级:
学生姓名:
指导教师(签名):
一、课程设计(论文)题目
正弦波信号发生器设计
二、本次课程设计(论文)应达到的目的
本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程 及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综 合训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理 解,进一步熟悉 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 系列单片机相关的文献及教材。 五、审核批准意见
教研室主任(签字) 正弦信号发生器设计方案框图

单片机方波发生器

单片机方波发生器 组成:单片机最小系统+显示屏+矩阵键盘 1. 数字输入键盘(0-9和小数点)-------11个按键 输入 2. 调整参数光标移动键(上下)----------2个按键 上下移动到需要调整的参数上 3. 参数确认键-------------------------------------1个按键 参数生效 4. 参数取消键-------------------------------------1个按键 参数更改(可无) 5. 脉冲触发输出键-------------------------------1个按键 脉冲输出 6. 信号发生器性能: 显示屏可调的参数有(同时显示三行,价格尽量低一些): 输出脉冲个数:xxxx 1-9999次(可商议) 输出脉冲宽度:xxxx.x us,步进0.05us . 最大值尽可能大 多脉冲间隔时间: xxxx.x us,步进0.05us (可以放宽到 0.1us ) 当输出单脉冲时候,间隔时间依然有效(按下触发等待时间1-5S ) 串口通讯:可以通过串口发送特定命令来输入上述信息和触发动作---本功能另外付50元,本次有没有都可以。没有付150元+硬件。 原材参考(淘宝有卖,接包方自购,买家承担100%费用):单片机最小系+显示屏(尽量不用1602) +16键矩阵键盘 期望输出波形图如下: 围0.05us---max 步进0.05us 围0.05us---max ,步 进0.05us

验收标准: 1. 接包方视频展示功能正确 2. 需求方收到实物,实际验证功能/输出正确 其他要求: 接包方自行购买所需硬件(最小系统+显示屏+按键键盘),软件内代码需做必要注释(尤其功能/参数调整部分),最终把全部功能硬件+软件源代码/执行文件一起寄送给需求方(硬件/邮费需求方支付)。 纯粹自己玩和学习,非毕业设计/成品(任意信号源成品已经很成熟且价格足够低),所 以只需要功能实现即可,对硬件没有要求。 单片机选型尽量低端的,毕竟需要另外买。

基于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) 系统具有显示输出波形的类型、重复频率和幅度的功能。

产生方波程序

ORG 0000H LJMP MAIN ORG 0003H LJMP KG MAIN: SETB EA ; SETB EX0 ; SETB IT0 ; CLR ET0 ; CLR TR0 ; MOV TMOD ,#00H MOV TH0 ,#0FCH MOV TL0 ,#1CH LOOP: JBC TF0, LOOP1 ;查询方式 AJMP LOOP; LOOP1:CPL P1.0 MOV TH0 ,#0FBH MOV TL0 ,#0AH LOOP3: JBC TF0, LOOP2 ; 查询方式 AJMP LOOP3 LOOP2: CPL P1.0 MOV TH0 ,#0FCH MOV TL0 ,#1CH AJMP LOOP; KG : CPL TR0; RETI END ORG 0000H LJMP MAIN ORG 0003H LJMP KG ORG 000BH LJMP PIOT0 ORG 001BH LJMP PIOT1 MAIN: SETB EA ; SETB EX0 ; SETB ET0 SETB ET1 SETB IT0 SETB IT1

CLR TR0 CLR TR1 MOV TMOD ,#00H MOV TH0 ,#0FCH MOV TL0 ,#1CH HERE :SJMP HERE PIOT0:CPL P1.0 MOV TH1 ,#0FBH; MOV TL1 ,#0AH; RETI PIOT1:CPL P1.0; MOV TH0 ,#0FCH MOV TL0 ,#1CH RETI KG : CPL TR0 CPL TR1 END ORG 0000H LJMP MAIN ORG 0003H LJMP KG ORG 000BH LJMP PIOT0 MAIN: SETB EA ; SETB EX0 ; SETB ET0 CLR ET1 SETB IT0 CLR TR0 CLR TR1 MOV TMOD ,#00H MOV TH0 ,#0FCH MOV TL0 ,#1CH HERE:JBC TF1,LOOP SJMP HERE PIOT0:CPL P1.0 MOV TH1 ,#0FBH; MOV TL1 ,#0AH; CLR TR0 SETB TR1 RETI

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

电子与信息工程学院综合实验课程报告 实验名称:基于单片机的信号发生器的设计与实现班级: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)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。

单片机产生正弦波

单片机产生正弦波 一要求 采用单片机map430g2553和运算放大器lmv358产生正弦波,周期1秒。 二思路 可通过单片机产生PWM,调节参数寄存器的值,产生不同占空比的PWM信号。若占空比的变化规律是正弦的,则滤波后可得到所需正弦波形。 其中,PWM(Pulse Width Modulation)控制——脉冲宽度调制技术是通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。图1为用PWM波代替正弦半波的例子。(单片机输出图1b,滤波后得到图1a) 图1 用PWM波代替正弦半波

三实践 1 PWM周期计算 正弦波周期1秒,需要采用多少个周期的PWM信号去表示?数目过少,则波形不完整(极端状况只有1个周期的PWM);数目过多,则增加了单片机的计算量,并对速度有要求。这里取N=200个。 则PWM信号的周期为T=1/200秒=5毫秒。 2 PWM参数计算 PWM由定时器TimerA产生,参数主要包括:定时器时钟,周期计数,高电平计数三个。 ●定时器时钟:定时器时钟来源有4个,两个内部的(辅助时钟ACLK、子系统主时钟 SMCLK),两个外部的。这里采用内部时钟。没有外部晶体时,ACLK由内部时钟源VLOCLK(低频时钟源,12K赫兹)产生,SMCLK由内部数字时钟DCOCLK(默认1M赫兹)产生。这里建议采用较高频率的。部分代码如下: BCSCTL1 |= DIVA_0; // ACLK = VLO BCSCTL2 |= SELM_0 + DIVM_0 + DIVS_0; // MCLK = DCO, SMCLK = DCO // Configure TimerA TACTL = TASSEL1 +MC_1; // Source: SMCLK, UP mode 其中,ACLK可配置成VLOCLK的1,2,4,8分频,这里设置为1分频,即ACLK = VLO;第二行中,SELM_0的作用是选择MCLK的时钟源为DCOCLK,DIVM_0设置为MCLK = DCO,DIVS_0设置为SMCLK = DCO(默认时钟源)。 TASSEL1将定时器时钟设置为SMCLK(若为TASSEL0则选择ACLK),且未分频。模式选择MC_1为上升模式。采用上述方法设置 定时器时钟= SMCLK = DCO = 1M赫兹。 ●周期计数:上升模式表明定时器由0递增到一个上限值CCR0。CCR0需设置。 因为周期T=1/200秒,而定时器时钟= SMCLK = DCO = 1M赫兹,定时器周期t=1微秒,所以CCR0=T/t=5000,即5毫秒。 ●高电平计数:定时器由0递增到一个上限值CCR0过程中,需设置脉宽CCR1。 并且K= CCR1/ CCR0的数值每个周期(5毫秒)都变化一次,变化趋势满足正弦变化,200个5毫秒构成一个正弦变化周期。 为获得CCR1值,在matlab中输入: t=0:pi/100:2*pi; k=(sin(t)+1)/2; CCR1=round(4999*k); 可获得201个CCR1值。上式中,第一行设置了201个数,均匀分布在0-2pi 之间,第一个和最后一个分别对应0弧度和2pi弧度;第二行计算201个正弦值,偏置为0.5,全幅度为1的正弦波幅度,如图2所示:

单片机制作简易正弦波信号发生器(DAC0832)

调试时,电源的质量需要较高,不然的话,波形不易观察看清楚。 //河北工程大学信电学院自动化系 //设计调试成功 ***************将DA输出的 0V ~ -5V范围扩展成 -5V ~ +5V范围,电路如下图:*************** 如若VO2输出更平滑一些,可以在VO2处接一个小电容,滤掉高频。 (一)过程分析计算如下: ?第一级运放出来的V o1=-N*V ref/256。当V ref为+5V时,V o1=0~ -5V。 其中,V ref为参考电压,N为8位数字量输出到DAC0832 ?并结合第二级运放,是否可以推出来如下式子: V o2=-(2*V o1+V ref)=-(2*-N*V ref/256+V ref) =-(-2N*V ref/256+V ref) =2N*V ref/256-V ref 当参考电压V ref=5V时,V o2=10N/256-5。 由于要求输出的是正弦波xsinθ,幅值x不定,下面考虑幅值x分别取5和1的情况: ●当输出波形为5 sinθ时:5 sinθ=V o2 =2N*V ref/256-V ref =10N/256-5 //此时V ref=+5V 得sinθ=2N/256-1

●当输出波形为sinθ时:sinθ=V o2 =2N*V ref/256-V ref =10N/256-5 //此时V ref=+5V 得sinθ=10N/256-5 最后可以考虑输出波形的频率问题。例如要求输出特定频率的正弦波。 (二)针对输出的不同幅值波形 ?当输出波形为5 sinθ时:得sinθ=2N/256-1 这里我们要求进步为一度。具体到进步大小,和内存RAM或者ROM有关,即和你存放数据表的空间有关。放到哪个空间都可以。(这里周期采样最多256个点,步数可以为1、2、5等,自己视情况而定,这里由于是360度,256个采样点,故步的大小360/256=1.4=△θ,由此算的前三个 θ=0,1.4,2.8……,对应N为0x80,0x83,0x86……) 通过sinθ的特征和计算部分数据发现规律: 0~90度与90~180度大小是对称的;181~270度与270~359度是对称的。 故,不是所有数据都是计算的。

4 脉冲信号产生电路共23页文档

4 脉冲信号产生电路 4.1 实验目的 1.了解集成单稳态触发器的基本功能及主要应用。 2.掌握555定时器的基本工作原理及其性能。 3.掌握用555定时器构成多谐振荡器、单稳态触发器的工作原理、设计及调试方法。 4.2 实验原理 1.集成单稳态触发器及其应用 在数字电路的时序组合工作中,有时需要定时、延时电路产生定时、展宽延时等脉冲,专门用于完成这种功能的IC,就是“单稳延时多谐振荡器”,也称“单稳触发器”。其基本原理是利用电阻、电容的充放电延时特性以及电平比较器对充放电电压检测的功能,实现定时或延时,只需按需要灵活改变电阻、电容值大小,就可以取得在一定时间范围的延时或振荡脉冲输出。常用的器件有LS121/122、LS/HC123、LS/HC221、LS/HC423、HC/C4538及CC4528B等。 集成单稳态触发器在没有触发信号输入时,电路输出Q=0,电路处于稳态;当输入端输入触发信号时,电路由稳态转入暂稳态,使输出Q=1;待电路暂稳态结束,电路又自动返回到稳态Q=0。在这一过程中,电路输 出一个具有一定宽度的脉冲,其宽度与电路的外接定时元件C ext 和R ext 的数 值有关。 图4-1

集成单稳态触发器有非重触发和可重触发两种,74LS123是一种双可重触发的单稳态触发器。它的逻辑符号及功能表如图4-1、表4-1所示。 在表4-1中“正”为正脉冲,“负”为负脉冲。 LS/HC123的特点是,复位端CLR也具有上跳触发单稳态过程发生的功能。 在C ext >1000pF时,输出脉冲宽度t w ≈0.45R ext C ext 。 器件的可重触发功能是指在电路一旦被触发(即Q=1)后,只要Q还未恢复到0,电路可以被输入脉冲重复触发,Q=1将继续延长,直至重复触发的最后一个触发脉冲的到来后,再经过一个t w (该电路定时的脉冲宽度)时间,Q才变为0,如图4-2所示: 图4-2 74LS123的使用方法: (1)有A和B两个输入端,A为下降沿触发,B为上升沿触发,只有AB=1时电路才被触发。 (2)连接Q和A或Q与B,可使器件变为非重触发单稳态触发器。 (3)CLR=0时,使输出Q立即变为0,可用来控制脉冲宽度。 (4)按图4-3、3-5-4连接电路,可组成一个矩形波信号发生器,利用开关S瞬时接地,使电路起振。 图4-3 图4-4 2.555时基电路及其应用 555时基电路是一种将模拟功能和数字逻辑功能巧妙地结合在同一硅片上的新型集成电路,又称集成定时器,它的内部电路框图如图4-5所示。 图4-5 电路主要由两个高精度比较器C 1、C 2 以及一个RS触发器组成。比较器 的参考电压分别是2/3V CC 和1/3V CC ,利用触发器输入端TR输入一个小于 1/3V CC 信号,或者阈值输入端TH输入一个大于2/3V CC 的信号,可以使触发 器状态发生变换。CT是控制输入端,可以外接输入电压,以改变比较器的参考电压值。在不接外加电压时,通常接0.01μF电容到地,DISC是放电输入端,当输出端的F=0时,DISC对地短路,当F=1时,DISC对地开路。 R D 是复位输入端,当R D =0时,输出端有F=0。 器件的电源电压V CC 可以是+5V~+15V,输出的最大电流可达200mA,当 电源电压为+5V时,电路输出与TTL电路兼容。555电路能够输出从微秒级到小时级时间范围很广的信号。 (1)组成单稳态触发器 555电路按图4-6连接,即构成一个单稳态触发器,其中R、C是外接定时元件。单稳态触发器的输出脉冲宽度t w ≈1.1RC。 图4-6 (2)组成自激多谐振荡器 图4-7 自激多谐振荡器电路 按图4-7连接,即连成一个自激多谐振荡器电路,此电路的工作过程

基于MCS-51单片机的可调频率方波发生器课程设计报告[1]

单片机课程设计报告 设计题目:频率可调方波发生器 专业班级:生物医学工程09班 组长:李建华 组员:梁国锋,赖水兵,郭万劲,李建华2010 年 06 月 16日

摘要 本实验是基于PHILIPS AT89C51 单片机所设计的,可以实现键位与数字动态显示的一种频率可调方波发生器。通过键盘键入(10HZ-9999HZ)随机频率,使用七段数码管显示,每一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入,然后数码管显示输入的数值,方波发生器输出以数码管显示的数值为频率的方波。 关键词:单片机七段数码管键盘电路频率可调方波发生器

一、目的和功能 1.1 目的: 设计一种频率范围限定且可调的方波发生器,志在产生特定频率的方波。 1.2功能: 假设键盘是4*4的键盘,当键盘输入范围在10hz-9999hz的数字,单片机控制数码管显示该数值,并把该数值当做方波发生器的输入频率,单片机控制该方波发生器以该数值作为频率显示方波,从而得到我们想要频率的方波。 二、硬件设计 2.1 硬件设计思想 键盘的数字和键位关系固定,通过键盘输入产生频率,通过LED数码管显示出来,每一个数码管对应一个键位。基本设备是基于PHILIPS AT89C51单片机,外围设备采用的是4个七段数码管,PHILIPS A T89C51单片机,1个OSCILLOSCOPE 方波发生器,16个Button,若干电阻,电源电池。 2.2 部分硬件方案论述 2.2.1 七段数码管扫描显示方式的方案比较 方案一:静态显示方式:静态显示方式是指当显示器显示某一字符时,七段数码管的每段发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。

单片机定时1器控制产生10Hz正弦波信号

#include #define uchar unsigned char #define uint unsigned int sbit cs=P3^5; sbit wr=P3^6; uchar j; uchar code tosin[256]={ 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2, 0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5, 0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1, 0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5, 0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd, 0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc, 0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76, 0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06, 0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e, 0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 };/*正弦波码 */

基于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单片机 C语言代码

/**************************************/ /* 信号发生器(正弦波,方波,三角波) */ /*************************************/ #include #include #define uchar unsigned char #define uint unsigned int sbit cs=P2^0; //tlc5615片选端口 sbit clk=P2^1; //tlc5615时钟线 sbit din=P2^2; //tlc5615传输端口 sbit key1=P1^0; sbit key2=P1^1; //按键的单片机接口 uchar keydat; uchar flag; //波形发生终止信号的标志位一旦被置零立马停止发信号

uchar flagsqu; //方波高低电平控制为(运用定时器1中断控制) uchar m,num; uchar dat=0xff; uchar code tosin[141]={ //正弦波的编码 0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16, 0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b, 0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45, 0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63, 0x66,0x69,0x6c,0x6f,0x70,0x71,0x72,0x73,0x74,0x75, 0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7e, 0x7f,0x80,0x7f,0x7e,0x7e,0x7d,0x7c,0x7b,0x7a,0x79, 0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x6f,0x6c,0x69, 0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c, 0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30, 0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a, 0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01, 0x00};

单片机输出方波及显示宽度

桂林电子科技大学单片机最小应用系统 设 计 报 告 指导老师:吴兆华 学生:冯焕焕 学号:1000150301

前言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新.在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善. 单片机是指在一个芯片上集成了中央处理器、存储器和各种I/O接口的微型计算机,它主要面向控制性应用领域,因此又称为嵌入式微控制器。单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域。 本次课程设计目的主要是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 本课程设计实在学完单片机原理及课程之后综合利用所学单片机只是完成一个单片机应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理和应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获的初步的应用经验,为以后从事生产和科研工作打下一定的基础。 摘要

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。单片机应用的意义绝不仅限于它的广阔范围以及带来的经济效益,更重要的意义在于,单片机的应用正从根本上改变着传统的控制系统的设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分控制功能,现在使用单片机通过软件就能实现了。随着单片机应用的推广普及,单片机控制技术将不断发展,日益完善。本文是设计频率/脉冲宽度的测量与显示的硬件电路与程序的编制。它可以测量脉冲信号的脉冲宽度,频率等参数。利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。利用定时器T0定时T1计数来测量由P3.5口输入的脉冲信号的频率。在单片机应用系统中,为了便于对LED显示器进行管理,需要建立一个显示缓冲区。显示时采用动态扫描的方式将将各位数的BCD码依序输入到LED中,并连续扫描2秒钟。通过采用STC89C52RC 单片机为中心器件来设计脉冲宽度测量器,并运用MCS—51/52单片机计数功能,选择好工作模式,对脉宽进行计数。在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,并在计算机上编写汇编程序调试运行。 关键词: 门控信号GATE;脉冲宽度;扩展测量范围;脉冲频率 ABSTRACT

基于单片机正弦波有效值的测量

基于单片机正弦波有效值的测量 一.简介 本作品以单片机STC12C5A60S2为主控芯片并以此为基础,通过二极管1N5819实现半波整流,使用单片机内部自带10位AD对整流后的输入信号进行采样,从而实现对峰值的检测;同时通过运放LM837对输入信号进行放大,之后通过施密特触发器,将原始信号整形成可被单片机识别的标准脉冲波形,之后配合内部计数器(定时器)达到测量其频率的目的;这样,整流和AD采样实现对输入信号峰值的检测;通过放大、整形实现对输入信号频率的检测。 二.基本功能与技术指标要求 (1)输入交流电压:1mV~50V,分五档: ①1mV~20mV,②20mV~200mV,③200mV~2V,④2V~20V,⑤20v~50V。 (2)正弦频率;1Hz~100kHz; (3)检测误差:≤2%; (4)具有检测启动按钮和停止按钮,按下启动按钮开始检测,按下停止按钮停止检测; (5)显示方式:数字显示当前检测的有效是,在停止检测状态下,显示最后一次检测到的有效值; (6)显示:LCD,显示分辨率:每档满量程的0.1%; 三.理论分析 本文要求输入交流信号,通过电路测量其峰值,频率,有效值以

及平均值,因为输入的交流信号为模拟信号,而一般处理数据使用的主控芯片单片机处理的是数字信号,所以我们选择使用数模转换器AD(Analog to Digital Converter)将输入的模拟信号转换为数字信号,并进行采样;由于要求输入交流信号电压峰峰值Vpp为 50mV~10V,所以如果我们采用AD为8位,则最小采样精度为 ,因此会产生78.4%的误差,并且题目要求输入交流信号的频率范围为40Hz~50kHz,所以为了保证对高频率信号的单周期内采样个数,我们需要选择尽量高速度的AD; 因此我们选用使用单片机STC12C5A60S2,其内部自带AD为8路10位最高速度可达到250KHz,所以我们可以将最小采样精度缩小到 ,并且在输入交流信号频率最大时(50KHz)在单个周期内可采集5个点,因此可保证测量精度。 由于该AD只能接受0~5V的模拟信号输入,所以当我们直接输入一个双极性信号时可能损坏AD,因此当信号进入AD之前我们要进行半波整流,为此我们设计了整流电路,在交流信号通过整流电路输入AD 后,由AD实时输出对应模拟信号大小的二进制数,并存入变量MAX 中,随着信号的不断输入MAX中只保存AD输出过的最大值,这样既 可测出输入信号的峰值;由交流信号有效值表达式 可知检波器应当首先把输入的瞬时电压平方, 然后在一定平均时间内取平均值再开方。即可得到交流信号的有效值,然后通过比较峰值

设计并实现频率可控的正弦波信号发生器 单片机课设

1Proteus软件简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 特点:支持ARM7,PIC ,A VR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中; 交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等; 强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式; 支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试; 一键“make”特性:一个键完成编译与仿真操作; 内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型; DLL界面为应用提供特定的模式; 14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等; 高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转换;噪声;失真;付立叶;交流、直流和音频曲线; 模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流; 集成PROTEUS PCB设计形成完整的电子设计系统。 Protues软件与Keil uVision的结合 对于初次使用Protues软件的人可能还不知道如何设置,现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上结合,在两个联网机器使用由于篇幅限制不在此讨论):设置

实验8 脉冲信号产生电路

实验8 脉冲信号产生电路 一、实验目的 1. 掌握用基本门电路构成多谐振荡器的方法。 2. 熟悉单稳态触发器的工作原理和参数选择。 3. 熟悉施密特触发器的脉冲整形和应用。 二、实验原理 脉冲信号产生电路是数字系统中必不可少的单元电路。如同步信号、时钟信号和时基信号等都由它产生。产生脉冲信号的电路通常称为多谐振荡器。它不需信号源,只要加上直流电源,就可以自动产生信号。脉冲的整形通常应用单稳态触发器或施密特触发器实现。 脉冲信号的产生与整形可以用基本门电路来实现。现在已经有集成单稳态触发器、集成施密特触发器。另外用555 定时器也可以产生脉冲或实现脉冲整形。本实验主要研究用基本门电路组成的脉冲产生和整形电路。 1. 多谐振荡器 (1) TTL 门电路构成的多谐振荡器 由于 TTL 门电路 速度快,它 适宜于产生 中频段脉冲 源,图2.8.1 是由TTL 反向器构成的全对称多谐振荡器,若取C1= C2 = C,R1= R2= R,则电路完全对称,电容充放电时间相等,其振荡周期近似为T=1.4 RC。一般R1、R2的取值不超过1K,若取R1= R2 = 500Ω ,C1= C2=100pF~100μF,则其振荡频率的范围为几十赫到几十兆赫。 (2) 环形多谐振荡器 图 2.8.2 是用TTL 与非门构成的环形多谐振荡器,图中取R1=100Ω ,R W在2kΩ ~50kΩ之间变化,可调电容C的变化范围是100pF 到50μF,则振荡频率可从数千赫变到数兆赫。电路的振荡周期为T= 2.2 RC,其中R = R1+R W。

(3) 晶体振荡器 用TTL 或CMOS 门电路构成的振荡器幅度稳定性较好,但频率稳定性较差,一般只能达到10-2~10-3数量级。在对频率的稳定度、精度要求高的场合,选用石英晶体组成的振荡器较为适合。其频率稳定度可达10-5以上。图2.8.3 是用CMOS 芯片CD4069 和 晶体构成的多谐振荡器,C o一般取20pF。C S取10~30pF,其输出频率取决于晶体的固有振荡频率。 2. 单稳态触发器 稳态触发器的特点是它只有一个稳定状态,在外来脉冲的作用下,能够由稳定状态翻转到暂稳态。暂稳态维持一段时间TW 以后,将自动返回到稳定状态。TW大小与触发脉冲无关,仅取决于电路本身的参数。单稳态触发器一般用于定时、整形及延时等。单片集成的单稳态触发器有74LS122,CC4098 等。 图 2.8.4 是用与非门构成的微分型单稳态触发器,其输出脉冲宽度为:Tw= 0.8RC。 3. 施密特触发器 施密特触发器的特点是:电路有两个稳定状态,电路状态的翻转依靠外触发电平来维持。一旦外触发电平下降到一定电平 后,电路 立即恢复 到初始稳 态。其工

相关文档
最新文档