当前位置:文档之家› 交通信号灯控制系统(汇编语言课程设计)

交通信号灯控制系统(汇编语言课程设计)

交通信号灯控制系统(汇编语言课程设计)
交通信号灯控制系统(汇编语言课程设计)

汇编语言课程设计

交通信号灯控制系统

初始界面:

实现功能齐全。思路清晰~~~~~~~~~~~~

一、设计要求

利用PC机键盘和屏幕实现交通灯信号灯,控制系统。

二、设计内容与要求

基本要求:

1、完成一个十字路口的红绿灯正常状态的控制:实现日常生活中正常的交通路口的控制功能,实现南北、东西方向的切换。

2、显示时间,精确到秒;灯亮时间长短可变。

3、具有自动和手动控制功能。

提高要求:

1、完成夜间状态的控制:由于夜间车辆和行人很少,实现南北、东西方向的黄灯闪烁,进入夜间控制状态。

2、完成紧急状态的控制:南北双方向都设置为红灯,利于执行紧急公务。

3、完成交通堵塞状态的控制:由于交通事故等原因出现南北或东西某一方向堵塞,可人为地调整每个方向的红灯时间,进入手动控制状态。

附加要求:

必要的辅助功能(设置、修改等)。

三、编程提示

要求用汇编语言进行编程,下面是编写过程中主要涉及的知识点(其中举例只是实现方法之一,同学可根据自己对知识的掌握情况进行设计并调试):

1、视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H即可建立某种显示方式。

用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用,例:要输出多于一个字符时,利用DOS功能调用9。

2、键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器。

3、定时器中断处理程序:在此中断处理程序中,计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。例:在系统定时中断处理程序中,有一条中断指令INT 1CH指令,在ROM BIOS中,1CH的处理仅一条IRET指令,实际上它并没有做任何工作而只是为用户提供了一个软中断类型号,所以INT 1CH指令每秒也将执行18.2次,设计中可用这个定时周期性工作的处理程序来代替原有的1CH程序,实现定时。

4、显示时间子程序:将计时单元的二进制转换为十进制数加以显示。

参考资料:

1.《微型计算机接口技术及应用》

2.《汇编语言程序设计》

3.《微型计算机汇编语言程序设计》

一、教科书中关于IBM-PC/XT机系统硬件的内容,包括8250(串行口控制器),8253,8255,8259等。

二、DOS系统功能调用。INT 21H

1、显示

显示单个字符

入参:AH=02H

DL=字符ASCII值

出参:无

显示字符串

入参:AH=09H

DS:DX 此寄存器对指向内存中字符串的首地址,字符串以

$结束

出参:无

2、键盘

检查键盘状态

入参:AH=0BH

出参:AL=00H无输入0FFH有一字符

读键盘字符

入参:AH=08H

出参:AL=字符ASCII值

3、其它

退出程序,返回系统

入参:AH=4CH

出参:无

取中断矢量

入参:AH=35H

AL=中断类型号

出参:ES:BX 中断矢量,ES为段地址,BX为偏移地址

置中断矢量

入参:AH=25H

AL=中断类型号

DS:DX 中断矢量,DS为段地址,DX为偏移地址出参:AL=字符ASCII值

三、BIOS屏幕功能调用。INT 10H

1、清屏操作

MOV AX,0600H

MOV CX,0000H

MOV DX,184FH

MOV BH,07H

INT 10H

2、移动光标

MOV AH,02H

MOV DH,** ;**为目的地行数(0-24)

MOV DL,** ;**为目的地列数(0-79)

MOV BH,00H

INT 10H

3、禁止光标显示

MOV AH,01H

MOV CX,2000H

INT 10H

4、恢复光标显示

MOV AH,01H

MOV CX,0C0DH

INT 10H

;//*****************************************************************//

; 微机原理课程设计

; 交通信号灯控制系统设计

; 电子0803班

;

;

; 2010-4-17 18:55

;//****************************************************************//

STACK SEGMENT STACK

DW 64 DUP(?)

STACK ENDS

;//***************************************************************************** **//

; 功能:显示宏定义

;//****************************************************************************// SHOWLINE MACRO STR,STA,LEN,POS,COL ;显示字符串宏

PUSH BX

PUSH AX ;//10

MOV BP,OFFSET STR ;显示起始位置

ADD BP,STA ;第几个开始

MOV DX,POS ;位置

MOV CX,LEN ;长度

MOV BX,COL ;颜色

MOV AX,1301H ;字符串显示中断

INT 10H

POP AX

POP BX

POP DX ;//20

ENDM

;//***************************************************************************** **//

; 宏功能:读取时间子程序

;//****************************************************************************// TIMEBUF0 MACRO TIME,BUF ;显示字符串宏

PUSH BX

PUSH AX ;//10

MOV DI,OFFSET BUF

MOV AL,TIME

MOV BL,0AH

MOV AH,00H

DIV BL

ADD AL,30H

ADD AH,30H

MOV [DI],AL

INC DI

MOV [DI],AH

POP AX

POP BX

ENDM

;//*********************************************************************//

;功能:延时一秒宏定义,8253每秒中断18.2次

;//********************************************************************//

DELAY MACRO ;延时一秒

LOCAL DLOOP ;利用INT 1AH/00H取得中断次数(DX),

PUSH AX

PUSH BX

PUSH DX

MOV AH,00H ;BIOS调用//30

INT 1AH ;55ms引起一次中断,作为定时信号。

ADD DL,18 ;定时1S,需要18个定时单位

MOV BL,DL

INC BL

DLOOP: MOV AH, 00H

INT 1AH

CMP DL,BL ;是否累计到1S

JNZ DLOOP ;没到,继续读

POP DX

POP AX ;//40

ENDM

;//************************************************************//

;功能:;数据定义

;//**************************************************************//

DA TA SEGMENT

TIME_Y DB 2

