当前位置:文档之家› 实验一应用系统开发过程及常用指令实-单片机

实验一应用系统开发过程及常用指令实-单片机

实验一应用系统开发过程及常用指令实-单片机
实验一应用系统开发过程及常用指令实-单片机

实验一:应用系统开发过程及常用指令实验

一、实验目的:

⑴了解80C51典型应用系统的开发过程及Win51组合软件的使用

⑵掌握80C51的寻址方式及常用指令的使用方法。

二、实验内容:数据传送:8031内部RAM40H-4FH置初值AOHAFH,然后将

40H-4FH的内容传送到外部RAM中的2000H-200FH单元,再把外

部数据RAM中的2000H-200FH单元的内容传送到8031内部RAM

中的50H-5FH单元。

实验参考程序如下:

地址机器代码汇编程序

ORG 1000H

1000 803D SJMP MAIN

ORG 103FH

103F 7840 MAIN:MOV R0,#40H

1041 7A10 MOV R2,#10H

1043 74A0 MOV A,#0A0H

1045 F6 A1: MOV @R0,A

1046 08 INC R0

1047 04 INC A

1048 DAFB DJNZ R2,A1

104A 7840 MOV R0,#40H

104C 902000 MOV DPTR,#2000H

104F 7A10 MOV R2,#10H

1051 E6 A2: MOV A,@R0

1052 F0 MOVX @DPTR, A

1053 08 INC R0

1054 A3 INC DPTR

1055 DAFA DJNZ R2,A2

1057 7850 MOV R0,#50H

1059 902000 MOV DPTR,#2000H

105C 7A10 MOV R2,#10H

105E F0 A3: MOVX A,@DPTR

105F F6 MOV @R0, A

1060 08 INC R0

1061 A3 INC DPTR

1062 DAFA DJNZ R2,A3

1064 80FE A4: SJMP A4

END

三、实验步骤:

1、演示80C51典型应用系统的开发过程

2、进入Win51组合软件的操作环境

3、在Win51组合软件环境中, 编辑源程序;

4、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中.

5、运行、调试程序和结果检查

①在Debug窗口下,分别采用单步、宏单步、执行到光标处等命令运行程序

到104C,105C,1064处,观察40H~4FH,2000H~200FH、50H~5FH中的

内容.

②修改40H~4FH、2000H~200FH、50H~5FH中的内容。然后分别在

104C,105C,1064C处,采用设置断点的方法运行程序,再观察40H~4FH,

2000H~200FH,50H~5FH中的内容

四、思考题

1、从103F~104A,104A~1055,1057~1064这三段程序分别完成哪些任

务?

2、跳转指令中偏移量如何计算?

五、预习要求:1、阅读教科书中8031的指令系统,重点掌握的指令有数据传送、跳

转指令的使用方法

2、阅读Win51组合软件,掌握组合软件的进入、退出方法。重点掌

握单步运行程序的方法和执行到光标处运行程序的方法

六、实验报告:1、将数据传送程序加上注释语句

2、回答思考题

实验二:80C51程序设计实验

(设计性实验)

一、实验目的:

⑴掌握80C51汇编语言程序设计方法

⑵掌握80C51汇编语言程序的调试方法

二、实验任务:

1、完成二字节加法程序的设计与调试。

要求:加数首地址由R0指出,被加数和结果的存贮单元首地址由R1指出,字节数由R2指出。

2、完成二进制数转换为BCD程序的设计与调试。

要求:将A中的8位二进制数转换为BCD数,结果放在8031内部RAM的20H~21H单元中。

三、实验准备:

1、根据每个实验内容提出的要求设计相应的程序

2、写出实验步骤及方法

四、实验设备:

1、DICE-598H+开发型实验系统

2、配套计算机

五、预习要求:

(1)阅读教科书中8031的指令系统及程序的设计方法,重点掌握算术运算,转移等指令。

(2)阅读Win51组合软件,重点掌握连续运行程序的方法和设置断点运行程序的方法

(3)写出预习报告

六、思考题:8031单片机的寻址方式有哪些?

七、实验报告要求

(1)整理好执行正确的程序和数据;

(2)回答思考题。

实验三:中断、定时器系统应用实验

(设计性实验)

一、实验目的:

⑴掌握定时/计数器、中断初始化程序的设计。

⑵掌握使用定时/计数器的方式1、方式2的编程方法

⑶掌握中断的编程方法。

二、实验硬件电路:

LED共阴极接法三、实验任务:

完成在每隔1秒钟接在P1 口的八个发光二极管循环闪亮程序设计和调试。

要求:1、选择定时器T1为工作方式1,产生100mS定时,使P1口的八个发光二极管循环闪亮。

