微处理器课程设计报告

合集下载

简单微处理器的设计

简单微处理器的设计

长沙理工大学《计算机组成原理》课程设计报告简单微处理器的设计李江江学院计算机与通信工程专业计算机科学与技术班级0 学号0225学生姓名李江江指导教师肖晓丽课程成绩完成日期2008年1月18日课程设计任务书课程设计成绩评定学院计算机通信工程专业计算机科学与技术班级计算机05-02 班学号0225学生姓名李江江指导教师肖晓丽课程成绩完成日期2008年1月18日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见简单微处理器的设计学生:李江江指导老师:肖晓丽摘要:本课程设计采用EDA技术设计简单微处理器。

系统设计采用自顶向下的设计方法。

它由数的输入,数的比较,数的交换和结果输出四部分组成。

系统实现采用硬件描述语言VHDL把系统电路按模块化方式进行设计,然后进行编程、时序仿真并分析。

系统结构简单,使用方便,功能齐全,精度高,具有一定的应用价值。

关键词:处理器;输入;比较;交换目录1 引言.................................................. 错误!未定义书签。

1.1课题设计的背景、目的................................ 错误!未定义书签。

1.2 课程设计的内容.................................... 错误!未定义书签。

2 EDA、VHDL简介.......................................... 错误!未定义书签。

2.1 EDA简介............................................ 错误!未定义书签。

2.2 VHDL简介........................................... 错误!未定义书签。

VHDL语言的特点..................................... 错误!未定义书签。

简单微处理器设计实验报告

简单微处理器设计实验报告

目录目录 (1)表目录 (2)图目录 (3)1文档说明(Introduction) (4)2描述习惯(Conventions) (5)3微处理器各功能模块 (6)3.1概述 (6)3.2结构框图 (6)3.2.1ALUpart (6)3.2.2controlpart (9)3.2.3CPU (11)3.3功能列表 (12)3.3.1ALUpart (12)3.3.2controlpart (13)3.3.2.1状态转移图 (13)3.4工作环境介绍 (14)3.4.1设计代码 (14)3.4.2测试平台 (14)3.4.3电路综合环境 (16)3.4.4后仿真环境 (16)3.5功能验证结果 (17)3.5.1前仿真结果 (17)3.5.2后仿真结果 (19)3.6综合结果 (20)表1 ALU8模块I/O接口表2 通用寄存器堆模块I/O接口表3 alupart输入输出I/O口列表表4 控制器模块I/O接口表5 IRRAM模块I/O接口表6 Control-part结构整体I/O接口表7 CPU整体模块I/O接口表8 ALU 指令集表9 添加的JUMP指令图1 ALU8模块框图图2 通用寄存器RAM模块框图图3 ALUpart模块框图图4 控制器模块框图图5 IRRAM模块框图图6 Control-part结构框图图7 CPU结构框图图8 ALUpart状态转移图图9 controlpart状态转移图图10 CPU计算5!的全图图11 controllpart执行一条指令的波形图图12 control 执行非跳转指令的状态机波形图13 control 执行跳转指令的状态机波形图14 ALUpart执行一条指令的波形图图15 ALUpart执行指令状态机的波形图16 综合的Timing report图17 综合的Area report图18 门级仿真5!的波形结果图19 门级仿真产生的延时1文档说明(Introduction)本文档描述了简单微处理器的总体设计,如功能、模块结构、关键时序等等。

微处理器实验报告

微处理器实验报告

《微处理器实验》实验报告一、实验目的与任务1、掌握80C51单片机程序的调试与下载方法。

2、掌握80C51单片机并口的工作原理及输入输出控制方法。

3、理解和学会单片机外部中断的使用;4、学习单片机定时器/计数器的应用。

二、实验原理介绍80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。

ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。

STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。

本课程的全部实验只用到MCU1。

图3-1为本实验对应的硬件电路。

P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应的发光管点亮,口线输出1(高电平)时,对应的发光管熄灭。

P3口的4根口线连接独立按键KX0~KX3,由于P3口内部上拉电阻的作用,按键松开时,对应的口线表现为1状态(高电平),按键按下时,对应的口线表现为0状态(低电平)。

中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。

待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。

引起突发事件的来源称为中断源,中断源要求服务的请求称为中断请求,对中断请求提供的服务称为中断服务,中断管理系统处理事件的过程称为中断响应过程。

51类单片机至少包括5个中断源:INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。

(本实验用)INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。

