单片机实验报告

合集下载

单片机实验报告

单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。

2 熟悉循环结构程序的编写。

3 熟悉编程环境和程序的调试。

二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。

例如将4000H开始的10个字节内容清零或全部赋值为33H。

注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。

(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。

3、运行和调试过程。

外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。

同时,学习掌握汇编程序的编写和调试过程。

实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。

2 熟悉循环结构程序的编写,进一步熟悉指令系统。

3 熟悉编程环境和程序的调试。

二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。

实验报告(单片机实验报告)

实验报告(单片机实验报告)

1 双字节无符号数加法例1: 双字节无符号数加法(R0 R1)+(R2 R3) → (R4 R5),R0、 R2、 R4存放16位数的高字节, R1、 R3、 R5存放低字节。

已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h)假设其和不超过16位。

请编程。

org 0000hLjmp startorg 0050hstart:mov R0,#93hmov R1, #79hmov R2,#25hmov R3, #0a4hmov A,R1ADD A,R3mov R5,Amov A,R0ADDC A,R2mov R4,Ass: jmp ssend2双字节无符号数减法例2: 双字节无符号数相减(R0 R1)-(R2 R3) → (R4 R5)。

R0、 R2、R4存放16位数的高字节, R1、 R3、 R5存放低字节,已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h);请编程。

同学自己可以设置被减数与减数数值org 0000hLjmp startorg 0050hstart:mov R0,#93hmov R1,#79hmov R2,#25hmov R3,#0a4hmov A,R1CLR CSUBB A,R3mov R5,Amov A,R0SUBB A,R2mov R4,Ass: jmp ssend3双字节数乘以单字节数例3: 利用单字节乘法指令,进行双字节数乘以单字节数运算。

若被乘数为16位无符号数, 地址为M1(30H) 和M1+1(31H)(低位先、高位后), 乘数为8位无符号数, 地址为M2(32H), 积由高位到低位存入R2、 R3和R4三个寄存器中。

30H,31H,32H内容 12H,34H,56H ;org 0000hLjmp startorg 0050hstart:mov 30h,#12hmov 31h,#34hmov 32h,#56hmov a,(30h)mov b,(32h)mul abmov R3,bmov R4,amov a,(31h)mov b,(32h)mul abadd A,R3mov R3,Amov A,bADDC A,#00hmov R2,Ass: jmp ssend4. 把8位二进制数转换为3位BCD例4: 利用除法指令把累加器A中的8位二进制数转换为3位BCD 数, 并以压缩形式存放在地址M1、 M2单元中。

单片机实训报告总结

单片机实训报告总结

单片机实训报告总结篇一:51单片机实训报告“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。

通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。

同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。

此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。

2.了解复杂电子产品生产制造的全过程。

3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。

4.能运用51单片机进行简单的单片机应用系统的硬件设计。

5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

它的电气性能指标:输入电压:~6V,典型值为5V。

可用干电池组供电,也可用直流稳压电源供电。

如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。

他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。

2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。

二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。

2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。

通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。

三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,点亮LED灯。

2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将按键和LED灯与单片机相连。

(3)编写程序,实现按下按键控制LED灯亮灭。

3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将数码管与单片机相连。

(3)编写程序,将数字输出到数码管上显示。

4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,实现定时器功能。

四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。

2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。

3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。

通过程序设计,可以实现数码管显示不同的数字。

4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。

通过调节定时器的参数,可以实现不同的定时功能。

五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。

通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。

这些技能对于日常生活和工程设计都具有很大的实用性。

在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。

单片机实验报告

单片机实验报告