TIME DB 10

TIME0 DB 7

TIME_G DB 7

TIME_R DB 10

BUF0 DB 0FH

BUF_X DB '00' ;定义交通路口

BUF_Y DB '00'

BUF DB '00'

TABLE01 DB ' Traffic Lights Control System '

TABLE02 DB ' ‘

TABLE03 DB '--------------------------------------------------------------------------------------------------------------' TABLE04 DB ' ',0B3H,' | ',0B3H,' | '

TABLE05 DB ' ',0B3H,' ',0B3H,' | SETTING '

TABLE06 DB ' ',0B3H,' | ',0B3H,' | '

TABLE07 DB ' ',0B3H,' N ',0B3H,' | 1. CHANGETIME : [C] '

TABLE08 DB ' ',0B3H,' | ',0B3H,' | 2. DOBY : [D] '

TABLE09 DB ' ',0B3H,' ',0B3H,' | 3. NIGHT : [N] '

TABLE10 DB 13 DUP(0C4h) ,0D9h,' ',0C0h, 11 DUP(0c4h) ,'| 4. EMERGEN : [E] '

TABLE11 DB ' | 5. QUIT : [Q] '

TABLE12 DB ' ',0FH,' | ' ;//60

TABLE13 DB ' | '

TABLE14 DB '- - - -E- - ',0FH,' ',0FH,' - -W- - -|---------------------------------------------------------------'

TABLE15 DB ' | '

TABLE16 DB ' ',0FH,' | NOW : NORMAL '

TABLE17 DB ' | '

TABLE18 DB 13 DUP(0C4H) ,0BFh,' ',0DAH, 11 DUP(0C4H),'| 1. Quit system [Q] '

TABLE19 DB ' ',0B3H,' ',0B3H,' | '

TABLE20 DB ' ',0B3H,' | ',0B3H,' |--------------------------------------------------------- '

TABLE21 DB ' ',0B3H,' S ',0B3H,' |

'

TABLE22 DB ' ',0B3H,' | ',0B3H,' | Write by QIULI ' ;//70

TABLE23 DB ' ',0B3H,' ',0B3H,' | Tle:1522xxxxxxx '

TABLE24 DB ' ',0B3H,' | ',0B3H,' | Mail:https://www.doczj.com/doc/5511832139.html,'

STR DB 'Please input times R: ;G: ;Y: ;[Y/N] '

STR1 DB 'CHANGETIME '

STR2 DB 'DOBY '

STR3 DB 'NIGHT '

STR4 DB ' Quit system [Q] '

STR5 DB 'NORMAL '

STR6 DB '1. Quit system [Q] '

STR7 DB '2. Back to NORMAL [B] '

STR8 DB 'EMERGEN '

STR9 DB'X--G,Y--R:[X] ;X--R,Y--G:[Y]'

STRCL DB ' '

STR10 DB ':'

FLG DB 0

FLG0 DB 0

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DA TA,SS:STACK

;//***********************************************************//

;//80

;功能:;主函数

;//******************************************************//

MAIN PROC FAR

MOV AX, DATA

MOV DS, AX

MOV ES, AX

FUNCT: MOV AH,01H ;清除光标

MOV CX,2000H

INT 10H

CALL INITIAL

N1: CALL SHOWTIME

CALL GETCHAR

CMP AL,'C' ;调整时间

JNE LOOP1

CALL CHANGTIME

JMP FUNCT

LOOP1: CMP AL,'D' ;手动/自动控制状态

JNE

LOOP2 ;100

CALL DOBY

LOOP2: CMP AL,'N' ;夜间模式

JNE LOOP3

CALL NIGHT

LOOP3: CMP AL,'E' ;紧急模式

JNE LOOP4

CALL EMERGEN

LOOP4: CMP AL,'Q' ;退出

JNE N1

ESC: MOV AH,4CH ;//145

INT 21H

;//****************************************************************//

;功能:紧急情况子函数

;//*************************************************************//

EMERGEN PROC NEAR ;//150

MOV TIME,20

MOV FLG,1

TIMEBUF0 TIME,BUF

CALL EM

TN0:

CALL GETCHAR

CMP AL,'B' ;紧急控制按钮是否按下

JNE TN1

JMP FUNCT

TN1: CMP AL,'Q' ;退出控制按钮是否按下

JNE TN0

JMP ESC

RET

;//130

EMERGEN ENDP ;//170

;//****************************************************************//

;功能:紧急情况界面初始化

;//*************************************************************//

EM PROC NEAR ;//150

SHOWLINE BUF,0,2,0A12H,0004H ;红灯;紧急情况

SHOWLINE BUF,0,2,1212H,0004H ;红灯;//120

SHOWLINE BUF,0,2,0E0CH,0004H ;红灯

SHOWLINE BUF,0,2,0E18H,0004H ;红灯

SHOWLINE BUF0,0,1,0C12H,0004H ;红灯

SHOWLINE BUF0,0,1,1013H,0004H ;红灯

SHOWLINE BUF0,0,1,0E0FH,0004H ;红灯;//160

SHOWLINE BUF0,0,1,0E16H,0004H ;红灯

SHOWLINE STR8,0,10,1038H,000FH ;

SHOWLINE STR6,0,25,122CH,000FH ; ;//160

SHOWLINE STR7,0,25,132CH,000FH ;

RET

;//130

EM ENDP ;//170

;//*************************************************************//

;功能:夜晚模式子函数

;//**************************************************************//

NIGHT PROC NEAR

MOV TIME,0

TIMEBUF0 TIME,BUF

NG2: CALL NI

DELAY

CALL GETCHAR

CMP AL,'B' ;夜间控制按钮是否按下

JNE NG1

JMP FUNCT

NG1: CMP AL,'Q'

JNE NG2

JMP ESC

RET

NIGHT ENDP

;//*************************************************************//

;功能:夜晚模式显示界面函数