T0:定时器/计数器0中断,由T0计满回零引起。

(本实验用)T1:定时器/计数器l中断,由T1计满回零引起。

微处理器设计实验报告

微处理器设计实验报告

微处理器设计实验任务&目标利用Verilog HDL语言,基于Xilinx FPGA nexys4实验平台,设计一个能够执行以下MIPS指令集的单周期类MIPS处理器,要求完成所有支持指令的功能仿真,验证指令执行的正确性,要求编写汇编程序将本人学号的ASCII码存入RAM的连续内存区域微处理器各个模块硬件设计原理、Verilog代码顶层模块ROM块采用异步输出,RAM同步输出,异步写入。

该方案有三个部分用到了时钟信号:指令指针赋值,寄存器文件写入数据,数据存储器输出数据。

指令指针赋值与始终上升沿同步,而寄存器文件数据写入以及数据存储器数据输出、输入与时钟下降沿同步Verilog代码module top(input reset);reg [31:0] PC;wire J,B,Bzero,zero,M2R,memwr,Imm,regwr,RtDst;wire [1:0] ALUop;wire [3:0] ALUctr;wire [31:0] NewPC,JMPPC,BranPC,Imm32L2,Imm32,NotJMPPC,TempPC;wire [31:0] Instr,WriteData,DataOut,Res,RsData,RtData,in2;wire [4:0] WriteAddr;assign Imm32={{16{Instr[15]}},Instr[15:0]};assign WriteAddr=RtDst?Instr[15:11]:Instr[20:16];assign in2=Imm?Imm32:RtData;assign WriteData=M2R?DataOut:Res;assign NotJMPPC=Bzero?BranPC:NewPC;assign TempPC=J?JMPPC:NotJMPPC;assign Bzero=B&zero;assign Imm32L2=Imm32<<2;assign JMPPC={NewPC[31:28],Instr[25:0],2'b00};assign BranPC=NewPC+Imm32L2;assign NewPC=PC+4;always@(posedge clk)if(!reset)PC=TempPC;elsePC=32'b0;mainctr mainctr1(Instr[31:26],ALUop,RtDst,regwr,Imm,memwr,B,J,M2R);ALU alu(RsData,in2,ALUctr,Res,zero);aluctr_gzt aluctr1(ALUop,Instr[5:0],ALUctr);DataRAM dram(Res[7:2],RtData,!clk,memwr,DataOut);InstrROM irom(PC[8:2],Instr);regFile regfile(clk,reset,regwr,Instr[25:21],Instr[20:16],WriteAddr,WriteData,RsData,RtData); endmodule主控制器module mainctr(input [5:0] opCode,output [1:0] ALUop,output RtDst,output regwr,output Imm,output memwr,output J,output M2R);reg [8:0] outputtemp;assign RtDst=outputtemp[8];assign Imm=outputtemp[7];assign M2R=outputtemp[6];assign regwr=outputtemp[5];assign memwr=outputtemp[4];assign B=outputtemp[3];assign J=outputtemp[2];assign ALUop=outputtemp[1:0];always@(opCode)case(opCode)6'b000010:outputtemp =9'bxxx0_001_xx; //imp6'b000000:outputtemp =9'b1001_000_10; //R6'b100011:outputtemp =9'b0111_000_00; //lw6'b101011:outputtemp =9'bx1x0_100_00; //sw6'b000100:outputtemp =9'bx0x0_010_01; //beq6'b001000:outputtemp =9'b0101_000_11;default:outputtemp =9'b000000000;endcaseendmoduleALU运算模块module ALU(input [31:0] in1,input [31:0] in2,input [3:0] ALUctr,output reg [31:0] Res,output reg zero);always @(in1 or in2 or ALUctr)begincase(ALUctr)4'b0000: //andRes = in1&in2;4'b0001: //orRes = in1 | in2;4'b0010: //addRes = in1 + in2;4'b0110: //subbeginRes = in1 - in2;zero = (Res == 0)?1:0;end4'b0111:Res=(in1<in2)?1:0;default: //othersRes = 0;endcaseendendmoduleALU控制器module aluctr_gzt(input [1:0] ALUop,input [5:0] func,output reg [3:0] ALUctr);always @(ALUop or func)casex({ALUop,func})8'b00xxxxxx: ALUctr=4'b0010; //lw,sw8'b01xxxxxx: ALUctr=4'b0110; //beq8'b10xx0000: ALUctr=4'b0010; //add8'b11xxxxxx: ALUctr=4'b0010;8'b10xx0010: ALUctr=4'b0110; //sub8'b10xx0100: ALUctr=4'b0000; //and8'b10xx0101: ALUctr=4'b0001; //or8'b10xx1010: ALUctr=4'b0111; //sltdefault : ALUctr=4'b0000;endcaseendmodule寄存器文件module regFile(input clk,input reset,input regwr,input [4:0] RsAddr,input [4:0] RtAddr,input [4:0] WriteAddr,input [31:0] WriteData,output [31:0] RsData,output [31:0] RtData);reg [31:0] regs [0:31];assign RsData = (RsAddr == 5'h0)?32'h0:regs[RsAddr];assign RtData = (RsAddr == 5'h0)?32'h0:regs[RtAddr];integer i;always@(negedge clk or posedge reset)if (reset)for(i=0;i<32;i=i+1)regs[i]<=0;else if(regwr)regs[WriteAddr] <= WriteData;endmoduleROM汇编程序设计代码main:add $14,$12,$13addi $11,$0,200addi $12,$0,85 #Usw $12,36($11)addi $13,$0,50 #2sw $13,32($11)addi $14,$0,48 #0sw $14,28($11)addi $15,$0,49 #1sw $15,24($11)addi $16,$0,55 #7sw $16,20($11)addi $17,$0,49 #1sw $17,16($11)addi $18,$0,51 #3sw $18,12($11)addi $19,$0,53 #5sw $19,8($11)addi $14,$0,53 #5sw $14,4($11)addi $18,$0,55 #7sw $18,0($11)add $4,$2,$3lw $4,4($2)sw $2,8($2)sub $2,$4,$3or $2,$4,$3and $2,$4,$3slt $2,$4,$3beq $4,$3,exitj mainexit: lw,$2,0($3)j mainRegfile模块仿真激励代码module regSim();reg clk ;reg reset;reg regwr;reg [4:0] RsAddr;reg [4:0] RtAddr;reg [4:0] WriteAddr;reg [31:0] WriteData;wire [31:0] RsData;wire [31:0] RtData;regFile uut(clk,reset,regwr,RsAddr,RtAddr,WriteAddr,WriteData,RsData,RtData);parameter PERIOD = 10; //clk period 10nsalways beginclk = 1'b0;#(PERIOD/2) clk = 1'b1; //rising edge#(PERIOD/2); //falling edgeendinitial beginreset=1; //reset 14 nsRsAddr=3;RtAddr=0;WriteAddr=5;WriteData=8;regwr=1;#14 reset=0; //20ns writedata stored in writeaddr $5=8#20 RsAddr=5; //34ns RsData=8;endendmodule仿真截图验证Regfile模块正确性首先将光标移到14ns处,reset一直为有效电平,故regs值一直为0,符合复位功能要求。

自动化与微处理器课程设计报告

自动化与微处理器课程设计报告

自动化与微处理器课程设计报告1. 引言随着科技的不断进步,自动化技术在各行各业中的应用越来越广泛。

微处理器作为自动化技术的核心,其性能的提高对于整个自动化产业的发展具有重要意义。

本课程设计报告旨在通过理论与实践相结合的方式,使学生掌握自动化与微处理器的相关知识,提高学生在实际工程中的应用能力。

2. 课程设计目标1. 掌握自动化基本原理及其在工程中的应用。

2. 研究微处理器的结构、工作原理及其编程方法。

3. 学会使用微处理器进行自动化系统设计。

4. 培养学生的创新能力和团队协作精神。

3. 课程设计内容3.1 理论知识部分1. 自动化基本概念:自动化系统的组成、分类及其特点。

2. 微处理器基础知识:微处理器的发展历程、结构及其工作原理。

3. 编程语言:研究C语言、汇编语言等编程语言,掌握编程技巧。

4. 微处理器应用案例:分析典型的微处理器应用实例,了解其设计思路。

3.2 实践操作部分1. 微处理器编程实践:使用Keil、MPLAB等软件进行编程练。

2. 自动化系统设计:使用微处理器设计简单的自动化控制系统,如温度控制器、灯光调节器等。

3. 系统调试与优化:对设计好的自动化系统进行调试,优化系统性能。

4. 课程设计报告撰写:整理课程设计过程的相关资料,撰写课程设计报告。

4. 课程设计流程1. 选题与立项:根据课程设计要求,选择设计主题,制定设计方案。

2. 理论研究:查阅相关资料,研究自动化与微处理器的相关知识。

3. 实践操作:按照设计方案进行编程实践和自动化系统设计。

4. 调试与优化:对设计好的系统进行调试,分析并优化系统性能。

5. 撰写报告:整理课程设计过程的资料,撰写课程设计报告。

5. 课程设计评价1. 理论知识掌握程度:评价学生对自动化与微处理器相关理论知识的掌握情况。

2. 实践操作能力:评价学生在实际操作过程中解决问题的能力。

3. 创新与团队协作:评价学生在课程设计过程中的创新思维和团队协作精神。

河南理工大学微处理器设计报告1

河南理工大学微处理器设计报告1

微处理器系统综合设计设计题目名称:基于51单片机的空气质量检测仪班级:通信1404姓名:学号:题目:基于51单片机的空气质量检测仪一、本设计要实现的功能该项目实现的主要功能及参数:1、能够同时检测VOC挥发性有机气体和PM2.5浓度。

(VOC检测气体包括:甲醛、苯、一氧化碳、氢气、酒精、氨气、香烟烟雾和香精等。

)2、VOC气体根据浓度,输出A、B、C、D共4个等级。

3、可检测PM2.5量程为0—1000μg/m3。

4、粉尘最小粒子检出能力为1μm。

5、采用数码管显示测量数据6、传感器预热时间小于5分钟。

二、本设计的设计方案项目采用“电子积木+底板”的形式,通过电子积木拼接,实现项目功能,以保证项目机械结构稳定,并具有扩展功能。

主要积木包括:51单片机核心板、4位LED数码管模块、空气质量传感器模块系统框图空气质量检测仪实物图本空气质量检测仪采用PM2.5+VOC二合一的传感器,不仅可以测量PM2.5浓度,还可以测得VOC气体。

VOC气体主要包括:甲醛、苯、一氧化碳、酒精、氨气、香烟烟雾、香精等。

采用4位动态数码管,第一位显示VOC气体浓度等级:A、B、C、D。

后三位显示PM2.5浓度,单位μg/m³三、硬件基本电路介绍及原理1.模块位置图1)电子积木底板图本实验中用到的电子积木底板接口电源端:+5V电源接入端,+5V电源输出端模块定位孔:固定模块,方便试验。

