文档库 最新最全的文档下载
当前位置:文档库 › 单片机实验练习题

单片机实验练习题

单片机实验练习题
单片机实验练习题

1.利用8255A可以扩展个并行口,用区分往控制寄存器中写的数据是置位/复位控制字

还是方式控制字。

2.执行MOVX A,@DPTR指令时, MCS—51产生的控制信号是。

3.当单片机复位时PSW= H,这时当前的工作寄存器区是区,R6所对应的存储单元地

址为 H。

4.MCS—51单片机的复位信号是有效。

5.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节

指令后,(PC)= ,(61H)= ,(62H)= 。

6.MCS-51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。

7.MCS-51单片机有级优先级中断。

8.串行口方式2接收到的第9位数据送寄存器的位中保存。

9. 已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,则它的

字形代码应为。

10.堆栈的特性是,8051的堆栈一般开辟在,其堆栈指针是。

11.定时器/计数器的工作方式3是指得将___ __拆成两个独立的8位计数器。而另一个定时器/

计数器此时通常只可作为___ __使用。

12.51系统单片机的EA引脚保持高电平,当地址号小于4K时,CPU访问的是程序存储器,

当地址号大于4K时,CPU访问的是程序存储器,当EA引脚保持低电平,CPU只访问

程序存储器,对于8031来说,它的EA引脚必须接。

13.51系列单片机上电复位后,堆栈区的最大允许范围是个单元。

14.在多机通信中,若字符传送率为100B/s,则波特率等于。

15.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为;各从机此前必须将其

SCON 中的REN位和位设置为1。

16.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为___ ____。

17.若累加器A中的数据为01110010B,则PSW中的P=__ ___。

18.在中断服务程序中现场保护和现场恢复期间,中断系统应处在_ ___。

19.8031单片机有并行口,它们不是一般的双向口,而是。因此CPU在执行输

入操作时,应先把口内的置成,才能完成此操作。

20.在8031中,设SP的当前值为50H,若在2000H存入指令HERE:SJMP HERE,当有外部中断

0(首地址为0003H),由此处跳出转向执行中断服务程序,此时SP= (SP)/(SP-1)= PC= 。

21.在MCS-51中,需要外加电路实现中断撤除的。

22.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为1;各从机此前必须将其SCON中

的REN位和位设置为1。

23.具有8位分辨率的A/D转换器,当输入0V-5V电压时,其最大量化误差是。

24.若MCS-51单片机的晶振频率为6.144MHz,ADC0809的CLOCK引脚与单片机的ALE信号相连,

则ADC0809的时钟信号频率为。

25.若MCS-51单片机采用12MHz的晶振,其复位高电平脉冲时间应该超过。

26.MCS-51系统中,若要使PSEN信号有效,应采用的指令操作码为,该信号有效表示CPU

要从存储器读取信息。

27.用串口扩展并口时,串行接口工作方式应选。

28.80C51复位后

(1)CPU从 H单元开始执行程序。

(2)SP的内容为 H,第一个压入堆栈的数据将位于RAM的 H单元。

(3)ORL A,#4指令执行后,PSW寄存器的内容将等于 H。

29.如果手中仅有一台示波器,可通过观察引脚的状态,来大致判断MCS-51单片机正在工作?

30. MCS-51 与DAC0832 接口时,有、、直通式三种连接方式。

31.若A中的内容为67H,那么P标志位的值为。

32.单片机与普通计算机的不同之处在于其将、和三部分集成于一块芯片上。33.当EA=1时,MCS-51单片机将从存储器的地址0000H开始执行程序。

34.在多机通信中,若字符传送率为100B/s,则波特率等于。

35.存储器组织

(1)若(PSW)=18H,则有效R0的地址为。

(2)对8051来说,MOV A,@R0指令中的R0之取值范围最大可为 H。

(3)位地址7FH还可写成。

36.若某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辨率为 V。

37. MCS-51系统中,若要使RD信号有效,应采用的指令操作码为,该信号有效表示CPU 要从或读取信息。

38.若8031的fosc=12MHz,则其两个定时器对重复频率高于 MHz的外部事件是不能正确计数的。

39.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。

40.MCS-51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。

41.INT0 和INT1的中断标志分别是和。

42.某存储器芯片有12根地址线,8根数据线,该芯片有个存储单元?