单片机原理与应用实验报告学校:合肥工业大学班级:计算机科学与技术学号:姓名:第一章MC51 单片机原理及应用软件实验实验1:系统认识实验1.实验目的(1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。

掌握实验箱内拨位开关KF,KC的使用方法。

(2)通过实例程序的编辑、编译、链接及调试,熟悉Keil C51软件的使用方法和基本操作。

(3)教育学生爱抚实验装置,养成良好的实验习惯。

2.试验设备(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容(1)使用串行通讯电缆将实验开发装置与PC机相连。

(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。

(3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。

(4)在uVision2开发平台上建立并编辑示例程序:计算N个数求和程序。

其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。

题目:1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?(5)编译连接源程序。

(6)在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。

(7)实验结束,撤出接线,将一切整理复原。

4.实验源程序ORG 0000HLJMP MAINORG 1000HMAIN: MOV R2,#06HMOV R3,#03HMOV R4,#04HMOV R0,#50HL1: MOV A,R4ADD A,@R0MOV R4,AINC R0CLR AADDC A,R3MOV R3,ADJNZ R2,L1END5. 实验结果截图6. 实验总结这次试验,熟悉了单片机开发的基本流程,对于实验的两道题目1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?实验结果如上图所示50H~54H存放数据,第一道题计算出来是0x00DEH,第二道题目计算出来是0x0137H,实验结果和预期相符,成功的完成了实验。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

【报告】南邮单片机实验报告

【报告】南邮单片机实验报告

【报告】南邮单片机实验报告一、实验目的本次南邮单片机实验旨在通过实际操作和实践,深入了解单片机的工作原理、编程方法以及其在实际应用中的功能实现。

通过完成一系列实验任务,提高我们对单片机系统的设计、开发和调试能力,为今后在电子信息领域的学习和工作打下坚实的基础。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil C51)4、下载器5、示波器6、万用表三、实验内容(一)点亮 LED 灯1、原理通过控制单片机的引脚输出高低电平,来控制连接在引脚上的 LED 灯的亮灭。

2、编程实现使用 C 语言编写程序,设置相应引脚为输出模式,并通过循环语句实现 LED 灯的闪烁效果。

3、调试与观察将程序下载到单片机中,观察 LED 灯的闪烁情况,使用示波器测量引脚的电平变化,以验证程序的正确性。

(二)数码管显示1、原理数码管由多个发光二极管组成,通过控制不同段的发光二极管的亮灭,可以显示不同的数字和字符。

2、编程实现编写程序,实现数码管的动态扫描显示,将需要显示的数字或字符转换为对应的段码,并通过定时中断实现动态刷新。

3、调试与观察下载程序后,观察数码管的显示效果,检查是否能够正确显示预定的数字和字符。

(三)按键控制1、原理按键连接到单片机的引脚,当按键按下时,引脚的电平发生变化,通过检测引脚电平的变化来实现按键的识别和响应。

2、编程实现设置引脚为输入模式,采用查询或中断的方式检测按键状态,根据按键的不同操作执行相应的功能。

3、调试与观察按下不同的按键,观察系统的响应是否符合预期,如 LED 灯的状态改变、数码管显示内容的变化等。

(四)温度传感器采集与显示1、原理使用数字式温度传感器(如 DS18B20)采集环境温度,传感器将温度转换为数字信号,单片机通过特定的通信协议读取温度数据。

2、编程实现编写驱动程序,实现与温度传感器的通信,读取温度值,并将其转换为合适的显示格式。

3、调试与观察将传感器置于不同的温度环境中,观察数码管或液晶显示屏上显示的温度值是否准确。

西安电子科技大学单片机报告

西安电子科技大学单片机报告

单片机实验报告班级:学号:姓名:实验一:数码管实验一.实验目的1.了解数码管的显示原理;2.掌握JXARM9-2440 中数码管显示编程方法。

二.实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。

LED显示器的接口一般有静态显示与动态显示接口两种方式。

本实验中采用的是动态显示接口,其中数码管扫描控制地址为0x20007000,位0-位5每位分别对应一个数码管,将其中某位清0 来选择相应的数码管,地址0x20006000 为数码管的数据寄存器。

数码管采用共阳方式,向该地址写一个数据就可以控制LED 的显示,其原理图如图所示。

三.实验内容及步骤1、六个数码管同时正向显示0-F ,然后反向显示F-0。

1)参照模板工程leddemo(modules\leddemo\leddemo.apj),添加相应的文件,并修改led 的工程设置;2)创建led.c 并加入到工程led 中;3)编写LED 显示函数void led_display(void),正向显示0-F 然后反向显示F-0,并循环执行以上动作,在每次显示之间延时一段时间;4)编译led,成功后,下载并运行,观察结果。

2、在六个数码管上依次显示“HELLO”,可分辨出轮流显示。

步骤同上。

3、在六个数码管上依次显示“HELLO”,分辨不出轮流显示。

步骤同上。

4、在每个数码管上递增显示0-9 。

步骤同上。