电子积木底板采用标准定位孔的设计,电子积木可以固定在地板上,为整个空气质量检测仪提供相对稳定的机械结构,各模块之间的连接线可以通过扎带固定在底位孔上。

2)51单片机核心板位置图3)采用四位一体的七段LED数码管组成的动态扫描电路。

4)空气质量传感器模块该模块选用ZPH01空气粉尘传感器,能够同时实现对VOC与PM2.5的同时检测。

传感器中的VOC检测单元对甲醛、苯、二氧化碳、氨气、氢气、酒精、香烟烟雾、香精等有机挥发气体具有极高的灵敏度。

微处理器实验报告三

微处理器实验报告三

实验报告院别:电子信息学院课程名称:微处理器实验班级:姓名:学号:实验名称:中断与串行通信实验实验时间:成绩:教师签名:批改时间:一、实验原理与目的实验目的:1、学会实验仪用户程序的下载和执行;2、理解单片机的串口通信原理,学会单片机串行口的使用;3、学会单片机串行口中断的使用。

实验原理:串口通讯实验是单片机和主机之间进行的通讯实验。

由于仿真仪系统已经占用了通讯口,因此不能使用仿真系统的监控程序来进行软硬件联合调试!只能可以通过软件仿真来排除语法错误和关键程序段的错误,然后直接将程序下载到仿真仪上,脱机执行程序(具体可参考p17)。