43.MCS-51的堆栈只可设置在,堆栈寄存器SP是位寄存器。

44.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为。

45.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为。

46.若累加器A中的数据为01110010B,则PSW中的P= 。

47.8052片内RAM有字节。

48.在运作模式3下,欲使TH0使停止运作,应执行一条CLR 指令。

49.在多机通信中,主机发送从机地址呼叫从机时,其TB8位为;各从机此前必须将其SCON 中的REN位和位设置为1。

二、判断题

1.ADC0809是8位逐次逼近式模/数转换接口。()

2.8051与8751的区别在于内部程序存储器的类型不同。()

3.内部RAM的位寻址区,既能位寻址,又可字节寻址。()

4.各中断源发出的中断请求信号,都会标记在MCS-51的SCON寄存器中。()

5.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。()

6.MCS-51的串行口是全双工的。()

7.MOV @R0,P1在任何情况下都是一条能正确执行的MCS-51指令。()

8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。()

9.MCS-51的程序存储器只是用来存放程序的。()

10.PC存放的是当前正在执行的指令。()

11.程序计数器PC(Program Counter)是管理程序执行次序的特殊功能寄存器。()

12.指令MOVX R0, @DPTR可以实现将片外RAM或者I/O的值传送给工作寄存器()

13.若MCS-51单片机使用的晶振是12MHz,则其机器周期为1μs。()

14.采用LED数码管显示时,由数码转换为笔划信息可以采用软件译码或硬件译码。()

15.MCS-51单片机外部中断0的入口地址是0023H。()

16.指令周期是执行一条指令的时间。()

17.特殊功能寄存器IE,与定时器/计数器的控制无关。()

18.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。()

19.同一级别的中断请求按时间的先后顺序响应。()

20. 立即寻址是被操作的数据本身在指令中,而不是它的地址在指令中。()

21. MCS—51外扩I/O与外RAM是统一编址的。( )

22.某特殊功能寄存器的字节地址为80H,它既能字节寻址,也能位寻址。()

23.串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。()

24.特殊功能寄存器SP内装的是栈顶首地址单元的内容。()

25.片内RAM与外部设备统一编址时,需要专门的输入/输出指令。()

26.各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。()27.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的。()

28.采用LED数码管显示时,由数码转换为笔划信息可以采用软件译码或硬件译码。()29.串行口数据缓冲器SBUF是可以直接寻址的专用寄存器。()

30.DAC0832是8位D/A转换器,其输出量为数字电流量。()

31.串行通讯发送时,指令把TB8位的状态送入发送SBUF。()

32.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR 是为访问数据存储器提供地址。()

33.各中断源发出的中断请求信号,都会标记在MCS-51的TCON寄存器中。()

34.使用可编程接口必须初始化。()

35.锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。()

36.在MCS-51单片机中,1个机器周期等于1us。()

37.定时器T0的启停由TR0控制。()

38.8051单片机中的串口波特率发生器可以由定时器1提供,也可以定时器2提供。()39.MOV @R0,A在任何情况下都是一条能正确执行的MCS-51指令。()

40.SBUF作为串口的发送和接收缓冲寄存器,其中存放的是8位数据。()

41.如JC rel发生跳转时,目标地址为当前地址加上偏移量rel。( )

42.MUL AB的执行结果是高8位在A中,低8 位在B中。( )

43.8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。 ( )

44.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。( ) 45.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。( ) 46.TMOD中的GATE=1时,表示由两个信号控制定时器的起停。( )

47.MCS—51指令中,16位立即数传送指令是:MOV DPTR,#data16。 ( )

48.在接口芯片中,通常都有一个片选端CS(或CE),作用是当CS为低电平时该芯片才能进行读写操作。( )

三、简答题

1.80C51的外部中断有哪几种触发方式,分别是什么?它们对触发脉冲或电平有什么要求?

2.MCS-51单片机的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz时,一

个单片机时钟周期是多少微秒?

3.若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令:2000H

L CALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?

4.为什么定时器T1用做串行口波特率发生器时,常采用工作方式2?若已知系统时钟频率、通信选用的波特率,如何计算定时器的初值?

5.为什么 MCS-51外扩的程序存储器和数据存储器地址相同而不会发生总线冲突?

