文档库 最新最全的文档下载
当前位置:文档库 › 天大自动化智能课程设计报告

天大自动化智能课程设计报告

天大自动化智能课程设计报告
天大自动化智能课程设计报告

智能装置课程设计

题目:智能电机测速仪

姓名:晁平复

班级:自动化4班

学号:3008203263

同组人:王平

一、课程设计目的:

a)深入了解PIC16F877单片机的工作原理,熟练掌握汇编语言程序设计方法,熟练

使用MPLAB-ICD仿真器及MPLAB-IDE仿真调试软件。

b)通过该课程设计使学生初步掌握以单片机为核心的智能装置设计的简单原则、步骤

和方法。

c)熟悉智能装置设计中有关的硬件设计调试,如人机界面等。

d)熟悉智能装置设计中相关软件的设计、编程和调试。

二、课程设计内容:

a)以16F877单片机为核心,结合给出的其他原器件和智能装置实验系统原有的内容

设计智能电机测速显示仪硬件电路。

b)利用试验板提供的光电耦合器采集电机速度。

c)将采集的速度值通过液晶显示器显示出来。

d)将转速内容上传至计算机界面。

e)利用SPI总线与D/A转换器,操控电机进行调速,使电机能够达到范围内的任何

要求转速。

三、课程设计要求:

a)根据实验指导书的设计内容及所给出的元件,设计智能电机测速显示仪硬件原理

图。

b)按照设计好的硬件原理图在实验板上用导线搭建硬件电路。

c)用万用表检查硬件电路连接是否正确,检查无误后上电并编制简单的测试程序分

步调试各部分功能。

d)在各部分功能实现后,编制完整的智能电机速度测试系统软件与调速软件,并进行

软硬件联调,直到达到设计要求。

e)按照设计内容要求测试仪表误差并做分析,给出仪表精度,完成后由教师进行验收

检查。

四、课程设计设备

a)仪器

i.MPLAB-ICD模块与仿真头

ii.智能装置实验系统

iii.安装了MPLAB-IDE开发软件的计算机

iv.数字万用表

v.导线若干

b)元器件

i.PIC16F877芯片(6MHz晶振)

ii.LCD显示屏(双行液晶单色显示,可显示汉字与字符)

iii.测速电机(转速范围约在0~2500转,自带红外线光电开关测速,测速结果以脉冲形式从电机的1口输出,电机转速由dianji1与dianji2两个端口的电位差

决定)

iv.RS-232串行总线接口(支持异步传输,波特率自定,11与12两个端口分别为发送和接收数据口)

v.MAX515芯片(12位D/A转换器,输出电压对应0~5V)

vi.可调电位器(用于纯测速程序的电机手动调速,调速电压0~5V)

五、课程设计硬件原理图:

六、课程设计硬件设计思路:

电机测速与调速,首先测速部分需要对电机测速脉冲引入PIC芯片,并进行定时计数,测定在一段时间内电机转了多少圈,以此推算电机的转速。固需要用到定时器与计数器,其中使用timer0做计数器,timer1做定时器,因此电机的1端引脚需要接RA4。此外转速计算结束后需要显示到LCD屏以及通过SCI通讯传送至电脑,其中LCD屏控制需要三条线,由于不计划使用SPI总线传输(后面调速会占用)而采用手动时钟完成,所以使用任意三条I/O端口线即可,但SCI需要固定的RC6与RC7,所以RC6需要接RS-232通讯模块的11端口,RC7接12端口,LCD则选用RD0~RD2控制,其中RD0接CS端,RD1接CLK,RD2接SID。最后,根据原理图要求,电机7端口接dianji1端口,dianji2端口接地,此外dianji1端口还需要接上电位器,以实现与dianji2端口存在电位差且可调,再将所有元件的电源和地接上,至此电机测速部分的接线完成。

电机调速部分的电路与测速部分的差别在于电机的接线,由于之前使用电位器手动调速,现在需要改用MAX515输出的电压来调速,所以拔掉电位器,电机的dianji1端口接MAX515的vout(即7端口)。MAX515的数据来源是PIC芯片,此处我使用SPI总线传输方式来对MAX515进行数据传送,因此MAX515的两个时钟、数据输入端(SCLK、DIN)需要接SPI总线传输的特殊端口RC3与RC5,其中RC3接SCLK(即2端口),RC5接DIN (即1端口),CS片选端则接任意I/O端口即可,我选择了RC0接CS(即3端口),再将515的芯片电源和地接好,至此调速系统的接线完成。

七、调试步骤以及各步骤调试过程中出现的问题与解决方法:

a)计数与定时调试:最初计数器计数结果一直为0,我将电机的脉冲输出端1端口接

在LED灯上,先确定脉冲输出正常,然后检测控制字是否有错误。最后确定是控

制字写错了。

b)LCD屏显调试:最初接线完成之后没有显示,先确定了一遍接线没有问题,由于

是手写时钟输入,所以不涉及端口使用错误的状况,因此检查了一遍程序编写时是

否有端口写错的情况。核对之后还不行,于是我尝试着查看是否有一些指令正确的

写入了LCD屏,尝试方法就是将显示状态开/关的控制字设置成显示光标,并且光

标闪烁,如果这句控制字能够成功写入,屏幕上将有一个光标闪烁,则至少时钟书

写程序是正确的,不能正常显示应该是数据书写或者是指令书写顺序有误。但实验

证明单纯设置光标也不能正常显示,则手写时钟部分存在问题,经过询问老师最后

找到问题症结:1、片选信号应当先置零,然后置一,写完指令后重新置零才算成

功写入,之前一直保持高电平没有电平变化所以写入失败。2、每写完一条指令后

需要加一段短延时,大致在20ms左右,这样才能保证屏幕完成指令接收,并保证

下一条指令可以正确写入。更改程序之后问题解决。

c)RS-232串口通信调试:最初遇到的问题是电脑接收的信息与发送端信息完全不一

致,但如果发送端保持发送的数据是稳定的,接收端接收的数据就也是稳定的,但

接收地数据与发送数据差距很大,且没有直接的数学对应关系。于是考虑应该是发

送方式导致的问题,检查发现错误使用了同步传输方式(实验板的RS-232接口只

允许异步方式)于是更改为异步,将波特率设置在9600,接收恢复正常。但为什

么同步方式可以成功接收数据,而且接收的数据还是稳定的,到最后也没有搞明白,留着问题以后等知识丰富了再解决吧!

d)测速精度测试与调试:首先要说明一点,由于课程设计要求有测速与调速两部分,

但由于两部分需要的测速精度不尽相同,调速部分为了追求调速的效率,需要在较

短的时间内完成调速,所以调速过程中每一步测速都需要时间尽可能短,但时间短

的代价就是测速精度大大下降(此部分原理会在误差分析部分进行解释),但如果

抛开调速,而单纯测速的话,便可以通过延长测速时间来达到更高的测速精度。鉴

于如下原因,本人将测速与调速分成两个程序书写,调速程序中包含课程设计的全

部环节(包括测速),可以作为最终的课设成果上交,但测速时间为1.2s,测速精

