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

更新时间:2023-12-14 07:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

武汉理工大学《单片机原理与应用》课程设计说明书

1 Proteus软件简介

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

特点:支持ARM7,PIC ,AVR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中;

交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等; 强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式; 支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试; 一键“make”特性:一个键完成编译与仿真操作;

内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型; DLL界面为应用提供特定的模式;

14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等;

高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转换;噪声;失真;付立叶;交流、直流和音频曲线;

模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流;

集成PROTEUS PCB设计形成完整的电子设计系统。 Protues 软件与Keil uVision 的结合

对于初次使用Protues 软件的人可能还不知道如何设置,现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上结合,在两个联网机器使用由于篇幅限制不在此讨论):设置

- 1 -

武汉理工大学《单片机原理与应用》课程设计说明书

步骤如下: (1) 把proteus 安装目录下 VDM51.dll

( C:\\ProgramFiles\\LabcenterElectronics\\Proteus6\\Professional\\MODELS)文件复制到 Keil 安装目录的 \\C51\\BIN 目录中;(2) 编辑C51 里tools.ini 文件, 加

入:TDRV1=BIN\\VDM51.DLL(\PROTEUS VSM MONITOR-51 DRIVER\Keil uVision 里设置: project-->options forproject-->debug tab;(4) 选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting,输入IP 地址 或者DNS name);(5) 载入proteus 文件;(6)proteus 里选择DEBUG-->use remote debug monitor;进入KEIL 的project 菜单option for target '工程名'。在DEBUG 选项中右栏上部的下拉菜选中 Proteus VSMMonitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP 地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真.(7)打开KEIL uVision, 按F5 开始仿真.

- 2 -

武汉理工大学《单片机原理与应用》课程设计说明书

2 设计要求

2.1 整体功能要求

利用DAC0832输出正弦波信号(用示波器观察输出波形),初始频率为50Hz,变频采用“+”、“-”键 控制,当按下“+”键是正弦波的频率自动加1输出,当按下“-”时,正弦波频率自动减1输出,实时测量输出信号的频率值,通过数码管动态显示,并分析和实测输出信号的频率范围。

2.2 设计所用芯片简介

2.2.1 DAC转换器介绍

DAC转换器是一种将数字量转换成模拟量的器件,其特点是接收、保持和转换的是

数字信息,不存在随温度和时间的漂移问题,因此电路的抗干扰性能较好。DAC0832是8位分辨率的D/A转换集成芯片,它具有价格低廉、接口简单及转换控制容易等特点。它由8位输入锁存器、8位DAC寄存器、8位DIA转换电路及转换控制电路组成,能和CPU数据总线直接相连,属中速转换器,大约在1us内将一个数字量转换成模拟量输出。

2.2.2 DAC0832 的结构

D0~D7:8位数据输入线,TTL电平,有效时间应大于 90ns(否则锁存器的数 据会出错);

ILE:数据锁存允许控制信号输入线,高电平有效; CS:片选信号输入线(选通数据锁存器),低电平有效;

WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、 CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据 线变换,LE1的负跳变时将输入数据锁存;

XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns) 有效;

WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER 的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而 变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。 IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数;

Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

- 3 -

武汉理工大学《单片机原理与应用》课程设计说明书

Vcc:电源输入端,Vcc的范围为+5V~+15V;

VREF:基准电压输入线,VREF的范围为-10V~+10V; AGND:模拟信号地 DGND:数字信号地

2.2.3 DAC0832 的引脚图和内部结构图

图1.1 DAC0832 的引脚图和内部结构图

2.2.4 DAC0832 的三种工作方式

1.直通方式

直通方式就是使 DAC0832 内部的两个寄存器(输入寄存器和DAC 寄存器) 处于不锁存状态,数据一旦到达输入端DI7~DI0,就直接送入D/A 转换器,被转 换成模拟量。当ILE为高电平,CS 和WR 1﹑WR 2和XFER 端都接数字地,这时 锁存信号LE 1 ﹑LE2 均为高