2、用定时器串联方式,使T0 工作于定时(产生100mS定时),使T1 工

作计数(计数10次,正好1秒)。每次T0溢出后从P3.0 口给T1 端

送出一个负脉冲,当T1溢出后P1口的八个发光二极管循环闪亮。

T0、T1的溢出,采用中断方式

四、实验准备:

1、根据硬件电路原理图,分析二极管闪亮的条件,(74LS07同相驱动器)

2、根据硬件电路原理图,画出实际接线图

3、根据实验任务设计出相应的程序

4、写出实验步骤和方法

五、实验设备1、DICE-598H+开发型实验系统 2、配套计算机

六、预习要求:1、阅读教科书中有关定时器/计数器的内容、熟悉定时器/计数器

的基本结构和工作过程

2、阅读Win51组合软件,掌握连续运行程序的方法。

3、计算定时器/计数器时间常数

4、写出预习报告

七、思考题:

定时器工作于方式1,方式2时其最大定时时间是多少(设单片机的晶振为6MHZ)

八、实验报告要求

(1)整理好执行正确的程序和数据;

(2)回答思考题

实验四:显示接口实验

一、实验目的:

⑴掌握单片机与8155接口方法

⑵掌握动态扫描显示程序的编程方法和调试方法

二、实验内容

1、编制动态显示扫描程序,显示位数为6位,显示缓冲区地址为78H-7DH,8155控制口地址:FF20H;8155A口:FF21H;8155B口:FF22H字形“0”到“F”“P”“-”等。

2、编制自动计数程序,要求显示器显示000~060每秒增1

三、实验硬件电路:

参考程序如下:

ORG 0000H

DIS: MOV A,#03H

MOV DPTR,#0ff20H

MOVX @DPTR,A

LD2: MOV R0,#78H

MOV R3,#20H

MOV A,R3

LD0: MOV DPTR,#0ff21H

MOVX @DPTR,A

INC DPTR

MOV A,@R0

ADD A,#0EH

MOVC A,@A+PC

MOVX @DPTR,A

ACALL DL1

INC R0

MOV A,R3

JB ACC.0,LD1

RR A

MOV R3,A

AJMP LD0

LD1: AJMP LD2

DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H

DB 88H,83H,0c6H,0a1H,86H,8eH

DL1: MOV R5,#02H

DL0: MOV R7,#02H

DL: MOV R6,#0FFH

DL6: DJNZ R6,DL6

DJNZ R7,DL

DJNZ R5,DL0

RET

END

四、实验步骤:

1 读懂源程序并写出程序流程图

2、进入Win51组合软件的操作环境

3、在Win51组合软件环境中, 编辑源程序;

4、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中.

5、运行、调试程序和结果检查

①把需显示的数字送到显示缓冲区(78H,79H,7AH)

②采用单步,宏单步,执行到光标处,设置断点等方法,

态观察程序走向是否正确及硬件连接是否正确;

③连续运行程序,观察LED的输出。

④改变R5,R7的初值,观察输出的变化。

五、思考题:本次实验8155的工作方式?指出程序中的那些语句决定了8155的工

作方式

六、预习要求:按照实验内容2的要求编写程序。

七、实验报告:1、将动态显示程序加上注释语句,并说出其功能。

2、回答思考题。

实验五:键盘接口实验

一、实验目的:

⑴熟悉单片机通过8155与键盘的接口方法

⑵掌握键盘扫描及处理程序的编程方法和调试方法

二、实验内容:程序运行后,在没有键入时,在LED上显示1,按下数字键,

数码管上应能显示相应数字。

三、实验硬件电路

ORG 0000H

MOV 78H,#01H

MOV 79H,#01H

MOV 7AH,#01H

MOV 7BH,#01H

MOV 7CH,#01H

MOV 7DH,#01H

MOV DPTR,#0FF20H

MOV A,#03H

MOVX @DPTR,A

KEY1: ACALL KS1

JNZ LK1

NI: ACALL DIS

AJMP KEY1

LK1: ACALL DIS

ACALL DIS

ACALL KS1

JNZ LK2

ACALL DIS

AJMP KEY1

LK2: MOV R2,#0FEH

MOV R4,#00H

LK4: MOV DPTR,#0FF21H

MOV A,R2

MOVX @DPTR,A

INC DPTR

INC DPTR

MOVX A,@DPTR

JB ACC.0, LONE

MOV A,#00H

AJMP LKP

LONE: JB ACC.1, LTRE

MOV A,#08H

AJMP LKP

LTRE: JB ACC.2, NEXT

MOV A,#18H

LKP: ADD A,R4

MOV DPTR,#TAB

