当前位置:文档之家› 南昌大学单片机实验报告DOC

南昌大学单片机实验报告DOC

南昌大学单片机实验报告DOC
南昌大学单片机实验报告DOC

实验一I/O口输入输出实验

一、实验目的

掌握单片机P1口、P3口的使用方法。

二、实验内容

以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

五、实验参考程序

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

;文件名: Port for MCU51

;功能: I/O口输入、输出实验

;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);

; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

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

DIR BIT P3.0

ORG 0000H

LJMP START

ORG 0100H

START:

OUTPUT1:

MOV A, #0FEH

MOV R5, #8

LOOP1: CLR C

MOV C,DIR

JC OUTPUT2

MOV P1, A

RL A

ACALL DELAY

DJNZ R5, LOOP1

SJMP OUTPUT1

OUTPUT2:

MOV A, #07FH

MOV R5, #8

LOOP2:

CLR C

MOV C,DIR

JNC OUTPUT1

MOV P1, A

RR A

ACALL DELAY

DJNZ R5,LOOP2

SJMP OUTPUT2

DELAY:

MOV R6,#0

DELAYLOOP1:

MOV R7,#0

DELAYLOOP2:

NOP

NOP

DJNZ R7,DELAYLOOP2

DJNZ R6,DELAYLOOP1

RET

END

六、实验结果

当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。

七、结果分析

程序通过查询方式不断检测P3.0口的输入状态,当P3.0输入为0时,由P1口通过左移指令RL轮流输出低电平驱动LED发光,在左移时通过软件延时控制LED 亮的时间;当P3.0输入为1时,由P1口通过右移指令RR轮流输出低电平驱动LED发光,在右移时同样通过软件延时控制LED 亮的时间,如此循环扫描查询,便可实现流水灯的效果。

实验二外部中断实验

一、实验目的

学习外部中断技术的基本使用方法。

二、实验内容

INT0 端接单次脉冲发生器。按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接LED 灯,以查看信号反转。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到CPU 模块的P32;CPU 模块的P10 接八位逻辑电平显示模块的灯。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)连续按动单次脉冲产生电路的按键,发光二极管L0 每按一次状态取反,即隔一次点亮。

五、实验参考程序

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

;文件名: EXint for MCU51

;功能: 外部中断实验

;接线: 导线连接单次脉冲模块的输出端到CPU模块的P32,

; CPU模块的P10接八位逻辑电平显示模块的L0灯。

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

LED BIT P1.0

LEDBUF BIT 20H

ORG 0

LJMP START

ORG 3

INTERRUPT0:

PUSH PSW ; 保护现场

CPL LEDBUF ; 取反LED

MOV C, LEDBUF

MOV LED, C

POP PSW ; 恢复现场

RETI

START:

CLR LEDBUF

CLR LED

MOV TCON, #01H ; 外部中断0下降沿触发

MOV IE, #81H ; 打开外部中断允许位(EX0)及总中断允许位(EA)

OK: LJMP OK

END

六、实验结果

每按下E3区的单次脉冲触发按钮时,B5区的发光二极管状态取反一次,即原来是亮按下时灭,原来是灭则按下时亮。

七、结果分析

程序由外部中断0实现,外部中断0由下降沿触发,外部输入由单次脉冲触发器输入,每次按下按钮时会触发单次脉冲,产生一个下降沿,从而使程序产生中断,在中断服务函数的程序里面对P1.0取反,由P1.0驱动LED,就可实现本实验的功能。

实验三定时/计数器实验

一、实验目的

学习MCS-51 内部计数器的使用和编程方法。

二、实验内容

使用MCS-51 内部定时/计数器,定时一秒钟,CPU 运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态,用导线连接CPU 模块P10 到八位逻辑电平显示模块的L0。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。

五、实验参考程序

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

;文件名: TIMER FOR MCU51

;功能: 定时/计数器实验

;接线: 导线连接CPU模块P10到八位逻辑电平显示模块的L0.

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

TICK EQU 10000 ; 10000 X 100US = 1S

T100US EQU 156 ; 100US时间常数(6M)

C100US EQU 30H ; 100US记数单元

LEDBUF BIT 20H

ORG 0

LJMP START

ORG 000BH

T0INT:

PUSH PSW

MOV A, C100US+1

JNZ GOON

DEC C100US

GOON:

DEC C100US+1

MOV A, C100US

ORL A, C100US+1

JNZ EXIT ; 100US 记数器不为0, 返回

MOV C100US, #27H ; #HIGH(TICK)

MOV C100US+1, #10H ; #LOW(TICK)

CPL LEDBUF ; 100US 记数器为0, 重置记数器

; 取反LED

EXIT:

POP PSW

RETI

START:

MOV TMOD, #02H ; 方式2, 定时器

MOV TH0, #T100US

MOV TL0, #T100US

MOV IE, #10000010B ; EA=1, IT0 = 1

SETB TR0 ; 开始定时

CLR LEDBUF

CLR P1.0

MOV C100US, #27H ;#HIGH(TICK)

MOV C100US+1, #10H ;#LOW(TICK)

LOOP:

MOV C, LEDBUF

MOV P1.0, C

LJMP LOOP

END

六、实验结果

运行程序之后,B5区的发光二极管L0隔一秒点亮一次,每次点亮时间为一秒。七、结果分析

本实验通过定时器0的方式2实现精确定时,但定时器的最长定时时间达不到一秒,所以通过一个时间变量实现,总的定时时间等于定时器定时时间乘以时间变量初值,这样就可实现一秒的定时,程序通过扫描不断检测时间变量的值,当定时时间一秒到时,对P1.0的状态取反,实现L0每隔一秒亮一次。

实验四交通灯控制实验

一、实验目的

掌握十字路口交通灯控制方法。

二、实验内容

利用系统提供的双色LED 显示电路,和四位静态数码管显示电路模拟十字路口交通信号灯。4 位LED 数码管显示时间,LED 显示红绿灯状态。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态。P10 同时接G1、G3;P11 同时接R1、R3;P1.2 同时接G2、G4;P1.3 同时接R2、R4;P1.6、P1.7 分别接静态数码显示的DIN、CLK。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)观察十字路口交通灯效果。

五、实验参考程序

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

;文件名:交通灯程序 FOR MCU51

;功能:双色LED模拟交通灯信号,并通过调用静态数码显示状态时间。

;接线:P1.0同时接G1、G3,P1.1接R1、R3,P1.2接G2、G4,P1.3同时接R2、R4,

;P1.6、P1.7接静态数码显示的DIN、CLK。

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

SECOND1 EQU 30H ;东西秒寄存器

SECOND2 EQU 31H ;南北秒寄存器

DBUF EQU 40H ;显示缓冲1

TEMP EQU 44H ;显示缓冲2

LED_G1 BIT P1.0 ;东西绿灯

LED_R1 BIT P1.1 ;东西红灯

LED_G2 BIT P1.2 ;南北绿灯

LED_R2 BIT P1.3 ;南北红灯

DIN BIT P1.6 ;串行显示数据

CLK BIT P1.7 ;串行显示时钟

ORG 0000H

LJMP START

ORG 0100H

START:

LCALL STATE0 ;调用状态0

LCALL DELAY ;调用延时

MOV TMOD,#01H ;置T0工作方式1