度较低。另一个为单独的测速程序,包含除调速环节外其他的程序部分,测速时间

为6s,测速精度大幅提升,作为补充。此处只介绍测速程序的精度测试与调节,

调速程序的测速部分相近,不予介绍。测速精度测试运用到了万用表的频率功能,

将万用表的两个表笔分别放置在电机的1端口与地,测试电机测速的脉冲频率,考

虑到电机有两个扇叶,并且转速单位为转/分钟,因此万用表的显示频率需要除以2

再乘以60,得到的即为转速结果,与屏显的转速结果进行比对。测速程序使用的

是6s测速,虽然为两个扇叶的累计结果,但在设置timer0计数器时使用了内置的

1:2分频器,因此得到的转速数值便为6s的真实转速,将这个转速乘以10便为一

分钟的转速,显示在屏幕上。因此测速程序的转速误差应该在±10转/分钟。经过

测试,满足误差范围要求,测试过程一次成功,没遇到什么困难,测试通过。

e)调速部分调试:截止到上一阶段,必选内容(测速部分)已全部调试完成,在此基

础上完成调速的调试可以避免前一段出现问题干扰调速调试过程。由于在前面的测

速阶段已经完成了用电位器调节电机的转速,所以在使用MAX515调速时主要调试

重点就在于D/A转换器的使用和SPI通信上,只要D/A能够正常工作,提供给电机

电压,电机一定可以正常运转。而D/A转换器自身不存在什么问题,其信号输入依

靠的是PIC芯片的SPI通信,因此是否能够正常运行主要看SPI通信是否能够成功

完成对D/A转换器的信息录入。调试过程中最初发生的问题是无论SPI通信写入

的数值是多少,电机都会维持在800转/分。由于不是0转/分,所以起初以为D/A

已经成功的输出了一个电压,说明程序里第一次给定的数值已经成功的通过SPI

通信传送给D/A,并且成功地进行了转换并输出,问题出在第二次第三次的SPI

通信,也就是说一旦程序进行了一次循环,就再也无法正常使用SPI通信功能了。

然而在这样的思路下经过了一段时间的更改和调试,问题仍然没有解决,调试工作

也一度陷入困境,这里要感谢叶浩然、张瑞小组,叶浩然在调试时也遇到了类似的

问题,无论他往D/A转换器里写入什么数值,转速都是800转/分,这个提醒把我

从之前的思维定势里拉了出来,我尝试着往D/A里写入00H,发现转速还是800

转/分,说明D/A驱动电机时,电机的最低转速就是800转/分,到不了0,因此我

的程序SPI通信部分其实是存在问题的。由于MAX515是一个12位D/A转换器,而SPI每次只能发送8位数据,因此我此前的操作方式是连续往SPI通信寄存器里

写入两组8位数据并顺序发送,以满足12位的需求,但这样的发送方式经过实验

证明不成功,因此我改为使用SPI通信功能发送高8位数据,然后关闭SPI通信,

使用手写时钟继续完成低四位的书写,从而完成12位的传送要求。程序更改之后

D/A正常运转,整个系统顺利运行,调试完成。

八、软件设计流程图:

a)软件设计流程框图(带调速部分的总程序框图):

b)程序设计思路概述:

i.测速程序:测速程序为了追求测速精度,因此需要延长测速时间,由于前期通

过测试了解到电机转速范围在0~2500转之间,因此选择了6秒作为一个定时

周期,这样6秒的转数乘以10便是转速,具体操作起来就是用测速得到的结

果转换成10进制数之后,输出时在结尾加一个0即可。选择6秒的优点是只

需要进行8位二进制转十进制,不用16位的转换,程序简单不少。而6秒的

转数在0~250之间,没有超出timer0计数器计数范围。因此只需要将timer0

置零,timer1定时6秒(24*250ms),计数结果进行数制转换后按位输出(最

后一位加0)至LCD屏以及通信接口即可。

ii.调速程序:调速程序需要在精度可以接受的条件下,尽可能的缩短调速时间,而且调速方法的不同直接决定调速时间长短。我所采用的是闭环调速,根据每

次反馈的速度与要求速度的偏差情况改变给定的电压数字量,最终使其满足转

速要求。即可以在不了解电机机械特性曲线以及D/A误差的情况下,实现最

终速度的吻合。D/A转换器的数字量输入范围为000H~FFFH,对应0~5V,由

于12位数据的高八位我使用的是SPI通信传输,低四位为手写时钟,不易更

改,因此为了程序简便,默认设置低四位数据为0,只通过调节高8位数据来

更改转速,这样产生的误差可以接受,但程序能简便许多,这样一来,调速范

围就为00H~FFH了。在这样的条件下,我设计了一种可以在7步之内完成调

速的调速方法,具体思路为向D/A传送一个初始的电压给定:80H(00H~FFH

的最中间的值),然后设置一个电压变动变量,初始值为40H,第一次测速结

果与要求速度进行比较,若高于要求速度,则用电压给定减去电压变动变量(若

低于则相加),得到的结果成为新的电压给定输出给D/A转换器,随后将电压

变动变量除以二(循环右移一位),再进行新一轮测速,比较,运算,输出,

除二,这样操作7个循环之后(电压变动变量从40H——20H——10H——08H

——04H——02H——01H最后变为00H)转速将一定可以调节到要求的转数

(忽略测速误差)。具体原理可以用一个例子说明:假设系统要求转速为1600

转,而要想达到1600转需要PIC芯片给D/A转换器的电压给定为73H,那么

此种方法的调速过程则为80H-40H+20H+10H+08H-04H-02H+01H=73H,即7

步之后电压给定可以调节到73H,最终达到1600转。使用这种方法是可以遍

历00H~FFH中间所有的数值的,并且最多只需要7步就可达到,在这样的条

件下,我选择了1.2s定时测速,加上程序运行以及其他延时之下,大致调速

时间能在20s之内完成。另一方面,使用1.2s定时的误差是±50转/分,大大

超过了测速程序的误差,这也是为什么我要将两个程序分开来写的原因。

iii.程序特点说明:本程序主要特点是没有使用中断功能,所有需要判断的地方都选择使用不同长短的延时程序来完成(定时结束延时,数据发送延时),这样

的优点是可以节省大量系统资源,减少程序逻辑错误的几率,简化程序。但同

样也存在着风险,一旦某一个延时环节设置的延时不好或是出现无法用延时规

避的情况,整个程序的调试将进入死区,不易找到错误,也不易修改。但由于

此程序比较简单,硬件稳定性较高,实验证明延时完全满足要求。

九、软件程序清单:

LIST P=16F877

#INCLUDE

SPTEM EQU 20H

BINTEM EQU 21H

LED_TEM EQU 22H

GENE1 EQU 23H

GENE2 EQU 24H

LEH EQU 25H

LEM EQU 26H

LEL EQU 27H

COUNT1 EQU 28H

COUNT2 EQU 29H

COUNT3 EQU 30H

SPEED EQU 31H

VOLT EQU 32H

GENE3 EQU 33H