MOVC A,@A+DPTR

PUSH ACC

LK3: ACALL DIS

ACALL KS1

JNZ LK3

POP ACC

MOV 78H,79H

MOV 79H,7AH

MOV 7AH,A

NEXT: INC R4

MOV A,R2

JNB ACC.7, KND

RL A

MOV R2,A

AJMP LK4

TAB: DB 07H,04H,08H,05H,09H,06H,0AH,0BH

DB 01H,00H,02H,0FH,03H,0EH,0CH,0DH KND: AJMP KEY1

KS1: MOV DPTR,#0FF21H

MOV A,#00H

MOVX @DPTR,A

INC DPTR

INC DPTR

MOVX A,@DPTR

CPL A

ANL A,#0FH

RET

DIS: MOV R0,#78H

MOV R3,#20H

MOV A,R3

LD0: MOV DPTR,#0ff21H

MOVX @DPTR,A

INC DPTR

MOV A,@R0

ADD A,#0DH

MOVC A,@A+PC

MOVX @DPTR,A

ACALL DL1

INC R0

MOV A,R3

JB ACC.0,LD1

RR A

MOV R3,A

AJMP LD0

LD1: RET

DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H

DB 80H,90H,88H,83H,0c6H,0a1H,86H,8eH

DL1: MOV R5,#02H

DL0: MOV R7,#02H

DL: MOV R6,#0FFH

DL6: DJNZ R6,DL6

DJNZ R7,DL

DJNZ R5,DL0

RET

END

四、实验步骤:

1、进入Win51组合软件的操作环境

2、在Win51组合软件环境中, 编辑源程序;

3、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的

RAM中.

4、运行、调试程序和结果检查

⑴采用单步,宏单步,执行到光标处,设置断点等方法,观察程序走向是否

正确;

⑵连续运行程序,依次按动数字键观察LED的显示是否相符。

五、思考题:字型码是如何确定的,

六、预习要求:1、了解键盘接口的功能

2、熟悉键扫描、键处理程序的设计思路。

七、实验报告:1、将键盘接口程序加上注释语句,并说出其功能。

2、回答思考题。

实验六:A/D转换器接口实验

一、实验目的:

⑴熟悉单片机与A/D转换芯片的接口方法。

⑵了解A/D转换芯片的转换性能及编程方法。

⑶通过实验了解单片机如何进行数据采集。

二、实验内容:利用实验系统上的0809做A/D转换器,实验系统上的电位器提

供模拟量输入,编制程序,将模拟量转换成数字量,并在数码管显示出来。

三、实验硬件电路

参考程序如下:

ORG 0000H

MOV SP,#53H

MOV 7EH,#00H

MOV 7DH,#08H

MOV 7CH,#00H

MOV 7BH,#09H

MOV 7AH,#10H

MOV 79H,#10H

MOV A,#03H

MOV R1,#20H

MOVX @R1,A

L1:LCALL DIS

MOV A,#00H

MOV DPTR,#8000H

MOVX @DPTR,A

MOV R7,#0FFH

L2:DJNZ R7,L2

MOVX A,@DPTR

MOV R0,#79H

LCALL L3

SJMP L1

L3:MOV R1,A

ACALL L4

MOV A,R1

SWAP A

L4:ANL A,#0FH

MOV @R0,A

INC R0

RET

DIS:SETB RS1

MOV R5,#05H

DIS1:MOV 30H,#20H

MOV 31H,#7EH

MOV R7,#06H

DIS2:MOV R1,#21H

MOV A,30H

MOVX @R1,A

MOV R0,31H

MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV R1,#22H

MOVX @R1,A

MOV A,30H

RR A

MOV 30H,A

DEC 31H

MOV A,#0FFH

MOVX @R1,A

DJNZ R7,DIS2

DJNZ R5,DIS1

CLR RS1

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,0FFH,0CH,89H,0DEH END

四、实验步骤:

1、将0809的零通道INT0用插针接至AIN1孔,CS4位接至8000孔

2、进入Win51组合软件的操作环境

3、在Win51组合软件环境中, 编辑源程序;

4、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中.

5、运行、调试程序和结果检查

⑴采用单步,宏单步,执行到光标处,设置断点等方法,态观察程序走向是

否正确;

⑵连续运行程序,数码管上显示当前采集的电压转换的数字量,调节W1

可看到数码管的输出发生变化。

五、思考题:如何用中断方式读取A/D转换结果?

六、预习要求:熟悉A/D0809的转换原理,熟悉其接口电路,

七、实验报告:1写出原程序的注释语句,并说明其功能,

2回答思考题。

实验七:D/A转换器接口实验

一、实验目的:

