




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PE51单片机实验指导书 华联学院单片机实验室7xx年年33月目录一51单片机学习板硬件及配套软件简介151单片机学习板的主要组成部分与功能简介?22硬件连接?33编译软件MedWin的使用?44下载软件Ispdown的使用?75注意事项?10二硬件实验实验一I/O口的应用实验?11实验二P1口控制步进电机实验?14实验三控制共阴极七段数码管静态显示实验?16实验四简易电子琴实验?17实验五控制共阴极七段数码动态管显示实验?19实验六交通灯控制实验?21实验七外部中断实验?23实验八定时器实验?26实验九计数器实验?28实验十单片机演奏歌曲实验?29实验十双机通信实验?32实验十一PC机与单片机通信实验?实验十二直流电机控制实验?实验十三1616点阵LED实验?实验十四字符LCD显示实验?一一51单片机学习板及配套软件简介11.151单片机学习板的主要组成部分与功能简介图2.151单片机增强型学习系统的主要组成部件说明图板载实验资源和接口如下*P0.0P0.7数码管数据输出控制口*P1.0P1.3步进电机控制口*P1.5P1.7下载功能控制口*P1.0P1.7左边八个LED控制口*P2.0音乐输出控制口*P2.1温度输入控制口*P2.2直流电机控制口*P2.4P2.7从右到左四数码管控制口*P3.0P3.1双机通信的数据传送控制口/串行通信控制口*P3.2P3.5无线接收输入控制口*P3.0P3.7右边八个LED控制口*128*64图形液晶接口*40Pin扩展插口四位数码管40P扩展槽单片机插座发光二极管8按键键盘串行通信插口直流电机插口温度传感插口双机通信插口步进电机插口下载线插口喇叭插口无线接收插口USB电源插口液晶显示插口复位按键ISP下载开关外接电源插口USB电源开关22硬件连接 (1)下载状态学习系统上的开关设置(要下载程序和仿真的时候开关置123状态,程序运行的时候开关置ON状态)。 下载线六脚一端接到学习系统指定位置,另一端接到电脑主机后面的打印口。 把芯片按正确位置放到学习系统指定位置,注意芯片缺口方向,并压上压扛固定。 USB电源线接到学习系统指定位置并把电源开关拔向右,让学习系统处于工作状态。 (2)运行状态此处三个开关拔向左置下载状态此处插上六脚下载线插头此处接上USB电源线插头的一端,另一端接电脑此处放好芯片,注意芯片缺口方向朝左,压上压杆下载线接打印口的一端此处三个开关拔向右置运行状态此处开关拔向右使实验板处于通电状态33编译软件n MedWin的使用第一步:双击桌面MedWin图标,运行MedWin软件(运行该软件前先把学习系统板的电源断开,让学习处于停止工作状态)第二步:因为我们没有用到仿真器,所以要选择模拟仿真进入编写程序选择此按钮进入操作介面选择此图标进入MedWin仿真软件编写程序。 第三步:新建一个汇编源文件文档,用于编写程序第四步:新建文件时要选择该文件要保存的路径和名称1保存文件的路径选择,可选择默认值2保存文件的名称,后缀名为ASM,如“八灯全亮全灭.ASM”3最后按此按钮确定新建一个文件按此按钮可新建一个汇编源文件第五步编译程序,并查看程序有无错误第六步生成HEX代码文件,文件后缀名为HEX在空白的文档上编写好程序后,或者将已经编好的源程序调入,然后点击此按钮进行编译。 编译后,程序是否有错,要看下面的提示。 若无错,则提示错误信息为“0”;若有错,则提示哪条指令有错,修改之。 编写程序要规范要用大写字母;操作码要对齐;操作码后面的操作数要对齐;“”、“;”要用半角符以上六个步骤便完成了对程序的编写和编译过程。 44下载软件n Ispdown的使用第一步点击“下载软件”图标,即可运行Ispdown下载软件。 第二步接通多功能电路板电源,点击MCU,查看提示,看实验板与电脑是否连接好。 连接好点击此按钮生成代码文件,文件后缀名为HEX。 将此文件通过ispdown下载软件,下载到学习系统。 下面是成功生成代码文件的保存路径。 双击此图标,进入ispdown下载软件,能将后缀名为HEX的代码文件下载到学习系统中则使其处于下载状态;如果没有连接好,请检查连线和电源是否准备就绪。 第三步点击“芯片识别”及“自动搜索”,检查所用单片机的芯片型号是否正确。 点击此按钮,检查学习系统是否与电脑连接好。 连接好会显示“编程器状态已经切换到单片机下载状态”。 没连接好请仔细检查下载线、多功能电路板和电源是否连接好,电源是否处于接通状态。 如果多功能电路板的电源用6V电池盒,其电量不足要及时更换,否则不能下载和模拟仿真,还可能损坏89S51/S52芯片。 1先点击“芯片识别”,再点击“自动搜索”,以检查所用芯片类型。 搜索结果会在下面的信息框中显示芯片类型AT89LS51/AT89S51。 2若未搜索到所用芯片类型,可点击“手动选择/管理”,再点击“AT89”,即可找到所用芯片类型AT89LS51/AT89S51。 第四步点击“文件”或“F11”装载项,准备装入HEX文件(已生成的代码文件)第五步选择要装入HEX文件的路径,并按打开按钮,将生成的HEX文件装载进去。 选择菜单“文件”中的此项,把在MedWin中生成的代码文件装载到此软件中。 在弹出的对话框中选择生成代码文件的路径和文件名,其文件后缀名是HEX。 第六步点击芯片操作项中的“自动编程”,程序就会从电脑中装入到学习系统芯片中。 到此处就已完成了程序的编写、编译、下载、运行等完整的操作了,今后的实验都按以上步骤进行操作。 附八灯全亮全灭实验程序清单主程序延时子程序AA:MOV P1,#00000000B KK:MOV R5,#03ACALL KK K1:MOV R6,#0FFH MOV P1,#11111111B K2:MOV R7,#80H ACALLKKK3:NOP SJMP AA DJNZ R7,K3DJNZ R6,K2DJNZ R5,K1RET55注意事项 (1)要在断电的情况下对芯片进行拔插,要不然容易损坏芯片。 (2)注意芯片放置的方向,不要放反。 (3)学习板在下载程序的时候注意下载开关的位置朝左,要不然不能下载程序。 选择菜单“芯片操作”中的“自动编程”项,软件就会对芯片中的旧程序进行擦除,并写入新程序。 此时,信息框中将显示操作结果;同时在右框中显示程序的机器码。 将“”开关拨向右,可观察程序运行情况。 二硬件实验实验一O I/O口的应用实验 一、实验目的掌握8051单片机输入/输出端口的使用方法。 二、实验内容1用P1口控制八个LED全亮全灭2用P1口控制八个LED逐个轮流点亮(P1口单灯左/右循环)3用P1口控制八个LED逐个轮流点亮(P1口单灯来回跑) 三、实验原理8051单片机有4个8位的并行I/O端口P 0、P 1、P 2、P3,在不扩展存储器、I/O端口,不使用定时器、中断、串行口时,4个端口的32根口线均可作输入或输出使用。 作输出时,P0口须加上拉电阻,其余不用加;但作为输入端口时,必须先向该端口写“1”。 AT89S51单片机P1口引脚功能在步进电机应用那里已提到,在这里我们还用到P3口引脚。 AT89S51单片机P3口是一组带有内部上拉电阻的8位双向I/O口。 P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。 对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。 作输入端时,被外部拉低的P3口将用上拉电阻输出电流。 51单片机增强型学习系统通过单片机P 1、P3口分别控制16个发光二极管的。 二极管是有单向导通性的,而发光二极管则是在导通的同时使它发光。 硬件电路连接如上图,我们只要把16个发光二极管的一端接上高电平“1”(接电源+5V),另一端分别由单片机的P 1、P3口去控制,只要相应的位给出低电平“0”,发光二极管就会接通发亮。 因为其原理比较简单,所以应用性也比较广。 四、实验电路原理图 五、参考程序111P1口控制八个D LED全亮全灭ORG0000H AA:MOV P1,#00000000B;八灯全亮LCALL KK;延时MOV P1,#11111111B;八灯全灭LCALL KK;延时SJMP AA;循环;1秒延时子程序KK:MOV R5,#10K1:MOV R6,#0FFH K2:MOV R7,#80H K3:NOP DJNZ R7,K3DJNZ R6,K2DJNZ R5,K1RET END221P1口控制八个D LED逐个轮流点亮(1P1口单灯左/右循环)ORG0000H MOV A,#11111110B;把11111110送累加器A BBMOV P1,A;累加器A的内容送P1口,让相应的灯点亮LCALL KK;延时RL A;A中的内容左移一位SJMP BB;指令跳到地址标号为BB处执行;1秒延时子程序(同上)END331P1口控制八个D LED逐个轮流点亮(1P1口单灯来回跑)ORG0000H BB:MOV R0,#07;07送寄存器R0MOV A,#11111110B;把11111110送累加器A B1:MOV P1,A;把累加器A的内容送P1口LCALL KK;延时RL A;累加器A中内容左移一位DJNZ R0,B1;(R0)-1=0?不是,跳B1处;是,按顺序执行下一指令MOV R0,#07;07送寄存器R0MOV A,#01111111B;把01111111送累加器A B2:MOV P1,A;把累加器A的内容送P1口LCALL KK;延时RR A;累加器A中内容右移一位DJNZ R0,B2;(R0)-1=0?不是,跳B2处;是,按顺序执行下一指令SJMP BB;循环;1秒延时子程序(同上)END思考练习题1P1口单灯来回跑两次。 2P 1、P3口16灯单灯来回跑。 3P 1、P3口双龙戏珠。 实验二1P1口控制步进电机实验 一、实验目的了解单片机控制步进电机的基本原理 二、实验原理步进电机是一种将电脉冲转化为角位移的执行机构。 通俗一点讲当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。 你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 步进电机分三种永磁式(PM)、反应式(VR)和混合式(HB) (1)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度; (2)反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。 在欧美等发达国家80年代已被淘汰; (3)混合式步进是指混合了永磁式和反应式的优点。 它又分为两相和五相两相步进角一般为1.8度而五相步进角一般为0.72度。 这种步进电机的应用最为广泛。 一般步进电机的精度为步进角的3-5%,且不累积。 步进电机在工作过程中会发热,如果步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。 三、实验电路原理图 四、实验内容P1口控制步进电机正、反转 五、参考程序清单ORG0000H AA:MOV P1,#11111110B;让第一个线圈通电(第四个线圈断电)LCALL KK;延时MOV P1,#11111101B;让第一个线圈断电,同时让第二个线圈通电LCALL KK;延时MOV P1,#11111011B;让第二个线圈断电,同时让第三个线圈通电LCALL KK;延时MOV P1,#11110111B;让第三个线圈断电,同时让第四个线圈通电LCALL KK;延时SJMP AA;循环;延时子程序KK:MOV R5,#01K1:MOV R6,#80H K2:MOV R7,#80H K3:NOP DJNZ R7,K3DJNZ R6,K2DJNZ R5,K1RET END思考题通过按键控制步进电机正、反转和停止。 实验三控制共阴极七段数码管静态显示实验 一、实验目的掌握8051单片机与七段LED显示器接口的一种方法。 二、实验原理实验用的是四位共阴极数码管,把四个数码管的abcdefgh端与P0口连接,公共极分别由P2.4P2.7来控制,这时只要P0口给出一个数据,与之相连的相应的数码管就会亮灭。 三、实验电路原理图 四、实验内容控制一位数码管静态显示从09计数 五、参考程序清单MOV P2,#00001111B;让四位数码管同时亮灭BB:MOV R0,#00;从第一个数开始MOV DPTR,#TAB;表格首地址送数据指针DPTR AA:MOV A,R0;寄存器R0内容送累加器A MOVC A,A+DPTR;查表得数据送累加器A MOV P0,A;A中内容送P0口显示,可看到数码管显示相应的数字LCALL KK;调延时INC R0;寄存器R0内容增1,取下一个数CJNE R0,#10,AA;比较是否到了最后一个数,是就返回重新开始SJMP BB;循环TAB:DB00111111B;09的表格数据DB00000110B DB01011011B DB01001111B DB01100110B,01101101B DB01111101B,00000111B DB01111111B,01101111B;1秒延时(同上)实验四简易电子琴实验 一、实验目的掌握查询指令的用法。 二、实验原理通过P3口扩展的按键作查询功能,哪个按键按下就调出相应的延时让喇叭发出不同声调。 三、实验电路原理图(3P3口扩展按键部份) 四、实验内容通过P3口扩展的7个按键,让喇叭发出7种不同的音调。 五、参考程序清单ORG0000H MOV P3,#0FFH;初始化,键盘全部置高L0:JNB P3.1,L1;检查键盘,如果P3.1按下执行L1JNB P3.2,L2;检查键盘,如果P3.2按下执行L2JNB P3.3,L3;检查键盘,如果P3.3按下执行L3JNB P3.4,L4;检查键盘,如果P3.4按下执行L4JNB P3.5,L5;检查键盘,如果P3.5按下执行L5JNB P3.6,L6;检查键盘,如果P3.6按下执行L6JNB P3.7,L7;检查键盘,如果P3.7按下执行L7LJMP L0;循环检测L1:CPL P2.0;小喇叭响LCALL DELAY1;延时1LJMP L0;重新监测键盘L2:CPL P2.0;小喇叭响LCALL DELAY2;延时2LJMP L0;重新监测键盘L3:CPL P2.0LCALL DELAY3LJMP L0L4:CPL P2.0LCALL DELAY4LJMP L0L5:CPL P2.0LCALL DELAY5LJMP L0L6:CPL P2.0LCALL DELAY6LJMP L0L7:CPL P2.0LCALL DELAY7LJMP L0DELAY1:MOV R5,#250;延时1。 DJNZ R5,$RET DELAY2:MOV R5,#220;延时2。 DJNZ R5,$RET DELAY3:MOV R5,#190;延时3。 DJNZ R5,$RET DELAY4:MOV R5,#170;延时4。 DJNZ R5,$RET DELAY5:MOV R5,#150;延时5。 DJNZ R5,$RET DELAY6:MOV R5,#140;延时6。 DJNZ R5,$RET DELAY7:MOV R5,#120;延时7。 DJNZ R5,$RET END思考题在以上程序基础上增加数码管显示,例如发音“1”的时候,数码管会显示“1”;发音“2”的时候,数码管会显示“2”,如此类推。 实验五控制共阴极七段数码动态管显示实验 一、实验目的掌握七段LED显示器动态扫描的方法。 二、实验原理动态扫描显示是单片机中应用最为广泛的一种显示方式之一。 其接口电路如下图是把所有显示器的8个笔划段a-h同名端连在一起由单片机的P0.0P0.7控制,而每一个数码管的公共极(阴极)是各自独立地受单片机P2.7P2.4控制。 CPU向字段输出口P0口送出字形码时,所有数码管接收到相同的字形码,但究竟是那个数码管亮则取决于P2.7P2.4的输入结果,所以我们就可以自行决定何时显示哪一位了。 而所谓动态扫描就是指我们采用分时的方法,轮流控制各个数码管的公共极,使各个数码管轮流点亮。 在轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 三、实验电路原理图 四、实验内容控制四位数码管分别显示“8051”四个不同的数字。 五、参考程序清单LOOP:MOV P0,#0FFH;赋初值,关显示MOV P2,#0FFH;赋初值,关显示MOV P0,#01111111B;显示8CLR P2.7;选中第一个数码管LCALL DELAY;延时1ms SETBP2.7;关显示MOV P0,#00111111B;显示0CLR P2.6;选中第二个数码管LCALL DELAY;延时1ms SETBP2.6;关显示MOV P0,#01101101B;显示5CLR P2.5;选中第三个数码管LCALL DELAY;延时1ms SETBP2.5;关显示MOV P0,#00000110B;显示1CLR P2.4;选中第四个数码管LCALL DELAY;延时1ms SETBP2.4;关显示AJMP LOOP;反复循环DELAY:MOV R6,#250;延时1ms子程序DJNZ R6,$RET思考题控制两位数码管从0099计数,重复执行。 实验六交通灯控制实验 一、实验目的学习交通灯控制的方法 二、实验原理通过两位数码管动态扫描,显示两位数字倒数,P1口控制的三个灯作为“红”、“黄”、“绿”灯亮灭来实现模拟交通灯控制电路。 三、实验电路原理图(数码管部分) 四、实验内容红灯亮30秒,数码管从30-00倒数;黄灯亮3秒,数码管从03-00倒数;绿灯亮50秒,数码管从50-00倒数,重复。 五、参考程序清单G EQU20H;个位数S EQU21H;十位数AA:MOV P1,#11111110B;绿灯亮50秒MOV R2,#50;从50开始倒数A1:LCALL DISPLAY;调用显示子程序DEC R2;倒数CJNE R2,#00,A1;比较是否已数到00MOV P1,#11111101B;黄灯亮3秒MOV R2,#3;从03开始倒数A2:LCALL DISPLAY;调用显示子程序DEC R2;倒数CJNE R2,#00,A2;比较是否已数到00MOV P1,#11111011B;红灯亮30秒MOV R2,#30;从30开始倒数A3:LCALL DISPLAY;调用显示子程序DEC R2;倒数CJNE R2,#00,A3;比较是否已数到00LJMP AA;循环显示DISPLAY:MOV A,R2;数码管显示子程序MOV B,#10DIV AB MOV S,A;分开十位和个位.MOV G,BMOV DPTR,#TAB MOV R0,#2DPL1:MOV R1,#250DPLOP:MOV A,G MOVC A,A+DPTR;查表取欲显示的数据MOV P0,A;送显示CLR P2.4;开通位选ACALL D1MS SETBP2.4MOV A,S MOVC A,A+DPTR;显示十位.MOV P0,A CLRP2.5ACALL D1MS SETBP2.5DJNZ R1,DPLOP;100次没完循环DJNZR0,DPL1;4个100次没完循环RET D1MS:MOV R3,#230;数码管显示延时子程序K0:NOP NOPDJNZR3,K0RET;0-9数据表格TAB:DB00111111B DB00000110B DB01011011B DB01001111B DB01100110B DB01101101B DB01111101B DB00000111B DB01111111B DB01101111B;1秒延时子程序(同上)END实验七外部中断实验 一、实验目的掌握8051单片机外部中断的使用方法。 二、实验原理中断系统结构中的四个寄存器是:1中断信号类别与请求标志寄存器TCON每位定义见图64中TCON的注释。 位名称TF1TF0IE1IT1IE0IT02中断允许控制寄存器IE共六位,每位定义见图64中IE的注释。 位名称EA ESET1EX1ET0EX03中断优先级控制寄存器IP每位定义见图64中IP的注释。 位名称PS PT1PX1PT0PX04串行口控制寄存器SCON每位定义见图64中SCON的注释。 位名称TI RI 三、实验内容1.开始运行P1口八灯全亮全灭反复进行2按P3.2(外部中断0,P1口单灯左循环4次)3按P3.3(外部中断1,P1口单灯右循环4次)4设置外部中断1优先。 5中断完成后返回主程序继续执行。 四、参考程序清单ORG0000H;程序开始先跳到主程序运行LJMP MAIN ORG0003H;外部中断0入口地址LJMP AA;跳到标号AA处ORG0013H;外部中断1入口地址LJMP BB;跳到标号BB处MAIN:SETB IT0;设置外部中断0的开关SETB EX0SETB IT1;设置外部中断1的开关SETB EX1SETB EA;总开关MOV P1,#00000000B;P1口八灯全亮全灭程序LCALL KK MOVP1,#11111111B LCALLKK SJMPMAIN;跳回到MAIN反复执行AA:PUSH00H PUSH05H PUSH06H PUSH07H PUSHACC MOV R0,#32;外部中断0服务子程序,P1口单灯左MOV A,#11111110B;循环四次A1:MOVP1,A LCALLKK RLA DJNZR0,A1CLR IE0POP ACCPOP07H POP06H POP05H RETI;中断返回BB:PUSH00H PUSH05H PUSH06H PUSH07H PUSHACC MOV R0,#32MOV A,#01111111B B1:MOVP1,A LCALLKK RRA DJNZR0,B1CLR IE1POP ACCPOP07H POP06H POP05H RETI;延时子程序(同上)实验八定时器实验 一、实验目的掌握8051单片机内部定时器的使用方法。 二、实验原理方式寄存器TMOD为8位寄存器,高4位用来定义T1的工作状态;低4位用来定义T0的工作状态;高、低4位定义的内容是相同的。 1M1M0用来选择T0或T1的工作方式。 M1M0=00选择工作方式0。 13位定时器/计数器,能计213=8192个数M1M0=01选择工作方式1。 16位定时器/计数器,能计216=65536个数M1M0=10选择工作方式2。 能自动装入初值的8位定时器/计数器,能计28=256个数。 M1M0=11选择工作方式3。 两个独立的8位定时器/计数器。 2C/T用来选择T0或T1是内部定时功能还是对外部计数功能C/T=0为内部定时功能;C/T=1为对外部计数功能。 3GATE门控位GATE=0时,启动T0或T1。 GATE=1时,由P3.2和TR0控制,启动T0;或由P3.3和TR1控制启动T1. 三、实验内容采用定时器T0控制P1.0口输出方波,周期为1秒。 T0方式1为16位定时器,计满溢出能计65536个数;fosc=12MH时,1微秒向T0送1个数,计满溢出能计65536个数,用时65536微秒=0.065536秒,这个数值不够0.5秒,先向T0装入初值X=15536,再向T0送50000个数,就能计满溢出产生中断,用时0.05秒,中断1次,用时0.05秒;中断10次,则用时0.5秒。 四、参考程序清单ORG0000H LJMPMAIN;跳到MAINORG000BH;T0中断入口地址LJMP BB;跳到中断服务子程序首地址BB MAIN MOV TMOD,#00000001B;设置T0方式1内部定时功能MOV TH0,#3CH;送初值MOV TL0,#0B0H SETBET0;允许T0中断SETB EA;开中断MOV R0,#10;为了中断10次,向R0送计数初值10SETB TR0;启动定时器/计数器T0,开始计数SJMP$;原地踏步,等待计满溢出,产生中断BB DJNZR0,CC;(R0)1不得0,转CC,否则顺序执行CPL P1.0;P1.0取反MOV R0,#10;重新向R0送计数初值CC MOV TH0,#3CH;重装初值MOV TL0,#0B0H RETI;中断服务子程序返回到原地踏步实验九计数器实验 一、实验目的掌握8051单片机内部计数器的使用方法。 二、实验原理参考实验 八三、实验内容利用定时器T1方式2对外部信号计数,要求每计满5次,将P1.0取反。 初值 四、参考程序清单MAINMOV TMOD,#60H;T1方式2MOV TL1,#0FAH MOV TH1,#0FAH MOV IE,#88H SETB TR1SJMP$ORG001BH CPL P1.0RETI实验十单片机演奏歌曲实验 一、实验目的通过单片机的定时器控制喇叭发出声音,从而演奏出动听歌曲。 二、实验原理单片机演奏歌曲的硬件电路由单片机、LM386运算放大器和8欧喇叭组成,由P2.0输出音频信号。 音符、节拍所对应的机器码音符节拍所对应的机器码见表1;半拍、一拍、一拍半、两拍.等所对应的机器码,见表1表表1音符、节拍所对应的机器码关于56712345671的机器码关于节拍的机器码空拍及返回机器码(低)50FDH,80H(低)60FDH,0C6H(低)70FEH,07H10FEH,25H20FEH,57H30FEH,84H40FEH,98H50FEH,0C0H60FEH,0E3H70FFH,01H(高)10FFH,15H若01H表示半拍则02H表示1.0拍则03H表示1.5拍则04H表示2.0拍空拍机器码00H,00H,XXH(XX表示空拍数)返回机器码0FFH,0FFH 三、实验电路原理图 四、实验内容单片机演奏新年好 五、参考程序清单1初始地址设置ORG0000H LJMP AA;跳到主程序位置AA2中断服务子程序ORG000BH;定时器T0中断入口地址MOVTH0,R1;装定时器初值MOV TL0,R0CPLP1.7;P1.7取反RETI;返回到中断服务子程序断点处3主程序AA:MOVTMOD,#00000001B;设置定时器T0方式1MOVIE,#10000010B;允许T0中断MOVDPTR,#TAB;歌曲、舞曲表格首地址送数据指针DPTR BB:CLR A;A清零MOVCA,A+DPTR;查表结果送A MOVR1,A;A中内容送R1INC DPTR;DPTR1CLR A;A清零MOVCA,A+DPTR;查表结果送A MOVR0,A;A中内容送R0ORL A,R1;A和R1相或,其结果送A JZDD;A中内容全为0为休止符MOV A,R0;R0中的内容送A ANLA,R1;A中内容与R1中的内容相与,结果送A CJNEA,#0FFH,CC;A中内容不等于FFH,跳到CC。 否则顺执SJMP AA;跳回AA CC:MOVTH0,R1;装入定时值MOV TL0,R0SETBTR0;启动定时器SJMP EE;跳到EE DDCLRTR0;关闭定时器,停止发音EE:CLR A;A中内容清零INC DPTR;(DPTR)+1MOVCA,A+DPTR;查延迟常数MOVR2,A;A中内容送R2FF:LCALL J0;调用延时200ms子程序DJNZR2,FF;控制延迟次数INC DPTR;(DPTR)+1SJMP BB;处理下一个音符4延时20ms子程序J0:MOVR3,#80H;延时20ms子程序J1:MOV A,#0FFH J2:DEC AJNZ J2DEC R3CJNE R3,#00H,J1RET;根据新年好的音符编写机器码;111低5TAB:DB0FEH,25H,02H,0FEH,25H,02H,0FEH,25H,04H,0FDH,80H,04H;3331DB0FEH,84H,02H,0FEH,84H,02H,0FEH,84H,04H,0FEH,25H,04H;1355DB0FEH,25H,02H,0FEH,84H,02H,0FEH,0C0H,04H,0FEH,0C0H,04H;4322DB0FEH,98H,02H,0FEH,84H,02H,0FEH,57H,08H,0FEH,57H,02H;3443DB0FEH,84H,02H,0FEH,98H,04H,0FEH,98H,04H,0FEH,84H,02H;2312DB0FEH,57H,02H,0FEH,84H,04H,0FEH,25H,04H,0FEH,57H,02H;32低5低7DB0FEH,84H,02H,0FEH,57H,04H,0FDH,80H,04H,0FEH,07H,02H;21DB0FEH,57H,02H,0FEH,25H,04H,00H,00H,08H实验十双机通信实验 一、实验目的掌握单片机通信原理 二、实验原理AT89S51的P3.0与P3.1口第二功能分别是RXD(串行输入口)、TXD(串行输出口),利用这两个串行输入输出口可实现两个单片机之间相互通信。 在这里我们还用到单片机的特殊功能寄存器SCON和PCON。 串行口控制寄存器SCON各位的设置图串口的工作方式设置SM0SM1工作方式功能描述波特率00方式08位同步移位寄存器fosc/1201方式110位异步收发由定时器控制10方式211位异步收发fosc/64或fosc/3211方式311位异步收发由定时器控制方式0以8位数据为一帧字符,不设起始位和停止位,先发送或接收最低位。 它为同步移位寄存器输入输出方式,常用于扩展
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现在进行时用法课件
- 2025年Python数据库应用培训试卷:实战演练与押题解析
- 2025年中学教师资格证考试教育知识与能力专项训练模拟试题版
- 2025年计算机技术与软件专业技术资格(水平)考试模拟试卷 程序设计专项训练
- 2025年高考物理电磁学难题解析冲刺试卷
- 2026届河北省石家庄市辛集中学化学高三上期末达标测试试题含解析
- 玩水安全知识培训内容课件
- 吉林省白城市洮南第十中学2026届化学高一上期末联考模拟试题含解析
- 研究生法律类题目及答案
- 个人信息保护协议格式
- 软件项目突发事件应急预案
- 2025年潍坊市中考数学试题卷(含标准答案)
- 医保打击欺诈骗保课件
- 并购整合方案模板(3篇)
- 调酒小摊设计方案(3篇)
- 虚拟现实在初中化学教学产品中的应用效果与设计创新(2025年)
- 2025年高速公路防汛应急演练方案(带演练脚本可直接使用)
- 2025年职业健康卫生知识培训考试试题及答案
- 游泳培训招生讲解
- 清洁生产审核报告模板
- 药事管理培训课件
评论
0/150
提交评论