GENE4 EQU 34H

GENE5 EQU 35H

SPEEDTEM EQU 36H

ORDSPE EQU D'12' ;调速要求最终转速(以百转/秒为单位)

ORG 0040H

START ;主程序

BSF STA TUS,RP0

BCF STA TUS,RP1

MOVLW 10H ;RA4输入,其他不用。

MOVWF TRISA

MOVLW 80H ;RC0、RC3、RC5输出。

MOVWF TRISC

MOVLW 00H

MOVWF TRISD ;RD0、RD1、RD2输出。

MOVLW 40H

MOVWF SSPSTA T

MOVLW 20H

MOVWF OPTION_REG

MOVLW 00H

MOVWF INTCON ;Timer0作计数器,初始化

MOVLW 04H

MOVWF TXSTA

MOVLW 26H

MOVWF SPBRG ;RS-232串口通信,异步模式,波特率9600 BCF STA TUS,RP0

BSF RCSTA,SPEN

BSF PORTC,0

MOVLW 31H

MOVWF T1CON ;Timer1作定时器,定时1.2s,初始化

MOVLW 30H

MOVWF SSPCON ;SPI总线通信初始化

MOVLW 80H

MOVWF VOLT ;初始电机转速给定值(16进制数字量)

BCF PORTC,0

MOVLW 80H

MOVWF SSPBUF ;将给定值传送给D/A转换器

CALL DELAY1

CALL LOWFOUR ;传送低四位,默认均为0

CALL DELAY1

MOVLW 40H

MOVWF COUNT3 ;电压变动值变量

MOVLW ORDSPE

MOVWF SPEED

BCF STA TUS,C

RLF SPEED,1

BCF STA TUS,C ;将调速要求转速放入speed寄存器

CALL DELAY3

LOOP

MOVLW 00H

MOVWF TMR0 ;开始计数

CALL DELAY2 ;1.2s定时

MOVF TMR0,0

MOVWF SPTEM

MOVWF SPEEDTEM ;计数结果放入sptem和speedtem中分别做2-10进制转换和速度比较

BCF STA TUS,C

RRF SPTEM,1

CALL BINTOBCD ;2-10进制转换子程序

MOVLW 30H

ADDWF LEH,1 ;十进制结果百位加三十变为ASCII码(在调速中百位必为0,用不上)

MOVLW 0FH

ANDWF BINTEM,0

ADDLW 30H

MOVWF LEL ;十进制结果个位加三十变为ASCII码

MOVLW 0F0H

ANDWF BINTEM,0

ADDLW 03H

MOVWF LEM

SWAPF LEM,1 ;十进制结果十位加三十变为ASCII码

SCITX ;RS-232串口通信部分

MOVF LEH,0

MOVWF TXREG ;将发送内容放入txreg寄存器等待发送

BSF STA TUS,RP0

BSF TXSTA,TXEN ;使能发送功能

BCF STA TUS,RP0

CALL DELAY1 ;调用小延时使其能在下一步操作前完成上一步发送(所有步骤下同)

MOVF LEM,0

MOVWF TXREG

BSF STA TUS,RP0

BSF TXSTA,TXEN

BCF STA TUS,RP0

CALL DELAY1

MOVF LEL,0

MOVWF TXREG

BSF STA TUS,RP0

BSF TXSTA,TXEN

BCF STA TUS,RP0

CALL DELAY1

MOVLW 30H

MOVWF TXREG

BSF STA TUS,RP0

BSF TXSTA,TXEN

BCF STA TUS,RP0

CALL DELAY1

LEDOUT ;LCD屏显示部分

MOVLW 00H

MOVWF PORTD ;准备传输

MOVLW 01H

MOVWF LED_TEM ;清除显示

CALL LEDORD

MOVLW 20H ;功能设定

MOVWF LED_TEM

CALL LEDORD

MOVLW 02H ;地址归位

MOVWF LED_TEM

CALL LEDORD

MOVLW 06H ;进入点设定

MOVWF LED_TEM

CALL LEDORD

MOVLW 0CH ;显示状态开,无光标

MOVWF LED_TEM

CALL LEDORD

MOVLW 01H ;清除显示

MOVWF LED_TEM

CALL LEDORD

MOVLW 80H ;DDRAM地址复位至80H

MOVWF LED_TEM

CALL LEDORD

MOVLW 0CBH

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0D9H ;速

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0B6H

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0C8H ;度

MOVWF LED_TEM

CALL LEDDA T

MOVLW 3AH ;:

MOVWF LED_TEM

CALL LEDDA T

MOVLW 90H ;DDRAM地址置90H MOVWF LED_TEM

CALL LEDORD

MOVF LEM,0

MOVWF LED_TEM

CALL LEDDA T

MOVF LEL,0 ;转速千位与百位MOVWF LED_TEM

CALL LEDDA T

MOVLW 30H ;0

MOVWF LED_TEM

CALL LEDDA T

MOVLW 30H ;0

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0D7H

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0AAH ;转

MOVWF LED_TEM

CALL LEDDA T

MOVLW 2FH ;/

MOVWF LED_TEM

CALL LEDDA T

MOVLW 20H ;空格

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0B7H

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0D6H ;分

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0D6H

MOVWF LED_TEM

CALL LEDDA T

MOVLW 0D3H ;钟

MOVWF LED_TEM

CALL LEDDA T

ADJEND ;电压比较与运算部分

BSF STA TUS,C

MOVF SPEED,0

SUBWF SPEEDTEM,0 ;用测得转速与给定转速比较

BTFSC STA TUS,C

GOTO MI

MOVF COUNT3,0 ;小于给定转速,输送到D/A转换器的给定volt就加上电压变动量count3

ADDWF VOLT,1

GOTO SPIEND

MI ;大于给定转速,输送到D/A转换器的给定volt就减去电压变动量count3

MOVF COUNT3,0

SUBWF VOLT,1

SPIEND ;程序结束段循环判定部分

BSF PORTC,0

BCF PORTC,0

MOVF VOLT,0

MOVWF SSPBUF ;将新的电压给定值发送给D/A转换器

CALL DELAY1

CALL LOWFOUR ;低四位发送

CALL DELAY1

CALL DELAY3

BCF STA TUS,C

RRF COUNT3,1

BSF STA TUS,C ;电压变动量原值除二

MOVLW 01H

SUBWF COUNT3,0

BTFSC STA TUS,C ;判定电压变动量是否已为0,为0则程序结束,否则继续循环程序

GOTO LOOP

GOTO PROEND

;****************************************************************************** ;子程序名称:LEDORD

;入口参数:LED_TEM

;出口参数:无

;子程序任务:通过手写时钟,按照LCD屏时序图逻辑,将LED_TEM中的内容以写指令方式写入LCD中。

;****************************************************************************** LEDORD

BSF PORTD,0

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1 ;写指令

BTFSC LED_TEM,7 ;判断LED_TEM的第8位是否为0,为0则发送0,否则发送1,下同

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,6

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,5

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,4

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1 ;高四位写入

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BTFSC LED_TEM,3

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,2

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,1

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,0

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1 ;低四位写入

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BCF PORTD,0