⑴熟悉单片机与D/A转换芯片的接口方法。

⑵了解D/A转换芯片的转换性能及编程方法。

二、实验内容:利用实验系统上的0832做D/A转换器实验,从0832输出一个从

0V开始逐渐升至5V再降至0V的正弦波电压,数码管显示送入的

数字量,

三、实验硬件电路

参考程序如下:

ORG 0000H

MOV SP,#53H

MOV 7EH,#00H

MOV 7DH,#08H

MOV 7CH,#03H

MOV 7BH,#02H

MOV A,#03H

MOV R1,#20H

MOVX @R1,A

LO20:MOV R6,#00H

LO21:MOV DPTR,#8000H

MOV A,R6

MOVX @DPTR,A

MOV R0,#79H

LCALL PTDS

LCALL DIS

MOV R2,#08H

LCALL DL1

INC R6

CJNE R6,#0FFH,LO21 LO22:MOV DPTR,#8000H

DEC R6

MOV A,R6

MOVX @DPTR,A

MOV R0,#79H

LCALL PTDS

LCALL DIS

MOV R2,#08H

LCALL DL1

CJNE R6,#00H,LO22 SJMP LO20

PTDS:MOV R1,A

ACALL PTDS1

MOV A,R1

SWAP A

PTDS1:ANL A,#0FH

MOV @R0,A

INC R0

RET

DIS:SETB RS1

MOV R5,#05H

DIS1:MOV 30H,#20H

MOV 31H,#7EH

MOV R7,#06H

DIS2:MOV R1,#21H

MOV A,30H

MOVX @R1,A

MOV R0,31H

MOV A,@R0

MOV DPTR,#DDFF

MOVC A,@A+DPTR

MOV R1,#22H

MOVX @R1,A

MOV A,30H

RR A

MOV 30H,A

DEC 31H

MOV A,#0FFH

MOVX @R1,A

DJNZ R7,DIS2

DJNZ R5,DIS1

CLR RS1

RET

DL1: MOV R5,#02H

DL0: MOV R7,#02H

DL: MOV R4,#0FFH

DL6: DJNZ R4,DL6

DJNZ R7,DL

DJNZ R5,DL0

RET

DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB 88H,83H,0C6H,0A1H,86H,0FFH,0CH,89H,0DEH

END

四、实验步骤:

1、把开发系统电源的±12V接到开发系统中,将0832译码线CS5位接至

8000孔

2、进入Win51组合软件的操作环境

3、在Win51组合软件环境中, 编辑源程序;

4、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中.

5、运行、调试程序和结果检查

⑴采用单步,宏单步,执行到光标处,设置断点等方法,态观察程序走向是

否正确;

⑵连续运行程序,数码管上显示不断加大或减小的数字量,用万用表测

试D/A输出孔AOUT,也能测出不断加大或减小的电压值。

五、思考题:DAC0832有几种工作方式?如何实现?

六、预习要求:熟悉DAC0832五、思考题:如何用中断方式读取A/D转换结果?

七、实验报告:1写出原程序的注释语句,并说明其功能,

2回答思考题。

实验八:电脑时钟程序实验

(综合性实验)

一、实验目的:

⑴进一步掌握定时器/计数器的使用方法,

⑵了解、熟悉80C51综合性程序的编程方法

二、实验内容:从598H+实验系统键盘上输入时间初值,按下EXEC键,数码管上将实

时显示时间值。

三、硬件电路:

主要芯片:8031、8155、75452、74LS240、LED

ORG 0000H

LJMP CHK0

ORG 000BH

LJMP CLOCK

CHK0: MOV SP,#60H

LCALL LCK0

LCALL PTDS0

MOV TMOD,#01H

ORL IE,#82H

MOV TL0,#0B7H

MOV TH0,#0CH

MOV 23H,#00H

SETB TR0

LOO5: LCALL SSEE

LCALL PTDS0

SJMP LOO5

PTDS0: MOV R0,#79H

ACALL PTDS

MOV A,21H

ACALL PTDS

MOV A,20H

ACALL PTDS

RET

PTDS: MOV R1,A

ACALL PTDS1

MOV A,R1

SWAP A

PTDS1: ANL A,#0FH

MOV @R0,A

INC R0

RET

CLOCK: MOV TL0,#0B7H MOV TH0,#3CH

PUSH PSW

PUSH ACC

SETB 0D3H

INC 23H

MOV A,23H

CJNE A,#0AH,DONE

MOV 23H,#00H

MOV A,22H

INC A

DA A

MOV 22H,A

CJNE A,#60H,DONE

MOV 22H,#00H

MOV A,21H

INC A

DA A

MOV 21H,A

CJNE A,#60H,DONE