;//**************************************************************//

NI PROC NEAR

SHOWLINE BUF,0,2,0A12H,000EH ;黄灯;夜间显示控制

SHOWLINE BUF,0,2,1212H,000EH ;黄灯

SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯

SHOWLINE BUF,0,2,0E18H,000EH ;黄灯

SHOWLINE BUF0,0,1,0C12H,000EH

SHOWLINE BUF0,0,1,1013H,000EH

SHOWLINE BUF0,0,1,0E0FH,000EH

SHOWLINE BUF0,0,1,0E16H,000EH

SHOWLINE STR3,0,10,1038H,000FH ;

SHOWLINE STR6,0,25,122CH,000FH ; ;//160

SHOWLINE STR7,0,25,132CH,000FH ;

RET

NI ENDP

;//**************************************************************//

; 功能:手动模式子函数

;//************************************************************// DOBY PROC NEAR ;开关子函数

MOV FLG,0

OP: CALL DO

OP4: CALL GETCHAR ;调用输入控制字符CMP AL,'Y' ;手动控制下开

JNE OP1

MOV FLG,1

JMP OP

OP1: CMP AL,'X' ;手动控制下关

JNE OP2

MOV FLG,2

JMP OP

OP2: CMP AL,'Q'

JNE OP3 ;退出

JMP ESC

OP3: CMP AL,'B'

JNE OP4 ;手动/自动控制

JMP FUNCT

RET

DOBY ENDP

;//****************************************************//

;手动模式显示函数

;//****************************************************/

DO PROC NEAR ;开关子函数

CMP FLG,0

JA DO0;

SHOWLINE BUF,0,2,0A12H,000EH ;黄灯

SHOWLINE BUF,0,2,1212H,000EH ;黄灯

SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯

SHOWLINE BUF,0,2,0E18H,000EH ;黄灯

JMP DO2

DO0: CMP FLG ,1

JNE DO1

SHOWLINE BUF,0,2,0A12H,0002H ;

SHOWLINE BUF,0,2,1212H,0002H ;

SHOWLINE BUF,0,2,0E0CH,0004H ;

SHOWLINE BUF,0,2,0E18H,0004H ;

JMP DO2

DO1: SHOWLINE BUF,0,2,0A12H,0004H ;

SHOWLINE BUF,0,2,1212H,0004H ;

SHOWLINE BUF,0,2,0E0CH,0002H ;

SHOWLINE BUF,0,2,0E18H,0002H ;

SHOWLINE BUF0,0,1,0C12H,0004H

SHOWLINE BUF0,0,1,1013H,0004H

SHOWLINE BUF0,0,1,0E0FH,0002H

SHOWLINE BUF0,0,1,0E16H,0002H

JMP DO3

DO2: CMP FLG,0

JNE DO4

SHOWLINE BUF0,0,1,0C12H,000EH

SHOWLINE BUF0,0,1,1013H,000EH

SHOWLINE BUF0,0,1,0E0FH,000EH

SHOWLINE BUF0,0,1,0E16H,000EH

JMP DO3

DO4: CMP FLG,1

JNE DO3

SHOWLINE BUF0,0,1,0C12H,0002H

SHOWLINE BUF0,0,1,1013H,0002H

SHOWLINE BUF0,0,1,0E0FH,0004H

SHOWLINE BUF0,0,1,0E16H,0004H

DO3: SHOWLINE STR9,0,30,112AH,000FH ;

SHOWLINE STR2,0,10,1038H,000FH ;

SHOWLINE STR6,0,25,122CH,000FH ; ;//160

SHOWLINE STR7,0,25,132CH,000FH ;

RET

DO ENDP

;//**************************************************************************// ;功能:改变时间子函数

;//*******************************************************************// CHANGTIME PROC NEAR

CALL CHAN

SHOWLINE STR10 ,0,1,113AH,000FH

MOV AH,01H

INT 21H

SUB AL,30H ;将输入时间值转化成

MOV BL,10 ;输出十进制值;//156

MUL BL

MOV TIME_R,AL

MOV AH,01H

INT 21H

SUB AL,30H

ADD TIME_R,AL

SHOWLINE STR10 ,0,1,113FH,000FH

MOV AH,01H

INT 21H

SUB AL,30H ;将输入时间值转化成

MOV BL,10 ;输出十进制值;//156DD

MUL BL

MOV TIME_G,AL

MOV AH,01H

INT 21H

SUB AL,30H

ADD TIME_G,AL

SHOWLINE STR10 ,0,1,1144H,000FH

MOV AH,01H

INT 21H

SUB AL,30H ;将输入时间值转化成

MOV BL,10 ;输出十进制值

MUL BL

MOV TIME_Y,AL

MOV AH,01H

INT 21H

SUB AL,30H

ADD TIME_Y,AL

CH1: CALL GETCHAR

CMP AL,'Y'

JE CH2

CMP AL,'N'

JNE CH1

MOV BL,10

MOV TIME_R,BL

MOV BL,5

MOV TIME_G,BL

MOV BL,4

MOV TIME_Y,BL

CH2:

RET

CHANGTIME ENDP

;//*******************************************************************//

;改变时间显示函数

;//****************************************************************//

CHAN PROC NEAR

SHOWLINE STR,0,40,1126H,000FH

SHOWLINE STR1,0,10,1038H,000FH

SHOWLINE TABLE17,0,25,122CH,000FH

SHOWLINE BUF,0,2,0A12H,000EH ;黄灯

SHOWLINE BUF,0,2,1212H,000EH ;黄灯

SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯

SHOWLINE BUF,0,2,0E18H,000EH ;黄灯

SHOWLINE BUF0,0,1,0C12H,000EH

SHOWLINE BUF0,0,1,1013H,000EH

SHOWLINE BUF0,0,1,0E0FH,000EH

SHOWLINE BUF0,0,1,0E16H,000EH

