




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Mcs51系列单片机实训指导书软件实验实验一数据传送(RAM>XRAM)一、实验目的熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。二、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、编写程序,实现内外部数据段的传送、校验。三、程序框图四、实验步骤在内部RAM 30H 3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H 100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。五、程序清单;将内部RAM Addre
2、ss1 开始的16个字节送到外部RAM从Address2开始的单元里,再作比较。Address1DATA30HAddress2XDATA1000HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0;传送MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0;比较MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJN
3、ZR7,STAR2SJMP$;传送正确STAR3:SJMP$;传送错误END如果读者使用星研集成环境软件,请考虑以下问题:1、运行程序前,打开变量窗、二个存贮器窗(一个选择片内数据;一个选择片外数据,起始地址选择1000H),每个存贮器窗有四个标签,有何好处?;2、使用单步进入命令,运行到第十四行后,运行过程中变量窗有何变化?将鼠标停留在A、SP、R0、DPTR上一秒后,出现什么?,它与变量窗使用场合的区别?3、将光标移到第十四行上,使用运行到光标处命令,观察运行结果,体会它与单步进入命令的不同处。4、在二十行上,设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区
4、别?5、使用全速运行命令,稍后,点击工具条上停止运行命令按钮,当前执行箭头停在哪一行?运行结果是否正确?它与全速断点运行命令有何区别?6、观察寄存器,有哪几种方法?1)在工作区窗的通用寄存器标签视中;2)变量窗3)鼠标停留在寄存器上4)观察窗 5)寄存器窗7、查看CPU内部数据RAM、CPU片外数据RAM:1)存贮器窗 2)变量窗 3)鼠标停留在CPU内部数据RAM、CPU片外数据RAM的地址、R0、DPTR上六、思考题 编写一个程序,将外部数据RAM中的数据传送到内部数据RAM中。 实验二 双字节BCD码(十进制数)加法一、实验目的熟悉51汇编指令,学会使用星研集成环境软件,能自己编写简单的
5、程序,熟悉BCD码,了解如何调用系统提供的子程序。二、实验内容从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。三、实验框图四、实验步骤1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、在F4区的键盘上输入4位被加数、加数3、结果显示在F4区的数码管上五、程序清单EXTRNCODE(Display8, GetBCDKey)BufferDATA30H;8字节显示缓冲区
6、F1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#bufferMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(被加数)SETBF1;接收到第一个键,才清除显示MOVR0,#buffer+4MOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(加数)MOVA,buffer+1ADDA,buffer+5DAAMOVbuffer+5,AMOVA,bufferADDCA,buffer+4DAAMOVbuffer+4,ACLRARLC
7、ADisplay:PUSHACC;显示结果MOVR0,#bufferMOVA,buffer+5;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,buffer+4;高位ACALLB1toB2POPACC;进位ACALLB1toB2MOVR0,#10H;最高二位消隐INCR0MOVR0,#10HMOVR0,#buffer+5MOVR7,#5ACALLBlackDisplay;将高位0消隐MOVR0,#bufferLCALLDisplay8SJMPSTART1;将一个字节压缩BCD码转换成二个字节非压缩BCD码B1toB2:PUSHACCANLA,#0FHMOVR0,AINCR
8、0POPACCANLA,#0F0HSWAPAMOVR0,AINCR0RETBlackDisplay:MOVA,R0;将高位0消隐JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:RETEND实验三冒泡排序一、实验目的熟悉使用MCS51指令,掌握汇编语言的设计和调试方法,了解如何使用高效方法对数据排序。二、实验内容编写并调试一个排序程序,要求使用冒泡法将一组数据从小到大重新排列。三、程序框图四、实验步骤使用断点方式调试程序,检查内部RAM 30H3FH中数据是否按从小到大的顺序排列。五、程序清单bSortBITF0ORG0000HLJMPST
9、ARORG0100HSTAR:MOVSP,#60H;堆栈MOVR0,#30H;存放待排序数据的首地址MOVR7,#16;数据个数MOVDPTR,#TAB_1STAR1:CLRAMOVCA,A+DPTRMOVR0,A;将数据移入内部RAM中INCR0INCDPTRDJNZR7,STAR1MOVR7,#16-1;存放比较次数STAR2:PUSH07HMOVR0,#30H;存放启始地址CLRbSortMOVR1,00HINCR1MOVA,R0STAR3:MOVB,AMOVA,R1CJNEA,B,$+3JNCSTAR5XCHA,R0MOVR1,ASETBbSortSTAR5:INCR0INCR1DJN
10、ZR7,STAR3POP07HJNBbSort,ExitDECR7SJMPSTAR2Exit:SJMP$TAB_1:DB 0H,5H,6H,3H,8H,92H,04H,57H,46H,01H,0FFH,0A0H,45H,99H,55H,66HEND六、思考题你还知道哪些排序方法?另外编写一个排序子程序。(数据结构方面的教材上有十几种排序方法)。实验四 电子钟(定时器、中断综合实验)一、实验目的熟悉MCS51类CPU的定时器、中断系统编程方法,了解定时器的应用、实时程序的设计和调试技巧。二、实验内容编写一个时钟程序,产生一个50ms的定时中断,对定时中断计数,将时、分、秒显示在数码管上。三、程序
11、框图四、实验步骤1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、时间显示在数码管上五、程序清单ms50DATA31H;存放多少个50mssecDATA32H;秒minDATA33H;分hourDATA34H;时bufferDATA35H;显示缓冲区EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BH;定时器T0中断处理入口地址LJMPINT_Timer0ORG0100HSTAR:MOVSP,#60H;堆栈MOVms50,A;清零ms50MOVhour,#12;设定初值: 12:59:50MOVmin,#59M
12、OVsec,#50MOVTH0,#60;定时中断计数器初值MOVTL0,#176;定时50msMOVTMOD,#1;定时器0:方式一MOVIE,#82H;允许定时器0中断SETBTR0;开定时器T0STAR1:LCALLDisplay;调用显示JNBF0,$CLRF0SJMPSTAR1;需要重新显示时间;中断服务程序INT_Timer0:MOVTL0,#176-5MOVTH0,#60PUSH01HMOVR1,#ms50INCR1;50ms单元加1CJNER1,#20,ExitIntMOVR1,#0;恢复初值INCR1INCR1;秒加1CJNER1,#60,ExitInt1MOVR1,#0INC
13、R1INCR1;分加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;时加1CJNER1,#24,ExitInt1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETIHexToBCD:MOVB,#10DIVABMOVR0,BINCR0MOVR0,AINCR0RETDisplay:MOVR0,#bufferMOVA,secACALLHexToBCDMOVR0,#10H;第三位不显示INCR0MOVA,minACALLHexToBCDMOVR0,#10H;第六位不显示INCR0MOVA,hourACALLHexToBCDMOVR0,#buf
14、ferLCALLDisplay8RETEND六、思考题1、电子钟走时精度与哪些有关系?中断程序中给TL0赋值为什么与初始化程序中不一样?2、使用定时器方式二,重新编写程序。 实验五 频率计(定时器、计数器、中断综合实验)一、实验目的熟悉MCS51类CPU的定时器、计数器、中断系统编程方法,了解定时器、计数器的应用、实时程序的设计和调试技巧。二、实验内容使用定时器0产生定时,使用计数器1计数外部脉冲,用P3.5测量信号频率(最大不能超过0.5MHZ),将频率值显示在数码管上。三、程序框图四、实验步骤1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02
15、、将导线的一头插入A3区的T1(P3.5)3、打开实验仪的电源4、将导线的另一头与B2区的500K1953的信号相连,对应的频率值显示在数码管上五、程序清单;程序名称:频率计(P3.5计数 1秒处理一次)Count50msDATA30HPulseCountDATA31H;脉冲计数第三个字节bufferDATA32H;8个字节显示缓冲区EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BHLJMPTimerT0;T0计时中断处理入口ORG001BHLJMPCounterT1;T1计数中断处理入口ORG0100HSTAR:MOVSP,#60HMOVTMOD,#010
16、10001B;T0定时,T1计数,方式1MOVTH0,#03CH;50ms定时MOVTL0,#0B0HMOVCount50ms,#20;20 * 50ms = 1sMOVTH1,#00H;计数MOVTL1,#00HMOVPulseCount,#0SETBEASETBET1SETBET0SETBTR0SETBTR1STAR1:JBTR0,$SETBTR0;刷新显示SETBTR1ACALLB4toD4Display:MOVR0,#buffer;显示结果MOVA,R7;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,R6ACALLB1toB2MOVA,R5ACALLB1toB2
17、MOVA,R4;高位ACALLB1toB2MOVR0,#buffer+7MOVR7,#7ACALLBlackDisplay;将高位0消隐MOVR0,#bufferLCALLDisplay8SJMPSTAR1TimerT0:MOVTH0,#03CH;50ms定时MOVTL0,#0B0HDJNZCount50ms,TimerT0_exitMOVCount50ms,#20CLRTR0CLRTR1MOVR1,PulseCountMOVR2,TH1MOVR3,TL1MOVPulseCount,#0MOVTH1,#0MOVTL1,#0TimerT0_exit:RETICounterT1:INCPulseC
18、ountRETI;B4toD4子程序请参阅实验四、B1toB2、BlackDisplay子程序请参阅实验二END六、思考题1、为什么测试较高频率信号时,数码管上显示的数据一直在变化?2、为什么频率信号不能超过0.5MHZ?硬件实验实验一跑马灯实验一、实验目的与要求熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。二、实验设备 STAR系列实验仪一套、PC机一台三、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、照接线图编写程序:使用P1口控制F5区的8个指示灯,循环点亮,瞬间只有一个
19、灯亮。2、观察实验结果,验证程序是否正确。四、实验原理图五、实验步骤 1、连线说明: A3区:JP51F5区:JP652、编写程序或运行参考程序。 3、实验结果:通过F5区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。六、演示程序ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMOVA,#0FFHCLRCSTART1:RLCAMOVP1,AACALLDelaySJMPSTART1Delay:MOVR5,#2;延时Delay1:MOVR6,#0Delay2:MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1R
20、ETEND如果读者使用星研集成环境软件,请考虑以下问题?1、运行程序前,打开变量窗;2、使用单步进入命令,运行到第六行后,运行过程中变量窗有何变化?将鼠标停留在A、SP上一秒后,出现什么?,它与变量窗使用场合的区别?3、第九行是调用延时子程序,如何进入延时子程序(使用单步进入命令)?如何将延时子程序一下子运行完毕(使用单步命令;也可以将光标移到下一行,使用运行到光标处命令;)?单步进入命令与单步命令有何区别?4、运行几次后,在第十行设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?5、Delay是一个延时子程序,改变延时常数,使用全速运行命令,显示发生了什么变
21、化?6、观察寄存器,有哪几种方法?1)在工作区窗的通用寄存器标签视中;2)变量窗3)鼠标停留在寄存器上4)观察窗5)寄存器窗实验二74HC138译码器实验一、实验目的与要求1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。2、认真预习本节实验内容,尝试自行编写程序,填写实验报告二、实验设备STAR系列实验仪一套、PC机一台 三、实验内容1、编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。2、运行程序,验证译码的正确性。四、实验原理图五、实验
22、步骤1、连线说明: C2区:A、B、CA3区:P1.0、P1.1、P1.2C2区:G1、G2A、G2BC1区:VCC、GND、GNDC2区:JP36F5区:JP65(LED指示灯)2、 调试程序,查看运行结果是否正确。六、演示程序;138译码器实验(跑马灯),P1.0-A, P1.1-B, P1.2-C, /G2B-GND, /G2A-GNDORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRA;初值,第一次0位LED亮START1:MOVP1,AACALLDLTIMEINCACLRACC.3;A的值在0.7之间SJMPSTART1DLTIME:MOVR5,
23、#20DLTIME1:MOVR6,#100DLTIME2:MOVR7,#100DJNZR7,$DJNZR6,DLTIME2DJNZR5,DLTIME1RETEND 七、实验扩展及思考 在单片机系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理? 实验三8255控制交通灯实验一、实验目的与要求1、 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。2、 熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。3、 认真预习本节实验内容,尝试自行编写
24、程序,填写实验报告。二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:使用8255的PA0.2、PA5.7控制LED指示灯,实现交通灯功能。2、连接线路验证8255的功能,熟悉它的使用方法。四、实验原理图五、实验步骤1、连线说明:B4区:CS、A0、A1A3区:CS1、A0、A1B4区:JP56(PA口)F5区:JP652、观察实验结果,是否能看到模拟的交通灯控制过程。六、演示程序COM_ADDXDATA0F003HPA_ADDXDATA 0F000HPB_ADDXDATA0F001HPC_ADDXDATA0F002HORG0000HLJMPSTARORG0100HSTA
25、R:MOVSP,#60H MOVDPTR,#COM_ADDMOVA,#80H;PA、PB、PC为基本输出模式MOVXDPTR,AMOVDPTR,#PA_ADD;灯全熄灭MOVA,#0FFHMOVXDPTR,ASTART1:MOVA,#37HMOVCA,A+PCMOVXDPTR,A;东西绿灯,南北红灯ACALLDL5SMOVR4,#6START2:MOVA,#30HMOVCA,A+PCMOVXDPTR,A;东西绿灯闪烁,南北红灯ACALLDL500msMOVA,#29HMOVCA,A+PCMOVXDPTR,AACALLDL500msDJNZR4,START2MOVA,#23H;东西黄灯亮,南北红
26、灯MOVCA,A+PCMOVXDPTR,AACALLDL3SMOVA,#1EH;东西红灯,南北绿灯MOVCA,A+PCMOVXDPTR,AACALLDL5SMOVR4,#6START3:MOVA,#17H;东西红灯,南北绿灯闪烁MOVCA,A+PCMOVXDPTR,AACALLDL500msMOVA,#10HMOVCA,A+PCMOVXDPTR,AACALLDL500msDJNZR4,START3MOVA,#0AH;东西红灯,南北黄灯亮MOVCA,A+PCMOVXDPTR,AACALLDL3SSJMPSTART1DB01111110B;东西绿灯,南北红灯DB11111110B;东西绿灯闪烁,南
27、北红灯DB10111110B;东西黄灯亮,南北红灯DB11011011B;东西红灯,南北绿灯DB11011111B;东西红灯,南北绿灯闪烁DB11011101B;东西红灯,南北黄灯亮DL500ms:MOVR5,#25DL500ms1:MOVR6,#100DL500ms2:MOVR7,#100DJNZR7,$DJNZR6,DL500ms2DJNZR5,DL500ms1RETDL3S:MOVR4,#6DL3S1:LCALLDL500msDJNZR4,DL5S1RETDL5S:MOVR4,#10DL5S1:LCALLDL500msDJNZR4,DL5S1RETEND七、实验扩展及思考1、如何对825
28、5的PC口进行位操作?实验四8253方波实验一、实验目的与要求了解8253的内部结构、工作原理;了解8253与单片机的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。 二、实验设备 STAR系列实验仪一套、PC机一台 三 、实验内容1、编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。2、连接线路,验证8253的功能,熟悉它的使用方法。四、实验原理图五、实验步骤1、连线说明:D5区:CS、A0、A1A3区:CS5、A0、A1D5区:CL
29、K0B2区:2MD5区:OUT0D5区:CLK1D5区:OUT1E3区:Ctrl(蜂鸣器)D5区:GATE0、GATE1C1区的VCC2、测试实验结果:蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红绿灯交替点亮。 六、演示程序COM_ADDRXDATA0B003HT0_ADDRXDATA0B000HT1_ADDRXDATA0B001HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVA,#35HMOVDPTR,#COM_ADDRMOVXDPTR,A ;计数器T0设置在模式2状态,BCD码计数CLRAMOVDPTR,#T0_ADDRMOVXDPTR,
30、AMOVA,#10HMO VXDPTR,A;CLK0/1000MOVA,#77HMOVDPTR,#COM_ADDRMOVXDPTR,A ;计数器T1为模式3状态,输出方波,BCD码计数CLRAMOVDPTR,#T1_ADDRMOVXDPTR,AMOVA,#10HMOVXDPTR,A;CLK1/1000SJMP$;OUT1输出频率为1s的方波END七、实验扩展及思考1、8253还有其它五种工作方式,其它工作模式下,硬件如何设计?程序如何编写?2、使用8253,编写一个实时钟程序。 实验五8250可编程通信实验(与微机)一、实验目的与要求了解8250的内部结构、工作原理;了解8250与单片机的接口
31、逻辑;掌握对8250的初始化编程方法,学会使用8250实现设备之间的串行通信。认真预习,做好实验前的准备工作,填写实验报告二、实验设备 STAR ES598PCI实验仪一套、PC机一台三、实验内容1、编写程序:通过初始化8250,设置波特率为4800bps(或其它,但与微机部分一致),数据格式为8数据位,1停止位,偶校验;然后打开PC机的串行通信测试软件,向8250发送一批数据,8250接收完数据之后,再将数据依次发送回去。2、按图连线,运行程序,观察实验结果,掌握8250的各项功能及编程方法。四、实验原理图五、实验步骤1、连线说明:D4区:CS、A0、A1、A2A3区:CS1、A0、A1、A
32、2D4区:SIN、SOUTE6区:RxD、TxD2、运行程序3、运行“串口助手(ComPort.EXE)”,设置串口(波特率4800,8个数据位,一个停止位,偶校验),打开串口,选择“HEX发送”、“HEX显示”,向8250发送数据10个数据(输入数据之间用空格分隔),是否能接收到10个字节数据,将接收到的数据发送回微机,接收到的数据是否与发送数据一致。4、改变传输数据的数目,重复实验,观察结果。六、演示程序;8250和PC机通信,需要在PC上运行一个串口软件,并设置与8250相同的波特率NS8250_Base_AddressXDATA0FF00HRHRXDATANS8250_Base_Add
33、ress;接收数据缓冲区THRXDATANS8250_Base_Address;发送数据缓冲区IERXDATANS8250_Base_Address+1;中断控制寄存器FCRXDATA NS8250_Base_Address+2;FIFO控制寄存器ISRXDATANS8250_Base_Address+2;中断状态寄存器LCRXDATANS8250_Base_Address+3;串行口控制寄存器MCRXDATANS8250_Base_Address+4;MODEM控制寄存器LSRXDATA NS8250_Base_Address+5;串行口状态寄存器MSRXDATANS8250_Base_Ad
34、dress+6;MODEM状态寄存器DLLXDATANS8250_Base_Address;波特率除数锁存器低位DLMXDATANS8250_Base_Address+1;波特率除数锁存器高位ORG0LJMPSTARORG100HSTAR:MOVSP,#60HACALLINIT8250START2:MOVDPTR,#2000H ;接收数据(接收完设定的数据个数)MOVR6,#00MOVR7,#10CALLRECEIVE_GROUPMOVDPTR,#2000H ;发送数据(发完设定的数据个数)MOVR6,#00MOVR7,#10CALLSEND_GROUPJNCSTART2WARNING1:CL
35、RP1.0;P1.0接蜂鸣器,出错报警SJMP$;发送一组字符子程序,数据的首地址在DPTR中,个数在R6R7中Send_Group:DECR7CJNER7,#0FFH,Send_Group_1DECR6CJNER6,#0FFH,Send_Group_1CLRCSend_Group_2:RETSend_Group_1:MOVXA,DPTRINCDPTRACALLSend_ByteJNCSend_GroupRET;接收一组字符子程序,存放首地址在DPTR中,个数在R6R7中Receive_Group:DECR7CJNER7,#0FFH,Receive_Group_1DECR6CJNER6,#0F
36、FH,Receive_Group_1CLRCReceive_Group_2:RETReceive_Group_1:ACALLReceive_ByteMOVXDPTR,AINCDPTRSJMPReceive_GroupINIT8250:MOVDPTR,#ISRMOVA,#06HMOVXDPTR,AMOVDPTR,#LCRMOVA,#83H;允许访问波特率因子寄存器MOVXDPTR,AMOVDPTR,#DLLMOVA,#40;除数低位寄存器,波特率设为4800=(3.072*1000000/16)/DLMDLLMOVXDPTR,AMOVDPTR,#DLMMOVA,#00H;00H送高字节寄存器MO
37、VXDPTR,AMOVDPTR,#LCRMOVA,#1BH ;不允许访问波特率因子寄存器,数据格式为8数据位,1停止位,偶校验MOVXDPTR,A RET;发送一个字节子程序,发送A中的数,失败置CYSend_Byte:PUSHDPLPUSHDPHPUSH06HPUSH07HPUSHACCMOVR6,#0MOVR7,#10MOVDPTR,#LSRREP11:MOVXA,DPTRJBACC.5,OUTPORT1DJNZR6,REP11DJNZR7,REP11POPACCSETBCSJMPEXIT8250;8250有问题OUTPORT1:POPACCMOVDPTR,#RHRMOVXDPTR,ACL
38、RCEXIT8250:POP07HPOP06HPOPDPHPOPDPLRET;接收一个字节子程序,接收字节在A中,接收失败置CYReceive_Byte:PUSHDPLPUSHDPHMOVDPTR,#LSRReceive1:MOVXA,DPTRJNBACC.0,Receive1Receive2:MOVDPTR,#RHRMOVXA,DPTRReceive3:POPDPHPOPDPLRETEND七、实验扩展及思考1、思考8250与8251有何异同之处?2、8250也可以做自发自收的实验,该如何连线及修改程序?3、如何通过中断处理方式实现8250串行接收,需要更改哪些线路?实验六简易电子琴实验一、实
39、验目的与要求掌握蜂鸣器的使用方法;掌握蜂鸣器的不同发音的方法。二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容1、简易电子琴原理:(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。2实验过程(1) 通过单片机,使F5区的17号键由低到高发出17的音阶。四、实验原理图五、实验步骤1、主机连线说明:E3区:CtrlA3区:P1.7F5区:JP74A3区:JP51(P1口)2、运行程序,按F5区的17号键,输出7种音阶3、使用F5区的17号键,弹一首生日快乐。六、演示程序K1BITP1.0;按键1K2BITP1.1;
40、按键2K3BITP1.2;按键3K4BITP1.3;按键4K5BITP1.4;按键5K6BITP1.5;按键6K7BITP1.6;按键7 BuzzerBITP1.7;蜂鸣器M1EQU17M2EQU16M3EQU15M4EQU14M5EQU13M6EQU12M7EQU11ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMAIN:MOVP1,#0FFH;P1口初始化LCALLDemo;播放一段演示音乐MAIN_1:JBK1,MAIN_2;1号键是否按下LCALLSound1;1号键发音子程序MAIN_2:JBK2,MAIN_3;2号键是否按下LCALLSound2;2号键发音子程序MAIN_3:JBK3,MAIN_4;3号键是否按下LCALLSound3;3号键发音子程序MAIN_4:JBK4,MAIN_5;4号键是否按下LCALLSound4;4号键发音子程序MAIN_5:JBK5,MAIN_6;5号键是否按下LCALLSound5;5号键发音子程序MAIN_6:JBK6,MAIN_7;6号键是否按下LCALLSound6;6号键发音子程序MAIN_7:J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术入股合同协议书模板
- 智能便利店出售合同协议
- 男女朋友礼金合同协议书
- 敬业协议能不能不签合同
- 承租人合同转让三方协议
- 快递公司赔偿款合同范本
- 租赁新能源仓库合同范本
- 水库注浆合同协议书范本
- 租赁车安全使用合同范本
- 影视制作合作合同协议书
- ZDMS0.65S-A-YA型、ZDMS0.610S-A-YA型自动跟踪定位射流灭火系统现场控制箱使用说明书-佑安高科
- 无废校园知识培训课件
- 2025奇台县公安局招聘警务辅助人员(144人)考试参考题库附答案解析
- 中级政工考试题库及答案
- 助老员督导培训课件
- 医疗公司加盟管理办法
- 2025年浙江省中考道德与法治试题答案详解讲评(课件)
- 广州南沙深化面向世界的粤港澳全面合作白皮书(2022.06-2025.06)
- 2025年全国保密教育线上培训考试测试卷必考附答案详解
- 2025年陕西教师编制招聘考试笔试试题(含答案)
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
评论
0/150
提交评论