MOV TH0, #3CH ;置T0定时初值50MS

MOV TL0, #0B0H

SETB TR0 ;启动T0 CLR EA

LOOP: MOV R2,#20 ;置1S计数初值 50MS*20=1S

MOV R3,#20 ;红灯20S

MOV SECOND1,#25 ;东西秒显示初值25S

MOV SECOND2,#25 ;南北秒显示初值25S

LCALL DISPLAY

LCALL STATE1 ;调用状态1

WAIT1: JNB TF0,WAIT1 ;查询50MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值50MS

MOV TL0, #0B0H

SETB TR0 ;启动T0

DJNZ R2,WAIT1 ;判1S到否?未到继续状态1

MOV R2,#20 ;置50MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT1 ;状态1维持20S

MOV R2,#5 ;置50MS计数初值 5*4=20

MOV R3,#3 ;绿灯闪3S

MOV R4,#4 ;闪烁间隔200MS

MOV SECOND1,#5 ;东西秒显示初值5S

MOV SECOND2,#5 ;南北秒显示初值5S

LCALL DISPLAY

WAIT2: LCALL STATE2 ;调用状态2

JNB TF0,WAIT2 ;查询50MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值50MS

MOV TL0, #0B0H

DJNZ R4,WAIT2 ;判200MS到否?未到继续状态2

CPL LED_G1 ;东西绿灯闪

MOV R4,#4 ;闪烁间隔200MS

DJNZ R2,WAIT2 ;判1S到否?未到继续状态2

MOV R2,#5 ;置50MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT2 ;状态2维持3S

MOV R2,#20 ;置50MS计数初值

MOV R3,#2 ;黄灯2S

MOV SECOND1,#2 ;东西秒显示初值2S

MOV SECOND2,#2 ;南北秒显示初值2S

LCALL DISPLAY

WAIT3: LCALL STATE3 ;调用状态3

JNB TF0,WAIT3 ;查询30MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值50MS

MOV TL0, #0B0H

DJNZ R2,WAIT3 ;判1S到否?未到继续状态3 MOV R2,#20 ;置50MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT3 ;状态3维持2S

MOV R2,#20 ;置50MS计数初值

MOV R3,#20 ;红灯20S

MOV SECOND1,#25 ;东西秒显示初值25S

MOV SECOND2,#25 ;南北秒显示初值25S

LCALL DISPLAY

WAIT4: LCALL STATE4 ;调用状态4

JNB TF0,WAIT4 ;查询50MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值50MS

MOV TL0, #0B0H

DJNZ R2,WAIT4 ;判1S到否?未到继续状态4 MOV R2,#20 ;置50MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT4 ;状态4维持20S

MOV R2,#5 ;置50MS计数初值 5*4=20 MOV R4,#4 ;闪烁间隔200MS

MOV R3,#3 ;绿灯闪3S

MOV SECOND1,#5 ;东西秒显示初值5S

MOV SECOND2,#5 ;南北秒显示初值5S

LCALL DISPLAY

WAIT5: LCALL STATE5 ;调用状态5

JNB TF0,WAIT5 ;查询50MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值100MS

MOV TL0, #0B0H

DJNZ R4,WAIT5 ;判200MS到否?未到继续状态5

CPL LED_G2 ;南北绿灯闪

MOV R4,#4 ;闪烁200MS

DJNZ R2,WAIT5 ;判1S到否?未到继续状态5

MOV R2,#5 ;置100MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT5 ;状态5维持3S

MOV R2,#20 ;置50MS计数初值

MOV R3,#2 ;黄灯2S

MOV SECOND1,#2 ;东西秒显示初值2S

MOV SECOND2,#2 ;南北秒显示初值2S

LCALL DISPLAY

WAIT6: LCALL STATE6 ;调用状态6

JNB TF0,WAIT6 ;查询100MS到否

CLR TF0

MOV TH0, #3CH ;恢复T0定时初值100MS

MOV TL0, #0B0H

DJNZ R2,WAIT6 ;判1S到否?未到继续状态6

MOV R2,#20 ;置100MS计数初值

DEC SECOND1 ;东西秒显示减一

DEC SECOND2 ;南北秒显示减一

LCALL DISPLAY

DJNZ R3,WAIT6 ;状态6维持2S

LJMP LOOP ;大循环

STATE0: ;状态0

MOV P1,#0

CLR LED_G1

SETB LED_R1 ;东西红灯亮

CLR LED_G2

SETB LED_R2 ;南北红灯亮

RET

STATE1: ;状态1

SETB LED_G1 ;东西绿灯亮

CLR LED_R1

CLR LED_G2

SETB LED_R2 ;南北红灯亮

RET

STATE2: ;状态2

CLR LED_R1

CLR LED_G2 SETB LED_R2 ;南北红灯亮

RET

STATE3: ;状态3

SETB LED_G1

SETB LED_R1 ;东西黄灯亮

CLR LED_G2

SETB LED_R2 ;南北红灯亮

RET

STATE4: ;状态4

CLR LED_G1

SETB LED_R1 ;东西红灯亮

SETB LED_G2 ;南北绿灯亮

CLR LED_R2

RET

STATE5: ;状态5

CLR LED_G1

SETB LED_R1 ;东西红灯亮

CLR LED_R2

RET

STATE6: ;状态6

CLR LED_G1

SETB LED_R1 ;东西红灯亮

SETB LED_G2

SETB LED_R2 ;南北黄灯亮

RET

DISPLAY: ;数码显示

MOV A, SECOND1 ;东西秒寄存器

MOV B, #10 ;16进制数拆成两个10进制数

DIV AB

MOV DBUF+1,A

MOV A,B

MOV DBUF, A

MOV A, SECOND2 ;南北秒寄存器

MOV B, #10 ;16进制数拆成两个10进制数

DIV AB

MOV DBUF+3, A

MOV A,B

MOV DBUF+2, A MOV R0,#DBUF

MOV R1,#TEMP

MOV R7,#4

DP10: MOV DPTR,#LEDMAP

MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R7,DP10

MOV R0,#TEMP

MOV R1,#4

DP12: MOV R7,#8

MOV A,@R0

DP13: RLC A

MOV DIN,C

CLR CLK

SETB CLK

DJNZ R7,DP13

INC R0

DJNZ R1,DP12

RET

LEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5

DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B

DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -

DELAY: MOV R5, #5

DLOOP0:MOV R6, #0

DLOOP1:MOV R7, #0

DLOOP2:

NOP

NOP

DJNZ R7, DLOOP2

DJNZ R6, DLOOP1

DJNZ R5, DLOOP0

RET

END

六、实验结果

程序开始运行后,B5区模拟的东西红灯亮,南北绿灯亮,同时两个方向的数码管分别从25秒开始倒计时,当倒计时到5秒时,南北绿灯闪亮3秒后变黄,再过2秒,即倒计时到0时,变为东西绿灯亮,南北红灯亮,同时两个方向的数码管分别同时从25秒开始倒计时,但倒计时到5秒时,东西绿灯闪亮3秒后变黄,再过2秒之后又回到初始状态,继续循环运行。

七、结果分析