RET

CHAN ENDP

;//***************************************************************************** //

; 功能:时钟子程序X方向

;//****************************************************************// SHOWTIME PROC NEAR

XOR AL,AL

MOV FLG,AL

MOV FLG0,AL

XOR AL,AL

MOV AL,TIME_R

MOV TIME,AL

MOV AL,TIME_G

MOV TIME0,AL

S1: MOV AH,01H

INT 16H

JNZ S3

DELAY ;延时一秒

DEC TIME

CMP TIME,-1

JNE S2 ;不等于-1,显示,否则··

CMP FLG,2

JE S

CMP FLG,1

JE S0

MOV AL,TIME_G

MOV TIME,AL

INC FLG

JMP S2

S0: MOV AL,TIME_Y

MOV TIME,AL

INC FLG

JMP S2

S: MOV AL,TIME_R

MOV TIME,AL

MOV FLG,0

S2: TIMEBUF0 TIME ,BUF_X

CALL OTHER

CALL SHOWD

JMP S1

S3:

RET

SHOWTIME ENDP

;//*******************************************************//

;//功能:时钟子程序Y方向

;//*****************************************************//

OTHER PROC NEAR

DEC TIME0

CMP TIME0,-1

JNE S23 ;不等于-1,显示,否则··

CMP FLG0,2

JE S11

CMP FLG0,1

JE S10

MOV AL,TIME_Y

MOV TIME0,AL

INC FLG0

JMP S23

S10: MOV AL,TIME_R

MOV TIME0,AL

INC FLG0

JMP S23

S11: MOV AL,TIME_G

MOV TIME0,AL

MOV FLG0,0

S23: TIMEBUF0 TIME0 ,BUF_Y

RET

OTHER ENDP

;//***************************************************************************// ;功能:显示时钟子程序

;//***************************************************//

SHOWD PROC NEAR

CMP FLG,0

JNE D0

SHOWLINE BUF_X,0,2,0E0CH,0004H ;红灯

SHOWLINE BUF_X,0,2,0E18H,0004H ;红灯

SHOWLINE BUF0,0,1,0E0FH,0004H ;红灯

SHOWLINE BUF0,0,1,0E16H,0004H ;红灯

JMP D11

D0: CMP FLG,1

JNE D1

SHOWLINE BUF_X,0,2,0E0CH,0002H ;绿灯

SHOWLINE BUF_X,0,2,0E18H,0002H ;绿灯

SHOWLINE BUF0,0,1,0E0FH,0002H ;绿灯

SHOWLINE BUF0,0,1,0E16H,0002H ;绿灯

JMP D11

D1: SHOWLINE BUF_X,0,2,0E0CH,000EH ;黄灯

SHOWLINE BUF_X,0,2,0E18H,000EH ;黄灯

SHOWLINE BUF0,0,1,0E0FH,000EH ;黄灯

SHOWLINE BUF0,0,1,0E16H,000EH ;黄灯

D11: CMP FLG0,0

JNE D2

SHOWLINE BUF_Y,0,2,0A12H,0002H ;红灯

SHOWLINE BUF_Y,0,2,1212H,0002H ;红灯

SHOWLINE BUF0,0,1,0C12H,0002H ;红灯

SHOWLINE BUF0,0,1,1013H,0002H ;红灯

JMP D4

D2: CMP FLG0,1

JNE D3

SHOWLINE BUF_Y,0,2,0A12H,000EH ;黄灯

SHOWLINE BUF_Y,0,2,1212H,000EH ;黄灯

SHOWLINE BUF0,0,1,0C12H,000EH ;黄灯

SHOWLINE BUF0,0,1,1013H,000EH ;黄灯

JMP D4

D3: SHOWLINE BUF_Y,0,2,0A12H,0004H ;绿灯

SHOWLINE BUF_Y,0,2,1212H,0004H ;绿灯

SHOWLINE BUF0,0,1,0C12H,0004H ;绿灯

SHOWLINE BUF0,0,1,1013H,0004H ;绿灯

D4: RET

SHOWD ENDP

;//*******************************************************************//

;功能:得到字符

;//***************************************************************//

GETCHAR PROC NEAR

MOV AH,07H

INT 21H

RET

GETCHAR ENDP

;//***************************************************************************// ;功能:实现界面初始化

;//***************************************************************************// INITIAL PROC NEAR ;初始化交通路口的显示SHOWLINE TABLE01,0,70,0100H,15

SHOWLINE TABLE02,0,70,0200H,15

SHOWLINE TABLE03,0,90,0300H,15

SHOWLINE TABLE04,0,70,0400H,15

SHOWLINE TABLE05,0,70,0500H,15

SHOWLINE TABLE06,0,70,0600H,15

SHOWLINE TABLE07,0,70,0700H,15

SHOWLINE TABLE08,0,70,0800H,15

SHOWLINE TABLE09,0,70,0900H,15

SHOWLINE TABLE10,0,70,0A00H,15

SHOWLINE TABLE11,0,70,0B00H,15

SHOWLINE TABLE12,0,70,0C00H,15

SHOWLINE TABLE13,0,70,0D00H,15

SHOWLINE TABLE14,0,90,0E00H,15

SHOWLINE TABLE15,0,70,0F00H,15

SHOWLINE TABLE16,0,70,1000H,15

SHOWLINE TABLE17,0,90,1100H,15

SHOWLINE TABLE18,0,70,1200H,15

SHOWLINE TABLE19,0,90,1300H,15

SHOWLINE TABLE20,0,80,1400H,15

SHOWLINE TABLE21,0,70,1500H,15

SHOWLINE TABLE22,0,70,1600H,15

SHOWLINE TABLE23,0,70,1700H,15

SHOWLINE TABLE24,0,70,1800H,15

RET

INITIAL ENDP

;//************************************************************************// CODE ENDS

END MAIN

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