二、实验仪器1、PC机一台;2、DP-51PRO 单片机综合仿真实验仪一台;3、普通示波器一台。

三、实验内容1、编写一段程序,利用单片机的串行口向PC机发送字符串。

在下面的原理图中,短接JP15就将单片机的串口,通过MAX232和插座连接到主机的串口信号线上了。

图3-2 串口通信连接图1)编写程序,设置目标选项成功通过KEIL系统的编辑、编译和部分程序的动态调试。

2)连接实验仪的串口和主机的串口,参照实验二方法将用户程序下载到单片机的FLASH中。

3)运行主机上的DPFLASH,点击主菜单上的串口调试器,并设置相应的参数波特率为9600,字符数为8位。

4)将MOD-SW1拨到RUN一边,按一下复位键,程序就开始运行了。

观察主机上接收到的字符串。

2、编写一段程序,接收主机串行口发送来的字符,在单片机接收到‘A’的时候返回一个‘T’表示正确,否则返回一个‘F’表示错误。

3、采用串行口中断方式,实现实验内容和步骤2的要求。

4、编写程序并运行,接受主机发来的一串字母(大小写兼有)和数字(以$结束),然后将其中的大写字母变成小写(其余不变),再回送给主机。

四、实验分析1、如上图连线后,编写一段程序让其在串口输出为“'WELCOME TO ZSC”,程序如下所示,在按复位键之前,程序将会不间断地输出“'WELCOME TO ZSC”:ORG 0000HLJMP MAINORG 0050HDB 'WELCOME TO ZSC'ORG 0100HMAIN: CLR EAMOV SP,#60H ;给堆栈指针赋初值MOV TMOD,#20H ;设置T1 为方式2MOV TH1,#0FDH ;设置波特率为9600MOV TL1,#0FDHMOV SCON,#40H ;设置串口位方式1MOV PCON,#00HSETB TR1 ;定时器1 开始计数MOV R7,#14HMOV DPTR,#0050HLOOP: MOV A,#00HMOVC A,@A+DPTRMOV SBUF,A ;开始发送JNB TI,$CLR TIINC DPTRDJNZ R7,LOOPSJMP MAINEND2、程序二中,要求输入大写字母"A"即输出"T",否则输出为"F",经过修改,把大写字母"A"的ASCII 码以八位二进制码映射到LED灯上,程序如下:ORG 0000HLJMP MAINORG 0050HDB 'WELCOME TO ZSC'ORG 0100HMAIN: CLR EAMOV SP,#60H ;给堆栈指针赋初值MOV TMOD,#20H ;设置T1 为方式2MOV TH1,#0FDH ;设置波特率为9600MOV TL1,#0FDHMOV SCON,#40H ;设置串口位方式1MOV PCON,#00HSETB TR1 ;定时器1 开始计数MOV R7,#14HMOV DPTR,#0050HLOOP: MOV A,#00HMOVC A,@A+DPTRMOV SBUF,A ;开始发送JNB TI,$CLR TIINC DPTRDJNZ R7,LOOPSJMP MAINEND3、程序编写与调试步骤与前类同,程序如下所示:ORG 0000HLJMP MAINORG 0023HLJMP ZRS232ORG 0100HMAIN: CLR EAMOV SP,#60H ;给堆栈指针赋初值MOV TMOD,#20H ;设置T1 为方式2MOV TH1,#0FDH ;设置波特率为9600MOV TL1,#0FDHMOV SCON,#50H ;设置串口位方式1,允许接收MOV PCON,#00HSETB ESSETB TR1 ;定时器1 开始计数SETB EASJMP $ZRS232: JB RI,ZRZT: CLR T IAJMP ZENDZR: CLR RIMOV A,SBUFCJNE A,#'A',BBBB:MOV A,#'a'AJMP SENDFSEND: MOV A,#'T'SEND: MOV SBUF,A;开始发送JNB TI,$CLR TIZEND: RETIEND实验心得:通过这个实验,知道了波特率的计算方法,特殊功能寄存器PCON 中的SMOD 位为串行口波特率控制位,当SMOD=1时,使波特率加倍。