MOV 21H,#00H

MOV A,20H

INC A

DA A

CJNE A,#24H,DONE

MOV 20H,#00H

DONE: POP ACC

POP PSW

RETI

ORG 0D50H

SSEE: SETB RS1

MOV R5,#05H

SSE2: MOV 30H,#20H

MOV 31H,#7EH

MOV R7,#06H

SSE1: MOV R1,#21H

MOV A,30H

MOVX @R1,A

MOV R0,31H

MOV A,@R0

MOV DPTR,#DDFF

MOVC A,@A+DPTR

MOV R1,#22H

MOVX @R1,A

MOV A,30H

RR A

MOV 30H,A

DEC 31H

MOV A,#0FFH

MOVX @R1,A

DJNZ R7,SSE1

DJNZ R5,SSE2

CLR RS1

RET

DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH

ORG 1D00H

X3: MOV R4,A

MOV R0,#59H

MOVX A,@R0

MOV R1,A

MOV A,R4

单片机课程设计报告实验报告

课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月

摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01

目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)

多模块单片机实验系统设计

多模块单片机实验系统设计 设计一种单片机实验系统,针对单片机实验系统的应用要求,采用模块化的设计方法,使得实验系统能够支持多种不同的应用,扩展方便,同时能够与多种实验系统兼容,在日常的教学实验和研发中应用广泛。 标签:单片机实验系统多模块 单片机作为一门实践性很强的专业课程,平时的实验练习不可缺少。因此作为实验载体的实验系统非常重要。常规的单片机实验系统,其功能比较单一,与别的实验系统之间也毫无联系,能够完成的实验都是单一的单片机实验。当前实验室中一般都有多种实验设备,如EDA实验箱、模电实验箱、数电实验箱、信号处理实验箱等。如何使得单片机实验系统在现有的实验条件下,能够进行更多、更复杂的实验,利用更多的实验设备,多模块实验系统为我们指出了一种设计思路。 针对实验室的条件,设计了一种模块化的单片机实验系统,可以利用现有的多种实验设备,提高单片机实验系统的灵活性和利用率。其主要模块有电源模块、核心模块、功能模块、下载模块等,下面分别介绍。 1 电源模块 作为单片机实验系统的供电部分,电源模块非常重要,直接关系到系统的稳定,为了便于扩展,同时方便实验,电源模块采用多种方式供电。利用跳线或者开关进行选择,其电路图如图1所示。利用外部供电时电源通过J1输入,当电压大于5V时,一般常见的有9V和12V,需要将J2跳线拔掉;当电源为5V时,将跳线闭合,直接供电。同时实验系统还可以通过USB直接供电,外部供电和USB供电的切换通过开关S1来实现,为了保护电脑,在USB供电中增加了保险丝。 2 CPU模块 CPU模块是单片机实验系统的中心,也即芯片所在的部分,为了能够最大限度的利用实验系统的资源,本核心模块采用锁紧卡座设计,便于芯片的安装与卸载,并且将卡座的40个引脚全部引出,便于进行二次开发。同时设计了两种不同的复位电路,以适应普通的51单片机和A VR单片机,使得实验系统能够支持两种不同的单片机进行实验。在设计时,主要通过一个跳线实现不同的复位电平,如图2所示。可以通过跳帽来选择51单片机的高电平复位和A VR单片机的低电平复位,而芯片本身的引脚差异可以通过一个小转换板子来实现,主要将I/0口对应起来,一些功能引脚进行转换即可,通过这种处理方式,可以在一个实验平台上调试两种不同的单片机系统,大大提高了外设的利用率。 3 功能模块

单片机课程设计51实验报告DOC

福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告

目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)

1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起

8051单片机常用指令

3.2.1数据传送与交换类指令 共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为目的的操作数的指令;访问外部RAM的指令;读程序存储器的指 9.堆栈操作 3.2 分类指令 在介绍各条分类指令之前,将指令中的操作数及注释中的符号说明如下。Rn:当前指定的工作寄存器组中的Ro-R7(其中n=0,1,2,…,7)。 Ri:当前指定的工作寄存器组中的RO,R1(其中i=0,1)。 (Ri):Ri间址寻址指定的地址单元。 ((Ri)):Ri间址寻址指定地址单元中的内容。 dir:8位直接字节地址(在片内RAM和SFR存储空间中)。 #data8:8位立即数。 #datal6:16位立即数。 addrl6:16位地址值。 addrll:11位地址值。 bit:位地址(在位地址空间中)。 rel:相对偏移量(一字节补码数)。 下面介绍各条分类指令的主要功能和操作,详细的指令操作说明及机器码形式可见附录。 3.2.1数据传送与交换类指令