CALL DELAY1 ;调用小延时

RETURN

;******************************************************************************

;子程序名称:LEDDA T

;入口参数:LED_TEM

;出口参数:无

;子程序任务:通过手写时钟,按照LCD屏时序图逻辑,将LED_TEM中的内容以写数据方式写入LCD中。

;****************************************************************************** LEDDA T

BSF PORTD,0

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1 ;写数据

BTFSC LED_TEM,7

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,6

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,5

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,4

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1 ;高四位写入

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BTFSC LED_TEM,3

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,2

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,1

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1

BCF PORTD,2

BTFSC LED_TEM,0

BSF PORTD,2

BSF PORTD,1

BCF PORTD,1 ;低四位写入

BCF PORTD,2

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BSF PORTD,1

BCF PORTD,1

BCF PORTD,0

CALL DELAY1 ;调用小延时

RETURN

;******************************************************************************

;子程序名称:BINTOBCD

;入口参数:SPTEM,BINTEM(作为临时寄存器)

;出口参数:LEH,LEM,LEL

;子程序任务:将SPTEM中的8位二进制数,通过移位加三判断法,转化成三位十进制数,分别放入LEH、LEM、LEL中

;****************************************************************************** BINTOBCD

CLRF LEH

CLRF BINTEM

MOVLW 07H

MOVWF COUNT2

BLOOP1

RLF SPTEM,1

BTFSC STA TUS,C

BSF BINTEM,0

BTFSS STA TUS,C

BCF BINTEM,0

MOVLW 03H

ADDWF BINTEM,1

BTFSS BINTEM,3

SUBWF BINTEM,1

MOVLW 30H

ADDWF BINTEM,1

BTFSS BINTEM,7

SUBWF BINTEM,1

RLF LEH,1

BCF STA TUS,C

RLF BINTEM,1

BTFSC STA TUS,C

BSF LEH,0

BTFSS STA TUS,C

BCF LEH,0

DECFSZ COUNT2,1

GOTO BLOOP1

RLF SPTEM,1

BTFSC STA TUS,C

BSF BINTEM,0

BTFSS STA TUS,C

BCF BINTEM,0

RETURN

;****************************************************************************** ;子程序名称:LOWFOUR

;入口参数:无

;出口参数:无

;子程序任务:用RC0、RC3、RC5手写时钟,按照SPI时钟逻辑发送四位0,完成12位D/A 转换器的低四位发送

;****************************************************************************** LOWFOUR

BCF SSPCON,SSPEN

BSF PORTC,3

BCF PORTC,5

BCF PORTC,3

BSF PORTC,3

BCF PORTC,3

BSF PORTC,3

BCF PORTC,3

BSF PORTC,3

BCF PORTC,3

BSF PORTC,3

BCF PORTC,3

BSF PORTC,3

BSF PORTC,0

BSF SSPCON,SSPEN

RETURN

DELAY1 ;25ms延时子程序(软件延时)

MOVLW 60H

MOVWF GENE1

DELOOP1

MOVLW 6EH

MOVWF GENE2

DELOOP2

DECFSZ GENE2

GOTO DELOOP2

DECFSZ GENE1

GOTO DELOOP1

RETURN

DELAY2 ;1.2s Timer1定时(8*150ms)

BCF STA TUS,RP0

BCF STA TUS,RP1

BCF PIR1,TMR1IF

MOVLW 08H

MOVWF COUNT1

MOVLW 92H

MOVWF TMR1H

MOVLW 23H

MOVWF TMR1L

TMLOOP1

BTFSS PIR1,TMR1IF

GOTO TMLOOP1

DECFSZ COUNT1,1

GOTO TMLOOP2

RETURN

TMLOOP2

BCF PIR1,TMR1IF

MOVLW 92H

MOVWF TMR1H

MOVLW 23H

MOVWF TMR1L

GOTO TMLOOP1

DELAY3 ;1.5s延时子程序(软件延时)

MOVLW 04H

MOVWF GENE3

DELOOP3

MOVLW 0FFH

MOVWF GENE4

DELOOP4

MOVLW 0FFH

MOVWF GENE5

DELOOP5

DECFSZ GENE5

GOTO DELOOP5

DECFSZ GENE4

GOTO DELOOP4

DECFSZ GENE3

GOTO DELOOP3

RETURN

PROEND

END

十、测速显示仪的功能操作说明:

智能电机测速显示仪的功能为监测电机转速,并且将转速显示在液晶屏上以及上传至电脑,并且如果给定一个转速数值,系统可以将电机转速调节至要求转速。其中,测速显示部分需要将电脑上的串行通信软件打开,并且设置为异步方式,无校验位,波特率9600,并开启接收功能。调速部分需要用户给定一个调速的最终要求速度,由于调速精度原因,用户只需要将要求转速的千位与百位数值写入ORDSPE变量中即可。

十一、测试仪表的误差分析:

a)测速精度误差:测速精度误差主要存在于两方面:定时误差与计数误差,定时程序

自身的语句时钟占用导致定时程序不会达到很精确的6s或1.2s,这样便会产生定

时误差,计数误差存在于脉冲的计数过程,由于采用了分频器,再加上计数起始时

间的不同,计数值可能会有1转的误差,1转的误差看似很少,但乘以对应的时间

之后便成了误差的最大部分,6s的测速程序,每6s的误差为1转,所以1分钟就

会有10转的误差,1.2s的调速程序,误差就可以达到50转/分,这也是程序的主

要误差部分。实现高精度最好的方法是无限延长测速时间,但是这样却与实际应用

要求相悖,所以需要在两者之间平衡选择取最佳方案。

b)调速精度误差:调速精度误差主要存在于三方面:

i.测速精度误差:由于测速误差在50转/分以内,所以调速精度将大大受到影响。

再精确的调速也没办法精确到50转以下。

ii.调速时滞误差:由于调速过程需要给D/A转换器一个数字信号,D/A转换成模拟电压之后再驱动电机升速或降速,无论是D/A转换还是电机升降速都需

要时间,如果在这个时间里进行了下一次的计数定时,则会出现较大的计数误

差,这样会影响到最终的测速结果,为了消除这一部分误差,需要在PIC向

D/A传送电压给定之后,延时一段长时间,等待电机达到了新的稳定速度,再

进行测速环节,以消除时滞误差。

iii.模拟电路精度误差:无论是D/A转换器的输出电压还是电机的输入电压以及地线电压,由于是模拟信号,所以存在着一定的浮动与干扰,所以电机的转速

会有一些误差,但是这部分误差会小于测速精度误差,所以通常忽略不计。十二、心得体会:

本次课程设计是继之前微机课程设计之后,第二个以汇编语言为基础的程序设计课程。作为一个喜爱计算机喜爱编程的人,这样的机会挺难得的,所以做的时候还是相对比较认真的。因为相对来讲对于电机这块的知识掌握的不好,所以一直以来选择课题都在有意的躲避电机,而这次恰好抽到的电机题,正好算是逼着自己锻炼一下了。和微机的课程设计比起来,智能的课程设计难度显得更大一些,一方面是指令系统的简单化导致了很多在微机中可以轻松完成的指令需要在智能里进行大段编程(比如二进制转十进制算法),另外一些硬件系统的简化导致编程时需要手动完成很多最底层的数据传输(比如LCD屏的手写时钟输入),很多类似的问题是以前没有接触过的,所以这次也算是成功地得到了一次锻炼。程序的调试过程还算顺利,不过也再一次验证了程序调试是一个艰苦的过程,程序编的时候想得再周全,调试时仍旧会出现许多意想不到的错误。此外错误排查的能力是锻炼的主要部分,遇到问题之后怎么将程序各部分拆开来分别检查寻找错误,怎样排查硬件错误以及软件错误,这些宝贵的经验在一次次的调试中得到了积累。此外,遇到解决不了的困难时尝试着去跳出之前的思维定式重新思考错误原因,有时候因为陷入了自己给自己下的圈套里走不出来,会浪费掉很多宝贵的时间。另外就是耐心,看似简单的程序在我们这些菜鸟手里其实难度并不小,无论是编程还是调试过程,都要保持足够的耐心,遇到问题先不要慌是最重要的。这次宝贵的课程设计经历收获还是很大的,非常开心,也十分感谢老师们对我们小组的帮助,谢谢!

人工智能课程设计报告--动物识别系统

计算机科学与技术学院 《人工智能》课程设计报告设计题目:动物识别系统 设计人员:学号: 学号: 学号: 学号: 学号: 学号: 指导教师: 2015年7月

目录 目录 (1) 摘要 (2) Abstract (2) 一、专家系统基本知识 (3) 1.1专家系统实际应用 (3) 1.2专家系统的开发 (3) 二、设计基本思路 (4) 2.1知识库 (4) ....................................................................................................... 错误!未定义书签。 2.1.2 知识库建立 (4) 2.1.3 知识库获取 (5) 2.2 数据库 (6) ....................................................................................................... 错误!未定义书签。 ....................................................................................................... 错误!未定义书签。 三、推理机构 (7) 3.1推理机介绍 (7) 3.1.1 推理机作用原理 (7) ....................................................................................................... 错误!未定义书签。 3.2 正向推理 (7) 3.2.1 正向推理基本思想 (7) 3.2.2 正向推理示意图 (8) 3.2.3 正向推理机所要具有功能 (8) 3.3反向推理 (8) ....................................................................................................... 错误!未定义书签。 3.3.2 反向推理示意图 (8) ....................................................................................................... 错误!未定义书签。 四、实例系统实现 (9)

单片机课程设计报告——智能数字频率计汇总

单片机原理课程设计报告题目:智能数字频率计设计 专业:信息工程 班级:信息111 学号:*** 姓名:*** 指导教师:*** 北京工商大学计算机与信息工程学院

1、设计目的 (1)了解和掌握一个完整的电子线路设计方法和概念; (2)通过电子线路设计、仿真、安装和调试,了解和掌握电子系统研发产品的一个基本流程。 (3)了解和掌握一些常见的单元电路设计方法和在电子系统中的应用: 包括放大器、滤波器、比较器、计数和显示电路等。 (4)通过编写设计文档与报告,进一步提高学生撰写科技文档的能力。 2、设计要求 (1)基本要求 设计指标: 1.频率测量:0~250KHz; 2.周期测量:4mS~10S; 3.闸门时间:0.1S,1S; 4.测量分辨率:5位/0.1S,6位/1S; 5.用图形液晶显示状态、单位等。 充分利用单片机软、硬件资源,在其控制和管理下,完成数据的采集、处理和显示等工作,实现频率、周期的等精度测量方案。在方案设计中,要充分估计各种误差的影响,以获得较高的测量精度。 (2)扩展要求 用语音装置来实现频率、周期报数。 (3)误差测试 调试无误后,可用数字示波器与其进行比对,记录测量结果,进行误差分析。 (4)实际完成的要求及效果 1.测量范围:0.1Hz~4MHz,周期、频率测量可调; 2.闸门时间:0.05s~10s可调; 3.测量分辨率:5位/0.01S,6位/0.1S; 4.用图形液晶显示状态、单位(Hz/KHz/MHz)等。 3、硬件电路设计 (1)总体设计思路

本次设计的智能数字频率计可测量矩形波、锯齿波、三角波、方波等信号的频率。系统共设计包括五大模块: 主芯片控制模块、整形模块、分频模块、档位选择模块、和显示模块。设计的总的思想是以AT89S52单片机为核心,将被测信号送到以LM324N为核心的过零比较器,被测信号转化为方波信号,然后方波经过由74LS161构成的分频模块进行分频,再由74LS153构成的四选一选择电路控制档位,各部分的控制信号以及频率的测量主要由单片机计数及控制,最终将测得的信号频率经LCD1602显示。 各模块作用如下: 1.主芯片控制模块: 单片机AT89S52 内部具有2个16位定时/计数器T0、T1,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。利用单片机的计数器和定时器的功能对被测信号进行计数。以AT89S52 单片机为控制核心,来完成对各种被测信号的精确计数、显示以及对分频比的控制。利用其内部的定时/计数器完成待测信号周期/频率的测量。 2.整形模块:整形电路是将一些不是方波的待测信号转化成方波信号,便于测量。本设计使用运放器LM324连接成过零比较器作为整形电路。 3.分频模块: 考虑单片机利用晶振计数,使用11.0592MHz 时钟时,最大计数速率将近500 kHz,因此需要外部分频。分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。本设计使用的分频芯片是74LS161实现4分频及16分频。 4.档位选择模块:控制74LS161不分频、4分频或者 16分频,控制芯片是74LS153。 5.显示模块:编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示,本设计选用LCD1602。 (2)测频基本设计原理 所谓“频率”,就是周期性信号在单位时间(1s)内变化 的次数。若在一定时间间隔T内测得这个周期性信号的重复变 化次数N,则其频率可表示为f=N/T(右图3-1所示)。其中脉 冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等 。利用单片机的定时/计数T0、T1的定时、计数 于被测频率f x 功能产生周期为1s的时间脉冲信号,则门控电路的输出信号持图3-1

自动化课程设计报告

东北大学自动化专业 课程设计报告设计题目:位置和转速双闭环控制系统设计 班级:自动化140X班 学号:2014XXXX 姓名:XXX 指导教师:闫士杰钱晓龙 设计时间:2017年6月19日~2011年7月7日 目录 1.引言 (2) 1.1课题的背景 (2) 1.2课题的内容(三道题) (2) 1.3课题的意义 (3) 1.4课设的主要任务 (3) 1.5课设的具体安排 (4) 2正文 (4) 2.1仪器与设备 (4) 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 2.2实验原理 (7) 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 2.2.4 EB8000人机界面使用原理 .......................................... 错误!未定义书签。 2.3解题思路与方案程序 (8) 2.3.1第一题 ............................................................................. 错误!未定义书签。 2.3.2第二题 ............................................................................. 错误!未定义书签。 2.3.3第三题 ............................................................................. 错误!未定义书签。 2.4实验效果的观测与分析 (12) 错误!未定义书签。 2.5实验错误 (12) 2.5.1错误的产生 ..................................................................... 错误!未定义书签。 2.5.2错误的解决 ..................................................................... 错误!未定义书签。

