




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机实验程序实验二 8155并行I/O口扩展和动态扫描程序编制1.实验目的(1)掌握8155并行I/O芯片扩展和使用方法(2)掌握数码管动态扫描汇编语言的编制方法2.预习要点(1)8155芯片基础知识(2)51单片机的总线时序、地址译码的原理(3)数码管动态扫描显示方法3.实验设备计算机、单片机实验箱。4.实验内容基本要求:通过实验板的上的8155(U16)显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在8个LED数码管上依次动态显示数字18。扩展要求:假定30H33H的存储单元内容为4个字节16进制数,请依序将他们显示在8个LED数码管上根据程序要求做如下程序流程图:主程序流程图:显示子程序流程框图:基本要求编程如下:ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV SP,#60H ;压栈 MOV DPTR, #4100H MOV A,#0FH ;方式控制字0FH送A MOVX DPTR, A ;8155初始化 MOV 70H,#01H ;设置显示缓冲区 MOV 71H,#02H MOV 72H,#03H MOV 73H,#04H MOV 74H,#05H MOV 75H,#06H MOV 76H,#07H MOV 77H,#08HLOOP: ACALL DISPLAY ;循环调用显示子程序 AJMP LOOPDISPLAY: MOV R0,#70H ;显示缓冲区首地址送R0 MOV R3,#0FEH ;字位控制初值送R3 LD0: MOV DPTR,#4102H MOV A,#0FFH MOVX DPTR, A ;B口字位送高,关共阴显示 MOV A,R0 MOV DPTR,#DISTAB MOVC A,A+DPTR ;查表 MOV DPTR,#4101H ;PA口作字形 MOVX DPTR,A MOV DPTR,#4102H ;PB口作字位 MOV A,R3 MOVX DPTR,A ACALL DELAY ;延时1ms INC R0 ;修正显示缓冲区指针 JNB ACC.7,LD1 ;若显示完一遍,则LD1 RL A ;字位码左移一位此处A中的值是R3MOV R3,A ;送回R3 AJMP LD0 ;显示下一个数码LD1: RET ;此处把每一个八位显示看成一次函数。DISTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;(共阴极字形表)DELAY:MOV R7,#02H ;1ms延时DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END实验中遇到的问题:开始时没有预先在显示缓冲区中存入17,故实验显示的数据不是1、2、3、4、5、6、7、8,而是显示缓冲区中之前存在的无规则的一些数据,待向显示缓冲区重新赋值后,显示正常。扩展要求编程如下:ORG 0000HLJMP MAINORG 1000HMAIN: MOV SP,#50HMOV 30H,#0A1H MOV 31H,#0C2HMOV 32H,#0D3HMOV 33H,#0F4HLCALL TRANMOV DPTR,#4100HMOV A,#0FHMOVX DPTR,ALOOP: LCALL DISPLAYSJMP LOOPTRAN: MOV R1,#30H ;将30-31H里的十六进制数分成两位存在70-71H中MOV R0,#70HMOV R3,#04LD2: MOV A,R1ANL A,#0FH ;取出低字节MOV R0,AINC R0MOV A,R1ANL A,#0F0H ;取出高字节SWAP A ;高低字节交换,将十六进制数的两位分开存放MOV R0,AINC R0INC R1DJNZ R3,LD2RETDISPLAY:MOV R1,#0FEH ;显示部分同基本要求MOV R0,#70HMOV A,R1LD0: MOV DPTR,#4102HMOVX DPTR,AMOV A, R0MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#4101HMOVX DPTR,ALCALL DELAYINC R0MOV A,R1JNB ACC.7,LD1RLAMOV R1,ASJMP LD0LD1: RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79H, 71HDELAY: MOV R7,#02HDELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY2RETEND实验三 查询式键盘实验1.实验目的(1)掌握查询式按键检测方法(2)掌握数码管动态扫描汇编语言的编制方法2.预习要点(1)按键检测的基本原理(2)数码管动态扫描显示方法3.实验设备计算机、单片机实验箱。4.实验内容基本要求:接实验二的实验内容,通过实验板的4个按键电路,将按键的检测线连接到CPU的p1.0p1.3上。当按下按键1到4时,在实验板显示电路(U16)分别对应显示1,2,3,4。扩展要求:30H33H中放置字母AD,字母在LED上循环显示,默认的循环周期为50ms,当按下按键1到4时,AD循环间隔分别变为1至4秒,无按键按下时,恢复默认的时间间隔。根据程序要求得到如下程序流程图:基本要求编程如下:ORG 0000HMAIN: MOV 70H,#0MOV 71H,#1MOV 72H,#2MOV 73H,#3MOV 74H,#4MOV DPTR,#4100HMOV A,#03H MOVX DPTR,AREADKEY:MOV A,#0FFH MOV P1,A MOV A,P1 JNB ACC.0,RP10 JNB ACC.1,RP11 JNB ACC.2,RP12 JNB ACC.3,RP13OFF: MOV R0,#70H MOV R3,#0FFH SJMP LD0RP10: MOV R0,#70H MOV R3,#0FEH AJMP LD0RP11: MOV R0,#71H MOV R3,#0FEH AJMP LD0RP12: MOV R0,#72H MOV R3,#0FEH AJMP LD0RP13: MOV R0,#73H MOV R3,#0FEH AJMP LD0LD0: MOV A,R3MOV DPTR,#4102HMOVX DPTR,A MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A ACALL DELAY AJMP MAINTAB: DB 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FHDELAY: MOV R7,#02HDELAY1:MOV R6,#0FFHDELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1RETSJMP$END扩展要求编程如下:ORG 0000HLJMP MAINORG 1000HMAIN: MOV SP,#60HMOV 30H,#0AHMOV 31H,#0BHMOV 32H,#0CHMOV 33H,#0DHMOV A,#0FHMOV DPTR,#4100HMOVX DPTR,AREADKEY:MOV A,#0FFH MOV P1,A MOV A,P1 JNB ACC.0,RP10 JNB ACC.1,RP11 JNB ACC.2,RP12 JNB ACC.3,RP13OFF: MOV R7,#50 AJMP DISPLAYRP10: MOV R7,#100 AJMP DISPLAYRP11: MOV R7,#200 AJMP DISPLAYRP12: MOV R7,#300 AJMP DISPLAYRP13: MOV R7,#400 AJMP DISPLAYDISPLAY: MOV R0,#30H MOV R2,#0FEHLD: MOV A,R0MOV DPTR,#TABMOV A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A,R2 MOVX DPTR,AACALL DELAY INC R0 JNB ACC.3,LD1 RL A MOV R2,AAJMP LDLD1: AJMP READKEYDELAY : MOV R6,#500DELAY1: DJNZ R6,DELAY1 DJNZ R7,DELAYRETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79H, 71H实验四 利用中断控制LED灯1.实验目的(1)掌握单片机中断的基本原理。(2)掌握单片机中断程序的编制方法。2.预习要点(1)单片机中断基本原理(2)中断程序编制方法3.实验设备计算机、单片机实验箱、信号发生器。4.实验内容基本要求:将信号发生器输出的脉冲信号连接到CPU的INT0上,将CPU的P1.0到P1.7和8个红色LED灯连接,脉冲信号为5V、100Hz,每输入一百个脉冲LED灯亮一次,并且LED灯顺序循环移位一次,形成跑马灯。扩展要求:在LED数码管上与跑马灯同步显示18,顺序为P1.0对应的灯亮时对应显示数字1,依次类推。根据程序要求得到如下程序流程图: 主程序流程图 中断子程序流程图 基本要求编程如下:ORG 0000HLJMP MAINORG 0003HLJMP L1MAIN:SETB IT0 SETB EX0 SETB EA MOV R0,#00H MOV P1,#0FEH L2:SJMP L2 L1:INC R0 CJNE R0,#64H,L3 MOV R0,#00H MOV A,P1 RL A MOV P1,A L3:RETI扩展实验程序:ORG 0000HAJMP MAINORG 0003HAJMP EXINT0ORG 0060HMAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV 30H,#0 MOV 31H,#1 MOV 32H,#3 MOV 33H,#2 MOV 34H,#5 MOV 35H,#6 MOV 36H,#7 MOV 37H,#8 ;缓存器中送入1-8 MOV R3,#00H ;用于计脉冲 MOV P1,#00H ;关LED显示 MOV R4,#01H ;控制跑马灯 MOV R0,#30H MOV R5,#0FEH MOV R2,#8 MOV DPTR,#4100H MOV A,#03H MOVX DPTR,A ;方式控制字送8155命令口 SJMP $EXINT0:INC R3 CJNE R3,#64H,NEXT ;计算脉冲达到100 MOV R3,#00H ;清零,重新计数 MOV A,R4 MOV P1,A ;跑马灯显示 RL A MOV R4,ADISPLAY1:MOV R0,#30H MOV R5,#0FEH MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A ,R5 MOVX DPTR,A ACALL DELAY ;INC R0 DJNZ R2,NEXTMOV R2,#8 MOV R0,#30HNEXT: RETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY:MOV R7,#05HDELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END实验五 单相方波波形发生器1.实验目的(1)掌握单片机定时器基本原理和使用方法。(2)掌握单片机中断程序的编制方法。2.预习要点(1)单片机定时器基本原理(2)中断程序编制方法3.实验设备计算机、单片机实验箱,示波器。4.实验内容基本要求:(1)利用定时器在p1.1输出方波,方波的周期为50ms,占空比为50%。 (2)改上例中方波的占空比为25%。扩展要求: 利用LED数码管做一个包含时、分、秒的计时器根据题目得如下结构框图: 主程序流程图 中断子程序流程图 基本要求编程如下:占空比为50%的方波(晶振为12M): ORG 0000H AJMP MAIN ORG 000BH AJMP BRT0 MAIN: MOV SP,#60H MOV TMOD,#01H MOV TH0,#9EH MOV TL0,#58H MOV IE,#82H SETB TR0 HERE: SJMP HERE BRT0: CPL P1.1 MOV TH0,#9EH MOV TL0,#58H RETI END占空比为25%的方波(晶振为12M): ORG 0000H AJMP MAIN ORG 000BH AJMP BRT0 MAIN: MOV SP,#60H SETB P1.1 MOV TMOD,#01H MOV TH0, ,#0CFH MOV TL0, #2CH MOV IE,#82H SETB TR0 HERE: SJMP HERE BRT0: CPL P1.1JNB P1.1,D3 MOV TH0,#0CFH MOV TL0,#2CH RETID3: MOV TH0,#6DH MOV TL0,#84HRETI END扩展实验程序:ORG 0000HAJMP MAINORG 000BHAJMP BRT0ORG 0060HMAIN:MOV SP,#60H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV R5,#20 MOV R6,#60 MOV R7,#60 MOV 40H,#00H ;秒 MOV 41H,#00H ;分 MOV 42H,#00H ;时 MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00HHERE:LCALL LD0 SJMP HEREBRT0:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R5,NEXT MOV A,40H ADD A,#01H MOV 40H,A MOV B,#10 DIV AB ACALL LD1 MOV 31H,A MOV 30H,B MOV R5,#20 DJNZ R6,NEXT MOV 40H,#00H MOV A,41H ADD A,#01H MOV 41H,A MOV B,#10 DIV AB ACALL LD1 MOV 33H,A MOV 32H,B MOV R6,#60 DJNZ R7,NEXT MOV 41H,#00H MOV A,42H ADD A,#01H MOV 42H,A ACALL LD2 MOV B,#10 DIV AB MOV 35H,A MOV 34H,B MOV R7,#60NEXT:RETILD1:CJNE A,#06H,LOOP MOV A,#00H SJMP LOOPLD2:CJNE A,#0CH,LOOP MOV A,#00H MOV 42H,#00HLOOP:RETLD0:MOV R0,#30H MOV R2,#6 MOV R3,#7FHDISPLAY:MOV DPTR,#4100H MOV A,#03H MOVX DPTR,A MOV DPTR,#TAB MOV A,R0 MOVC A,A+DPTR MOV DPTR,#4101H MOVX DPTR,A MOV DPTR,#4102H MOV A,R3 MOVX DPTR,A ACALL DELAY RR A MOV R3,A INC R0 DJNZ R2,DISPLAY RETTAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H DB 71HDELAY:MOV 57H,#250DELAY1:DJNZ 57H,DELAY1 RET END实验六 利用A/D完成电压测量及显示1.实验目的(1)掌握A/D转换器的基本原理和使用方法。(2)掌握二进制数和BCD码之间的数值转换方法。2.预习要点(1)A/D转换器的基本原理和使用方法(2)二进制数和BCD码之间的数值转换方法3.实验设备计算机、单片机实验箱,万用表。4.实验内容基本要求:利用ACH1电位器,在05V范围调节A/D转换器0809的输入端ADIN0的电压,在显示电路上(U16)显示0050数值。扩展要求:相同输入条件下,在显示电路上显示-25+24的数值。根据题目得如下结构框图: 主程序流程图 A/D转换子程序流程图 基本要求编程如下:ORG 0000H LJMP MAIN ORG 0100HMAIN:ACALL READAD ACALL DISPLY SJMP MAINREADAD: MOV A,#00H MOV DPTR,#8000H ;IN0, MOVX DPTR,A ;启动A/D转换 MOV R7,#80H ;等待A/D转换完成AD0809:DJNZ R7,AD0809 MOVX A,DPTR MOV B,#50 MUL AB MOV 40H,B ;将0255范围内的数据转换成0050范围内的数据 MOV A ,40H MOV B,#10 DIV AB MOV 50H,A MOV 51H,B RETDISPLY: MOV A,#03H MOV DPTR,#4100H MOVX DPTR,A MOV R0,#51H MOV R6,#0FEH LD0: MOV A,R6 MOV DPTR,#4102H MOVX DPTR,A MOV DPTR,#4101H MOV A,R0 MOV DPTR,#TAB MOVC A,A+ DPTR ACALL DELAY12MS DEC R0 MOV A,R6 JNB ACC.1,LD01 RL A MOV R6,A AJMP LD0 LD01: RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY12MS: MOV R4,#02HDL2: MOV R5,#0FBHDL1: DJNZ R5,DL1 DJNZ R4,DL2 RETEND扩展实验编程如下:ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP,#60H MOV DPTR,#4100H MOV A,#0FH MOVX DPTR,A MOV DPTR,#8000H MOV A,#00H MOVX DPTR,A ACALL DELAY ACALL DELAY ACALL GETV ACALL DISPLAY ;调用显示程序 LJMP MAIN ;循环主程序GETV: MOV DPTR,#8000H MOVX A,DPTR MOV B,#50 MUL AB ; A*50/255, A先乘以50。 高8位放在B,低8位放在A MOV A,B ; 取出高8位,相当于除以了256,右移8位 CLR C SUBB A,#25 ;减25 JB ACC.7,FUSHU ;最高位不等于0跳转 MOV 50H,#10H SJMP NEXTFUSHU:MOV 50H,#14H CPL A ;有符号数取其正值NEXT: MOV B,#10 ;分两位数显示 DIV AB MOV 51H,A MOV 52H,B RETDISPLAY:MOV DPTR,#4102H MOV A,#0FFH MOVX DPTR,A 实验七 利用DAC0832完成波形发生器1.实验目的(1)掌握D/A转换器的基本原理和使用方法。2.预习要点(1)D/A转换器的基本原理和使用方法。3.实验设备计算机、单片机实验箱,示波器。4.实验内容基本要求:利用实验板上的0832D/A芯片,将示波器连接到滤波电路后,通过程序产生周期为20ms的三角波。扩展要求:利用实验板上的0832D/A芯片和电位器,将示波器连接到滤波电路后,通过程序产生周期或幅度可调的锯齿波。根据题目要求构造如下程序流程图:基本要求编程如下:ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV SP,#60H CLR A MOV DPTR,#4000HDOWN:MOVX DPTR,A ACALL DELAY INC A JNZ DOWN MOV A,#0FEHUP: MOVX DPTR,A ACALL DELAYDEC A JNZ UP SJMP DOWNDELAY: MOV R7,#41DELAY1: DJNZ R7,DELAY1RETEND扩展实验程序:ORG 0000HAJMP MAINORG 0060MAIN:MOV SP,#60HMOV DPTR,#0A000HMOV R1,#1 ;R2/R1-周期 MOV R2,#200 ;R2-幅度MOV A,R2MOV B,R1 DIV AB MOV B,R1 MUL AB MOV 20H,ALOOP: CLR ANEXT: MOVX DPTR,A ADD A,R1 CJNE A,20H,NEXT MOVX DPTR,A SJMP LOOP END实验八 点对点的单片机双机通信实验1.实验目的(1)掌握串行口基本原理和使用方法。(2)掌握点对点串行通信程序的编制方法。2.预习要点(1)串行口基本原理和使用方法。(2)串行口的工作方式和点对点串行通信程序的编制方法。3.实验设备计算机、单片机实验箱4.实验内容基本要求:两组配合,一组作为主机(发送数据),一组作为从机(接收数据)。要求主机发送16个数据,其第一帧为数据长度,从机收到数据后,给主机发送回16个数据的数据和。扩展要求:主机收到数据和后给从机发送“good”字符串,并同时在主机和从机上利用LED数码管显示出来。基本要求编程如下:发送程序: ORG 0000H LJMPMAIN ORG 0023H LJMPSINT ORG 0100HMAIN: MOV 40H,#00H MOV 41H,#1 MOV 42H,#2 MOV 43H,#3 ;将待发送的数据存入40H为起始地址的数据单元中 MOV 44H,#4 MOV 45H,#5 MOV 46H,#6 MOV 47H,#7 MOV 48H,#8 MOV 49H,#9 MOV 4AH,#10 MOV 4BH,#11 MOV 4CH,#12 MOV 4DH,#13 MOV 4EH,#14 MOV 4FH,#15 MOVSP,#70H MOVTMOD,#20H ;定时器工作于方式2 MOVTL1,#0F4H ;设定初值 MOVTH1,#0F4H MOVPCON,#80H ;SMOD=1 SETB TR1 ;起动T1计数器 MOVSCON,#50H ;设置通信方式1,单机对单机,允许接收 MOVR0,#40H ;待发数据存入40H MOVR1,#50H ;接收到的数据和存入50H MOVR2,#10H ;发送数据个数为16 MOVA,R2 MOVSBUF,A ;发送数据 SETB EA ;开总中断 SETB ES ;开串口通信中断WAIT:SJMPWAITSINT:JNB TI,SINT1 ;判断中断产生原因,是TI还是RI。若为RI,则SINT1 CLR TI ;若产生的中断为TI,则清零为下一次发送做准备 CJNE R2,#00H,SINT3 SJMPSINT2SINT3:MOVA,R0 MOVSBUF,A ;主机发送数据 DEC R2 INC R0 ;40H地址自增1,取下一个待发送的数据 SJMPSINT2SINT1:MOVA,SBUF ;将接收到的数据累加和存入A CLR RI MOVR1,A ;将接收到的数据累加和存入50H MOV SBUF,#0BH JNB TI,$ CLR TI CLR TI MOV SBUF,#0AH JNB TI,$ CLR TI CLR TI MOV SBUF,#0CH JNB TI,$ CLR TI CLR TI MOV SBUF,#0DH ACALL DISPSINT2:RETIDISP: MOV 30H,#9 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0DH MOV R3,#0FEH MOV R0,#30H MOV R1,#4 MOV DPTR,#4100H ;设置命令状态字 MOV A,#03H MOVX DPTR,A LOOP1: MOV DPTR,#4102H ;设置字位码(B口) MOV A,R3 MOVX DPTR,A MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV DPTR,#4101H ;设置字形码(A口) MOVX DPTR,A LCALL DELAY INC R0 ;为下一循环赋值 MOV A,R3 RL A MOV R3,A DJNZ R1,LOOP1 SJMP DISPTAB:DB 3FH,06H,5BH,4F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全管理学A考试模拟题及答案
- 2025年农家乐面试题营销推广能力提升
- 2025年烹饪大师国家认证考试试题及答案解析
- 2025年美术设计试题及答案解析
- 2025年旅游景区策划师专业知识评估试卷及答案解析
- 2025年婚礼策划师技能水平认定考试试卷及答案解析
- 2025年安全员C考试高频题集解析
- 2025年安全员国证考试模拟试卷及答案bi备
- 2025年供热通风空调工程师资格考试试题及答案解析
- 2025年塑料模具制造工艺师高级试卷含答案
- T-CITSA 57-2025 高速公路基础设施主数据标准
- 住院病人防止走失课件
- 2025年临床助理医师考试试题及答案
- 2025年南康面试题目及答案
- 2025年全国学宪法讲宪法知识竞赛考试题库(含答案)
- 定增基金管理办法
- 汽车标定工程师培训课件
- 速叠杯教学课件
- GB/T 45767-2025氮化硅陶瓷基片
- 2025年第十届“学宪法、讲宪法”活动知识竞赛题库及答案
- 北京项目工程管理办法
评论
0/150
提交评论