共有28条指令,包括以A,Rn,DPTR,直接地址单元,间接地址单元为目的的操作数的指令;访问外部RAM的指令;读程序存储器的指 令;数据交换指令以及准栈操作指令。

9.堆栈操作 PUSH dir ;SP十1-6P,(dir)一(SP) POP dir ;((SP))一dir,SP-1--P , 例1 SP=07H,(35H)=55H,指令PUSH 35H执行后,55H送入08H地址单元,SP= 08H。 例2 SP=13H,(13H)= 1FH,指令POP 25H执行后,1FH压入25H地址单元,SP此时为12H。 综合例把片内RAM中50H地址单元中的内容与40H地址单元中的内容互换。方法一(直接地址传送法): MOV A ,50H

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

单片机常用指令

常用单片机汇编指令: 1 MOV A,Rn 寄存器内容送入累加器 2 MOV A,direct 直接地址单元中的数据送入累加器 3 MOV A,@Ri 间接RAM 中的数据送入累加器 4 MOV A,#data 立即数送入累加器 5 MOV Rn,A 累加器内容送入寄存器 6 MOV Rn,direct 直接地址单元中的数据送入寄存器 7 MOV Rn,#data 立即数送入寄存器 8 MOV direct,A 累加器内容送入直接地址单元 9 MOV direct,Rn 寄存器内容送入直接地址单元 10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 12 MOV direct,#data 立即数送入直接地址单元 13 MOV @Ri,A 累加器内容送间接RAM 单元 14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 15 MOV @RI,#data 立即数送入间接RAM 单元 16 MOV DRTR,#dat16 16 位立即数送入地址寄存器 17 MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 18 MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器 19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器 20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 21 MOVX @Ri,A 累计器送外部RAM(8 位地址) 22 MOVX @DPTR,A 累计器送外部RAM(16 位地址) 23 PUSH direct 直接地址单元中的数据压入堆栈 24 POP direct 弹栈送直接地址单元 25 XCH A,Rn 寄存器与累加器交换 26 XCH A,direct 直接地址单元与累加器交换 27 XCH A,@Ri 间接RAM 与累加器交换 8 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 算术操作类指令: 1 ADD A,Rn 寄存器内容加到累加器 2 ADD A,direct 直接地址单元的内容加到累加器 3 ADD A,@Ri 间接ROM 的内容加到累加器 4 ADD A,#data 立即数加到累加器 5 ADDC A,Rn 寄存器内容带进位加到累加器 6 ADDC A,direct 直接地址单元的内容带进位加到累加器 7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器 8 ADDC A,#data 立即数带进位加到累加器 9 SUBB A,Rn 累加器带借位减寄存器内容

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

基于单片机的CAN实验系统设计

基本单片机的CAN实验系统设计(CAN教学案例设计) 邵健2014秋季学期

目录 摘要......................................................... 错误!未定义书签。前言......................................................... 错误!未定义书签。 1 总体设计方案 (3) 1.1设计任务 (3) 1.2总体CAN网络设计框图 (4) 1.3 CAN节点结构 (4) 2 系统的硬件设计 (5) 2.1 电源模块设计 (6) 2.2 单片机最小系统 (7) 2.3 MAX232组成的单片机和PC机通信电路 (8) 2.4 看门狗电路设计 (9) 2.5 键盘输入电路模块 (10) 2.6 显示电路模块 (11) 2.7 扩展ROM功能模块 (12) 2.8 CAN通信模块 (12) 3 系统的软件设计 (15) 3.1 CAN控制器初始化函数CANINI (15) 3.2 CAN接收函数CANREC (16) 3.3 CAN发送函数TDATA (16) 3.4 主程序流程图 (17) 3.5 总程序清单........................................... 错误!未定义书签。 4 总结....................................................... 错误!未定义书签。 4.1 结束语............................................... 错误!未定义书签。

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

【可直接使用】单片机指令表(最全).doc