6.定时器/计数器作定时器用时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?若MCS-51单片机的晶振频率为6MHz,定时器/计数器的外部输入最高计数频率为多少?

7.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?要求给出两种方法。

8.执行过某LCALL指令后,堆栈的内容如图1所示。试问:这条LCALL指令的首地址是多少?它执行前SP的内容等于多少?子程序中两条保护现场指令依次是什么?

图1 堆栈区的已知数据

9.80C51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?

10.MCS-51单片机的内部RAM共有128个字节存储单元(00H~7FH),根据功能可将其划分为三个区域,试述这三个区域的特点及其首末地址。

四、程序分析题

1.有一长度为10字节的字符串存放在8031单片机内部RAM中,其首地址为40H。要求将该字符串中每一个字符加奇校验位。(以调用子程序的方法来实现)

ORG 1000H

MOV R0,#40H

MOV R7,#10

NEXT:MOV A,【1】

ACALL SEPA

MOV @R0,A

INC R 0

DJNZ 【2】 ,NEXT

SJMP $

SEPA : ADD A ,#00H 【3】 PSW.0,SRET ORL A , 【4】

SRET :【5】

2.已知如图1并给出下列程序,请在读图并理解程序后回答下列问题: (1)程序功能为 【6】 。

(2)ADC0809的口地址为 【7】 。

(3)EOC 的作用是 【8】 。 (4)程序运行结果存于 【9】 。

ADC :MOV DPTR ,#7FF0H MOV R 0,#0A0H MOV R 2,#8 MOV A ,#0

LOOP :MOVX @DPTR ,A JB P3.3,$

MOVX A ,@DPTR

MOVX @R 0,A 1NC DPTR 1NC R 0 DJNZ R 2,LOOP

3.若(50H )=40H ,试写出执行以下程序段后累加器(A)= 【10】 ,寄存器(R0)= 内部RAM 的(40H)= 【12】 ,(41H)= 【13】 ,(42H)= 【14】 MOV A , 50H MOV R0, A MOV A , #10H

MOV @R0, A ADD A, #3BH MOV 41H, A MOV 42H, 41H 4.如果(DPTR )=447BH ,(SP )=42H ,(40H )=80H ,(41H )=70H ,(42H )=60H ,则执行下列指令后:

POP DPH POP DPL POP A

则:(DPH )= 【1】 ;(DPL )= 【2】 ;(A )= 【3】 ;(SP )=【4】 ; 5.已知如图并给出下列程序,请在读图并理解程序后回答下列问题:

(1)程序功能为 【6】 。

图 1

(2)ADC0832的工作方式为【7】。

(3)1# ADC0832输入寄存器的地址为【8】。

(4)2# ADC0832 DAC寄存器的地址为【9】。

MOV DPTR,#0DFFFH

MOV A,#data1

MOVX @DPTR,A

MOV DPTR,#0BFFFH

MOV A,#data2

MOVX @DPTR,A

MOV DPTR,#7FFFH

MOVX @DPTR,A

6.单片机用内部定时方式产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz,请填空完成此功能。

MOV TMOD, #00H

CLR P1.0

MOV TH0, 【10】

MOV TL0, 【11】

SETB TR0

LOOP:JBC TF0,L1

【12】

L1:【13】

【14】

【15】

SJMP LOOP

7.如果(DPTR)=5678H,(SP)=42H,(3FH)=12H ,(40H)=41H,(41H)=50H,(42H)=80H,则执行下列指令后:(10分)

POP DPH

POP DPL

POP SP

RET

则:(PC H) = ;(PC L)= ;(DPH)= ;(DPL)= ;(SP) =

8.图1为用DAC0832芯片设计单缓冲方式的D/A转换接口电路,以下程序功能是使DAC0832输出负向锯齿波,请填空。(8分)

MOV R0,

MOV A,

LOOP:

LCALL DELAY

SJMP LOOP

DELAY: ....

RET

9.程序如下,请回答:(7分)

(1)执行POP 10H后堆栈内容?

(2)执行M5A:SJMP M5A后,(SP)= ,(20H)= 。

2506H M5:MOV SP,#58H

2509H MOV 10H,#0FH

250CH MOV 11H,#0BH

250FH ACALL XHD

2511H MOV 20H,11H

2514H M5A:SJMP M5A

