MCS–51单片机原理及接口技术实验指导书霍凯郭玉明编张家栋赵嘉蔚审北京交通大学机电学院2012年3月1目录一、MCS-51单片机应用板系统结构说明………………………..……….2二、MCS-51单片机应用板的使用说明……………………………..…….3三、附表:接线端子序号定义表……………………………………..……4实验一、学习DICE仿真系统的使用及简单编程………………….…….5实验二、运算处理程序设计与调试…..……….…………………..………6实验三、8031单片机定时/计数器应用实验7实验四、数据存储器扩展实验………………………8实验五、LED显示器实验..…….…………………8实验六、模/数与数/模转换实验………………………..………………….9附录:动态显示参考程序…………………………..…….………………..112一、MCS-51单片机应用板系统结构说明MCS-51单片机应用板上具有A/D、D/A转换、打印机接口,并行输入输出,定时计数功能和六位显示,八个开关,该板上还扩充了程序存储区8K的EPROM2764一片,数据存储区8K的RAM6264芯片一片,该应用板下边自左至右为接线端子序号1~72。附表一为该板上接线端子序号与该引脚定义内容的一览表,为了明显起见,下面把用户常用的一些资源及其地址罗列出来,供用户使用时参阅。(一)单片机8031部分:1、8031单片机,上电复位和按钮复位两种复位方式,主频晶振6MHZ。2、INT1外部中断输入信号,已被A/D芯片0809的EOC信号所占用。3、P1口的八位I/O线由板上开关KA控制可有两种用途,一是当KA对应位,置于ON的状态时,P1口的该位I/O线去控制板上的对应位的发光二极管,当KA上该位处于“OFF”状态时,该位I/O线引到接线端子上供用户使用。4、T1实时计数器:T1受KB开关上的第二位控制,当KB2处于“ON”时,T1可以作为计数工作方式,用来统计板上按钮开关J按动的次数,为学生计数实验所设计,当KB2处于“OFF”时,T1引到接线端子上供用户使用。5、除上述之外,其它有关8031的引脚已全部引到接线端子上,供用户选用。(二)应用系统扩展部分1、74LS138译码器地址:8031的P2.5~P2.7分别接于74LS138的A、B、C译码地址线上,其真值表如下:74LS138的输出P2.7CP2.6BP2.5A芯片地址Y00000000H~1FFFH6264Y10012100H8155Y20104000HDAC0832Y30116000HADC0809Y41008000H打印机Y5101接线端子56Y6110接线端子45Y7111接线端子442、8155芯片:命令/状态寄存器的地址:2100HA口地址:2001H接线端子的65~72位B口地址:2102HPB0~PB6分别用于显示器的a~g字型选择输出C口地址:2103HPC0~PC5分别用于显示器字位选择输出3、EPROM2764地址:0000H~1FFFH3(三)开关、键说明:1、K1~K8拨码开关:作为8路开关量输出。置于ON端为高电平输出,置于OFF端为低电平输出。对应于接线端子的4~11号位。2、KA1~KA8拨码开关:分别控制8个发光二极管L1~L8。置于ON状态时,8031P1口P1.0~P1.7分别控制发光二极管的L1~L8。置于OFF状态时,P1.0~P1.7与L1~L8断开,分别引到接线端子的第18~25号位。3、KB1~KB2拨码开关:KB1置于ON状态时,RST复位键与8031第9脚RESET接通。置于OFF状态时RST复位键与8031RESET脚断开。此时8031的第9脚RESET接于接线端子第26号位。KB2置于ON状态时,计数按钮开关J与8031的T1定时计数器引脚连通,KB2置于OFF状态时,8031的T1与接线端子31号位相接。4、J:计数用按钮开关。5、RST:复位按钮开关。6、W1电位器:A/D转换时0809模拟量输入的调节。二、MCS-51单片机应用板的使用说明MCS-51单片机应用板应用时,要与单片机开发系统和计算机配套使用。目前实验室用得计算机为工控机,单片机开发系统型号为伟福系列(SP51型)仿真系统,其它型号的MCS-51系列开发系统也可与其连接。另外还需要一直流5V电源。使用时,将开发系统的40芯仿真探头插到应用板上的8031插座上,将开发系统上的通讯线连接到计算机上的串行口1上或串行口2上,将开发系统的电源线和MCS-51单片机的电源线同时接通5V电源,就可以调试使用了,如下图所示。注意插接时看清方向不能插反,当作D/A转换实验时需再将一个+15V和一个-5V直流电源接到接线端子上。该板上的打印机接口电路设计是与µP–40打印机相配合的,实验时应把打印机电源接到系统电源上,把打印机上的20芯扁平电缆线插到实验板对应的20芯插座上,即可调试。5V电源HLJ8-Ⅱ单片机应用板工业级控制计算机SP51WAVE单片机开发系统usB扁平电缆线电源开关4三、附表:接线端子序号定义表序号名称序号名称1——ADC0809的IN337——P2.3(A11)2——ADC0809的IN238——P2.4(A12)3——ADC0809的IN139——P2.54——键盘开关输入端K140——P2.65——键盘开关输入端K241——P2.76——键盘开关输入端K342——程序区读信号PSEN7——键盘开关输入端K443——锁存信号ALE8——键盘开关输入端K544——译码器74LS138输出Y79——键盘开关输入端K645——译码器74LS138输出Y610——键盘开关输入端K746——数据线D0(P0.0)11——键盘开关输入端K847——数据线D1(P0.1)12——ADC0809的IN048——数据线D2(P0.2)13——电源地(GND)49——数据线D3(P0.3)14——电源+5V(VCC)50——数据线D4(P0.4)15——电源+15V51——数据线D5(P0.5)16——DAC0832OUT52——数据线D6(P0.6)17——电源–5V53——数据线D7(P0.7)18——P1.054——8155的OUT19——P1.155——8155的IN20——P1.256——译码器74LS138的Y521——P1.357——经锁存后的地址线A022——P1.458——A123——P1.559——A224——P1.660——A325——P1.761——A426——复位脚62——A527——串行口RXD(P3.0)63——A628——串行口TXD(P3.1)64——A729——外部中断INT0(P3.2)65——8155的PA口的PA030——定时计数器T0(P3.4)66——PA131——定时计数器T1(P3.5)67——PA232——读信号RD(OE)68——PA333——写信号WR(WE)69——PA434——P2.0(A8)70——PA535——P2.1(A9)71——PA636——P2.2(A10)72——PA75实验一、学习仿真器的使用及简单编程一、实验目的:1、了解伟福系列(SP51型)仿真器的结构和功能;2、掌握伟福系列(SP51型)仿真器的基本操作和使用方法;3、利用已学过的MCS-51单片机的指令系统,进行一些简单的程序设计,并通过实验熟悉调试程序的过程。二、实验设备:1、伟福系列(SP51型)仿真器一台;2、MCS-51单片机应用板一块;3、微机电源一台。三、实验内容及实验方法:1、将数据块以30H为首地址中的10个数求和(和不超过FFH),并放入40H中。2、将40H中的16进制数FFH转换成BCD码,并将百位数放入50H,十位数与个位数合并后放入51H中(选作)。3、打开计算机电源,先打开仿真器户的电源开关,再打开用户系统的电源开关(在关机时,先关用户系统的电源开关,再关开发系统的电源开关)。双击桌面上的“快捷方式到VF”图标,仿真软件启动并进入主调试界面。显示器左上方为项目窗口,右上方为程序窗口,左下方为信息窗口,右下方为数据窗口。四、建立你的新程序:1、选择菜单[文件/新建文件]功能,出现一个文件名为“NONAME1”的源程序窗口,将要调试的源文件输入计算机,源文件的格式如下(可参考附录一):ORG0000HAJMPMNORG0100HMN:MOVSP,#60HMOVA,#12HMOVR0,#30HADDA,@R0MOV40H,AHERE:SJMPHEREEND程序输完后,选择菜单[文件/另存为]功能,给出文件所要保存的位置,例如:F:\XXX.ASM,保存文件。文件保存后,程序窗口上文件名变成了F:\XXX.ASM。2、编译你的程序:选择菜单[项目/编译]功能或按编译快捷图标或F9键,编译你的程序。如果有错误,信息窗口显示错误所在的位置,双击有错误的行,光标即跳到源程序的对应行上。修改错误,保存文件后,重新进行编译。若编译没有错误,信息窗口显示“就序”。3、仿真器/仿真器设置:6[选择仿真器]:选择SP51,[选择仿真头]:选择POD-S8X5X,[选择CPU]:选择AT89C51,○[使用伟福软件模拟器],使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行。如果使用硬件仿真器,请不要选择使用伟福软件。按“好”确认。如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现“硬件仿真”的对话框,并且显示仿真器、仿真头的型号及仿真器的序列号,表明仿真器初始化正确。按“好”确认。4、执行程序:执行/全速执行运行程序。执行/跟踪跟踪程序执行的每一步,观察程序运行状态。执行/单步单步执行程序,与跟踪不同的是,跟踪可以跟踪到子程序的内部,而单步执行则不跟踪到子程序内部。执行/执行到光标处程序从当前PC位置,全速执行到光标所在的行。执行/暂停暂停正在全速执行的程序。执行/复位终止调试过程,程序将被复位,如果程序正在全速执行,则应先停止。程序运行完后,可以在“项目窗口”观察R0—R7、A、B等寄存器的变化,在“数据窗口”观察CPU内部数据区的变化。全速执行,只能在硬件设备上观察执行结果。五、实验报告内容:1、画出程序流程图;2、写出程序清单;3、写出调试过程及程序执行结果。实验二、运算处理程序设计与调试一、实验目的:利用已学过的MCS-51单片机的指令系统,进行一些较复杂的程序设计,并通过实验,进一步熟悉调试程序的过程。二、实验设备:同实验一三、实验内容及要求:将30H~39H中10个无符号数,先剔除最大值和最小值,并将最大值放入40H单元,最小值放入41H单元;然后求出8个数的和放入42H单元,再将8个数的平均数放入43H单元;最后将8个数的和转换成BCD码,高8位即百位数存入50H单元,低8位即十位与个位合并后放入51H单元中。7四、实验报告内容:同实验一五、思考题:循环语句在编程中的作用?实验三、数据存储器扩展实验一、实验目的:1、了解微机存储器的组成;2、掌握存储器与CPU之间的接口方法;3、掌握存储器容量的扩展方法。二、实验设备:1、同实验一2、数据存储器6264RAM一片三、实验内容:1、MCS-51单片机应用板上已有8K的数据存储空间,其地址为0000H~1FFFH。本实验要求另外再扩展一片RAM6264,地址安排在C000H~DFFFH。为此,首先应该设计一个CPU与RAM芯片之间的接口电路,这个接口电路与8031单片机各种总线相接,使8031能够按照要求的地址范围对RAM6264进行读写操作。MCS-51单片机应用板已将数据线D0~D7、地址线A0~A12、RD、WR等信号接到接线端子上了(见接线端子序号定义表)。首先应该熟悉RAM6264芯片的各管脚定义及逻辑要求,然后确定译码电路。将应用板上的74LS138译码输出脚Y6接到RAM6264的片选脚,。译码确定之后,按照6264的接线要求,画出6264与8031、74LS373、74LS138译码器连接的详细电路图,并画出接线端子与6264芯片的连线图(注