单片机指令以A开头的指令有18条,分别为: 1、ACALL addr11 指令名称:绝对调用指令 指令代码:A10 A9 A8 10001 A7 A6 A5 A4 A3 A2 A1 A0 指令功能:构造目的地址,进行子程序调用。其方法是以指令提供的11位地址(al0~a0),取代PC的低11位,PC的高5位不变。操作内容: PC←(PC)+2SP←(SP)+1 (SP)←(PC)7~0 SP←(SP)+1 (SP)←(PC)15~8 PC10~0←addrl0~0 字节数: 2 机器周期:2 使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。 2、ADD A,Rn 指令名称:寄存器加法指令指令代码:28H~2FH 指令功能:累加器内容与寄存器内容相加 操作内容:A←(A)+(Rn),n=0~7 字节数: 1 机器周期;1 影响标志位:C,AC,OV 3、ADD A,direct 指令名称:直接寻址加法指令指令代码:25H 指令功能:累加器内容与内部RAM单元或专用寄存器内容相加操作内容:A←(A)+(direct) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 4、ADD A,@Ri ’ 指令名称:间接寻址加法指令指令代码:26H~27H 指令功能:累加器内容与内部RAM低128单元内容相加 操作内容:A←(A)+((Ri)),i=0,1 字节数: 1 机器周期:1 影响标志位:C,AC,OV 5、ADD A,#data 指令名称:立即数加法指令指令代码:24H 指令功能:累加器内容与立即数相加 操作内容:A←(A)+data 字节数: 2 机器周期:1 影响标志位:C,AC,OV 6、ADDC A,Rn 指令名称:寄存器带进位加法指令指令代码:38H~3FH 指令功能:累加器内容、寄存器内容和进位位相加 操作内容:A←(A)+(Rn)+(C),n=0~7 字节数: 1 机器周期:1 影响标志位:C,AC,OV 7、ADDC A,direct 指令名称:直接寻址带进位加法指令指令代码:35H 指令功能:累加器内容、内部RAM低128单元或专用寄存器内容与进位位加 操作内容:A←(A)+(direct)+(C) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 8、ADDC A,@Ri 指令名称:间接寻址带进位加法指令指令代码:36H~37H 指令功能:累加器内容, 内部RAM低128单元内容及进位位相加操作内容:A←(A)+((Ri))+(C),i=0,1 字节数: 1 机器周期:1 影响标志位:C,AC,OV 9、ADDC A,#data 指令名称:立即数带进位加法指令指令代码:34H 指令功能:累加器内容、立即数及进位位相加 操作内容:A←(A)+data+(C) 字节数: 2 机器周期:1 影响标志位:C,AC,OV 10、AJMP addr11 指令名称:绝对转移指令 指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0 指令功能:构造目的地址,实现程序转移。其方法是以指令提供的11位地址,取代PC的低11位,.而PC的高5位保持不变。操作内容:PC←(PC)+2PCl0~0←addrll 字节数: 2 机器周期:2 使用说明:由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB。 11、ANL A,Rn 指令名称:寄存器逻辑与指令指令代码:58H~5FH 指令功能:累加器内容逻辑与寄存器内容 操作内容:A←(A)∧(Rn),n=0~7 字节数: 1 机器周期:1 12、ANL A,direct 指令名称:直接寻址逻辑与指令指令代码:55H 指令功能:累加器内容逻辑与内部RAM低128单元或专用寄存器内容 操作内容:A←(A)∧(diret) 字节数: 2 机器周期:1 精选

《单片机系统设计》实验报告

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

IC8位单片机汇编语言常用指令的识读

PIC单片机指令集简介 PIC 8位单片机共有三个级别,有相对应的指令集。基本级PIC系列芯片共有指令33条,每条指令是12位字长;中级PIC系列芯片共有指令35条,每条指令是14位字长;高级PIC系列芯片共有指令58条,每条指令是16位字长。其指令向下兼容。 一、PIC汇编语言指令格式 PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下: 标号操作码助记符操作数1,操作数2;注释 指令格式说明如下:指令的4个部分之间由空格作隔离符,空格可以是1格或多格,以保证交叉汇编时,PC机能识别指令。 1与MCS-51系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号)是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。 书写标号时,规定第一字符必须是字母或半角下划线“—”,它后面可以跟英文和数字字符、冒号(:)制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。 2该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。 3由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十进制或十六进制数。还可以是被定义过的标号、字符串和ASCⅡ码等。具体表示时,规定在二进制数前冠以字母“B”,例如B10011100;八进制数前冠以字母“O”,例如O257;十进制数前冠以字母“D”,例如D122;十六进制数前冠以“H”,例如H2F。在这里PIC 8位单片机默认进制是十六进制,在十六进制数之前加上Ox,如H2F可以写成Ox2F。 指令的操作数项也是可选项。 PIC系列与MCS-51系列8位单片机一样,存在寻址方法,即操作数的来源或去向问题。因PIC系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以PIC系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。 4用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;)与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。 二、清零指令(共4条) 1 实例:CLRW;寄存器W被清零 说明:该条指令很简单,其中W为PIC单片机的工作寄存器,相当于MCS-51系列单片机中的累加器A,CLR是英语Clear的缩写字母。 2 实例:CLRWDT;看门狗定时器清零(若已赋值,同时清预分频器)

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

《单片机系统设计技术》实验指导