智能家居控制系统课程设计报告20

XXXXXXXXXXXXXX 嵌入式系统原理及应用实践 —智能家居控制系统(无操作系统) 学生姓名XXX 学号XXXXXXXXXX 所在学院XXXXXXXXXXX 专业名称XXXXXXXXXXX 班级XXXXXXXXXXXXXXXXX 指导教师XXXXXXXXXXXX 成绩 XXXXXXXXXXXXX 二○XX年XX月

综合实训任务书

目录 前言 (1) 1 硬件设计 (1) 1.1 ADC转换 (3) 1.2 SSI控制数码管显示 (3) 1.3 按键和LED模块 (5) 1.4 PWM驱动蜂鸣器 (6) 2 软件设计 (7) 2.1 ADC模块 (7) 2.1.1 ADC模块原理描述 (7) 2.1.2 ADC模块程序设计流程图 (8) 2.2 SSI 模块 (8) 2.2.1 SSI模块原理描述 (9) 2.2.2 SSI模块程序设计流程图 (10) 2.3 定时器模块 (10) 2.3.1 定时器模块原理描述 (10) 2.3.2 定时器模块流程图 (11) 2.4 DS18B20模块 (11) 2.4.1 DS18B20模块原理描述 (11) 2.4.2 DS18B20模块程序设计流程图 (12) 2.5 按键模块 (13) 2.5.1 按键模块原理描述 (13) 2.5.2 按键模块程序设计流程图 (13) 2.6 PWM模块 (13) 2.6.1 PWM模块原理描述 (14) 2.6.2 PWM模块程序设计流程图 (14) 2.6 主函数模块 (14) 2.6.1 主函数模块原理描述 (14) 2.6.2主函数模块程序设计流程图 (15)

人工智能课程设计报告-罗马尼亚度假问题

人工智能课程设计报告-罗马尼亚度假 问题 1

2

3 2020年5月29日 课 程 :人工智能课程设计报告 班 级: 姓 名: 学 号: 指导教师:赵曼 11月

人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,能够设想,未来人工智能带来的科技产品,将会是人类智慧的”容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些一般需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种”复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅 速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐 - 1 - 2020年5月29日

自动化自动控制课程设计方案报告

动控制课程设计报告 班级:自动化08-1班 学号:08051116 姓名:刘加伟 2018.7.17

任务一、双容水箱的建模、仿真模拟、控制系统设计 一、控制系统设计任务 1、通过测量实际装置的尺寸,采集DCS系统的数据建立二阶水箱液位对象 模型。<先建立机理模型,并在某工作点进行线性化,求传递函数) 2、根据建立二阶水箱液位对象模型,在计算机自动控制实验箱上利用电 阻、电容、放大器的元件模拟二阶水箱液位对象。 3、通过NI USB-6008数据采集卡采集模拟对象的数据,测试被控对象的开 环特性,验证模拟对象的正确性。 4、采用纯比例控制,分析闭环控制系统随比例系数变化控制性能指标<超调 量,上升时间,调节时间,稳态误差等)的变化。 5、采用PI控制器,利用根轨迹法判断系统的稳定性,使用Matlab中 SISOTOOLS设计控制系统性能指标,并将控制器应用于实际模拟仿真系统,观测实际系统能否达到设计的性能指标。 6、采用PID控制,分析不同参数下,控制系统的调节效果。 7、通过串联超前滞后环节校正系统,使用Matlab中SISOTOOLS设计控制系统性能指 标,并将校正环节应用于实际模拟仿真系统,观测实际系统能否达到设计的性能指标。

(一)建立模型 (二)实验模型及改变阶跃后曲线: 1.取阶跃曲线按照以下模型建立系统辨识模型: 一般取为0.4和0.8 计算上行阶跃各参数: T1=171.26 T2=50.50 K=160.47 t1=141 t2=338 建立传递函数为: G(s>= 计算下行阶跃各参数: T1=84.20 T2=48.67 K=148.08 t1=89 t2=198 建立传递函数为: G(s>= 2.建立机理模型

智能控制课程设计(报告)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

智能电网大学课程设计报告-智能抄表硬件设计方案_毕业论文

智能电网课程设计报告

智能抄表系统硬件设计方案 1智能抄表技术概述 随着自动化程度的提高和电能需求的不断增长,电费查询支出在生产成本中占的比例逐渐加大。供电单位对于电能精细化的要求也越来越高。传统的人力抄表和电话抄表工作量大,效率低,人为误差严重,漏抄,估抄,冒抄现象时有发生,因此必须按照切实可行的方法解决这些问题。而快速、准确、经济、实时的获取用电的各类数据,是做好费用自动结算,用量分析,计量表运行状况监测、负荷处理等应用管理工作的基础。为此采用计算机、无线通信和嵌入式等技术设计了分布式电能表远程智能抄表系统,提出了三级管理手段,将用户的用电信息准确和及时地回传到数据中心,便于电力企业计量、统计和收费等日益繁重的工作,大大提高了管理层次和自动化水平。 智能抄表系统是坚强智能电网的基础,通过智能抄表系统可以实现电网公司同电力系统用户之间的有效可靠互动。能够实现对主站层、接入层、上行通信层以及终端层的有效协调与控制。主站层主要是用来实现信息数据的采集与管理。上行通信层则主要是用来负责实现各个站点的相互有效的链接的。智能抄表系统的构建对于完善智能电网和实现电力资源的合理配置具有重要意义。 欧美在智能抄表系统的研究处于领先水平,以美国为例,美国的智能电网建设注重用户端,主要针对用户的具体用电要求及变化来实施智能化管理,其实现方式包括智能电表、智能化抄表与以家庭为单位的规划用电管理,主要建设了基于无线方式的智能抄表及通讯网络。ADI公司直接参与部分州的智能电网的建设,在智能电表及无线网络建设上取得了不俗的成绩。 智能抄表系统主要结构包括三个部分:集中器、采集器和通信系统。 1)数据采集 根据不同业务对采集数据的要求,编制自动采集任务,包括任务名称、任务类型、采集群组、采集数据项、任务执行起止时间、采集周期、执行优先级、正常补采次数等信息,并管理各种采集任务的执行,检查任务执行情况。 2)数据管理 采用统一的数据存储管理技术,对采集的各类原始数据和应用数据进行分类存储和管理,为“SG186”一体化平台提供数据的汇总、存储、共享和分析利用。

青岛农业大学电子设计自动化与专用集成电路课程设计报告汇总

青岛农业大学 理学与信息科学学院 电子设计自动化及专用集成电路 课程设计报告 设计题目一、设计一个二人抢答器二、密码锁 学生专业班级 学生姓名(学号) 指导教师 完成时间 实习(设计)地点信息楼121 年 11 月 1 日

