实验一应用系统开发过程及常用指令实 单片机_第1页
实验一应用系统开发过程及常用指令实 单片机_第2页
实验一应用系统开发过程及常用指令实 单片机_第3页
实验一应用系统开发过程及常用指令实 单片机_第4页
实验一应用系统开发过程及常用指令实 单片机_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一:应用系统开发过程及常用指令实验 一、实验目的: 了解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

2、 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

3、, #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典型应用系统的开发过程 、进入Win51组合软件的操作环境 、在Win51组合软件环境中, 编辑源程序; 、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中. 、运行、调试程

4、序和结果检查 在Debug窗口下,分别采用单步、宏单步、执行到光标处等命令运行程序到104C,105C,1064处,观察40H4FH,2000H200FH、50H5FH中的内容. 修改40H4FH、2000H200FH、50H5FH中的内容。然后分别在104C,105C,1064C处,采用设置断点的方法运行程序,再观察40H4FH,2000H200FH,50H5FH中的内容 四、思考题 1、从103F104A,104A1055,10571064这三段程序分别完成哪些任务? 2、跳转指令中偏移量如何计算? 五、预习要求:1、阅读教科书中8031的指令系统,重点掌握的指令有数据传送、跳转指令的使用

5、方法 2、阅读Win51组合软件,掌握组合软件的进入、退出方法。重点掌握单步运行程序的方法和执行到光标处运行程序的方法 六、实验报告:1、将数据传送程序加上注释语句 、回答思考题2 实验二:80C51程序设计实验 (设计性实验) 一、实验目的: 掌握80C51汇编语言程序设计方法 掌握80C51汇编语言程序的调试方法 二、实验任务: 1、完成二字节加法程序的设计与调试。 要求:加数首地址由R0指出,被加数和结果的存贮单元首地址由R1指出,字节数由R2指出。 2、完成二进制数转换为BCD程序的设计与调试。 要求:将A中的8位二进制数转换为BCD数,结果放在8031内部RAM的20H21H单元中。