模拟电路课程设计心得体会

模拟电路课程设计心得 体会 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

精选范文:《模拟电路》课程设计心得体会(共2篇)本学期我们开设了《模拟电路》与《数字电路》课,这两门学科都属于电子电路范畴,与我们的专业也都有联系,且都是理论方面的指示。正所谓“纸上谈兵终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以在本学期暨模电、数电刚学完之际,紧接着来一次电子电路课程设计是很及时、很必要的。这样不仅能加深我们对电子电路的任职,而且还及时、真正的做到了学以致用。这两周的课程设计,先不说其他,就天气而言,确实很艰苦。受副热带高气压影响,江南大部这两周都被高温笼罩着。人在高温下的反应是很迟钝的,简言之,就是很难静坐下来动脑子做事。天气本身炎热,加之机房里又没有电扇、空调,故在上机仿真时,真是艰熬,坐下来才一会会,就全身湿透,但是炎炎烈日挡不住我们求知、探索的欲望。通过我们不懈的努力与切实追求,终于做完了课程设计。在这次课程设计过程中,我也遇到了很多问题。比如在三角波、方波转换成正弦波时,我就弄了很长时间,先是远离不清晰,这直接导致了我无法很顺利地连接电路,然后翻阅了大量书籍,查资料,终于在书中查到了有关章节,并参考,并设计出了三角波、方波转换成正弦波的电路图。但在设计数字频率计时就不是那么一帆风顺了。我同样是查阅资料,虽找到了原理框图,但电路图却始终设计不出来,最后实在没办法,只能用数字是中来代替。在此,我深表遗憾!这次课程设计让我学到了很多,不仅是巩固了先前学的模电、数电的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。希望今后类似这样课程设计、类似这样的锻炼机会能更多些!

自动控制系统课程设计说明书

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:自动控制理论课程设计 设计题目:直线一级倒立摆控制器设计 院系:电气学院电气工程系 班级: 设计者: 学号: 指导教师: 设计时间:2016.6.6-2016.6.19 手机: 工业大学教务处

*注:此任务书由课程设计指导教师填写。

直线一级倒立摆控制器设计 摘要:采用牛顿—欧拉方法建立了直线一级倒立摆系统的数学模型。采用MATLAB 分析了系统开环时倒立摆的不稳定性,运用根轨迹法设计了控制器,增加了系统的零极点以保证系统稳定。采用固高科技所提供的控制器程序在MATLAB中进行仿真分析,将电脑与倒立摆连接进行实时控制。在MATLAB中分析了系统的动态响应与稳态指标,检验了自动控制理论的正确性和实用性。 0.引言 摆是进行控制理论研究的典型实验平台,可以分为倒立摆和顺摆。许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统实验直观的表现出来,通过倒立摆系统实验来验证我们所学的控制理论和算法,非常的直观、简便,在轻松的实验中对所学课程加深了理解。由于倒立摆系统本身所具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法。 本次课程设计中以一阶倒立摆为被控对象,了解了用古典控制理论设计控制器(如PID控制器)的设计方法和用现代控制理论设计控制器(极点配置)的设计方法,掌握MATLAB仿真软件的使用方法及控制系统的调试方法。 1.系统建模 一级倒立摆系统结构示意图和系统框图如下。其基本的工作过程是光电码盘1采集伺服小车的速度、位移信号并反馈给伺服和运动控制卡,光电码盘2采集摆杆的角度、角速度信号并反馈给运动控制卡,计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动从而保持摆杆平衡。

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

微机原理与汇编语言课程设计报告

西北师范大学 计算机科学与工程学院 微机原理与汇编语言 课程设计报告 设计题目:中断控制点阵显示与音乐模块姓名: 学号: 专业班级: 系所中心: 指导老师: 起讫时间: 设计地点: 2016年8月20日

摘要 使用8086汇编语言,在唐都TD-PITE实验箱上进行硬件连线,在计算机上采用与该实验箱配套的软件进行输入,观察实验结果。设计思路是利用在实验箱上i386内集成的两片8259芯片分别进行中断,通过实验箱上的两个脉冲开关发送信号到总线上开放的两个中断口,送入CPU内部的8259中。此时按下脉冲开关kk1+,第一个中断发生,在16*16点阵上循环滚动显示“西北师大汇编设计李泓毅”,若按下kk2+则第二个中断发生,执行音乐模块子程序,利用8254芯片开始响应预先编排好的音乐。 【关键词】级联中断;8259芯片;16*16点阵;8254芯片;SPK音乐模块;脉冲信号

目录 摘要 (2) 第一章课程设计 (2) 1.1 目的和任务 (2) 1.2 设计环境、设备与器材 (2) 第二章设计内容和方案 (3) 2.1 设计内容 (3) 2.2 设计方案 (3) 第三章课程设计相关原理简述 (3) 第四章设计实现 (4) 4.1 系统设计框架结构 (4) 4.2 系统硬件设计 (4) 4.3 系统软件设计 (6) 4.4 程序流程图 (6) 4.5 核心数据结构 (8) 4.6 关键代码片段分析 (10) 第五章设计验证 (10) 5.1 验证步骤及结果 (10) 5.2 数据分析 (10) 5.3 遇到的问题及解决 (11) 5.4 需要讨论的其它问题 (11) 5.5 结论 (11) 第六章设计总结 (12) 第七章本课程教学建议 (13) 第八章参考文献 (13) 第九章附录:源代码 (13) 第一章课程设计 1.1 目的和任务 使用8259芯片进行中断程序设计,在第一个中断中响应字模显示模块,在第二个中断中响应音乐发声模块。

电子线路CAD课程设计汇本报告