一、课程设计目的和任务 课程设计目的:本次课程设计是在学生学习完数字电路、模拟电路、电子设计自动化的相关课程之后进行的。通过对数字集成电路或模拟集成电路的模拟与仿真等,熟练使用相关软件设计具有较强功能的电路,提高实际动手,为将来设计大规模集成电路打下基础。 课程设计任务: 一、设计一个二人抢答器。要求: (1)两人抢答,先抢有效,用发光二极管显示是否抢到答题权。 (2)每人两位计分显示,打错不加分,答对可加10、20、30分。 (3)每题结束后,裁判按复位,重新抢答。 (4)累积加分,裁判可随时清除。 二、密码锁 设计四位十进制密码锁,输入密码正确,绿灯亮,开锁;不正确,红灯亮,不能开锁。密码可由用户自行设置。 二、分析与设计 1、设计任务分析 (1)二人抢答器用Verilog硬件描述语言设计抢答器,实现: 1、二人通过按键抢答,最先按下按键的人抢答成功,此后其他人抢答无效。 2、每次只有一人可获得抢答资格,一次抢答完后主持人通过复位按键复位,选手再从新抢答。 3、有从新开始游戏按键,游戏从新开始时每位选手初始分为零分,答对可选择加10分、20分,30分,最高九十分。 4、选手抢答成功时其对应的分数显示。 (2)密码锁 1、第一个数字控制键用来进行密码的输入 2、第二个按键控制数字位数的移动及调用密码判断程序。当确认后如果显示数据与预置密码相同,则LED 亮;如不相等,则无反应。按下复位键,计数等均复位

智能控制课程设计报告书

《智能控制》课程设计报告题目:采用BP网络进行模式识别院系: 专业: 姓名: 学号: 指导老师: 日期:年月日

目录 1、课程设计的目的和要求 (3) 2、问题描述 (3) 3、源程序 (3) 4、运行结果 (6) 5、总结 (7)

课程设计的目的和要求 目的:1、通过本次课程设计进一步了解BP网络模式识别的基本原理,掌握BP网络的学习算法 2、熟悉matlab语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力 要求:充分理解设计容,并独立完成实验和课程设计报告 问题描述 采用BP网络进行模式识别。训练样本为3对两输入单输出样本,见表7-3。是采用BP网络对训练样本进行训练,并针对一组实际样本进行测试。用于测试的3组样本输入分别为1,0.1;0.5,0.5和 0.1,0.1。 表7-3 训练样本 说明:该BP网络可看做2-6-1结构,设权值wij,wjl的初始值取【-1,+1】之间的随机值,学习参数η=0.5,α=0.05.取网络训练的最终指标E=10^(-20),在仿真程序中用w1,w2代表wij,wjl,用Iout代表 x'j。 源程序 %网络训练程序

clear all; close all; xite=0.50; alfa=0.05; w2=rands(6,1); w2_1=w2;w2_2=w2; w1=rands(2,6); w1_1=w1;w1_2=w1; dw1=0*w1; I=[0,0,0,0,0,0]'; Iout=[0,0,0,0,0,0]'; FI=[0,0,0,0,0,0]'; k=0; E=1.0; NS=3; while E>=1e-020 k=k+1; times(k)=k; for s=1:1:NS xs=[1,0; 0,0; 0,1]; ys=[1,0,-1]'; x=xs(s,:); for j=1:1:6 I(j)=x*w1(:,j); Iout(j)=1/(1+exp(-I(j))); end y1=w2'*Iout;

人工智能课程设计报告-n皇后问题解读

人工智能课程设计报告 课班姓学程:人工智能课程设计报告级 : 名: 号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

智能测量仪表课程设计报告

课程设计报告 课程:智能测量仪表 题目:智能测量仪表 学生姓名: 专业年级:自动化 指导教师: 信息与计算科学系 2013年3月23日

智能测量仪表 本次课程设计中智能温度测量仪表所采用的温度传感器为LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在0℃~100℃温度范围内精度为0.4℃~±0.75℃。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/℃,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。 本次课程设计的主要目的在于让学生把所学到的单片机原理、电子线路设计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C或者汇编)完成单片机方面的程序编写、使用VB或VC语言完成PC机人机界面设计(也可以用C+API实现)、按照课程设计规范完成课程设计报告。

目录 1.课程设计任务和要求 (3) 1.1 设计任务 (3) 2.2 设计要求 (3) 2.系统硬件设计 (3) 2.1 STC12C5A60S2单片机A/D转换简介 (3) 2.2 LM35DZ简介 (7) 2.3 硬件原理图设计 (7) 3.系统软件设计 (10) 3.1 设计任务 (10) 3.2 程序代码 (10) 3.3 系统软件设计调试 (17) 4.系统上位机设计 (18) 4.1 设计任务 (18) 4.2 程序代码 (18) 4.3 系统上位机软件设计调试 (21) 5.系统调试与改善 (22) 5.1 系统调试 (22) 5.2 系统改善 (22) 6.系统设计时常见问题举例与解决办法 (24) 7.总结 (25)

Wincc课程设计报告——自动化

内蒙古建筑职业技术学院《组态软件WINCC及其应用》设计报告 水箱液位的WinCC监控 姓名: 学号: 专业班级: 指导老师: 所在学院: 年月日

本设计是基于SIMATIC WinCC的水箱液位监控系统,可以自动完成蓄水和排水功能,满足工业生产过程中的需要。SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 随着科学技术的发展,工业生产过程的自动化水平越来越高,相应的要求其控制界面也应该越来越人性化和简洁化,人们也逐渐意识到原有的上位机编程的开发方式。WINCC软件是一种通用的工业监控软件,它把过程控制设计、现场操作以及工厂资源管理与一体,实现最优化管理。它基于Microsoft Windows XP/NT2000操作系统,用户可以在企业网络的所有层次的各个位置上都可以获得系统的实时信息。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布是大型集中监控管理系统的开发。它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。 关键字:WinCC、自动化、工业监控

This design is based on SIMATIC WinCC water control system, you can auto-complete of water storage and drainage features, and meet the needs of industrial production processes. SIMATIC WinCC is the first process monitoring systems with the latest 32-bit technology, openness and flexibility with good. With the development of science and technology, the industry increasingly higher level of automation of the production process, the corresponding requirements under its control interface should be more humane and simplicity of, people also come to realize that the original development of computer programming.WINCCsoftware is a general industrial monitor software, it design, hands-on process control and plant resource management and integration, achieving optimal management. It is based on the Microsoft Windows XP/NT2000 operating system, the user can at all levels of the corporate network wherever it can get real time information system. Using the kingview software development industry to monitor the project, can greatly enhance user control, to improve productivity and efficiency, improve product quality, reduce costs and raw material consumption. It is suitable for production and operations management from a single device and troubleshooting to the network structure is the distribution of the large concentrated monitoring system development. It to a standard industry computer software and hardware platforms constitute integrated system to replace the traditional closed systems. Keywords: WinCC,Automation , industrial monitor

智能控制课程设计(报告)(DOC)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

智能机器人课程设计报告[资料]