微处理器系统课程设计方案报告

微处理器系统课程设计方案报告

“微处理器系统课程设计”设计方案报告电子信息工程一、对本课程设计实现目标的描述1、对拟完成任务的描述:本课程设计旨在制作一个能实现STC系列单片机控制下的温度采集显示控制系统。

2、拟实现的技术指标:1)使用STC12C5A60S2单片机对温度传感器LM335进行温度测量,并在1602液晶显示屏上显示温度;2)将温度值存入片内EEPROM,并要保留之前的十个温度值;3)结合按键扫描并可以通过按键设计来进行温度预置,且在1602显示屏上显示出来;4)通过温度预置,将温度控制在 n度,n=4、7、10;(升温装置:热风枪;降温装置:小风扇。

)3、所应用的基本技术:STC单片机(其中主要是A/D转换和EEPROM 功能)、LM335传感器、LCD1602液晶显示。

二、实现本课程设计的硬件部分1、实现本课程设计需要的主要硬件元器件1)STC12C5A60S2单片机(本系统的控制器)STC12C5A60S2是增强型8051CPU、单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地),2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。

无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。

有EEPROM功能。

工作电压:5.5V- 3.3V。

工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz。

.工作温度范围:-40 - +85℃(工业级) / 0 - 75℃(商业级)。