四.实验程序1、./*******************************************************************//*文件名称: LEDSEG7.C */ /*实验现象:数码管依次显示出0、1,2、……9、a、b、C、d、E、F */ /*******************************************************************/ #define U8 unsigned charunsigned char seg7table[16] = {/* 0 1 2 3 4 5 6 7*/0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,/* 8 9 A B C D E F*/0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, };void Delay(int time);/*******************************************************************/ /* 函数说明: JXARM9-2410 7段构共阳数码管测试 */ /* 功能描述: 依次在7段数码管上显示0123456789ABCDEF */ /* 返回代码: 无 */ /* 参数说明: 无 */ /*******************************************************************/ void Test_Seg7(void){int i;*((U8*)0x20007000)=0x00; /*六个数码管都亮*/for( ; ;){for(i=0;i<0x10;i++) /*数码管从0到F依次显示出来*/{*((U8*)0x20006000)=seg7table[i];Delay(1000);}for(0xf;i>=0x0;i--) /*数码管从F到0依次显示出来*/{*((U8*)0x20006000)=seg7table[i];Delay(1000);}}// TODO}/*****************************************************************/ /* Function name : 循环延时子程序 *//* Description : 循环 'time' 次 */ /* Return type :void */ /* Argument : 循环延时计数器 */ /*****************************************************************/ void Delay(int time){int i;int delayLoopCount=1000;for(;time>0;time--);for(i=0;i<delayLoopCount;i++);}实验结果:6个数码管上一次显示0,1,2…F,然后从F到0循环。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验报告姓名:姚竞华班级:电自094学号:09401300420实验一存储器读写一、实验目的:1、寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作;3、学习简单程序的基本调试方法。

二、实验内容将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下:ORG 0000HSJMP STARTORG 0030HSTART: MOV R1,10H ;一共16个数据MOV R0,#70H ;原数据首地址MOV DPTR,#2000H; 片外存储单元首地址MOV 70H,#00H;送入原始数据,把70H-71H中分别送入00H-0FHMOV 71H,#01HMOV 72H,#02HMOV 73H,#03HMOV 74H,#04HMOV 75H,#05HMOV 76H,#06HMOV 77H,#07HMOV 78H,#08HMOV 79H,#09HMOV 7AH,#0AHMOV 7BH,#0BHMOV 7CH,#0CHMOV 7DH,#0DHMOV 7EH,#0EHMOV 7FH,#0FHLOOP: MOV A,@R0;循环送入2000H-200FHMOVX @DPTR,AINC R0INC DPTRDJNZ R1,LOOPEND三、调试结果实验二数据排列一、实验目的掌握汇编语言分支结构的应用。

二、实验内容将R0、R1、R2中的数据从大到小排列,并分别从放在70H-71H中。

程序清单如下:ORG 0000HSJMP STARTORG 0030HSTART: MOV R0,#02H;分别向R0-R1中写入数据MOV R1,#05HMOV R2,#03HMOV A,R0SUBB A,R1;R0-R1JC SUB1LOOP1: MOV A,R0SUBB A,R2;R0-R2JC SUB2MOV A,R1SUBB A,R2;R1-R2JC SUB3AJMP OVER; R0>R1>R2SUB3: CLR CMOV A,R1XCH A,R2MOV R1,AAJMP OVER; R0>R2>R1SUB2: CLR CMOV A,R0XCH A,R2MOV R0,AMOV A,R1XCH A,R2MOV R1,AAJMP OVER;R2>R0>R1SUB1: CLR C ;清除C位MOV A,R0;R0与R1互换XCH A,R1MOV R0,AAJMP LOOP1;重新开始比较OVER: MOV 70H,R0MOV 71H,R1MOV 72H,R2END三、试验结果实验三I/O端口操作一、实验目的1、掌握I/O端口读写等基本汇编指令2、掌握单片机最小系统硬件电路设计及仿真软件PROTUES 仿真、调试等基本操作方法。

二、实验仪器设备1、PC机,1台2、keil软件开发系统3、仿真软件PROTUES三、实验内容编写一段汇编程序,使与单片机P0.3口相连接的发光二极管循环点亮,亮灭时间必须大于0.5秒(肉眼能清晰分辨二极管的亮灭变化)。

要求用PROTUES软件完成仿真电路设计,并进行功能验证。

程序清单如下:ORG 0000HSJMP STARTORG 0030HSTART: MOV P0,#0FFH;先初始化,暗灯LOOP1: CPL P0.3;点亮ledACALL DELAY;调用延时子程序,延时0.6秒SJMP LOOP1;循环点亮DELAY: MOV R5,#50L2: MOV R6,#100L1: MOV R7,#100DJNZ R7,$DJNZ R6,L1DJNZ R5,L2RETENDPROTUES仿真结果如下:在上面程序的基础上完成P0口输出的二极管跑马灯。