智能机器人课程设计报告[资料] 天津师范大学 计算机与信息工程学院 课程设计报告 课程名称: 机器人设计 设计题目: 专业: 信息工程 班级: 08(1)班 组别: 学生姓名: 吴雪萍学号: 08509205 起止日期: 2011年3月1日 ~ 2011年 7月1日 指导教师: 刘岩恺梁景莲 同组人员: 课程设计题目机器人设计实验 姓名吴雪萍学号 08509205 班级 08信息(1)班 班级专业信息工程 组别组长组员 指导教师刘岩恺梁景莲 课程 设计设计家庭组机器人和机器人行走目的 课程 设计Vc++ 环境

课程 设计 任务用C++语言设计一个颜色识别的程序和一个机器人行走程序 和要 求 课程设计内容描述: 1(绪论 通过学习机器人设计2课程~学会了家庭组机器人和足球机器人的一些理论知识。了解了机器人方向识别~动手调试了全景摄像头和前置摄像头~设置了场地、球门、白线、足球等的颜色数值。 2. 颜色识别的产生 结合梁老师给的人脸识别程序~通过改变人脸模型建立颜色识别程序。 3. 平台的选择及搭建 根据刘老师给的参考资料~首先安装了DirectX9.0 SDK和Visual C++软件~然后一步步的按照老师所给的步骤~先建立基本界面~接着编制串口通讯控制机器人 的程序~读取距离传感器信息等~最后得出了机器人行走程序如下。 课程设计源程序: 机器人行走 // VoyTestDlg.cpp : implementation file // #include "stdafx.h" #include "VoyTest.h" #include "VoyTestDlg.h" #ifdef _DEBUG

人工智能深度优先算法课程设计报告

人工智能课程报告 题目: 深 度 优 先 算 法 班级:XXXXXXXXXXX 学号:XXXXXXXXXXX 姓名:XXXXXXXXXXX

【摘要】结合生活中解决搜索问题所常用的思考方法与解题方法,从深度优先探讨了提高程序效率的适用技巧。 【关键词】1搜索顺序;2搜索对象;3搜索优化; 一、深度优先搜索的优化技巧 我们在做事情的时候,经常遇到这类问题——给出约束条件,求一种满足约束条件的方案,这类问题我们叫它“约束满足”问题。对于约束满足问题,我们通常可以从搜索的顺序和搜索的对象入手,进而提高程序的效率。 二、搜索的顺序及对象: 在解决约束满足问题的时候,问题给出的约束条件越强,对于搜索就越有利。之所以深度优先搜索的效率在很大程度上优于穷举,就是因为它在搜索过程中很好的利用了题目中的约束条件进行优化,达到提高程序效率的目的。 显然,在同样的一棵搜索树中,越在接近根接点的位置利用约束条件优化效果就越好。如何在搜索中最大化的利用题目的约束条件为我们提供剪枝的依据,是提高深度优先搜索效率的一个很重要的地方。而不同的搜索顺序和搜索对象就直接影响到我们对于题目约束条件的运用。 三、搜索特点 1.由于深度搜索过程中有保留已扩展节点,则不致于重复构造不必要的子树系统。 2.深度优先搜索并不是以最快的方式搜索到解,因为若目标节点在第i层的某处,必须等到该节点左边所有子树系统搜索完毕之后,才会访问到该节点,因此,搜索效率还取决于目标节点在解答树中的位置。

3.由于要存储所有已被扩展节点,所以需要的内存空间往往比较大。 4.深度优先搜索所求得的是仅仅是目前第一条从起点至目标节点的树枝路径,而不是所有通向目标节点的树枝节点的路径中最短的路径。 5.适用范围:适用于求解一条从初始节点至目标节点的可能路径的试题。若要存储所有解答路径,可以再建立其它空间,用来存储每个已求得的解。若要求得最优解,必须记下达到目前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优解,等全部搜索完成后,把保留的最优解输出。 四、算法数据结构描述 深度优先搜索时,最关键的是结点扩展(OPEN)表的生成,它是一个栈,用于存放目前搜索到待扩展的结点,当结点到达深度界限或结点不能再扩展时,栈顶结点出栈,放入CLOSE表(存放已扩展节点),继续生成新的结点入栈OPEN 表,直到搜索到目标结点或OPEN栈空为止。 具体算法如下: ①把起始结点S放到非扩展结点OPEN表中(后进先出的堆栈),如果此结点为一目标结点,则得到一个解。 ②如果OPEN为一空表,则搜索失败退出。 ③取OPEN表最前面(栈顶)的结点,并把它放入CLOSED的扩展结点表中,并冠以顺序编号n。 ④如果结点n的深度等于最大深度,则转向2。 ⑤否则,扩展结点n,产生其全部子结点,把它们放入OPEN表的前头(入栈),并配上指向n的返回指针;如果没有后裔,则转向2。 ⑥如果后继结点中有任一个为目标结点,则求得一个解,成功退出;否则,转向2。

电子设计自动化课程设计报告

电子设计自动化课程设计报告

电子设计自动化课程设计报告

学生姓名: 学号: 课设题目: VGA彩条信号显示控制器设计同组人:

电子设计自动化课程设计报告 郝欣欣 一、课程设计内容 1、使用Verilog语言和Modelsim仿真器完成可显示横彩条、竖彩条、棋盘格相间的VGA控制器的设计和验证 2、设计并验证可显示英语单词”HIT”的VGA 控制器 3、使用Quartus II和SOPC实验箱验证设计的正确性 4、Verilog代码要符合微电子中心编码标准 二、FPGA原理 CPLD、FPGA是在PAL、GAL等基础上发展起来的一种具有丰富的可编程I/O 引脚、逻辑宏单元、门电路以及RAM空间的可编程逻辑器件,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。CPLD的设计是基于乘积项选择矩阵来实现的,而FPGA基于查找表来设计的。查找表就是实现将输入信号的各种组合功能以一定的次序写入RAM中,然后在输入信号的作用下,输出特定的函数运算结果。其结构图如图1所示: 图1. FPGA查找表单元 一个N输入查找表(LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。

输入多于N个的函数、方程必须分开用几个查找表(LUT)实现(如图2 所示)。 图2 FPGA查找表单元内部结构 该系统设计中,FPGA芯片用的是ALTERA公司的EP1K30QC208-2,它的系统结构如图3所示。它由若干个逻辑单元和中央布线池加I/O端口构成

图3 EP1K30QC208内部结构 三、VGA接口 VGA的全称为Video Graphic Array,即显示绘图阵列。在PC行业发展的初期,VGA以其支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色的良好特性得到广泛支持。后来,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。 图4 VGA接口 VGA接口就是显卡上输出模拟信号的接口,也叫D-Sub接口。VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。VGA接口是显卡上应用最为广泛的接口类型,绝大多数的显卡都带有此种接口。 表1 VGA管脚定义 管脚定义 1 红基色 red 2 绿基色 green 3 蓝基色 blue 4 地址码 ID Bit 5 自测试 (各家定义不同)

相关文档
相关文档 最新文档