6、 三、实验准备: 1、根据每个实验内容提出的要求设计相应的程序 2、写出实验步骤及方法 四、实验设备: 1、DICE-598H+开发型实验系统 2、配套计算机 五、预习要求: (1) 阅读教科书中8031的指令系统及程序的设计方法,重点掌握算术运算,转移等指令。 (2) 阅读Win51组合软件,重点掌握连续运行程序的方法和设置断点运行程序的方法 (3) 写出预习报告 六、思考题:8031单片机的寻址方式有哪些? 七、实验报告要求 (1)整理好执行正确的程序和数据; )回答思考题。2(实验三:中断、定时器系统应用实验 (设计性实验) 一、实验目的: 掌握定时/计数器、中断初始化程序的设计。 掌握

7、使用定时/计数器的方式1、方式2的编程方法 掌握中断的编程方法。 二、实验硬件电路: +5v发光二极管P1.1.80374LS03.3. LED共阴极接法 三、实验任务: 完成在每隔1秒钟接在P口的八个发光二极管循环闪亮程序设计和调1 试。 要求:1、选择定时器T1为工作方式1,产生100mS定时,使P1口的八个发光二极管循环闪亮。 2、用定时器串联方式,使T0 工作于定时(产生100mS定时),使T1 工作计数(计数10次,正好1秒)。每次T0溢出后从P3.0 口给T1 端送出一个负脉冲,当T1溢出后P1口的八个发光二极管循环闪亮。T0、T1的溢出,采用中断方式 四、实验准备: 1、 根据硬

8、件电路原理图,分析二极管闪亮的条件,(74LS07同相驱动器) 2、根据硬件电路原理图,画出实际接线图 3、根据实验任务设计出相应的程序 4、写出实验步骤和方法 、配套计算机 2开发型实验系统DICE-598H+、1五、实验设备六、预习要求:1、阅读教科书中有关定时器/计数器的内容、熟悉定时器/计数器的基本结构和工作过程 2、阅读Win51组合软件,掌握连续运行程序的方法。 3、计算定时器/计数器时间常数 4、写出预习报告 七、思考题: 定时器工作于方式1,方式2时其最大定时时间是多少(设单片机的晶振为6MHZ) 八、实验报告要求 (1)整理好执行正确的程序和数据; )回答思考题2(实验四:显

9、示接口实验 一、实验目的: 掌握单片机与8155接口方法 掌握动态扫描显示程序的编程方法和调试方法 二、实验内容 1、编制动态显示扫描程序,显示位数为6位,显示缓冲区地址为78H-7DH, 8155控制口地址:FF20H;8155A口:FF21H;8155B口:FF22H字形“0”到“F”“P”“-”等。 2、编制自动计数程序,要求显示器显示000060每秒增1 三、实验硬件电路: PADPB01A01Y000.074LS240PB71A71YA0.C803IO/815WW75452XRRPAALALRESTRESTPA 参考程序如下: ORG 0000H DIS: MOV A,#03H MO

10、V 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

11、,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组合软件的操作环境 、在Win51组合软件环境中, 编辑源程序; 、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中. 、运行、调试程序和结果检查 把需显示的数字送到显示缓冲区(78H,79H,7AH) 采用单步,宏单步,执行到光标处,设置断点等方法, 态观察程序走向是否正确及硬件连接是否正确; 连

12、续运行程序,观察LED的输出。 改变R5,R7的初值,观察输出的变化。 五、思考题:本次实验8155的工作方式?指出程序中的那些语句决定了8155的工作方式 六、预习要求:按照实验内容2的要求编写程序。 七、实验报告:1、将动态显示程序加上注释语句,并说出其功能。 、回答思考题。2 实验五:键盘接口实验 一、实验目的: 熟悉单片机通过8155与键盘的接口方法 掌握键盘扫描及处理程序的编程方法和调试方法 二、实验内容:程序运行后,在没有键入时,在LED上显示1,按下数字键,数码管上应能显示相应数字。 三、实验硬件电路 PADPB01A01Y000.074LS240PB71A71Y7ADP70.7

13、CE8031IO/M8155WRWR75452XRRPAALALRESTRESTPAPAPAPCPC 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 R

14、2,#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

15、,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,#20

16、H 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

17、: DJNZ R6,DL6 DJNZ R7,DL DJNZ R5,DL0 RET END 四、实验步骤: 1、进入Win51组合软件的操作环境 2、在Win51组合软件环境中, 编辑源程序; 3、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的. 中RAM4、运行、调试程序和结果检查 采用单步,宏单步,执行到光标处,设置断点等方法,观察程序走向是否正确; 连续运行程序,依次按动数字键观察LED的显示是否相符。 五、思考题:字型码是如何确定的, 六、预习要求:1、了解键盘接口的功能 2、 熟悉键扫描、键处理程序的设计思路。 七、实验报告: 1、将键盘接口程序加上注释语句,并说

18、出其功能。 、回答思考题。2 实验六:A/D转换器接口实验 一、实验目的: 熟悉单片机与A/D转换芯片的接口方法。 了解A/D转换芯片的转换性能及编程方法。 通过实验了解单片机如何进行数据采集。 二、实验内容:利用实验系统上的0809做A/D转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,并在数码管显示出来。 三、实验硬件电路 INT0AIN1+5VINPD070.7W1INPD700.0ADDA8031ADDBADDC080EOROWSTARCSAL 参考程序如下: ORG 0000H MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MO

19、V 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 D

20、IS1: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 88

21、H,83H,0C6H,0A1H,86H,0FFH,0CH,89H,0DEH END 四、实验步骤: 1、将0809的零通道INT0用插针接至AIN1孔,CS4位接至8000孔 、进入Win51组合软件的操作环境 、在Win51组合软件环境中, 编辑源程序; 、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中. 、运行、调试程序和结果检查 采用单步,宏单步,执行到光标处,设置断点等方法,态观察程序走向是否正确; 连续运行程序,数码管上显示当前采集的电压转换的数字量,调节W1可看到数码管的输出发生变化。 五、思考题:如何用中断方式读取A/D转换结果? 六、预习要求:熟悉

22、A/D0809的转换原理,熟悉其接口电路, 七、实验报告:1写出原程序的注释语句,并说明其功能, 回答思考题。2 实验七:D/A转换器接口实验 一、实验目的: 熟悉单片机与D/A转换芯片的接口方法。 了解D/A转换芯片的转换性能及编程方法。 二、实验内容:利用实验系统上的0832做D/A转换器实验,从0832输出一个从0V开始逐渐升至5V再降至0V的正弦波电压,数码管显示送入的数字量, 三、实验硬件电路 IOWRWR1DID00WR200CS5008328CS83DID177Xfersl4ILERfb7+12v2Iout1Vre74IoutAour1 4.7470.-125.1r2 68w2

23、21 参考程序如下: 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

24、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 DP

25、TR,#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,0C

26、6H,0A1H,86H,0FFH,0CH,89H,0DEH END 四、实验步骤: 1、把开发系统电源的12V接到开发系统中,将0832译码线CS5位接至8000孔 、进入Win51组合软件的操作环境 、在Win51组合软件环境中, 编辑源程序; 、源程序编辑好后,就可对源文件进行编译,生成目标代码并传送到开发系统的RAM中. 、运行、调试程序和结果检查 采用单步,宏单步,执行到光标处,设置断点等方法,态观察程序走向是否正确; 连续运行程序,数码管上显示不断加大或减小的数字量,用万用表测试D/A输出孔AOUT,也能测出不断加大或减小的电压值。 五、思考题:DAC0832有几种工作方式?如何实现

27、? 六、预习要求:熟悉DAC0832五、思考题:如何用中断方式读取A/D转换结果? 七、实验报告:1写出原程序的注释语句,并说明其功能, 2回答思考题。 实验八:电脑时钟程序实验 (综合性实验) 一、实验目的: 进一步掌握定时器/计数器的使用方法, 了解、熟悉80C51综合性程序的编程方法 二、实验内容:从598H+实验系统键盘上输入时间初值,按下EXEC键,数码管上将实时显示时间值。 三、硬件电路: PADPB01A01Y000.074LS240PB71A71Y7ADP70.7CE803IO/815WW75452XRRPAALALRESTRESTPA 主要芯片:8031、8155、75452

28、、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 MOV A,22H ACALL PTDS MOV A,21H ACALL PTDS MOV A,20H ACALL PTDS RET PTDS:

29、 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 2

30、1H,#00H MOV A,20H INC A DA A MOV 20H,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

31、 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 MOV R1,A CLR A POP DPH POP DPL MOVC A,A+DPTR INC DPTR CJN

32、E A,01H,X30 CLR A MOVC A,A+DPTR X31: MOVX R0,A INC DPTR PUSH DPL PUSH DPH RET X30: DEC R1 MOV A,R1 SJMP X31 X2: MOV R6,#50H X0: ACALL XLE JNB ACC.5,XX0 DJNZ R6,X0 MOV R6,#20H MOV R0,#59H MOVX A,R0 MOV R0,A MOV A,R0 MOV R7,A MOV A,#10H MOV R0,A X1: ACALL XLE JNB ACC.5,XX1 DJNZ R6,X1 MOV A,R7 MOV R0,A

33、 SJMP X2 XX1: MOV R6,A MOV A,R7 MOV R0,A MOV A,R6 XX0: RET XLE: ACALL DIS ACALL KEY MOV R4,A MOV R1,#48H MOVX A,R1 MOV R2,A INC R1 MOVX A,R1 MOV R3,A MOV A,R4 XRL A,R3 MOV R3,04H MOV R4,02H JZ X10 MOV R2,#88H MOV R4,#88H X10: DEC R4 MOV A,R4 XRL A,#82H JZ X11 MOV A,R4 XRL A,#0EH JZ X11 MOV A,R4 ORL

34、A,R4 JZ X12 MOV R4,#20H DEC R2 SJMP X13 X12: MOV R4,#0FH x11: MOV R2,04H MOV R4,03H X13: MOV R1,#48H MOV A,R2 MOVX R1,A INC R1 MOV A,R3 MOVX R1,A MOV A,R4 RET LS3: DB 07H,04H,08H,05H,09H,06H,0AH DB 0BH,01H,00H,02H,0FH,03H,0EH DB 0CH,0DH DIS: PUSH DPH PUSH DPL SETB RS1 MOV R0,#7EH MOV R2,#20H MOV R3,#00H MOV DPTR,#LS0 LS2: MOV A,R0 MOVC A,A+DPTR MOV R1,#22H MOVX R1,A MOV A,R2 DEC R1 MOVX R1,A DEC R0 LS1: DJNZ R3,LS1 CLR C RRC A MOV R2,A JNZ LS2 INC R1 MOV A,#0FFH MOVX R1,A CLR RS1 POP DPL POP DPH RET LS0: DB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论