XHD: PUSH 10H

PUSH 11H

POP 10H

POP 11H

RET

10.设R0=4BH,A=84H,片内RAM(4BH)=7FH,(40H)=20H

MOV A,@R0

MOV @R0,40H

MOV 40H,A

MOV R0,#35H

执行程序后,A= ,(4BH)= ,(40H)= 。

11.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:POP DPH

POP DPL

MOV DPTR,#4000H

RL A

MOV B,A

MOVC A,@A+DPTR

PUSH ACC

MOV A,B

INC A

MOVC A,@A+DPTR

PUSH ACC

RET

ORG 4000H

DB 10H,80H,30H,50H,30H,50H

执行程序后,A= ,SP= ,(51H)= ,(52H)= ,PC= 。

12.图2为用DAC0832芯片设计单缓冲方式的D/A转换接口电路,以下程序功能是使DAC0832输出15个正向阶梯波,请填空。

MOV R0,

CLR A

UP:

ADD A,

SJMP UP

DELAY: ......

RET

13.下列程序段执行后,(R0)= 【1】,(7EH)= 【2】,(7FH)= 【3】。

MOV R0,#7EH

MOV 7EH,#0FFH

MOV 7FH,#40H

INC @R0

INC R0

INC @R0

14.执行下列程序段后,(A)= 【4】,(B)= 【5】。

MOV A,#0AH

MOV B,#20H

MUL AB

15.MOV A,#0FBH

MOV PSW,#10H

ADD A,#7FH

PSW=00,执行完上述程序段后,将PSW各位状态填入下表:

16.已知:(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=【14】内部RAM(0AH)=【15】,(0BH)=【16】。

PUSH DPL

PUSH DPH

17.请分析下面程序执行后的操作结果,(A)= 【17】,(R0)= 【18】。

MOV A,#60H

MOV R0,#40H

MOV @R0,A

MOV 41H,R0

XCH A,R0

五、设计题

1.在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。画出连接示意图,写出A机发送的完整程序。要求采用串口中断编程。

2.请回答:

(1)下图中外部扩展的程序存储器和数据存储器容量各是多少?

(2)三片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)

(3)请编写程序,要求:

将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;

3.单片机8031与存储器连接如图2,其中两片EPROM2716为外部程序存储器,两片RAM6116地址分别为外部数据存储器,请完成:

(1)写出每一片程序和数据存储器的地址范围。

(2)将2# 6116 的前4个单元的内容送入40H~43H中。

(1)写出8255A 的PA 、PB 、PC 口和控制口的地址。(未接入的地址位为1)

(2)请编写出使3位LED 共阴极显示器从左至右显示“0.97”的程序段。

5. 输出周期为400μs ,占空比为

10:1的矩形脉冲(

osc f =6MHz )。

6.单片机8031外部扩展两片6264和一片8255要求:(1)画出扩展连线图(要求采用全译码方式) (2)写出各芯片的地址范围分别是多少?

7. 编写程序,要求使用T1中断方式定时,实现在P1口输出如图3所示波形,循环往复。(

osc f =6MHz )。

a

b c

d e f g

dp

图3 P1口各位输出的波形图

8.单片机8031外部扩展一片6264、一片2764和一片74LS245。

要求:(1)画出扩展连线图(要求采用全译码方式)。

(2)写出所扩展的程序存储器、数据存储器的容量及各芯片的地址范围。

9.单片机8031外部扩展两片EPROM2716为外部程序存储器,两片RAM6116地址分别为外部数据存储器,请完成:

要求:所扩展的程序存储器和数据存储器的空间都必须从0000H开始的连续空间,即采用全译码方式。

(1)8031与3-8译码器,2716、6116芯片的连线;

(2)写出每一片程序和数据存储器的地址范围;

(3)将第(1)片6116的第5个单元送入第(2)片6116中的第10个单元。

10.编程实现:用定时器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为1s,占空比为20%的脉冲。采用中断方式,设系统的时钟频率为12MHZ。

单片机实验讲义