程序清单如下:ORG 0000HSJMP STARTORG 0030HSTART: MOV P0,#0FEH;点亮P0.0LOOP1:MOV A,P0;左移位RL AMOV P0,AACALL DELAY;调用延时子程序,延时0.6秒SJMP LOOP1;循环点亮DELAY: MOV R5,#50L2: MOV R6,#100L1: MOV R7,#100DJNZ R7,$DJNZ R6,L1DJNZ R5,L2RETENDPROTUES仿真结果如下:实验四十字路口交通灯一、实验目的1、掌握ISP在线调试的方法;2、掌握硬件实验箱的使用方法;3、熟悉汇编程序基本格式与编程方法二、实验仪器设备1、PC机2、PROTUES仿真环境。

三、实验内容编写十字路口交通灯控制程序,控制红、黄、绿交通指示灯的亮灭,模拟十字路口交通灯控制。

参考程序如下:ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#11HACALL DISPACALL DE3SLLL: MOV A,#12HACALL DISPACALL DE10SMOV A,#10HACALL DISPMOV R2,#05HTTT: MOV A,#14HACALL DISPACALL DE02SMOV A,#10HACALL DISPACALL DE02SDJNZ R2,TTTMOV A,#11HACALL DISPACALL DE02SMOV A,#21HACALL DISPACALL DE10SMOV A,#01HACALL DISPMOV R2,#05HGGG: MOV A,#41HACALL DISPACALL DE02SMOV A,#01HACALL DISPACALL DE02SDJNZ R2,GGGMOV A,#03HACALL DISPACALL DE02SJMP LLLDE10S: MOV R5,#100JMP DE1DE3S: MOV R5,#30JMP DE1DE02S: MOV R5,#02DE1: MOV R6,#200DE2: MOV R7,#126DE3: DJNZ R7,DE3DJNZ R6,DE2DJNZ R5,DE1RETDISP: CPL AMOV P0,ARETEND四、实验操作步骤用keil软件编写交通灯控制程序。

编译通过后生成16进制文件(.HEX),加载到PROTUES中仿真验证。

结果如下:实验五8279显示器接口一、实验目的1、掌握数码管显示的基本原理;2、掌握8279键盘显示器接口芯片的使用方法3、提高汇编应用程序编程方法与技巧。

二、实验仪器设备1、单片机实验箱、51单片机最小系统电路板、串口调试线、PC机2、MCS51集成开发环境三、实验原理1、8279的使用方法首先掌握两个口地址,命令口地址0CFE9H。

数据口地址:0CFE8H。

命令口地址主要是CPU将初始化指令或控制指令对8279完成相关设置。

数据口地址完成显示数据字形码的传送。

DDD为1XX时允许清除显示器,清除命令需要16us的时间,在此期间CPU不能向8279写入命令。

四、实验内容编写数码管显示程序,用两个数码管显示两个数字。

完成程序的编写并下载到EL实验箱上进行验证。

实验清单如下:CSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV DPTR,#0CFE9H;命令口地址清零初始化MOV A,#0D1HMOVX @DPTR,ANOPNOPNOPNOPNOPNOPNOPNOP;延时16us,保证清零完成MOV A,#80H;选择第一个数码管显示MOVX @DPTR,AL1: MOV R4,#00HMOV A,R4L2:LCALL DIS;调用显示子程序INC R4CJNE R4,#0AH,L2SJMP L1DIS: PUSH DPL;显示子程序PUSH DPHPUSH ACCMOV DPTR,#SEGTAB;查表A值MOVC A,@A+DPTRMOV DPTR,#0CFE8H;数据口地址,显示A中的数值MOV R5,#50LOOP2: MOV R6,#200LOOP1: MOV R7,#100LOOP3: MOVX @DPTR,ADJNZ R7,LOOP3DJNZ R6,LOOP1DJNZ R5,LOOP2POP ACCPOP DPHPOP DPLRETSEGTAB: DB 3FH,06H,5BH,4FH,66H;共阴极数码管段表0-9DB 6DH,7DH,07H,7FH,6FHEND五、实验操作步骤1、硬件连线,用串口线将PC机与实验箱连好。

将单片机51最小系统板插入实验箱并固定好,打开实验箱电源,观察51系统板的电源指示灯点亮表示开发板已装好。

2、点击进入MCS51,弹出通讯对话框,选择“确定”并立即按下实验箱复位键,进入MCS51集成开发环境,观察屏幕底部是否有提示信息显示“通讯已连接”。

3、将数码管显示程序输入,并保存在C:/MCS51目录下,文件后缀名为.ASM,并编译检查是否有语法错误。

4、编译通过后,点击“调试”按钮。

调试方法分别有单步运行、全速运行、断点调试等,分别用这些方法进行程序调试,掌握单片机应用程序ISP在线调试的基本方法与技巧。

相关文档
最新文档