《单片机系统设计技术》 实验指导书 适用专业: 电气、自动化、信息等 编写单位: 电气信息学院 编写人: 曹 林 审核人: 审批人: 批准时间:年月日

目 录 实验1 IO控制LED流水灯实验 (3) 实验2 IO控制数码管动态扫描实验 (5) 实验3 外部中断实验 (8) 实验4 定时器应用控制实验 (10) 实验5 UART实验 (12) 实验6 键盘扫描输入编程 (14) 实验7 UART与PC对话实验 (17) 实验8 ADC数据采集实验 (19)

实验1 IO控制LED流水灯实验 1.实验目的 1)、熟悉KEIL编程环境和调试环境。 2)、掌握单片机汇编语言和指令的用法。 3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。 2.实验设备 硬件: PC 机,单片机教学实验开发平台; 软件: KEIL集成开发环境、STC ISP程序下载软件。 3.实验内容 使用P0口控制8个LED 进行流水灯显示。 4.实验预习要求和实验准备要求 预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。 预习汇编程序编写、MCS-51指令表。 带上教科书、U盘、具备二进制和十六进制转换的科学计算器。 5.实验原理和步骤 1)实验原理 (1)实验原理图 图1 P0口连接的8盏LED灯 从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、 PORT0_1……PORT0_7。

单片机课设实验报告

电气工程学院 单片机课程设计 实验报告 班级:电142 姓名: 学号:1412021061 设计题目:实时时钟系统设计 设计时间:2017.01.09~01.13 评定成绩: 评定教师:

摘要 人类为了观测时间,从远古的观太阳、革命时期的摆钟到现在电子钟,不断的在研究、创新纪录;随着科技、社会的快速发展,时间的流逝。美国DALLA S公司推出的具有涓细电流充电能的低功耗实时时钟芯片DS1302。电子万年历诞生了,它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89C51单片机作为核心,功耗小,能在3V 的电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。低压工作,电压可选用3~5V电压供电。 电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行;万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:时钟芯片DS1302,LCD液晶显示,单片机T89C52

目录 摘要 (2) 一、调试过程 (4) 二、运行效果 (6) 三、系统优化 (10) 四、设计总结 (11) 附录 (12)

一、调试过程 1、DS1302实时时钟部分进行调试,程序编完之后,点击编译,对程序进行编译,编译后,发现程序中出现了错误,无法编译通过,查看错误步骤,进行调试,发现是程序的格式错误,调节代码的格式通过编译,编译通过之后,进行软件的仿真实验,看看DS1302是否会生成实时时钟,将编译生成的hex文件导入AT89C51芯片中,之后进行运行,发现DS1302生成了实时时钟,证明这一部分编译成功。 2、LCD的显示部分进行调试,先对产生年月日时分秒之间的连接符进行显示,编译之前先选择自动生成hex文件,让后进行编译,编译完成后调节格式上的错误,直到编译通过后,进行软件上的仿真,仿真时发现,LCD显示上出现了错位现象,让后调节源程序,调节LCD的显示行列位置之后在进行重新编译,在软件上进行仿真,出现了想要的结果;连接符编译成功后,将时钟时间显示在LCD相应的位置上,时钟显示程序,在连接符显示程序基础上进行编译,不停地循环检测60H-66H单元的内容,将这些单元的内容送入到LCD上显示,编译通过之后,发现LCD的时钟显示不正确,通过连调,发现检测60-66单元内容时出错了,重新调节程序,进行编译,成功的出现了时钟的显示。 3、添加开关程序,开关程序添加完成后,编译成功,在软件上进行仿真时发现开关不起作用,按下开关DS1302的时钟继续运行,调节时钟数据,不起作用,通过连调发现,没有对60-66单元的收据进行保护,因此,将开关拨到设置模式时,DS1302时钟并未停止,继续进行计数,所以,将60-66单元送入20-26单元进行保护,当进入设置模式时,将数据进行保护,最后如果没有确认,则将20-26数据送出,如果改变了,则将60-66直接输出,将程序更改完成后,再次仿真达到了预期的效果,可以对时钟进行调节,可以暂停,重新调节时间。 仿真和实际硬件的实验还是有着不小的区别,在软件上进行仿真,所有的端口是自己连接的,因此可以选择不同的端口使用,而在硬件实验中,硬件实验上的一些连线已经自己确定了,必须采用该端口,因此在硬件调试时,需要改变端口的地址以用来符合硬件实验的标准,其次在软件仿真上没有出现问题,在硬件实验时可能有问题,在利用软件仿真时,LCD清屏不清屏,对于实验显示来说没有产生什么影响,然而转入硬件实验室,如果不进行LCD的清屏程序,那么由于

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

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