1、单片机实验指导书单片机原理及接口技术实验指导书编著:张 玲 汪用瑜 李惠颖第一章 概述 .1第二章 软件实验 5实验一 清零程序 5实验二 拆字程序 6实验三 拼字程序 6实验四 数据区传递子程序 7实验五 数据排序实验 8实验六 无符号双字节快速乘法子程序 8实验七 脉冲计数(定时计数器实验) 9第三章、硬件实验 11实验一 P3.3口输人. P1口输出 11实验二 8255 PC口控制PB口 12实验三 8255控制交通灯 13实验四 AD转换实验 15实验五 DA转换 16实验六 8253方波 18实验七 步进电机控制 19实验八 继电器控制 20实验九 电子音响 21实验十 小直流电机
2、调速实验 22参考程序 23一 、 软件实验 23实验一 清零程序 23实验二 拆字程序 23实验三 拼字程序 23实验四 数据块传送 24实验五 数据排序 25实验六 双字节乘洁程序 26实验七 脉冲计数 28二、硬件实验 30实验一 P3口、P1口使用 30实验二 8255 PC口控制PB 口 31实验三 8255控制交通灯 32实验四 AD0809应用实验 33实验五 DA 0832应用 35实验六 定时计数器8253 36实验七 步进电机实验 37实验九 直流电机调速实验 43第一章 概述一、 DVCC系列单片机仿真实验系统键盘简介系统自带32个标准键盘,16个数字键和16个多功能键,
3、显示部分有6个高亮LED组成,通常左边4个用于显示地址,右边2个用于数据,为用户现场调试带来方便。下面介绍键盘功能: 右边十六个功能键,在LED状态输入操作命令,其功能如下:TV/MEM: TV/程序存储器检查REG/OFST; 片内RAM寄存器,特殊功能寄存器检查/偏移量计算ODRW/INS: 外部数据存储器、外部RAM、I/O检查/插入一个字节EPRGH/DEL: EPROM高速写入/删除一字节F1/LAST: 第一标志键/读上一字节F2/NEXT: 第二标志键/读下一字节STEP/NVBP: 单拍、单拍跟踪/*EXEC/FVBP: 连续执行/断点运行PCDBG/EPRGL:与IBM PV
4、/XT通讯调试/低速固化EPMOV: 固化区内容移入目标RAM EPCH/EPCOM: EPROM查空/EPROM比较PRT: 打印命令COMP: 源程序与目标程序相比较MOVE: 程序块或数据块移动DAR: 反汇编 MON: 退出当前操作,返回初态显示闪动“P.”位RESET; 系统复位按钮,它在硬件上与开发系统复位线连在一起,无论何时按压RESET键,都使整个系统复位,返回初始状态闪动“P.”在数字键的右上角或功能键的右上角,右下角所标的字符标记分别是进入TV状态时,用于输入汇编语言或高级CBASIC高级语言程序时所用到的符号和字母。SHIFT为上档键(除TV状态不用)。二、 51系统键盘
5、监控命令简介1键盘监控程序工作状态 用户可以通过32个键向本机发出各种操作命令,大多数键均具有2个以上的功能,本机无上下档转换键,计算机到底进行什么操作,不仅与按压什么键有关,也与当前计算机所处的工作状态有关,下面作有关介绍:2 单板状态:在本状态显示器的左端显示提示符,一个闪动的 “P.”字符,表开发机处于始化状态,等待操作。在计算机接通电源自动复位时处于单板状态;按压RESET复位键后,使本机处于单板状态;在大多数情况下,按MON键,也可以使本机进入单板状态(待命状态0)。待命状态0时,可以进入的操作有: *按压任意数字键,进入待命状态1,显示该键入数; *按压F1标志键,进入仿真2态,P
6、C值指向外部用户仿真程序空间,DPTR指向外部数据空间,显示闪动的“H”; *按压F2标志键,进入仿真1态,PC值指向用户程序空间,DPTR指向外部数据空间显示闪动的“P”; *按压PCDEG键,进入与IBM PC/XT通讯、调试、反汇编,显示全暗; *按压EPCH键,检查EPROM内容是否是全FFH; *按压EXEC键,0000H开始执行用户程序;*按压STEP键,从0000H开始单拍执行用户程序;3 MEM态在单板方式时按压MEM键,或当执行用户程序时遇到断点、单拍执行、EPROM编程写入出错等都会使计算机进入存储器写状态,本状态可进入如下操作: *按压OFST键,进入相对偏移量计算; *
7、按压DEL键,进入删除操作,按一下删除一字节; *按压INS键,进入插入操作,按一下,可插入一字节; *按压LAST键,进入上一字节读写操作; *按压NEXT键,进入下一字节读写操作; *按压STEP键,以当前显示器内容作为地址,按压一下,执行一条指令,即执行用户程序一步; *按压MON键,返回待命状态0(按EXEC键后,该命令无效) *按压EXEC键,以当前显示器内容为始址,连续执行用户程序(若要推出,应按RESET复位按钮)4 REG态:即在待命状态1,按压REG键,可进入如下操作:键入1位地址,进入当前工作寄存器读写/检查状态;*显示代号0-7,读写当前工作寄存器R0-R7*显示代号8或
8、9,检查数据指针DPTR,8显示DPL,9显示DPH;*显示代号A,检查累加器A的内容;*显示代号B,检查B寄存器的内容;*显示代号C,检查程序状态字PSW的内容;*显示代号D,检查堆栈指针SP的内容,开机复位后SP位07H;*显示代号E或F,检查当前PC值,E显示PCL,F显示PCH; 键入2位地址,进入以下操作:*片内2位地址内容的检查、修改;*特殊功能寄存器的检查、修改;按压LAST键,读写上一字节内容。按压NEXT键,读写下一字节内容。 5 ODRW态,按压ODRW键可进入如下操作: 在仿真1状态,键入4位地址,用ODRW键操作,读写的内容都是用户系统中的扩展数据存储器或扩展I/O口,
9、与开发机无关。按压LAST键,读写上一字节内容。按压NEXT键,读写下一字节内容。按压MON键,返回待命状态0 。6 标志态。即态在待命状态,即按压数字键后,按压键,本机便进入标志态,功能如下:(1) F1键功能:装入源程序首址,即把当前显示器内容作为源程序首址,装入本机的约定单元,并显示闪动“”标志符。(2) F2键功能:装入源程末址即当前显示器内容作为源程序末址,装入本机的约定单元,并显示闪动“”标志符。(3) 在“”状态下,再键入的数,便是目标首址。(4) F标志态可进入的操作: *按压MOVE键,进入程序/数据块移动。 *在“”态,本机内部0000HFDFFH空间相互传送。 操作如下:
10、源首地址,F1,源末地址,F2,目标首地址,MOVE。*按压COMP键,进入程序块比较,操作步骤如下:源首址,F1,源末址,F2,目首址,COMP。*按压EPRGH键,进入EPROM和MCU高速固化,操作步骤如下:源首址(RAM区),F1,源末址(RAM区),F2,目首址(EPROM0,EPRGH。*按压EPRGL键,进入EPROM低速固化和MCU低速固化且加密,操作步骤如下:源首址,F1,源末址,F2,目首址,EPRGL。*按压EPMOV键,把固化区程序搬到程序区,其目标有两个:*在“P.”态,固化区内容传向本机内0000HFDFFH空间。*按压FVBP键,进入断点运行,操作步骤如下;断点地
11、址,F1,执行首址,FVBP。*按压DAR键,进入反汇编,源地址有2个,操作如下:源首址,F1,源末址,F2,浮动地址,DAR(浮动地址可缺省)。“P.”态,机内0000HFDFFH反汇编。“H”态,外部用户系统程序区反汇编。*按压PRT键,进入反汇编打印:源首址,F1,源末址,F2,浮动地址,PRT(浮动地址可缺省)。三、实验仪上通用插孔简介1 实验仪上装有12只发光二极管及相应驱动电路,L1L12为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光。2 实验仪上有9只开关K1K8与之相对应的K1K8引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平
12、“0”3 实验仪上标有“ ”和“ ”两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。4 实验仪上T0T7为分频输出插孔,该计数器在上电时由RESET信号清零,当脉冲输入为1.0M时,T0T7输出脉冲频率为1M、500KHZ、250KHZ依次二分频。5 实验仪上标有2MHZ的插孔为脉冲发生器的输出端。第二章 软件实验实验一 清零程序一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容:把7000H70FFH的内容清零。三、实验程序框图四、实验步骤:1、当DVCC单片机仿真实验系统独立工作时。(1)仿真实验系统显示闪动“P”时,根据表一所示,通
13、过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍候,按RESET键退出运行;如果以单步运行程序,则输入0030后,按SETP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行;如果以断点运行程序,则先输入003C(断点地址),再按Fl键,再输入0030(起始地址),然后按EXEC键执行程序,当执行到003CH时自动停下来,此时按MON键退出。(2)用存贮器读写方法检查7000H70FFH中的内容应全是00H。2、当DVCC仿真实验系统联PC机时(1)在闪动“P”状态,按PCDBG(2)在PC机处于DBUG子菜单状态,选择Load功能(3)根据
14、屏幕提示输入目标文件名(C1ear.hex)后Enter(4)待传送正常结束后按回车键(5)用F3命令将PC值(默为为0000H)修改为0030H(6)用单步(F8)或断点(先用F2命令输入断点地址,后用F9命令)方法运行实验程序。(7)单步、断点运行完后,在存贮器窗口内检查7000H70FFH中的内容是否为全0。五、思考:假使要把7000H一70FFH中的内容改成FF,如何编制程序。 实验二 拆字程序一、实验目的:掌握汇编语言设计和调试方法。二、实验内容:把7000H的内容拆开,高位送7001H低位,低位送7002H低位,7001H、 7002H高位清零,一般本程序用于把数据送显示缓冲区时用
15、。三、实验程序框图四、实验步骤:1 先用存贮器读写方法将7000H单元置成34H。2 用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输入0050后按STEP为单步,按EXEC为连续)。3 按MON键或RESET键退出。4 检查7001H和7002H单元中的内容应为03H和04H。五、思考:如何用断点方法调试本程序。实验三 拼字程序一、实验目的:进一步掌握汇编语言设计和调试方法。二、实验内容:把7000H。7001H的低位相拼后送入7002H中,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、实验程序框图:四、实验步骤:1 将7000H单元中内容置03H,7001H单
16、元中的内容置为04H。2 用单步或断点方式从0070H开始运行程序(输入0070后按STEP键为单步运行)。3 按MON键退出。4 检查7002H中的内容应为34H。实验四 数据区传递子程序一、实验目的:掌握RAM中的数据操作。二、实验内容:把(R3.R4)源RAM区首址内的(R6.R7)个字数据,传送到(R4.R5)目的RAM区。三、实验程序框图:四、实验步骤。1 在R2.R3中装入源首址,R4.R5中装入目的地址,R6.R7中装入字节数。2 用单步、断点方法从起始地0090H开始运行实验程序(输入0090后按STEP键为单步运行)。3 检查7000H开始的内容和6000H开始的内容是否完全
17、相同。实验五 数据排序实验一、实验目的:熟悉8031指令系统,掌握程序设计方法。二、实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图:四、实验步骤:1 把8032片内RAM 50H5AH中放入不等的数据(用寄存器读写方法)。2 用连续运行方式从起始地址0100H开始运行程序(输入0100后按EXEC键)。3 排序结束,显示“P”。4 检查505AH中内容应从小到大排列。五、思考:编一程序把50H一5AH中内容按从大到小排列。 实验六 无符号双字节快速乘法子程序一、实验目的:掌握MCS51汇编语言程序设计方法。
18、二、预备知识:本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的, (R2R3)*(R6R7)=(R2)*28(R3))*(R6)*28(R7) =(R2)*(R6)*216(R2)*(R7)+(R3)*(R6))*28(R3)*(R7)三、实验内容:将(B2m)和(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中,四、实验程序框图: 五、实验步骤。1 7000H7001H中存放无符号整数作为被乘数000AH,7002H7003H中存放乘数0019H。2 用连续或单步从起始地址01D0H运行本实验程序(输入01D0后按EXEC键或STEP键)。3 用MON或RESET键退出。4
19、 检查两个数的乘积70047007单元中的内容应为000000FAH。实验七 脉冲计数(定时计数器实验)一、实验目的:熟悉8031定时计数功能,掌握初始化编程方法。二、实验内容:把定时器0外部输入的脉冲进行计数,并送显示器显示。三、实验程序框图: 二进制转十进制子程序四、实验接线图: 图略五、实验步骤:1 把8032 P3.4插孔(对52196S或598S而言就是X18)接T0T7任一根或单脉冲输出孔“ ”。2 用连续方式从起始地址02A0H开始运行程序(按02A0后按EXEC键)。3 观察数码管显示的内容应为脉冲个数,六、思考:修改程序使显示器上可显示到999999个脉冲个数。第三章、硬件实
20、验实验一 P3.3口输人. P1口输出一、实验目的:掌握P3口P1口简单使用二、实验内容:p3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。三、实验程序框图:四、实验接线图图 一五、实验步骤:1 P3.3(对52196S、598实验仪而言,X10插孔即为p3.3)用插针连至K1. P1.0一P1.7用插针连至L8一L1(P1.0P1.7对52196S、598实验仪而言,对应信号插孔为X0,X2,X3,X4,X5,X7,X8,X6)。2 从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。3 开关K1每拨动一次,L1一L8发光二极管接16进制方式加一点亮。L1一L8发
21、光二极管按16进制方式加一闪亮。实验二 8255 PC口控制PB口一 实验目的:掌握单片机系统中扩展外围芯片的方法,了解8255芯片的结构及编程方法。二 实验内容:用8255 PC口作开关量输入口,PB口作输出口。三、实验程序框图:四、实验接线图: 图二五、实验步骤:1 8255 PC口接Kl一K8,PB口接L1一L8。2 k1k7全拨在上面(高电平),Ll一L8全暗。3 用连续方式从起始地址0600H开始运行程序。4 拨动Kl一K8,观察L1一L8点亮情况。注意点:1在做实验时,必须先将程序送到RAM区,然后连线送行。2本实验只能在单机(不和PC机相连)状态下进行。实验三 8255控制交通灯
22、一、实验目的:进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。二、实验内容:用8255做输出口,控制二个发光二极管燃灭,模拟交通灯管理。三、实验程序框图:四、实验接线图: 图三五、实验步骤:1 8255 PC0一PC7 PB0一PB3依次接发光二极管L12一Ll。2 以连续方式从0630H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切
23、换到东、西路口方向,之后重复以上过程。3 本实验只能在不联机状态下进行。实验四 AD转换实验一、实验目的:(1)、掌握A/D转换与单片机的接口方法。(2)、了解A/D芯片0809转换性能及编程方法。(3)、通过实验了解单片机如何进行数据采集。二、实验内容:利用实验仪上的0809做AD转换器,实验仪上的电位器提供模似量输入。编制程序。将模似量转换成数字量,通过数码管显示出来。三、实验接线图: 图四四、实验程序框图:五、实验步骤:1 把0809的0通道INO用插针接至Wl的中心抽头05V孔。2 把0809CS(或CS4)译码输出端FE00插孔。3 0809的CLK插孔与分频输出端T2相连。4 以连
24、续方式从起始地址06D0运行程序,数码管上显示0809XX,后二位显示当前采集的电压转换的数字量,调节W1该二位将随着电压变化而相应变化。六、思考:修改程序,用其它通道轮流采样显示。 实验五 DA转换一、实验目的:(1)、了解D/A转换与单片机的接口方法。(2)、了解D/A转换芯片0832的性能及编程方法。 (3)、了解单片机系统中扩展D/A转换芯片的基本方法。二、实验内容:利用0832输出一个从0V开始逐渐升至5V,再降至0V,数码管显示送入的数字量值。三、实验接线图: 图五四、实验程序框图:五、实验步骤:1 把0832片选线0832CS(CS5)接至片选FE00插孔。2 调节W3使0832
25、第8脚为5V。3 从起始地址0740H开始连续运行程序(输入0740后按EXEC键)。4 数码管上显示不断加大或减少的数字量,用万用表测试D/A输出孔AOUT应也能测出不断加大或减少的电压值。六、修改程序,使能产生锯齿波。实验六 8253方波一、实验目的:学会8253芯片和微机接口原理和方法。掌握8253定时器计数器的工作方式和编程原理)。二、实验内容:8253的0通道工作在方式3产生方波。三、实验程序框图L:四、实验接线图: 图六五、实验步骤:1 用插针把8253的CLK0孔和分频输出端T2孔相连。2 8253的GATE0插孔和5V插孔相连。3 8253的片选信号8253CS(或CS3)和译
26、码输出端FE00H相连。4 从起始地址0B50H开始连续运行程序,用示波器测8253的0通道输出端OUTO,应有方波产生。实验七 步进电机控制一、实验目的:了解步进电机控制的基本原理。 掌握步进电机转动编程方法。二、实验内容:读取显示器上显示的正、反转命令,转速(16级)和转动步数后执行。转动步数减为零时停止转动。三、实验预备知识:步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。四、实验接线图: 图七五、实验程序框图:六、实验步骤:1、步进电机插头接DVCC实验仪J1插座
27、,P1.0一P1.3(即X0,X2,X3,X4)接BA-BD孔。2、从起始地址0B70H开始连续执行程序,从键盘上输入数字使显示器显示,第一位为0(正转)为1(反转),第二位0一F显示转速,第三一六位为设定步数,按EXEC键后。步进电机开始转动,步数逐渐减小至零时步进电机停止转动。实验八 继电器控制一、实验目的:掌握用继电器控制的基本方法和编程。二、实验内容:利用P1口输出高低电平,控制继电器的开合,以实现对外部装置的控制。三、实验预备知识:现代自动化控制设备中都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机、电磁铁、电灯等),一方面又要为
28、电子电路的电气电路提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。四、实验接线图: 图八五、实验步骤:把8031的P1.0(X0)接JIN端,继电器JZ(中心抽头)接地(GND),JK常开开关接L1,JB常闭开关接L2,P3.3(X10)接K1。 编制程序,使P1.0电平变化,高电平时继电器吸合,常开触点接上L1点亮,L2熄灭,低电平时继电器不工作,常闭触点闭合,L1熄灭,L2点亮。实验九 电子音响一、实验目的:了解计算机发出不同音调声音的编程方法。二、实验内容:利用定时器产生不同频率的方法,组成乐谱由单片机进行信息处理,经过放大利用8031 P1.7口输出歌曲。
29、三、预备知识:(1)、要产生音频脉冲,只要算出某一音频的周期(1频率),然后将此周期除以2,即为半周期的时间,利用计时器计时此半周期时间,计时到后即反相输出,重复此过程即得到此频率的脉冲。(2)、让定时器工作在计数方式上,改变计数值TH0及TL0,以产生不同的频率的方法。(3)、每个音符使用一个字节,字节的高四位代表音符的高低,低四位代表音符的节拍。四、实验接线图: 图九五、实验步骤:(1)、把软盘上ROG0文件送到开发机上,起始地址为8000H。(2)、把P1.7(52196S、598实验仪上P1.7即为X6)用插针连至VIN(52196S、598实验仪上为SIN)插孔上。喇叭接CZ4插座。
30、(3)、执行程序放出“祝您生日快乐”等歌曲。六、思考:自己动手编一首歌。 实验十 小直流电机调速实验一、 实验目的:1、 掌握直流电机的驱动原理。2、 了解直流电机调速的方法。二、 实验内容:1、 用0832 D/A转换电路的输出经放大后驱动直流电机。2、 编制程序改变0832输出经放大后的方波信号的占空比来控制电机转速。三、 实验线路: 基本同图五四、 连线方法:1、0832的片选信号0832CS(CS5)连到译码输出FE20H。2、0832的输出out端连到DJ插孔。3、直流电机插头插到实验仪的DM插座上。五、实验程序框图:(略)五、 实验步骤:1、 确认连线正确性。2、 从起始地址0E00H开始连续运行程序。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1