本实验通过双色的LED模拟交通灯的显示状态,并用静态数码管结合定时器实现定时及显示功能,将交通灯的显示分为六个不同的状态,程序运行之后进行计数显示,当计时时间到达某一个状态之后,跳转进入相应的状态执行,执行完之后继续进入下一个状态,实验通过程序模拟了交通灯的显示。

实验五串转并与并转串实验

一、实验目的

1.掌握使用74LS164 扩展输出的方法。

2.掌握使用74LS165 扩展输入的方法。

二、实验内容

使用74LS165 扩展输入数据,使用74LS164 扩展输出数据。74LS165 的并行口接八位逻辑电平输出(开关),CPU 使用P1.0、P1.1 和P1.2 串行读入开关状态;74LS164 的并行口接一只数码管,CPU 使用P1.3 和P1.4 串行输出刚读入的开关状态,使之在数码管上显示出来。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态。用导线对应连接八位逻辑电平输出模块的QH165、CLK165、SH/LD 到CPU 模块的P10、P11、P12。用导线对应连接静态数码管显示模块的DIN、CLK 到CPU 模块的P13、P14。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)观察数码(八段码)管的亮灭与拨动开关的状态是否一致。拨动开关拨下输出为低电平,段码点亮。

五、实验参考程序

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

;//*文件名:164165 串转并,并转串实验程序

;功能:把开关量通过74**165串行输入到内存,并通过74**164串行输出到数

;码管上显示。

;接线:P1.0接QH165,P1.1接CLK165,P1.2接SH_LD,

;P1.3、P1.4接静态数码显示的DIN、CLK。

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

QH165 BIT P1.0

CLK165 BIT P1.1

SH_LD BIT P1.2

DAT164 BIT P1.3

CLK164 BIT P1.4

MEMORY EQU 30H

ORG 0000H

AJMP START

ORG 00B0H

START: SETB CLK165

CLR SH_LD

SETB SH_LD

MOV R7, #8

INPUT: RR A

MOV C, QH165

MOV ACC.7, C

CLR CLK165

NOP

SETB CLK165

DJNZ R7, INPUT

MOV MEMORY,A

MOV A,MEMORY

MOV R6,#8

OUTPUT:

RRC A

MOV DAT164,C

CLR CLK164

SETB CLK164

DJNZ R6, OUTPUT

ACALL DELAY

SJMP START

DELAY:

MOV R0,#5

DD2: MOV R1,#0FFH

DJNZ R1,$

DJNZ R0,DD2

RET

END

六、实验结果

当把E4区的八位逻辑电平的拨码开关K0~K7向上拨时,即逻辑电平输出高电平时,B4区的四位数码管的段码A~H依次点亮,即K0~K7每一段向上拨时,对应的A~H数码管段码点亮。

七、结果分析

实验通过74LS165八位逻辑电平的并行输出数据转成串行数据,输入单片机的P1.0口,再通过P1.3输出到74LS164的数据输入端,再由164的串转并输出口驱动数码管的八位段码,从而实现了并转串、串转并的功能。

实验六8255 控制键盘与显示实验

一、实验目的

1.掌握8255 输入、输出编程方法。

2.掌握阵列键盘和数码管动态扫描显示的控制方法。

二、实验内容

用8255 可编程并行口做一个键盘、显示扫描实验,把按键输入的键值,显示在8255 控制的七段数码管上。8255 PB 口做键盘输入线,PC 口做显示扫描线,PA 口做显示数据线。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态,S11E 和S12E 红开关全部打到下方(OFF)。

2)用8 位数据线对应连接8255 模块的JD3C(PA 口)、JD4C(PB 口)、JD5C(PC 口)到8279 模块的JD3E、JD2E、JD4E;用导线连接8255 模块的CS_8255 到地。

3)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

4)在键盘上按任一单键,观察数码管的显示,数码管低位显示按键值。

五、实验参考程序

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

;文件名: 8255KD FOR MCU51

;功能: 8255控制键盘显示实验

;接线: 连接8279键盘显示模块的JD3E到8255模块的JD3C(PA口);

;JD2E到8255模块的JD4C(PB口);

;JD4E到8255模块的JD5C(PC口);

;用导线连接8255模块的CS_8255到地。

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

D8255A EQU 8000H ;8255 PA 口地址

D8255B EQU 8001H ;8255 PB 口地址

D8255C EQU 8002H ;8255 PC 口地址

D8255 EQU 8003H ;8255 状态/命令口地址

LEDBUF EQU 50H ;显示缓存

KEYVAL EQU 60H ;读到的键码

ORG 0000H

LJMP START

ORG 0100H

START: MOV SP,#80H

MOV DPTR,#D8255

MOV A,#90H ;方式0,PB,PC口输出,PA口输入

MOVX @DPTR,A

MOV LEDBUF,#10H

MOV LEDBUF+1,#11H

MOV LEDBUF+2,#11H

MOV LEDBUF+3,#11H

MOV LEDBUF+4,#5

MOV LEDBUF+5,#5

MOV LEDBUF+6,#2

MOV LEDBUF+7,#8

KB_DIS:

LCALL RD_KB ;读键盘

MOV A,#0FFH

CJNE A,KEYVAL,TOSHOW ;判读到键

SJMP SHOW ;没有则继续读键

TOSHOW:

MOV LEDBUF,KEYVAL

SHOW: LCALL DISPLAY

SJMP KB_DIS

RD_KB: ;键盘扫描

MOV A,#02H ;扫描第一行

MOV DPTR,#D8255C

MOVX @DPTR,A

MOV DPTR,#D8255A MOVX A,@DPTR

MOV R1,#00H

CJNE A,#0FFH,KEYCAL ;判键是否按下

MOV A,#01H ;扫描第二行

MOV DPTR,#D8255C

MOVX @DPTR,A

MOV DPTR,#D8255A

MOVX A,@DPTR

MOV R1,#08H

CJNE A,#0FFH,KEYCAL

SJMP NOKEY ;无键按下

KEYCAL: MOV R0,#08H ;计算键码

SHIFT: RRC A

JNC TORET

INC R1

DJNZ R0,SHIFT

SJMP NOKEY ;无键按下

TORET: MOV KEYVAL,R1

RET

NOKEY: MOV KEYVAL,#0FFH ;返回无键标志

RET

DISPLAY:

MOV R7,#8 ;8个数码管

MOV R5,#0

MOV R0,#LEDBUF

DLOOP:

MOV A,R5

RL A

RL A

RL A

ANL A,#11111011B

INC R5

MOV DPTR,#D8255C

MOVX @DPTR,A ;点亮对应的LED

MOV A,@R0

MOV DPTR,#LEDSEG

MOVC A,@A+DPTR

INC R0

MOV DPTR,#D8255B

MOVX @DPTR,A ;显示数据

LCALL DELAY

DJNZ R7,DLOOP

RET

DELAY: PUSH R7

MOV R7,#200

DELAYLOOP:

NOP

DJNZ R7,DELAYLOOP

POP R7

RET

LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB 7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB 39H,5EH,79H,71H,00H,40H;C,D,E,F, ,-

END

六、实验结果

程序运行后,E7区数码管的前七位依次显示“8 2 5 5 - - - 0”,当按下E7区的按键时,数码管的前七位不变,依然显示“8 2 5 5 - - -”,而第八位将显示按下的键码值,从0~F。

七、结果分析