实验一流水灯 实验目的: 1、熟悉用单片机产生流水灯的效果; 2、掌握循环移位的工作原理和操作方法; 3、学会使用C51 封装好的函数库C51LIB,延时函数的时间估算。 实验仪器: 电脑,TX-1C单片机实验板,万用表USB-232线,USB线。 实验原理: 实验内容: P1.0~P1.8对于Led1~Led8八个发光二极管,要求来回循环点亮,停顿时间为0.5秒。显示效果如下: Led1 Led2 Led3 Led4 Led5 Led6 Led7 Led8 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 暗暗暗暗亮暗暗暗 暗暗暗暗暗亮暗暗 暗暗暗暗暗暗亮暗 暗暗暗暗暗暗暗亮 亮暗暗暗暗暗暗暗 暗亮暗暗暗暗暗暗 暗暗亮暗暗暗暗暗 暗暗暗亮暗暗暗暗 ………………………………………………………… 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:编写3/4/5/6/7个灯循环点亮的程序。

实验二利用定时器控制数码管的显示 实验目的: 1、学会利用单片机的定时器; 2、熟悉数码管显示原理; 3、了解蜂鸣器发声原理。 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。实验原理: 2、记录实验现象。

实验三矩阵键盘检测 实验目的: 1、学会矩阵键盘的检测 2、掌握数码管静态显示原理 实验仪器: 电脑,TX-1C单片机实验板,万用表,USB-232线,USB线。 实验原理: 静态数码管显示原理:本开发板数码管为共阴极,所以要想点亮数码管,则给阳极加高电平。 实验内容: 依次按下4*4 矩阵键盘上从第1 到第12个键,同时在六位数码管上依次显示0、1、2、3、4、5、6、7、8、9、A、B。 实验步骤: 1、编程,调试,下载; 2、记录实验现象; 3、举一反三:第13个键到第16个键C、D、E、F。

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

单片机实验报告

单片机原理及接口技术 学院:光电信息科学与技术学院班级:——实验报告册 083-1 实验一系统认识实验 1.1 实验目的 1. 学习keil c51集成开发环境的操作。 2. 熟悉td-51系统板的结构和使用。 1.2实验仪器 pc 机一台,td-nmc+教学实验系统。 1.3实验内容 1. 编写实验程序,将00h—0fh共16个数写入单片机内部 ram 的30h—3fh空间。 2.编写实验程序,将00h到0fh共16个数写入单片机外部ram的1000h到100fh空间。 1.4 源程序 https://www.wendangku.net/doc/a84734757.html, 0000h mov r1,#30h mov r2, #10h mov a, #00h mov @r1, a inc r1 inc a djnz r2,loop sjmp $ end 2. org 0000h mov dptr, #1000h mov r2, #10h mov a, #00h movx @dptr, a inc dptr inc a djnz r2,loop sjmp $ end loop: loop: 1.5 实验步骤 1.创建 keil c51 应用程序 (1)运行 keil c51 软件,进入 keil c51 集成开发环境。 - 3 -(2)选择工具栏的 project 选项,弹出下拉菜单,选择 newproject 命令,建立一个新的μvision2 工程。选择工程目录并输入文件名 asm1 后,单击保存。 (3)工程建立完毕后,弹出器件选择窗口,选择 sst 公司的 sst89e554rc。(4)为工程添加程序文件。选择工具栏的 file 选项,在弹出的下拉菜单中选择 new 目录。 (5)输入程序,将 text1 保存成asm1.asm。 (6)将asm1.asm源程序添加到 asm1.uv2 工程中,构成一个完整的工程项目。 2.编译、链接程序文件(1)设置编译、链接环境 (2)点击编译、链接程序命令,此时会在 output window 信息输出窗口输出相关信息。 3.调试仿真程序 (1)将光标移到 sjmp $语句行,在此行设置断点。 (2)运行实验程序,当程序遇到断点后,停止运行,观察存储器中的内容,验证程序功能。 1.6 实验结果. 2. 4 实验二查表程序设计实验 2.1实验目的 学习查表程序的设计方法,熟悉 51 的指令系统。 2.2实验设备 pc 机一台,td-nmc+教学实验系统 2.3实验内容 1.通过查表的方法将 16 进制数转换为 ascii 码; 2.通过查表的方法实现y=x2,其中x为0—9的十进制数,以bcd码表示,结果仍以bcd 码形式输出。

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

单片机实验讲义

单片机实验讲义

DVCC单片机实验系统简介 本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。 实验平台资源: 1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程 序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围 0000H~0FEFFH;64KB片外ROM,用户可使用范围