电平,输入寄存器和DAC 寄存器均处于不锁存状态,即直通方式。 2.单缓冲方式

单缓冲方式就是使两个寄存器中的一个处于缓冲方式,另一个处于锁存方式, 数据只通过一级缓冲器送入D/A 转换器。通常的做法是将和XFER 均接地,使 DAC 寄存器处于直通方式,而把ILE接高电平,接端口地址译码信号,WR 1接

- 4 -

武汉理工大学《单片机原理与应用》课程设计说明书

CPU系统总线的IOW 信号,使输入寄存器处于锁存方式。单缓冲方式只需执行 一次写操作即可完成D/A 转换。一般不需要多个模拟量同时输出时,可采用单 缓冲方式。 3.双缓冲方式

双缓冲方式就是使两个寄存器均处于锁存方式,数据要经过两级锁存(即两级 缓冲)后再送入D/A 转换器,这就是说,要执行两次写操作才能完成一次D/A 转 换。只要将ILE 接高电平,WR 1和WR 2接CPU的IOW ,CS 和XFER 分别接两 个不同的I/O 地址译码信号即可。

图中的 Rfb 是内部电阻,是为外部运算放大器提供的反馈电阻,用以提供适当 的输出电压,Vref 端是由外电路为芯片提供的参考电源,电压范围在-10V~ +10V。另外,DAC0832 为电流输出型DAC,使用时需外接运算放大器,芯片 的电源电压最好工作在+15V。

2.2.5 8952单片机

1. 8952单片机的引脚图

图1.2单片机的引脚图

- 5 -

武汉理工大学《单片机原理与应用》课程设计说明书

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口, 管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

- 6 -

武汉理工大学《单片机原理与应用》课程设计说明书

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE

才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两 /PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3. 系统电路设计与分析

3.1基本原理

本次实验采用DC0832芯片的但缓冲方式,低频信号发生器的软件的编制主要采用的是查表法。对于正弦信号,其每一个点的值的确定方法是:选取一个正弦周期,将一个周期分为255段,取255个点,让其最大值为#FFH,因为所用的0832D/A转换为8位的,这样可以充分保证其转换的精度。正弦波幅值的计算公式如下:

A=100*sin(I*π/255) I=1…255

正弦波的幅度主要采用由主CPU控制D/A转换的参考电压来控制,正弦波频率的变化由改变输出点之间的延时来实现,根据正弦波的周期性和对称性来编制汇编程序,可以很方

便地得到幅度和频率都受控的低频信号。 采用定时方式中断的方式控制正弦波抽样数值的输出,由定时计数器的装入值决定信号的频率,由于定时计数器采用计数方式1,16位计数初值。单片机采用12M晶振,定时范围0~65536us(即最大为65.536ms)

- 7 -

武汉理工大学《单片机原理与应用》课程设计说明书

要设计初始频率为50Hz 定时时间:20ms/255=78us 计数值:78

由于采用计数器方式一,每次需软件装入初值计数器装入初值,理论计算值减去装入初值指令的耗时,通过软件调试得到的装入初值为理论计算值减去9所以 初值:TH1:FFH ;TL1:BBH 即(78-9)的值取补

针对“+,-”键采用外部中断控制,实现频率值的加减处理,并在处理后调用子程序计算加减后的频率的计数初值

计算公式:100000/(f*255)-9的值取补

3.2 性能指标分析

此次设计频率以1Hz为步进,通过“+,-”按键来改变,测量频率的误差范围小于1Hz,在设计中将频率值用一个八位寄存器存储,频率改变的范围在0~255之间,由于定时中断服务程序的执行需要一定时间,要求在服务程序中断到来前跳出中断服务程序,以便进入下次中断,软件调试得出最高输出频率为148Hz。

可输出的频率范围:0~148Hz,该频率在16位计数器定时范围内。