本实验通过8255I/O扩展芯片以及8279键盘/显示接口芯片为硬件基础,实现了键盘输入到数码管输出显示的功能。程序中通过对键盘按下与否进行循环扫描,当有按键按下时,通过程序对键值进行计算,并将结果送到数码管进行显示。当无按键按下时,程序保持上一状态继续扫描,直到有不同的按键按下时状态改变。由于矩阵按键及数码显示会用到较多的I/O口,而单片机的I/O口数量有限,所以利用8255对其进行扩展,再利用专门的键盘/显示芯片8279实现键盘扫描和键值显示的功能。

实验七并行A/D 转换实验

一、实验目的

1.掌握ADC0809 模/数转换芯片与单片机的连接方法及ADC0809 的典型应用。

2.掌握用查询方式、中断方式完成模/数转换程序的编写方法。

二、实验内容

利用系统提供的ADC0809 接口电路,实现单片机模数转换。模拟信号为0~5V 电位器分压输出,单片机控制ADC0809 读取模拟信号,并在数码管上用十六进制形式显示出来。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验步骤

1)系统各跳线器处在初始设置状态。用导线对应连接并行模数转换模块的CS_0809、EOC 到CPU 模块的8000、P32;电位器模块的输出端接并行模数转换模块的IN-0;并行模数转换模块的Vref 接+5V 电源;CPU 模块的P10、P11 接串行静态数码显示模块DIN、CLK。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)数码管以十六进制形式显示模拟量,手动调节输入电位器,改变输入模拟量电压的大小,数码管显示将随之变化。

五、实验参考程序

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

;文件名: AD0809 FOR 51MCU

;功能:并行A/D转换实验

;接线:用导线对应连接并行模数转换模块的CS_0809、EOC到CPU模块的8000、P32;

;电位器模块的输出端接并行模数转换模块的IN-0;

;并行模数转换模块的VREF接+5V电源;

;CPU模块的P10、P11接串行静态数码显示模块DIN、CLK。

;//******************************************************************* DBUF EQU 30H

TEMP EQU 40H

D0809 EQU 8000H ;通道0地址

DIN BIT P1.0

CLK BIT P1.1

ORG 0000H

JMP START

ORG 0080H

START:

MOV DBUF+3,#0AH

MOV DBUF+2,#0DH

MOV DPTR,#D0809

MOV A,#0

MOVX @DPTR,A

JNB P3.2,$

MOVX A,@DPTR ; 读入结果

MOV B,A

SWAP A

ANL A,#0FH

MOV DBUF+1,A

INC R0

MOV A,B

ANL A,#0FH

MOV DBUF,A

ACALL DISP1

ACALL DELAY

AJMP START

DISP1: ; 串行数码显示

MOV R0,#DBUF

MOV R1,#TEMP

MOV R2,#4

DP10: MOV DPTR,#SEGTAB

MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R2,DP10

MOV R0,#TEMP

MOV R1,#4

DP12: MOV R2,#8

MOV A,@R0

DP13: RLC A

MOV DIN,C

CLR CLK

SETB CLK

DJNZ R2,DP13

INC R0

DJNZ R1,DP12

RET

SEGTAB: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5

WEB编程实验报告---南昌大学

实验报告 实验课程:JA V A WEB编程技术 学生姓名: 学号: 专业班级:物流101班 2013年 06 月 12 日 目录

实验一WEB编程环境......................... 错误!未定义书签。实验二HTML和CSS编程技术 (7) 实验三JA V ASCRIPT编程技术 (10) 实验四SERVLET编程技术 (13) 实验五JSP编程技术 (16) 实验六JA V ABEAN编程技术 (21) 实验七基于MVC模式构建系统 (25) 南昌大学实验报告 学生姓名:学号:专业班级:物流101班

实验类型:□验证□综合■设计□创新实验日期:实验成绩: 一、实验项目一Web编程环境 二、实验目的 第1章搭建Web编程环境,能正确安装配置java运行环境、WEB服务器和数据库服务器 第2章熟悉WEB编程集成环境MYEclipse. 第3章熟练掌握WEB工程的创建、发布、运行流程。 三、实验内容 1.安装并配置java运行环境JDK和JRE 2.安装Web服务器tomcat, 配置Tomcat服务器 3.安装并配置数据库MySQL. 4.安装MyEclispe,熟悉各项菜单项 5.为MyEclispe集成配置JDK和Tomcat 6.创建、发布、运行一个WEB工程。 四、实验仪器及耗材 计算机,JDK,TOMCA T, MySQL, MyEclipse等软件。 五、实验步骤 1.先安装jdk1.6,选择自定义安装,安装到C:\JDK 2.配置环境变量,class:.;C:\JDK\bin , classpath:.;C:\JDK\lib ,java_home: C:\JDK 安装tomcat,安装在C:\ Tomcat 下,配置tomcat_home环境变量,CATALINA_HOME: C: \Tomcat,CATALINA_BASE: C: \Tomcat,TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar 追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\c ommon\lib\servlet.jar;

南昌大学低电阻测量实验报告

南昌大学物理实验报告 课程名称:大学物理实验 实验名称:低电阻测量 学院:专业班级: 学生姓名:学号: 实验地点:座位号: 实验时间:

其中r1、r2 分别是连接安培表及变阻器用的两根导线与被测电阻两端接头处的接触电阻及导线本身的接线电阻,r3、r4 是毫伏表和安培表、滑线变阻器接头处的接触电阻和接线电阻。通过安培表的电流I 在接头处分为I1、I2 两支,I1 流经安培表和R 间的接触电阻再流入R,I2 流经安培表和毫伏表接头处的接触电阻再流入毫伏表。因此,r1、r2 应算作与R 串联;r3、r4 应算作与毫伏表串联。由于r1、r2 的电阻与R 具有相同的数量级,甚至有的比R 大几个数量级,故毫伏表指示的电位差不代表R 两端的电位差。也就是说,如果利用毫伏表和安培表此时所指示的值来计算电阻的话,不会给出准确的结果。 为了解决上述问题,试把连接方式改为如图2(a)所示的式样。同样用电流流经路线的分析方法可知,虽然接触电阻r1、r2、r3 和r4 仍然存在,但由于其所处位置不同,构成的等效电路改变为图2(b)。由于毫伏表的内阻大于r3、r4、R,故毫伏表和安培表的示数能准确地反映电阻R 上的电位差和通过的电流。利用欧姆定律可以算出R 的正确值。

由此可见,测量电阻时,将通电流的接头(电流接头)a、d 和测量电位差的接头(电压接头)b、c 分开,并且把电压接头放在里面,可以避免接触电阻和接线电阻对测量低值电阻的影响。 这结论用到惠斯通电桥的情况如果仍用单臂电桥测低值电阻R X,则比较臂R b 也应是低值电阻,这样才能在支路电流增大时,从而使R X 的电位差可以跟R1 上的电位差相等。设R1 和R2 都是10Ω以上的电阻,则与之有关的接触电阻和接线电阻的影响可以忽略不计。消除影响的只是跟R X、R b 有关的接触电阻和接线电阻。我们可以这样设想,如图3 所示。应用上面的结论在R X 的A 点处分别接电流接头A1 和电压接头A2;在R b 的D 点处分别接电流接头D1 和电压接头D2。则A 点对R X 和D 点对R b 的影响都已消除。关于C 点邻近的接线电阻和接触电阻同R1、R2、R g 相比可以略去不计。但B1、B3 的接触电阻和其间的接线电阻对R X、R b 的影响还无法消除。为了消除这些电阻的影响,我们把检流计同低值电阻的接头也接成电压接头B2、B4。为了使B2、B4 的接触电阻等不受影响,也象R1、R2 支路一样,分别接上电阻R3、R4 譬如10Ω,则这两支路的接触电阻等同R3、R4 相比较可略去。这样就在单电桥基础上增加两个电阻R3、R4,从而构成一个双臂电桥。但是B1、B3 的接触电阻和B1、B3 间的接线电阻无处归并,仍有可能影响测量结果。下面我们来证明,在一定条件下,r 的存在并不影响测量结果。