0000H~0FEFFH。 3、实验平台的主要芯片有:1片8255可编程通用并行界面芯片、1 片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A 转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。 4、实验平台上的主要外设包括:K1~K10滑动开关、L1~L12发光二 极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。 实验系统的使用步骤: 1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口 线连接计算机的COM口和实验箱的J2串行口。

2、启动计算机,运行“DVCC52JH实验系统”。 3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。 4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱 上键盘区的“PCDBG”按钮。 5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的 “联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。 6、如果联接正常将弹出若干小窗口。如果联接失败重新执行步骤3、 4。 7、在计算机上的“DVCC实验系统”软件中,选择“编译”菜单下 的“编译连接并传送”选项,将实验程序传送到实验箱。 8、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的 “运行”按钮,设置PC起始地址,观察实验现象,验证实验结果。 9、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并 放回原处。 软件实验 实验一清零实验 一、实验目的:

dickus单片机实验

数据传送实验 实验项目类型:设计型 实验时间:2012.10.15 一、实验目的 1、掌握单片机的汇编指令系统及汇编语言程序设计方法。 2、掌握单片机的存储器体系结构。 3、熟悉Keil软件的功能和使用方法。 4、掌握单片机应用程序的调试方法。 二、设计要求 1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH单元中。 2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。 3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。 4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。 5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH 单元中。 三、实验程序流程框图和程序清单。

流程图 程序一程序二 程序三程序四程序五 程序清单 ORG 0000H MAIN: MOV R0, #30H MOV A, #00H

T1: MOV @R0, A INC R0 INC A CJNE A, #10H, T1 MOV R0, #3FH MOV R2, #10H MOV R1, #4FH T2: MOV A, @R0 MOV @R1, A DEC R0 DEC R1 DJNZ R2, T2 MOV R2, #10H MOV R1, #4FH MOV DPTR, #480FH T3: MOV A, @R1 MOVX @DPTR, A DEC R1 DEC A MOV DPL, A DJNZ R2, T3 MOV DPL, #00H MOV R2, #10H T4: MOV DPH, #48H MOVX A, @DPTR MOV DPH, #58H MOVX @DPTR, A INC DPTR DJNZ R2, T4 MOV R0, #50H MOV DPTR, #5800H MOV R2, #10H T5: MOVX A, @DPTR MOV @R0, A INC R0 INC A MOV DPL, A

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验报告

单片机实验一 实验报告 课程名称:单片机原理及应用实验姓名:陈璐 系别:信息系 专业:电气工程及其自动化年级:2012级 学号:120712041 指导教师:李莉 2015 年 6 月25 日

1.实验目的和要求 1)熟悉Keil 软件界面,以及编辑、编译、运行程序的步骤; 2)熟悉Proteus软件界面,掌握用Proteus画仿真图的方法。2.主要仪器设备 Keil 软件与Proteus仿真软件 3. 实验设计要求 利用单片机、1个开关和1个发光二极管,构成一个简单的开关检测系统的仿真电路图。单片机P3.0引脚接按钮开关,P1.0引脚接发光二极管的阴极。当开关闭合时,发光二极管亮;开关打开时,发光二极管灭;按钮开关与发光二极管没有任何电气上的联系。 单片机对开关K的状态的检测由程序检测P3.0引脚的输入电平。当开关K闭合,即P3.0脚输入低电平;当开关K打开,即P3.0脚输入高电平。使用发光二极管,阳极接+5V,阴极接P1.0端口。当程序控制P1.0输出高电平时,发光二极管D1灭;当程序控制P1.0输出低电平时,发光二极管D1亮。 4.操作方法与实验步骤 (1)Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑以下源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 #include "reg51.h" #define uchar unsigned char

#define uint unsigned int sbit in=P3^0; sbit out=P1^0; void main(void) { while(1) { in=1; if(in= =0)out=0; else out=1; } } (2)建立新文件 进入Proteus ISIS界面,单机主菜单项【文件】→“新建设计”选项,就会弹出“新建设计”窗口,窗口中提供了多种模版选择。其中横向图纸为Landscape,纵向图纸为Portrait,DEFAULT为默认模版。单击选择的模版图标,再单击“确定”按钮,即建立一个该模版的空白文件。如果直接单击“确定”按钮,即选用系统默认的DEAFAUILT 模版。 单击保存按钮,在弹出的对话框“保存ISIS设计文件”中输入文件名再单击“保存”,则完成新建设计文件的保存操作,其后缀自动为“.DSN”。 (3)设定绘图纸大小

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