输出电压:由公式 Vout=-(Iout1×Rfb)=-Vref(DIGTAL INPUT)10/256 可以得到输出电压与参考电压Vref有关,由于在本设计中Vref接+5v,由第一级放大器输出的电压范围:-0~-5v.

3.3 资源分配表

在设计中只使用到一个外部设备DAC0832 P0口作DAC0832的数据总线

CS与XFER接到P2.0,WR1,WR2共同接到WR,0832的访问地址为:FEFFH 系统采用3个中断:IT0,IT1,ET1,优先级IT0>IT1>ET1 其中定时器1采用方式一

P1口作数码管显示输出,实时输出当前频率值 R0—R7用来处理4字节除以两字节的除法计算 同时使用到单片机内部的30H—33H,50H—53H空间

- 8 -

武汉理工大学《单片机原理与应用》课程设计说明书

3.4 正弦波产生电路设计图

图1.3 正弦波产生电路图

- 9 -

武汉理工大学《单片机原理与应用》课程设计说明书

4 程序流程图

开始计数器装入产生50HZ的计数初值设置计数器1的工作方式、IT0,IT1的终端方式并开启中断将当前频率值送A,并转换成BCD码,将BCD码送P1口通过BCD码,驱动电路输出到数码管当前频率值有无中断Y外部中断0频率值加一,计算加一后的计数初值外部中断1频率值减一,计算减一后频率计数初值N定时中断重装计数初值,依次输出正弦波的抽样值启动DA转换返回中断返回中断返回中断

图1.4 程序流程图

- 10 -

武汉理工大学《单片机原理与应用》课程设计说明书

5 程序设计

5.1源程序

ORG 0000H AJMP MAIN

ORG 0003H ;外部中断0入口 AJMP WB0

ORG 0013H ;外部中断1入口 AJMP WB1

ORG 001BH ;定时器1中断入口 AJMP IV1 ORG 0030H

MAIN: MOV TMOD,#10H ;T1工作于定时方式1

MOV R5, #0FFH MOV R4, #0BBH MOV TH1,R5

MOV TL1,R4 ; 定时0.02/256s MOV 50H,#50 MOV 51H,#00H SETB IT0 SETB IT1 SETB EX0 SETB EX1 SETB TR1 SETB EA SETB ET1

LOOP:

MOV A ,50H ;当前频率值显示于数码管 CALL HEX2BCD setb p3.0 clr p3.1

MOV P1,52H call delay setb p3.1 clr p3.0 mov p1,53H call delay

SJMP LOOP;等待中断

DELAY:

MOV R6,#10H

- 11 -

LOP: MOV R7,#14H DL1: NOP DJNZ R7,DL1 DJNZ R6,LOP RET

HEX2BCD:

MOV B, #100 DIV AB

MOV 53H, A ;存百位数 MOV A, #10 XCH A, B DIV AB

SWAP A ;十位数换到高四位 ADD A, B ;加上个位数 MOV 52H, A ;保存 RET

WB0:INC 50H MOV A,50H MOV B,#0FFH MUL AB MOV R3,B MOV R2,A MOV R4,#40H MOV R5,#42H MOV R6,#0FH MOV R7,#00H LCALL JSSZ CLR C

MOV A,#09H SUBB A,R4 MOV R4,A MOV A,#00H SUBB A,R5 MOV R5,A CLR C

MOV A,#00H ADD A,R4 MOV R4,A

武汉理工大学《单片机原理与应用》课程设计说明书

MOV A,#00H ADDC A,R5 MOV R5,A CLR C

MOV TH1,R5 MOV TL1,R4 RETI

WB1:DEC 50H MOV A,50H MOV B,#0FFH MUL AB MOV R2,A MOV R3,B MOV R4,#40H MOV R5,#42H MOV R6,#0FH MOV R7,#00H LCALL JSSZ CLR C

MOV A,#00H SUBB A,R4 MOV R4,A MOV A,#00H SUBB A,R5 MOV R5,A CLR C