目录 第一章绪论 (2) 1.1设计目的及要求 (2) 1.2 设计流程 (2) 第二章原理分析 (3) 2.1 最小系统的结构 (3) 2.2 各电路的原理分析 (3) 第三章原理图绘制 (8) 3.1 原理图设计的一般步骤 (8) 3.2 元件库的设计 (8) 第四章PCB图的绘制 (12) 4.1 创建该项目下的PCB文件 (12) 4.2 绘制PCB (12) 总结 (15) 参考文献 (16) 附录 (17)

第一章绪论 1.1 设计目的及要求 电子线路CAD是以电为主的机电一体化工科专业的专业基础课,作为通信工程专业,要通过学习一种典型电子线路CAD软件altium designer,掌握计算机绘制包括电路(原理)图、印刷电路板图在的电气图制图技能和相应的计算机仿真技能。通过本次设计,达到了解DXP软件的运用,认识51单片机的最小系统的构成以及学会改正制图过程中遇到的问题。 根据课程设计的题目,独立设计、绘制和仿真电路,实现51单片机的最最小系统。要求如下: (1)设计出原理图自己绘制51单片机最小系统的电路图,分析电路图中各小电路的工作原理; (2)用DXP软件画出原理图; (3)用DXP软件仿真出PCB板,熟悉电路板的加工工艺; 1.2 设计流程 本次设计主要是熟练运用DXP作出最小单片机系统的电路图,以下通过介绍最小系统的各部分电路的电路图及原理,通过在DXP上绘制原理图,检查并

修改错误,最后生成完整PCB板。

第二章原理分析 2.1 最小系统的结构 单片机单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM (数据存储器)、ROM(程序存储器)、定时器/计数器和多种功能的I/O(输入和输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。 单片机最小系统电路主要集合了串口电路、USB接口电路、蜂鸣器与继电器电路、AD&DA转换电路、数码管电路、复位电路、晶振电路和4*4矩阵键盘等电路。如下介绍几种简单的电路设计。 下图是本次设计的的几个有关电路图总体框图:

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学 号 指导教师 完成日期

目录 目录 (2) 1概述 (1) 1.1 设计目的 (1) 1.2 设计内容 (1) 2系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3 系统概要设计 (2) 3.1 系统的功能模块划分 (2) 3.2 系统流程图 (3) 4系统详细设计 (3) 5测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6小结 (5) 参考文献 (6) 附录 (7) 附录源程序清单 (7)

实现加减乘除四则运算的计算器 1 概述 1.1 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 1.2 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 2.1 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 2.2 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 2.3 开发环境 TASM5.0集成环境

电子线路课程设计报告

石英晶体好坏检测电路设计 设计要求 1. 利用高频电子线路及其先修课程模拟电路的知识设计一个电子线路2.利用该电子线路的要求是要求能够检测石英晶体的好坏 3. 要求设计的该电子线路能够进行仿真 4. 从仿真的结果能够直接判断出该石英晶体的好坏 5. 能够理解该电子线路检测的原理 6. 能够了解该电子线路的应用 成果简介设计的该电子线路能够检测不同频率石英晶体的好坏。当有该石英晶体(又称晶振)的时候,在输出端接上一个示波器能够有正弦波形输出,而当没有 该晶振的时候,输出的是直流,波形是一条直线。所以利用该电路可以在使 用晶振之前对其进行检测。 报告正文 (1)引言: 在高频电子线路中,石英晶体谐振器(也称石英振子)是一个重要的高频部件,它广泛应用于频率稳定性高的振荡器中,也用作高性能的窄带滤波 器和鉴频器。其中石英晶体振荡器就是利用石英晶体谐振器作滤波元件构成 的振荡器,其振荡频率由石英晶体谐振器决定。与LC谐振回路相比,石英晶 体谐振器有很高的标准性,采用品质因数,因此石英晶体振荡器具有较高的 频率稳定度,采用高精度和稳频措施后,石英晶体振荡器可以达到很高的频 率稳定度。正是因为石英晶体谐振器的这一广泛的应用和重要性,所以在选 择石英晶体谐振器的时候,应该选择质量好的。在选择的时候要对该晶振检 测才能够知道它的好坏,所以要设计一个检测石英晶体好坏的电路。 (2)设计内容: 设计该电路的原理如下:

如下图所示,BX为待测石英晶体(又名晶振),插入插座X1、X2,按下按钮SB,如果BX是好的,则由三极管VT1、电容器C1、C2等构成的振荡器工作,振荡信号从VT1发射极输出,经C3耦合到VD2进行检波、C4滤波,变成直流信号电压,送至VT2基极,使VT2导通,发光二极管H发光,指示被测石英晶体是好的。若H不亮,则表明石英晶体是坏的。适当改变C1、C2的容值,即可用于测试不同频率的石英晶体。 图一石英晶体好坏检测电路检测原理图 在上面的电路中,晶振等效于电感的功能,与C1和C2构成电容三点式振荡电路,振荡频率主要由C1、C2和C3以及晶振构成的回路决定。即由晶振电 抗X e 与外部电容相等的条件决定,设外部电容为C L ,则=0,其中C l 是C1、 C2和C3的串联值。 (3)电路调试过程: 首先是电路的仿真过程,该电路的仿真是在EWB软件下进行的,下面是将原图画到该软件后的截图:

自动控制课程设计~~~

指导教师评定成绩: 审定成绩: 重庆邮电大学 移通学院 自动控制原理课程设计报告 系部: 学生姓名: 专业: 班级: 学号: 指导教师: 设计时间:2013年12 月 重庆邮电大学移通学院制

目录 一、设计题目 二、设计报告正文 摘要 关键词 设计内容 三、设计总结 四、参考文献

一、设计题目 《自动控制原理》课程设计(简明)任务书——供2011级机械设计制造及其自动化专业(4-6班)本科学生用 引言:《自动控制原理》课程设计是该课程的一个重要教学环节,既有别于毕业设计,更不同于课堂教学。它主要是培养学生统筹运用自动控制原理课程中所学的理论知识,掌握反馈控制系统的基本理论和基本方法,对工程实际系统进行完整的全面分析和综合。 一设计题目:I型二阶系统的典型分析与综合设计 二系统说明: 该I型系统物理模拟结构如图所示。 系统物理模拟结构图 其中:R=1MΩ;C =1uF;R0=41R 三系统参量:系统输入信号:x(t); 系统输出信号:y(t);

四设计指标: 设定:输入为x(t)=a×1(t)(其中:a=5) 要求动态期望指标:M p﹪≤20﹪;t s≤4sec; 五基本要求: a)建立系统数学模型——传递函数; b)利用根轨迹方法分析和综合系统(学号为单数同学做); c)利用频率特性法分析和综合系统(学号为双数同学做); d)完成系统综合前后的有源物理模拟(验证)实验; 六课程设计报告: 1.按照移通学院课程设计报告格式写课程设计报告; 2.报告内容包括:课程设计的主要内容、基本原理; 3.课程设计过程中的参数计算过程、分析过程,包括: (1)课程设计计算说明书一份; (2)原系统组成结构原理图一张(自绘); (3)系统分析,综合用精确Bode图一张; (4)系统综合前后的模拟图各一张(附实验结果图); 4.提供参考资料及文献 5.排版格式完整、报告语句通顺; 6.封面装帧成册。