单片机定时器实验报告

XXXX大学信息工程与自动化学院学生实验报告 (2009 —2010 学年第二学期) 课程名称:单片机开课实验室: 2010年 5月14日 一.实验目的: 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二.实验原理: MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。 定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。 定时器的编程包括: 1)置工作方式。 2)置计数初值。 3)中断设置。 4)启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。

在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0和T1对应的中断矢量地址分别为000BH 和001BH。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继续执行。 因此,我们在编写中断服务程序时注意。 1.在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K 字节程序存储器的任何空间。 2.在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器的信息。 3.若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在返回前再开放中断。 三.实验内容: 编写并调试一个程序,用AT89C51的T0工作方式1产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。 计算初值公式 定时模式1 th0=(216-定时时间) /256 tl0=(216-定时时间) mod 256

单片机实验报告

单片机实验报告 【实验一】 一、实验名称 KEIL基本汇编语言测试 二、实验内容 1.建立KEIL工程。添加汇编程序 2.实现将R0的内容送R6,R0的初值设置为38H。

3.实现R1里的数据52H,和R3里的数据1DH相加功能。

上面结果相加后存储到A中,值为6FH 4.数据传送程序编写,把片内RAM的40H-4FH的16个字节的内容传送到片外RAM的 2000H单元开始的位置处。40H-4FH的内容在RAM里随机手动设置(我这里设置的是07,09) 5.发挥题,将上题40H-4FH的内容程序设置为100-115,并实现传输功能。

三、实验总结 1.初步实现了keil软件的应用,从程序的建立到编译再调试,从中领悟到了许多的困惑, 但后来自己也慢慢理解了 2.在第二题中,是将两个数相加,在这个过程中必须要借助累加器,不能直接相加,最 后的结果存放在A存储器中 3.在第三道题中,分别自己手动设置值存放在以2000H开始的16个字节单元中,在学 习过程中要认真的思考和观察,memory的变化 在循环体LOOP中,首先是将最开始40H放入R0中的值再传送到A中,然后又传送到指针指向的位置,传送数据的部分就是这样;然后又用INC R0和INC DPTR 分别将地址向后移一个,为下一个地址的传送做准; DJNZ R2,LOOP 计数减少循环,直至结束; SJMP $ 跳转到循环体LOPP的开始位置,再次循环。 【实验二】 一、实验名称 中断应用C51程序设计 二、实验内容 1.设计一个脉冲计数器,脉冲信号通过开关产生,能对脉冲的个数准确计数,数码管译 码代码参考程序已给出。(掌握外部中断计数器相关寄存器的设置应用!) 程序运行初态为100开始,按下计数就加1,按下清零则恢复为0

单片机原理实验报告(详细)

湖南城市学院 实验报告 2018-2019 学年上学期 姓名:*** 班级学号:****** 实验课程:单片机原理及应用 实验室名称:电子工程实验室 湖南城市学院信息与电子工程学院实验中心印制

实验项目名称:实验一指示灯和开关控制器实验 一、实验目的及要求 1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法; 2、熟悉proteus软件,了解软件的结构组成与功能; 3、学会在ISIS模块中进行汇编程序录入、编译和调试; 4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。 二、实验原理 实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 图1 实验原理图

在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。软件编程原理为:(1)8只发光二极管整体闪烁3次 亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P3口(即开关状态)内容送入P2口; 无限持续:无条件循环。 程序流程图如图2所示。 图2 实验程序流程图