MOV A,#09H ADD A,R4 MOV R4,A MOV A,#00H ADDC A,R5 MOV R5,A CLR C

MOV TH1,R5 MOV TL1,R4 RETI

IV1:MOV TH1,R5 MOV TL1,R4 PUSH ACC INC 51H

MOV DPTR,#TAB MOV A,51H

MOVC A,@A+DPTR MOV DPTR,#0FEFFH

MOVX @DPTR,A; NOP POP ACC RETI

JSSZ: ;四字节除二字节除法程序 CLR C

MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0

_DIV_LOOP: CLR C MOV A,R4 SUBB A,R2 MOV R4,A

MOV A,R5 SUBB A,R3 MOV R5,A

MOV A,R6 SUBB A,#0 MOV R6,A

MOV A,R7 SUBB A,#0 MOV R7,A

JC _DIV_END _INC_SHANG: CLR C

MOV A,30H ADDC A,#1 MOV 30H,A MOV A,31H ADDC A,#0 MOV 31H,A MOV A,32H ADDC A,#0 MOV 32H,A MOV A,33H ADDC A,#0 MOV 33H,A

LJMP _DIV_LOOP

- 12 -

武汉理工大学《单片机原理与应用》课程设计说明书

_DIV_END: MOV R1,A CLR C MOV A,R2 MOV R4,30H ADDC A,R4 MOV R5,31H MOV R0,A MOV R6,32H MOV A,R3 MOV R7,33H ADDC A,R5 RET

TAB:DB

80h,83h,86h,89h,8dh,90h,93h,96h,99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0aeh,0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5h DB

0c7h,0cah,0cch,0cfh,0d1h,0d4h,0d6h,0d8h,0dah,0ddh,0dfh,0e1h,0e3h,0e5h,0e7h,0e9h,0eah,0ech,0eeh,0efh,0f1h,0f2h,0f4h,0f5h DB

0f6h,0f7h,0f8h,0f9h,0fah,0fbh,0fch,0fdh,0fdh,0feh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0feh,0fdh DB

0fdh,0fch,0fbh,0fah,0f9h,0f8h,0f7h,0f6h,0f5h,0f4h,0f2h,0f1h,0efh,0eeh,0ech,0eah,0e9h,0e7h,0e5h,0e3h,0e1h,0deh,0ddh,0dah DB

0d8h,0d6h,0d4h,0d1h,0cfh,0cch,0cah,0c7h,0c5h,0c2h,0bfh,0bch,0bah,0b7h,0b4h,0b1h,0aeh,0abh,0a8h,0a5h,0a2h,9fh,9ch,99h DB

96h,93h,90h,8dh,89h,86h,83h,80h,80h,7ch,79h,76h,72h,6fh,6ch,69h,66h,63h,60h,5dh,5ah,57h,55h,51h DB

4eh,4ch,48h,45h,43h,40h,3dh,3ah,38h,35h,33h,30h,2eh,2bh,29h,27h,25h,22h,20h,1eh,1ch,1ah,18h,16h DB

15h,13h,11h,10h,0eh,0dh,0bh,0ah,09h,08h,07h,06h,05h,04h,03h,02h,02h,01h,00h,00h,00h,00h,00h,00h DB

00h,00h,00h,00h,00h,00h,01h,02h,02h,03h,04h,05h,06h,07h,08h,09h,0ah,0bh,0dh,0eh,10h,11h,13h,15h DB

16h,18h,1ah,1ch,1eh,20h,22h,25h,27h,29h,2bh,2eh,30h,33h,35h,38h,3ah,3dh,40h,43h,45h,48h,4ch,4eh

DB 51h,55h,57h,5ah,5dh,60h,63h,66h,69h,6ch,6fh,72h,76h,79h,7ch,80h END

- 13 -

武汉理工大学《单片机原理与应用》课程设计说明书

5.2 实现功能程序说明

1.数码管显示