汇编课程设计报告

汇编课程设计报告

学 号: 课程设计 题目打印水仙花数 学院计算机科学与技术 专业计算机科学与技术 班级 姓名 指导教师

武汉理工大学《汇编语言程序设计》课程设计 2012 年 6 月28 日 课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:计算机科学与技术学院 题目: 打印水仙花数 初始条件: 理论:完成了《汇编语言程序设计》课程, 对微机系统结构和80系列指令系 统有了较深入的理解,已掌握了汇 编语言程序设计的基本方法和技 巧。 实践:完成了《汇编语言程序设计》的4 个实验,熟悉了汇编语言程序的设 计环境并掌握了汇编语言程序的 调试方法。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 进一步理解和掌握较复杂程序的设计方 法,掌握子程序结构的设计和友好用户界 3

2.1简要分析 2.1.1原理说明 可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。 将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。 在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。 在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。 系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。 2.1.2程序流程图

《低频电子线路》课程设计 )

辽宁师范大学《低频电子线路》课程设计 (2009级本科) 题目:红外控制9 学院:物理与电子技术学院 专业:电子信息工程 班级: 班级学号: 姓名: 指导教师: 完成日期:2011 年 6月23日 模拟电子技术课程设计:红外控制九 一内容摘要 红外控制9——红外遥控发射接收系统。该系统主要通过三极管NPN、集成块CD4011以及若干元器件组成红外发射装置产生38—40KHZ频率的信号,由光电二极管接收并通过NE555振荡电路,经过电解电容和二极管作用使小灯发光以达到设计目的。 二关键词 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版。 第一:前期准备。这包括准备元件库和原理图。“工欲善其事,必先利其器”,

要做出一块好的板子,除了要设计好原理之外,还要画得好。在进行PCB设计之前,首先要准备好原理图SCH的元件库和PCB的元件库。元件库可以用peotel自带的库,但一般情况下很难找到合适的,最好是自己根据所选器件的标准尺寸资料自己做元件库。原则上先做PCB的元件库,再做SCH的元件库。PCB的元件库要求较高,它直接影响板子的安装;SCH的元件库要求相对比较松,只要注意定义好管脚属性和与PCB元件的对应关系就行。PS:注意标准库中的隐藏管脚。之后就是原理图的设计,做好后就准备开始做PCB设计了。 第二:PCB结构设计。这一步根据已经确定的电路板尺寸和各项机械定位,在PCB设计环境下绘制PCB板面,并按定位要求放置所需的接插件、按键/开关、螺丝孔、装配孔等等。并充分考虑和确定布线区域和非布线区域(如螺丝孔周围多大范围属于非布线区域)。 第三:PCB布局。布局说白了就是在板子上放器件。这时如果前面讲到的准备工作都做好的话,就可以在原理图上生成网络表(Design->CreateNetlist),之后在PCB图上导入网络表(Design->LoadNets)。就看见器件哗啦啦的全堆上去了,各管脚之间还有飞线提示连接。然后就可以对器件布局了。一般布局按如下原则进行: ①.按电气性能合理分区,一般分为:数字电路区(即怕干扰、又产生干扰)、模拟电路区 (怕干扰)、功率驱动区(干扰源); ②.完成同一功能的电路,应尽量靠近放置,并调整各元器件以保证连线最为简洁;同时,调整各功能块间的相对位置使功能块间的连线最简洁; ③.对于质量大的元器件应考虑安装位置和安装强度;发热元件应与温度敏

自动控制原理课程设计实验

上海电力学院 自动控制原理实践报告 课名:自动控制原理应用实践 题目:水翼船渡轮的纵倾角控制 船舶航向的自动操舵控制 班级: 姓名: 学号:

水翼船渡轮的纵倾角控制 一.系统背景简介 水翼船(Hydrofoil)是一种高速船。船身底部有支架,装上水翼。当船的速度逐渐增加,水翼提供的浮力会把船身抬离水面(称为水翼飞航或水翼航行,Foilborne),从而大为减少水的阻力和增加航行速度。 水翼船的高速航行能力主要依靠一个自动稳定控制系统。通过主翼上的舵板和尾翼的调整完成稳定化操作。该稳定控制系统要保持水平飞行地穿过海浪。因此,设计上要求系统使浮力稳定不变,相当于使纵倾角最小。 航向自动操舵仪工作时存在包括舵机(舵角)、船舶本身(航向角)在内的两个反馈回路:舵角反馈和航向反馈。 当尾舵的角坐标偏转错误!未找到引用源。,会引起船只在参考方向上发生某一固定的偏转错误!未找到引用源。。传递函数中带有一个负号,这是因为尾舵的顺时针的转动会引起船只的逆时针转动。有此动力方程可以看出,船只的转动速率会逐渐趋向一个常数,因此如果船只以直线运动,而尾舵偏转一恒定值,那么船只就会以螺旋形的进入一圆形运动轨迹。 二.实际控制过程 某水翼船渡轮,自重670t,航速45节(海里/小时),可载900名乘客,可混装轿车、大客车和货卡,载重可达自重量。该渡轮可在浪高达8英尺的海中以航速40节航行的能力,全靠一个自动稳定控制系统。通过主翼上的舵板和尾翼的调整完成稳定化操作。该稳定控制系统要保持水平飞行地穿过海浪。因此,设计上要求该系统使浮力稳定不变,相当于使纵倾角最小。