南昌大学C++期末考试试卷(答案全)

2、设int a=15,b=26;,则cout<<(a,b);的输出结果是________。 A. 15 B. 26,15 C. 15,26 D. 26 3、x>0 && x<=10的相反表达式为________。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 4、在下面循环语句中循环体执行的次数为________。 int i=0,s=0; while(s<20) {i++; s+=i;} A. 4 B. 5 C. 6 D. 7 5、在下面的二维数组定义中,正确的是________。 A. int a[5][ ]; B. int a[ ][5]; C. int a[ ][3]={{1,3,5},{2}}; D. int a[ ](10); 6、以下叙述中不正确的是________。 A. 在一个函数中,可以有多条return语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值 D. 不同的函数中可以使用相同名字的变量 7、为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择________。 A.内联函数 B.重载函数 C.递归函数 D.函数模板 8、若用数组名作为函数调用的实参,传递给形参的是________。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数 9、类的构造函数是在定义该类的一个________时被自动调用执行的。 A. 成员函数 B. 数据成员 C. 对象 D. 友元函数 10、设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是________ A.int m = max(22,max(59,70));B.int m = max(max(22,59),70); C.int m = max(22,59,70);D.int m = max(59,max(22,70)); 11、对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是________。 A. delete ptr[2]; B. delete[ ] ptr; C. delete ptr[ ]; D. delete[2] ptr; 12 类A中存在静态数据成员x,设a和b是类A的两个对象,在执行=10之后,的值为________。 A. 未初始化 B. 等于 C. 等于0 D. 随机 13、假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为________。 A. x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3; 14、假定k是一个double类型的变量,则关于变量p 的正确定义语句为________。 A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”; 15、定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为________。 A. int *p=new int[30]; B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30]; 二、判断题,对的画√,错的画×(每小题1分,共10 分) ()1、在说明语句int a(15),&b=a,*p=&a;中,b的值与*p的值是不相等的。 ()2、break语句也可以用于switch体内,它可退出switch 语句。 ()3、在一个被调用函数中,一个return语句可返回多个值给调用函数。 ()4、宏定义命令是以分号结束的。 ()5、do -while循环语句的循环体至少执行一次。 ()6、函数形参的作用域是该函数的函数体。 ()7、静态类标识符在它的作用域之外是不存在的。 ()8、对象成员的表示与结构变量成员表示相同,使用运算符.或->。 ()9、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。()10、const char *p说明了p是指向字符串的常量指针。 三、填空题(每空2分,共20 分) 1、一个完整程序中必须有一个名为_【1】_的函数。 2、程序中的预处理命令是指以___【2】___字符开头的命令。 3、假定x=5,y=6,则执行表达式y*=x++计算后,y的值为____【3】___。 4、为语句标号使用的C++保留字case和default只能用于___【4】___语句的定义体中。 5、若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上___【5】_____关键字。 6、若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上___【6】____和两个冒号分隔符。 7、假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) {a=aa; b=bb;}”,则定义该类的对象时,其实参表中至多带有___【7】__个实参。 8、完成下面类中的成员函数的定义。 class point { private: int m,n; public: point(int,int); point(point&); }; point::point(int a,int b) { m=a;n=b;} point::point(__【8】_) { m=;n=;} 9、完成下面类中的成员函数的定义。 class A { int a,b; public: A(int aa=0, int bb=0) __【9】___ {} // 分别用aa和bb对应初始化a和b }; main() { A x(5),y(x); // 定义类A的对象x并用5初始化,同时定义y并用x初始化 ___【10】__ ; // 定义p指针,使之指向对象x } 四、阅读程序,写出各程序运行后的输出结果(每小题5分,共20分) 1、#include using namespace std; void fun(int a,int * b, int *c,int &d); void main( ) { int a1=10,a2=20,a3=30,a4=40; fun(a1,&a2,&a3,a4); cout<<”a1=”< void main()

南昌大学化学实验报告

南昌大学化学实验报告 篇一:南昌大学实验报告 南昌大学实验报告 学号:6100512094 专业班级:信息管理与信息系统122班 实验类型:□验证□综合□设计□创新实验日期:XX/4/3 实验成绩: 实验一实验环境的建立 一、实验目的: 1.了解SQL Server XX常用版本和对操作系统的不同要求 2.熟悉SQL Server XX的基本性能 3.正确安装和配置SQL Server XX 二、实验基本原理 SQL即结构化查询语言,是关系数据库的标准语言,SQL 是一个综合的、功能极强同时又简洁易学的语言。它集数据查询、数据操纵、数据定义和数据控制功能于一体。自SQL 成为国际标准语言之后,各个数据库厂家纷纷推出各自的SQL软件或与SQL的接口软件。这就使大多数 数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。

三、主要仪器设备及耗材 相互连成LAN的计算机2台以上,windows XX server 操作系统,SQL Server XX安装标准版安装软件。 四、实验步骤 安SQL Server XX:将安装光盘放入CD-ROM,将自动弹出“SQL Server自动菜单”界面,如果没有自动弹出则选择光盘根目录下的autorun.exe,双击运行: 选择运行“安装SQL Server XX组件”进入安装组件界面,选择“安装数据库服务器”。进入安装界面后,按照安装提示进行安装;一般需要人工进行干预的有: 选择安装类型和安装路径:安装类型有:典型安装、最小安装、和自定义安装。安装路径是指SQL Server的系统文件和数据文件的安装位置。默认情况下“安装类型”是典型安装,“安装路径”是操作系统设定的“Program Files”文件夹。你可以自行改变,初次安装最好不要改变他,按默认情况使用; 配置启动服务的帐号:有两类用户帐号:一类是与Windows操作系统的集成帐号,一类是混合帐号。选择第一类帐号进行安装;配置服务器端网络库:SQL Server支持多种网络库,这些网络库必须与操作系统的网络协议共同工作,才能实现客户机与数据库服务器的通信。安装完成后,可以通过操作系统的开始菜单操作:“开始”―>SQL Server”->

南昌大学单片机补考试题及答案

一、单项选择题(本大题共5小题,每小题2分,共10分) 1.MCS-51的并行I/O口读-改-写操作,是针对该口的( D ) A.引脚 B.缓冲器 C.地址线 D.内部锁存器 2.假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后SP的值为(C ) A.35H B.38H C.37H D.20H 3.若MCS-51单片机的晶振频率为6MHz,定时器/计数器作计数器使用时,其最高的输入计数频率是(C ) A.1MHz B.500KHz C.250KHz D.125KHz 4.MOVX A,@DPTR指令中源操作数的寻址方式是( B ) A.寄存器寻址 B.寄存器间接寻址 C.直接寻址 D.立即寻址 5.在远距离数据传送时,一般采用______传送方式。( D ) A.串行 B.并行 C.模拟 D.数字 二、填空题(本大题共9小题,每空1分,共10分) 6.MCS-51单片机中有两个16位寄存器,其中一个是_程序计数器PC _____,它没有地址,用户不能对其读写;另一个是_ DPTR _____,常用于存放基址地址。 7.若不使用MCS-51片内程序存储器,引脚EA必须接_地或“0”电平_____。 8.当(RS1,RS0)=(1,0)时,工作寄存器R2对应内部RAM中的__12H____字节单元。 9.执行当前指令后,PC内容为______。 10.单片机与外部数据进行信息交换时,通过__数据总线____总线交换信息的内容。 11.MCS-51响应_串行口_____中断时,其中断标志只能由软件清除。 12.汇编语言程序一般有四种结构形式,即:顺序结构、分支结构、__循环____和子程序结构。 13.用串行口扩展并行口时,串行口工作方式应选为__方式0____。 14.ADC0809是____8__位逐次逼近型A/D转换芯片。 三、名词解释(本大题共3小题,每小题3分,共9分) 15.机器语言:在单片机中,用二进制代码表示的指令、数字和符号简称为机器语言。 16.RAM:随机存储器 17.单工:信息在两点之间只能单方向发送的工作方式。 四、简答题(本大题共5小题,每小题5分,共25分) 18.若80C51的片内ROM内容已不符合要求,那么片内其它硬件如何继续使用? 答:把80C51的EA引脚接地,片外扩接EPROM芯片,就等于宣布片内ROM作废,完全执行片外EPROM中的程序。这样,片内硬件资源不受影响,可继续使用。 19.在8051扩展系统中,程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不 会发生冲突? 答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、写控制线,所以不会发生地址冲 1

南昌大学单片机实验报告

实验一I/O口输入输出实验 一、实验目的 掌握单片机P1口、P3口的使用方法。 二、实验内容 以P1口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验步骤 1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0到CPU 模块的RXD(P3.0 口);用8位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块JD8(P1 口)。 2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。 五、实验参考程序 ;//****************************************************************** ;文件名: PortforMCU51 ;功能:I/O口输入、输出实验 ;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口); ; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。 ;//******************************************************** ********** DIR BITP3.0 ORG 0000H LJMP START ORG 0100H START: OUTPUT1: MOV A, #0FEH MOV R5, #8

LOOP1: CLR C MOV C,DIR JC OUTPUT2 MOV P1, A RL A ACALL DELAY DJNZ R5, LOOP1 SJMP OUTPUT1 OUTPUT2: MOV A, #07FH MOV R5, #8 LOOP2: CLR C MOV C,DIR JNC OUTPUT1 MOV P1, A RR A ACALL DELAY DJNZ R5,LOOP2 SJMP OUTPUT2 DELAY: MOV R6,#0 DELAYLOOP1: MOV R7,#0 DELAYLOOP2: NOP NOP DJNZ R7,DELAYLOOP2 DJNZ R6,DELAYLOOP1 RET END 六、实验结果 当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。 七、结果分析 程序通过查询方式不断检测P3.0口的输入状态,当P3.0输入为0时,由P1口通过左移指令RL轮流输出低电平驱动LED发光,在左移时通过软件延时控制LED亮的时间;当P3.0输入为1时,由P1口通过右移指令RR轮流输出低电平驱动LED发光,在右移时同样通过软件延时控制LED 亮的时间,如此循环扫描查询,便可实现流水灯的效果。

南昌大学C语言期末考试题

一、单项选择题(每空2 分,共50 分) (请将各小题正确答案的字母序号填到相应小题的下划线上) 得分 评阅人 1. C语言的运算符按运算对象的数目可以分为。 A) 单目运算一种 B) 单目和双目运算符 C) 单目、双目和三目运算符D) 单目、双目、三目运算和四目运算符 2. C语言表达式2/5*10的值是。 A) 0.04 B) 4 C) 4.0 D) 0 3. 已知变量f和i的类型说明如下: float f=12.34; int i; 则以下符合C语言语法的表达式是。 A) i=(int)f%5 B) i=int(f)%5 C) i=f%5 D) i=(int f)%5 4. 能正确表示数学式1≤x≤5的C语言表达式是。 A) 1 <=x<=5 B) (x> =1)&(x<=5 ) C) (x>=1 )&&(x<=5) D) (1 < =x)||(5> =x) 5. 设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,则C语言表达式c*i+c*f-i+100值的数据类型为。 A) int B) float C) char D) 不确定 6. 在下列选项中,合法的C语言用户标识符的是。 A)int B)sin C)if D)i+j 7. C程序的执行从开始。