下图为STC单片机管脚图:2)LCD1602液晶显示屏(本系统的显示部分)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

桂林航天工业学院课程设计报告系(部):电子工程与自动化学院专业班级:xxxx班学生姓名:xxx学号:xxxxxx课程:微处理器与接口技术课程设计设计题目:简易波形发生器完成日期:2016年01月04日指导教师评语:成绩(五级记分制):指导教师(签字):____摘要本系统是基于STC89C52单片机的数字式低频信号发生器。

采用STC89C52单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8位数码管等。

通过按键控制可产生方波、三角波、正弦波等,同时用数码管指示其对应的频率。

其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。

各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。

在科学研究及教学实验中常常需要这几种信号的发生装置。

为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。

本文介绍的是利用STC89C52单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。

文中简要介绍了DAC0832数模转换器的结构原理和使用方法,STC89C52的基础理论,以及与设计电路有关的各种芯片。

文中着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。

信号频率幅度也按要求可调。

本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。

该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。

关键词: STC89C52 DAC0832 LM324 数码管AbstractThe Waveform The system is a digital signal generator based on single chip computer.STC89c52 is used as a control microcontroller core.The system is composed by digital/analog comversion(DAC0832), imply circuit,button and nixie tube.It can generate the square, triangle and sine wave,with nixie tube.The system can be used for a signal soure in the low-frequency signal soure.It is very practical.Various signals are an important part of correspondent area. In this area, sine wave, triangle wave and square wave are common signals. In science research and teaching experiment, we often need the occurrence equipment of these signals. In order to make the experiment and research easier, to develop a suitable, full functional and easily used signalssource is essential.This paper introduces the low frequency sources of different signals that are produced by STC89C52 SCM and DAC0832. Its signal range and frequency can be controlled by requirement. This paper briefly introduces the structure principle and usage of DAC0832, the basic theory of STC89C52 and various chips which relevant to design circuit. this paper emphasized how to use SCM to control the hardware circuit and software program of the signals above which produced by DAC0832. The signal frequency range also can be adjusted by requirement.This signal source design plan concerns on producing different low frequency signals, not only meet the request of experiment in theory and in practice, but also have strong feasibility. The trait of this signal source is: small volume, low price, stable function, easily achievable, and full function.Key words:STC89c52, microcontroller, Infrared sensors, PWM目录摘要 (I)Abstract................................................................................................................... I I 目录.. (III)前言 (1)1 波形发生器概述 (2)1.1波形发生器的发展状况 (2)1.2国内外波形发生器产品比较 (3)2 方案论证与比较 (4)2.1 方案一 (4)2.2 方案二 (4)2.3 方案三 (5)3 硬件原理 (6)3.1 STC89c52单片机的内部结构 (6)3.1.1 内部结构概述 (6)3.1.2 CPU结构 (7)3.1.3 存储器和特殊功能寄存器 (8)3.2 P0-P3口结构 (8)3.3 时钟电路和复位电路 (9)3.3.1时钟电路 (9)3.3.2单片机的复位状态 (9)3.4 DAC0832的引脚及功能 (10)4 软件原理 (12)4.1 主流程图 (12)4.2 三角波仿真图 (12)4.3 方波仿真图 (14)4.4 正弦波仿真图 (15)总结 (17)参考文献 (17)前言波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。

目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。

信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路经之一,不用依靠单片机。

但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。

在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。

而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是致命的弱点。

一旦工作需求功能有增加,则电路复杂程度会大大增加。

1 波形发生器概述在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。

随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。

用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。

1.1波形发生器的发展状况波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。

函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。

在70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。

这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。

同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。

在70 年代后,微处理器的出现,可以利用处理器、A/D/和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。

这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。

90 年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。

HP8770A实际上也只能产生8 中波形,而且价格昂贵。

不久以后,An alogic公司推出了型号为Data-2020的多波形合成器,Lecroy 公司生产的型号为9100 的任意波形发生器等。

到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz 的DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent的产品33220 A能够产生17 种波形,最高频率可达到20M,2005 年的产品N6030A 能够产生高达500MHz 的频率,采样的频率可达 1.25GHz。

由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面:(1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。

波形发生器软件的开发正使波形数据的输入变得更加方便和容易。

相关文档
最新文档