主程序不停循环执行将当前的频率值送数码管显示,通过P1口送数据,数据通过转换为BCD码,将该BCD码送BCD硬件译码电路显示 2. 正弦波信号产生

由定时中断,在中断服务中,由MOV TL0,R4;MOV TH0,R5来装入初值,通过 INC 51H,使得一个周期的正弦波的256个抽样值依次输出,由MOVX @DPTR,A,DPTR中存放DC0832的地址0FEFFH。正弦波的周期就取决于每个状态的延时时间。当增加定时器的定时初值时即延长了定时时间,即降低了正弦波的频率。反之,当减少定时器的定时初值时,即增加了了正弦波的频率。

3.\+,-\按键实现频率以1Hz为步进连续变化的实现

加减按键分别由外部的两的中断控制,在中断服务程序中响应频率的加减一变化,同时在中断服务程序中调用多字节除法指令实现改变频率后的需转入的计数初值 4.产生的正弦波测量

将正弦波通过555转化为方波,使用proteus中自带的虚拟频率计进行频率测量。注意由于实际中Vref的参考电压选取正值,有第一级放大器输出电压为负极性值,在设计中可以通过一极性反相电路将负电压变换为正电压,以便进行频率的测量

- 14 -

武汉理工大学《单片机原理与应用》课程设计说明书

6 整体电路图与仿真图

6.1整机电路图

图1.5 整机路图

- 15 -

武汉理工大学《单片机原理与应用》课程设计说明书

6.2 仿真结果

1.输出3Hz正弦波仿真结果图如下图1.6

图1.6 输出3Hz正弦波的仿真图

2.输出50Hz正弦波仿真如图1.7

图1.7 输出50Hz正弦波的仿真图

- 16 -

武汉理工大学《单片机原理与应用》课程设计说明书

3.输出95Hz正弦波仿真图如图1.8

图1.8 输出95Hz正弦波的仿真图

4.输出145Hz正弦波仿真图如图1.9

图1.9 输出145Hz正弦波的仿真图

- 17 -

武汉理工大学《单片机原理与应用》课程设计说明书

7 课程设计心得

本次课程设计我的任务是利用51单片机和PROTUES软件产生频率可控的正弦波发生器。初看这个题目觉得很简单,初步的程序是很快就编译成功的,但是在精度和准确度中都存在很大的问题,我们设置的是采样时间每次按键自增1,仿真结果误差很小,并且在示波器上能观察到平滑的很是美观的正弦波。就在我们欣喜之余,才发现我们理解错了题目的意思,我们需要显示的是输出波形的实际值而不是我们理论值,当下很是有点泄气,但是还是苦苦的想办法,于是乎,将正弦波转换成方波成了我们问题的关键,我们搜集资料,想到了施密特触发器或者与非门电路,我们做了用与非门构成的整形电路,实际的效果非常的差,频率值很是不稳定,且显示的数据不是误差,已经升级为错误的乱码了。后来我们采用施密特触发器,可是在一个单片机上定两个时间,计数,显示,程序没有成功。我们检查了又检查,觉得逻辑上很有道理,程序也没有报错就是下载了之后数码管纹丝不动。在调试很久之后最终,仿真成功了,误差也控制的很好。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名电信专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

- 18 -

武汉理工大学《单片机原理与应用》课程设计说明书

8 参考文献

[1] 姚燕南,薛钧义.微型计算机原理与接口技术.北京:高等教育出版社.2004

[2] 李群芳,张士军,黄建.单片微型计算机与接口技术(第2版).北京:电子工业出版 社.2005

[3] 徐维祥,刘旭敏.单片微型计算机原理及应用.大连:大连理工大学出版社.2006 [4] 唐俊翟等 单片机原理与应用 冶金工业出版社, 2003.9 [5] 刘瑞新等 单片机原理及应用教程 机械工业出版社, 2003.7 [6] 吴国经等 单片机应用技术 中国电力出版社, 2004.1

- 19 -

本文来源:https://www.bwwdw.com/article/a745.html

Top