A) 程序中的第1个语句 B) 程序中的第1个函数 C) 名为main 的函数 D) 包含文件的第1个函数 8. 凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。 A) 自动(auto) B) 静态(static) C) 字符串D) 字符或字符型变量值 9. 以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是。 main() {int x,y; scanf("x=%d,y=%d",&x,&y); printf("x+y=%d",x+y); } (说明:用表示换行符,用_表示空格符) A) 10_20 B) x=10,y=20 C) 10 D) x=10 20 y=20 10. 下面程序的运行结果是。 main() { int a,b; a=32767; b=a+1; printf("a=%d,b=%d\n",a,b);

南昌大学《MATLAB与控制系统仿真》实验报告综述

实验报告 实验课程: MATLAB与控制系统仿真 姓名: 学号: 专业班级: 2016年 6月

目录实验一 MATLAB的环境与基本运算(一) 实验二 MATLAB的环境与基本运算(二) 实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB的环境与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表2 MA TLAB算术运算符 表4 MATLAB逻辑运算符

表5 MATLAB特殊运算 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四、实验内容 1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3.学习使用help命令。 4.窗口命令 ● close ● close all ● clc ● hold on ● hold off 了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。5.工作空间管理命令 ● who ● whos ● clear 6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺

南昌大学单片机实验指导书(2015简化版)

微机原理与接口技术实验指导书 机电工程学院 2010年3月

实验一拼字程序(基础实验) 一、实验目的 掌握汇编语言设计和调试方法。 二、实验容 把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。 三、实验说明 通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。 四、主要仪器设备及耗材 PC机、WAVE软件 五、参考程序框图 六、参考程序(略)

实验二清零实验(基础实验) 一、实验目的 1. 掌握存储器读写方法。 2. 了解存储器的块操作方法。 二、实验容 1. 指定部RAM中某块的起始地址和长度,要求能将其容清零。 2. 指定外部RAM中某块的起始地址和长度,要求能将其容清零。 3. 指定外部RAM中某块的起始地址和长度,要求能将其容置为某固定值(如0FFH)。 三、实验说明 通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以 了解单片机编程、调试方法。 四、实验仪器和设备 PC机、WAVE软件。 五、参考程序框图 存储器块清零参考程序框图 六、参考程序(略) 实验三数据块传送程序(基础实验)

一、实验目的 1.了解存的移动方法。 2.加深对存储器读写的认识。 二、实验容 将指定源地址和长度的存储块移到指定目标位置。 三、实验说明 块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免? 四、实验仪器和设备 PC机、WAVE软件。 五、参考程序框图 存储块移动参考程序框图 六、参考程序(略)

南昌大学PLC实验报告讲解

实验一三相异步电动机接触器点动控制线路 (2) 实验二三相异步电动机的可逆运转控制 (4) 实验三通电延时型控制线路 (6) 实验四可编程控制器的基本指令编程练习 (8) 实验五喷泉的模拟控制 (10) 实验六交通灯的模拟控制 (13) 实验七液体混合的模拟控制 (16)

实验一 三相异步电动机接触器点动控制线路 一、概述 三相笼式异步电机由于结构简单、性价比高、维修方便等优点获得了广泛的应用。在工农业生产中,经常采用继电器接触控制系统对中小功率笼式异步电机进行点动控制,其控制线路大部分由继电器、接触器、按钮等有触头电器组成。 图2是三相鼠笼异步电动机接触器点动控制线路(电机为Y 接法) 起动时,合上漏电保护断路器及空气开关QF ,引入三相电源。按下起动按钮SB2时,交流接触器KM1的线圈通电,主触头KM1闭合,电动机接通电源起动。当手松开按钮时,接触器KM1断电释放,主触头KM1断开,电动机电源被切断而停止运转。 FR1 FU1KM1 QF L1 L2 L3 L KM1 M 3~ FR1 N FU2 FU2 L SB1 SB2 二、实验目的 1、 了解时间继电器的结构,掌握其工作原理及使用方法。 2、 掌握Y-Δ起动的工作原理。 3、 熟悉实验线路的故障分析及排除故障的方法。 三、实验设备 序号 设备名称 使用仪器名称 数量 1 DL-CX-001 三相交流电源 1 2 WD01G 空开、熔断器模块 1 3 WD04G 热继电器模块 1 4 WD09G 按钮模块 1 5 WD02G 接触器模块 1 6 M04 三相鼠笼式异步电动机 1 四、实验内容及步骤 1、检查各实验设备外观及质量是否良好。 2、按图2三相鼠笼式异步电动机接触器点动控制线路进行正确的接线。先接主回路,再接控制回路。自己检查无误并经指导老师检认可后方可合闸通电实验。 (1)、热继电器值调到1.0A 。 (2)、合上漏电保护断路器及空气开关QF ,调节三相电源输出220V 。 (3)、按下起动按钮SB2时,观察电机工作情况,体会点动操作。(注意,操作次数不宜频

南昌大学C期末考试试卷(答案全)

南昌大学2003 ~2004 学年第二学期期末考试试卷A卷 一单项选择题 1.‘A’的ASCII码为65,n为int型,执行n =‘A’+‘6’-‘3’;后,n的值为B。 A)‘D’ B) 68 C) 不确定的值D) 编译出错 2.下列变量名中, A 是合法的。 A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是C。 A)0 B) 5 C)6 D)2 4.若有定义int a=3, *p=&a ;则*p的值是 B 。 A)常量a的地址值B)3 C)变量p的地址值D)无意义 5.下列关于指针运算的各叙述中,不正确的叙述是 D 。 A)指向同一数组的两个指针,可以进行相等或不等的比较运算; B)可以用一个空指针赋值给某个指针; C)指向数组的指针,可以和整数进行加减运算; D)指向同一数组的两个指针,可以进行有意义的相加运算。 6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。 A)‘x’&&‘y’ B)x<=y C)x || y+z && y-z D) !((x

2011南昌大学单片机期末考题

一、填空题(每空1分,共10分) 1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为___低电平__. 2.P0通常用作单片机系统的地址/数据总线. 3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为10H~17H . 4.返回地址(或断点)是_在程序中断或子程序调用时_的程序计数器的内容。 5.中央处理器CPU是单片机的核心,它完成_运算和控制功能 . 6.单片机的工作过程,实际上就是周而复始地取指令和执行指令的过程 . 7.所谓中断源即是_引起中断的原因(或能发出中断请求的来源) . 8.端口(或称口)是_接口电路中已编址并能进行读或写操作的寄存器 . 9.异步串行近程通信时的传送信号是TTL电平信号 10.若累加器A中的数据为01110010B,则PSW中的P=0. 二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.MCS—51单片机的复位信号是()有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过()。 A.2μs B.4μs C.8μs D.1ms 3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用()指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 4.能够用紫外光擦除ROM中程序的只读存储器称为()。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 5.在片外扩展一片2764程序存储器芯片要()地址线。 A.8根 B.13根 C.16根 D.20根 6.定时器/计数器工作方式1是()。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为() A.2MHz B.1MHz C.500KHz D.250KHz

南昌大学传感器实验报告终稿

实验报告 实验课程:传感器与检测技术试验 学生姓名: 学号: 专业班级:

目录 实验一差动变压器的应用——电子秤 (2) 实验二热电偶的原理及分度表的应用 (6) 实验三热敏电阻测温演示实验 (10)

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 实验一差动变压器的应用——电子秤 一、实验项目名称 差动变压器的应用——电子秤 二、实验目的 了解差动变压器的实际应用 三、实验基本原理 差动变压器是把非电量变化转换成线圈互感量的变化。这种传感器是根据变压器的基本原理制成的,并且次级绕组用差动的形式连接。 四、主要仪器设备及耗材 音频振荡器、差动放大器、移相器、相敏检波器、低通滤波器、V/F表、电桥、砝码、振动平台。 有关旋钮初始位置: 音频振荡器调至4KH Z,V/F表打到2V档。 五、实验步骤 (1)按图1接线,组成一个电感电桥测量系统,开启主、副电源,利用示波器观察调节音频振荡器的幅度旋钮,使音频振荡器的输出为V P-P值为lV。

(2)将测量系统调零,将V/F表的切换开关置20V档,示波器X轴扫描 时间切换到0.1~0.5ms(以合适为宜),Y轴CHl或CH2切换开关置5V/div, 音频振荡器的频率旋钮置5KHz,幅度旋钮置中间位置。开启主、副电源,调节 电桥网络中的W1,W2,使V/F表和示波器显示最小,再把V/F表和示波器Y 轴的切换开关分别置2V和50mv/div,细条W1和W2旋钮,使V/F表显示值最小。再用手按住双孔悬臂梁称重传感器托盘的中间产生一个位移,调节移相器的 移相旋钮,使示波器显示全波检波的图形。放手后,粱复原。 (3)适当调整差动放大器的放大倍数,使在称重平台上放上一定数量的砝码 时电压表指 示不溢出。 (4)去掉砝码,必要的话将系统重新调零。然后逐个加上砝码,读出表头读数,记下实 验数据,填入下表; Wq 0.02 0.04 0.0.6 0.08 0.10 V P-P(V)0.021 0.033 0.047 0.061 0.077 (5)去掉砝码,在平台上放一重量未知的重物,记下电压表读数,关闭主副 电源。 (6)利用所得数据,求得系统灵敏度及重物重量。 注意事项: (1)砝码不宜太重,以免粱端位移过大。 (2)砝码应放在平台中间部位,为使操作方便,可将测微头卸掉。 线性度

南昌大学实验报告

南昌大学实验报告 学生姓名:学号:专业班级:_____________ 实验类型:■验证□综合□设计□创新实验日期: 2012-12 实验成绩:______ 实验三三容水箱的专家控制实验 一、实验目的 ①掌握三容水箱的基本构成,能够熟练地运用专家PID控制原理,来实现 对三容水箱的液位控制。 ②进一步掌握专家控制原理,清楚了解PID控制的过程和相应的matlab程 序实现方法。 ③了解matlab中关于的相关绘图函数的使用方法,懂得有关向量的定义及 循环操作,熟练掌握MATLAB的编程语句。 二、实验设备及条件 微型计算机,且此计算机必须装有matlab软件。 三、实验原理 专家系统是一类包含知识和推理的智能计算机程序,其内部包含某领域专 家水平的知识和经验,具有解决专门问题的能力。 直接型专家控制器用于取代常规控制器,直接控制生产过程或被控对象。 具有模拟(或延伸、拓展)操作工人智能的功能。该控制器的任务和功能相对 比较简单,但需要在线、实时控制。因此,其知识表达和知识库也比较简单, 通常由几十条产生式规则构成,以便于增删和修改。直接型专家控制器的结构 如a图中的虚线所示。 专家PID控制的实质是:基于受控对象和控制规律的各种知识,无需知道 被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直 接型专家控制器。 本实验的专家控制器输入为h3的设定值,而输出为阀门开度kk,根据实 验的要求设计专家PID控制器的基本原理框图如下图所示Array 图(a)

三容水箱结构框图如下 四、实验要求 通过专家PID 控制,随着下水箱流量q4的正弦变化,要求能够通过调节阀门开度kk 来使第三个水箱中的下水箱液位h3稳定在设定值,并且其他两水箱水不会流尽和溢出。 五、 实验设计过程及结果 1、 三容水箱数学模型 可应用实验一建立的三容水箱数学模型 3 33433| 0.45)+i *pi *(2.58sin |*343222 321112kk *1q 21h h h s q q h y q s q q h h y q s q q h h y q a ?+=-=?=-=?=-=?==

南昌大学单片机课程教学设计

课程设计任务书 课程名称:微机原理与接口技术 题目: B5901112154型单片机系统的设计 学院:机电工程学院系:机电工程系 专业:机械设计制造及其自动化 班级:机制124班 学号: 5901112154 学生姓名: 起讫日期: 6.16---6.23 指导教师:胡瑢华 系分管主任: 审核日期:

说明 BEIYON1 - 副本.DSN 打开上面的protus软件可以看到完整的电路图 1、课程设计任务书由指导教师填写,并经学院审定后下达给学生。 2、进度表是课程设计工作检查的主要依据。 3、学生根据指导教师下达的任务书,独立完成课程设计。 4、本任务书在课程设计完成后,与说明书、电路原理图和程序清单

等资料一并上交指导教师,作为课程设计的主要档案资料。

一、课程设计的要求和内容(包括原始数据、技术要求、工作要求) 1、工作要求 单片机系统在各行各业自动控制领域的应用越来越广泛。《微机原理与接口技术》课程设计实践教学环节要求同学们针对实际需求,灵活应用所学知识,独立进行系统综合设计,以达到巩固单片机基础知识、掌握单片机系统开发过程和提高动手实践能力的目的。 2、技术要求 每位学生应独立完整地设计一套单片机系统。该系统CPU采用AT89S51芯片,晶振为12MHz。硬件模块可包括:a)显示模块,采用串行口串接74HC164芯片控制5个7段数码管;b)键盘模块,采用2X2行列键盘;c)声音控制模块,采用蜂鸣器发声;d)A/D采集模块,采用ADC0809采集电位计的电压值;e)D/A输出模块,采用DAC0832输出某种波形。 要求实现以下功能: (1)系统上电后,按照从下进入,在数码管上显示学号的后五位12154。 (2)查询键盘,当用户按1至4号键时在数码管上显示相应数值(例如按1键数码管显示5个1,以此类推),同时伴随蜂鸣器响(只要按键处于按下的状态蜂鸣器就响,按多久就响多久,按键弹起后终止)。需编制键盘去抖动程序(按键中断接INT0,行线接P1.1,P1.2,列线接P1.5,P1.6)。 (3)按键长按(超过1.5秒)则按键可进行功能选择(1号键显示学号,3号键A/D采集,0号键D/A转换功能运行)。 (4)采用译码方式,通过D/A输出频率为500Hz梯形波 (5)采用译码方式,启动通道0的A/D转换,进行采样,A/D转换结束后(通过INT1中断),将采集到的值转换为BCD码,并予以显示(使用三个七段数码管显示例如显示3.75)。 3、此次课程设计采用分级评分,具体操作如下:

最新南昌大学实验报告-声速测量

声速测量(实验报告格式)课程名称:大学物理实验 实验名称:声速测量 学院:专业班级: 学生姓名:学号: 实验地点:104 座位号: 实验时间:第周星期一下午16点开始 一、 二、实验项目名称:声速测量 三、实验目的: 1、学会测量超声波在空气中的传播速度方法。 2、

3、理解驻波和振动合成理论。 4、学会逐差法进行数据处理。 5、了解压电换能器的功能和培养综合使用仪器的能力。 四、 五、 实验原理: 根据声速、声波频率、波长间的关系:λf v =,测得声波的频率和波长,就可求的声速。声波频率由信号发生器产生,可直接显示,故只需测得声波波长即可。有驻波法和相位法。 1、驻波法 实验时将信号发生器输出的正弦电压信号接到发射超声换能器上,超声发射换能器通过电声转换,将电压信号变为超声波,以超声波形式发射出去。接收换能器通过声电转换,将声波信号变为电压信号后,送入示波器观察。设沿x 方向射出的入射波方称为:)2cos(1x wt A y λ π -=,反射方程: )2cos(2x wt A y λπ+=,A 为声源振幅,w 为角频率,x λ π2为由于波动传播到坐标x 处引起的相位变化。所以合振动方程:

y=y1+y2=wt x A cos )2cos 2(λπ ;在声驻波中,波腹处声压(空气中 由于声扰动而引起的超出静态大气压强的那部分压强)最小,而波节处声压最大。当接收换能器的反射界面处为波节时,声压效应最大,经接收器转换成电信号后从示波器上观察到的电压信号幅值也是极大值,所以可从接收换能器端面声压的变化来判断超声波驻波是否形成。移动卡尺游标,改变两只换能器端面的距离,在一系列特定的距离上,媒质中将出现稳定的驻波共振现象,此时,两换能器间的距离等于半波长的整数倍,只要我们监测接收换能器输出电压幅度的变化,记录下相邻两次出现最大电压数值时(即接收器位于波节处)卡尺的读数(两读数之差的绝对值等于半波长),则根据公式:就可算出超声波在空气中的传播速度,其中超声波的频率可由信号发生器直接读得。 2、相位法 波是振动状态的传播,也可以说是位相的传播。在声波传播方向上,所有质点的振动位相逐一落后,各点的振动位相又随时间变化。声波波源和接收点存在着位相差,而这位相差则可以通过比较接收换能器输出的电信号与发射换能器输入的正弦交变电压信号的位相关系中得出,并可利用示波器的李萨如图形来观察。相差和角频率、传播时间t 之间有如下关系: 同时有,,,(式

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