上图:水翼船渡轮的纵倾角控制系统 已知,水翼船渡轮的纵倾角控制过程模型,执行器模型为F(s)=1/s。 三.控制设计要求 试设计一个控制器Gc(s),使水翼船渡轮的纵倾角控制系统在海浪扰动D (s)存在下也能达到优良的性能指标。假设海浪扰动D(s)的主频率为w=6rad/s。 本题要求了“优良的性能指标”,没有具体的量化指标,通过网络资料的查阅:响应超调量小于10%,调整时间小于4s。 四.分析系统时域 1.原系统稳定性分析 num=[50]; den=[1 80 2500 50]; g1=tf(num,den); [z,p,k]=zpkdata(g1,'v'); p1=pole(g1); pzmap(g1) 分析:上图闭环极点分布图,有一极点位于原点,另两极点位于虚轴左边,故处于临界稳定状态。但还是一种不稳定的情况,所以系统无稳态误差。 2.Simulink搭建未加控制器的原系统(不考虑扰动)。

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

汇编语言课程设计报告

课程设计报告 课程名称课题名称 汇编语言程序设计 1.显示彩色菱形 2.显示系统当前时间 专业 班级 学号 姓名 指导教师 年月日

课程设计任务书 课程名称汇编语言程序设计 课题 1.显示彩色菱形 2.显示系统当前时间专业班级 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

一、设计内容与设计要求 1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能 够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。 (1)、编制一计算比赛成绩的程序,要求完成以下功能: a、9 名评委,每个评委给分范围为 0~100(整数); b、9名评委给分中,去掉一个最高分和一个最低分,剩余7 名评委的平均分即为参赛者的得分(精确到小数点二位); c、将得分在光标位置处显示出来。 (2) 、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30 字的 grade 数组中,各数据的格式为: 学号,成绩 1,成绩 2,?,成绩 5 然后根据 grade 中的学生成绩,把学生名次填入rank 数据组中,并显示出来,格式为:学号,名次 (3)、利用 INT 1CH(大约每秒中断 18.2 次)编写一个中断驻留程序,要求在屏幕的右 上角显示计算机中当前系统时间,显示格式为 时:分: 秒:1/100 秒 (4)、输入一个菱形的两条对角线长,在屏幕上用‘ * ’号画出一个彩色的菱形。 (5)、设置图形方式并显示彩条,要求: 选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次, 一直到整个屏幕都显示出彩条 2.设计要求: 掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一 些实际的问题,为将来编写软件积累一些典型的案例处理经验。 (1)、设计正确,方案合理。 (2)、界面友好,使用方便。 (3)、程序精炼,结构清晰。 (4)、设计报告 5000 字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 (5)、上机演示。 (6)、按学号顺序选课题号,并在规定的时间内独自完成相关课题的汇编源程序编

电子线路课程设计题目

电子线路课程设计题目 (模电、数电部分) 一、锯齿波发生器 二、语音放大电路 三、可编程放大器 四、数字频率计 五、可调电源 六、汽车尾灯控制电路 2011.09

一、设计一高线性度的锯齿波发生器 要求: (1)利用555定时器和结型场效应管构成的恒流源设计一高线性度的锯齿波发生器;参考电路如图所示; (2)在EWB中对该电路进行仿真; (3)焊接电路并进行调试;调试过程中思考: a、电路中两个三极管的作用是什么?其工作状态是怎么样的? b、R3阻值的大小会对锯齿波的线性度产生什么影响? c、输出锯齿波的幅值围多大? d、调节电路中的可调电阻对波形有什么影响? e、LM324的作用是什么? (4)参考电路图中采用的是结型场效应管设计的,若采用N沟道增强型VMOS管和555定时器来设计一高线性度的锯齿波发生器,该如何设计? LM324 图2 高线性度锯齿波发生器的设计

二、语音放大电路的设计 通常语音信号非常微弱,需要经过放大、滤波、功率放大后驱动扬声器。 要求: (1) 采用集成运算放大器LM324和集成功放LM386N-4设计一个语音放大电路;假设语 音信号的为一正弦波信号,峰峰值为5mV ,频率围为100Hz~1KHz ,电路总体原理图如下所示; 具体设计方案可以参照以下电路: 图4 语音放大电路 (2) 仔细分析以上电路,弄清电路构成,指出前置放大器的增益为多少dB?通带滤波器 的增益为多少dB? (3) 参照以上电路,焊接电路并进行调试。 a 、 将输入信号的峰峰值固定在5mV ,分别在频率为100Hz 和1KHz 的条件下测试前置

放大的输出和通带滤波器的输出电压值,计算其增益,将计算结果同上面分析的 理论值进行比较。 b、能过改变10K殴的可调电阻,得到不同的输出,在波形不失真的条件下,测试集 成功放LM386在如图接法时的增益; c、将与LM386的工作电源引脚即6引脚相连的10uF电容断开,观察对波形的影响, 其作用是什么? d、扬声器前面1000uF电容的作用是什么? 注意: 1片LM324芯片有含有四个运放;集成功放采用LM386N-4;

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