三、实验仪器设备及装置 (1)硬件:电脑一台; (2)仿真软件:Proteus; (3)编程软件Keil uVision4。 其中,仿真软件ISIS元件清单如表1所示。 表1 仿真软件ISIS元件清单 四、实验内容和步骤 (一)实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程; (2)完成实验的汇编语言的设计与编译; (3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。 (二)实验步骤: (1)提前阅读与实验相关的阅读材料; (2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制; (3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序; (4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误; (5)观察仿真结果,检验与电路的正确性。

51单片机实验报告

实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序。 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。 3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验

实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。源程序清单:ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN: MOV SP, #60H MOV R0, #31H MOV @R0, #22H DEC R0 MOV @R0, #33H MOV R1, #21H MOV @R1, #44H DEC R1 MOV @R1, #55H MOV R2, #02H ACALL DACN HERE: AJMP HERE DACN: CLR C DAL: MOV A, @R0 ADDC A, @R1 DA A MOV @R1, A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0 , C RET 思考题: 1. 按照实验内容补全程序。 2. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果。 实验三数据排序实验

单片机导论实验讲义(章专)

第一章单片机软件实验 实验一内存操作 1.实验目的 ①掌握数据传送指令; ②掌握各种数据传送指令的寻址方式; ③熟练运用keil 环境对汇编程序进行调试; ④掌握数据传送、复制等程序的设计与调试方法。 2.预习要求 ①理解数据传送指令和循环指令的使用; ②理解如何对内部寄存器、内部RAM、外部RAM的读写; ③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式; ④认真预习本实验内容,自行编写程序,填写实验报告。 3.实验设备 计算机1台; 4.基础型实验内容 ①下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内 容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化。 设置块起始地址 设置块长度 当前地址内容清零 地址加1 否 是否清除完? 是 结束 ORG 0000H START EQU 8000H MAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;设置256字节计数值 MOV A,#1H

Loop: MOVX @DPTR,A INC DPTR ;指向下一个地址 DJNZ R0,Loop ;计数值减1 NOP SJMP $ END ②下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块, 在Keil环境运行如下程序,观察寄存器及存储单元的变化。 设置块的源地 设置块的目标地址 设置移动长度 从源地址取数 保存到目标地址 源地址加1 目标地址加1 是否移动完? 结束 ORG 0000H MOV DPTR,#3000H MOV A,#01H MOV R5,#O LOOP: MOVX @DPTR,A INC DPTR DJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0 LOOP1: MOV DPH,R0 MOV DPL,R1 MOVX A,@DPTR MOV DPH,R2

单片机实验报告

单片机实验报告 姓名:姚竞华 班级:电自094 学号:09401300420

实验一存储器读写 一、实验目的: 1、寄存器、存储器读写等汇编指令; 2、掌握编程软件编辑、编译、调试等基本操作; 3、学习简单程序的基本调试方法。 二、实验内容 将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下: ORG 0000H SJMP START ORG 0030H START: MOV R1,10H ;一共16个数据 MOV R0,#70H ;原数据首地址 MOV DPTR,#2000H; 片外存储单元首地址 MOV 70H,#00H;送入原始数据,把70H-71H中分别送入00H-0FH MOV 71H,#01H MOV 72H,#02H MOV 73H,#03H MOV 74H,#04H MOV 75H,#05H MOV 76H,#06H MOV 77H,#07H MOV 78H,#08H MOV 79H,#09H MOV 7AH,#0AH MOV 7BH,#0BH MOV 7CH,#0CH MOV 7DH,#0DH MOV 7EH,#0EH MOV 7FH,#0FH LOOP: MOV A,@R0;循环送入2000H-200FH

MOVX @DPTR,A INC R0 INC DPTR DJNZ R1,LOOP END 三、调试结果

实验二数据排列 一、实验目的 掌握汇编语言分支结构的应用。 二、实验内容 将R0、R1、R2中的数据从大到小排列,并分别从放在70H-71H中。程序清单如下:ORG 0000H SJMP START ORG 0030H START: MOV R0,#02H;分别向R0-R1中写入数据 MOV R1,#05H MOV R2,#03H MOV A,R0 SUBB A,R1;R0-R1 JC SUB1 LOOP1: MOV A,R0 SUBB A,R2;R0-R2 JC SUB2 MOV A,R1 SUBB A,R2;R1-R2 JC SUB3 AJMP OVER; R0>R1>R2 SUB3: CLR C MOV A,R1 XCH A,R2 MOV R1,A AJMP OVER; R0>R2>R1 SUB2: CLR C MOV A,R0 XCH A,R2 MOV R0,A MOV A,R1 XCH A,R2 MOV R1,A AJMP OVER;R2>R0>R1 SUB1: CLR C ;清除C位 MOV A,R0;R0与R1互换

南邮单片机实验报告

南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。

Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY

相关文档