单片机系统制作实验报告
单片机系统实验实训报告

一、实验目的1. 熟悉单片机的基本结构和原理。
2. 掌握单片机的编程方法和调试技巧。
3. 培养单片机应用系统的设计能力。
4. 提高实际操作能力和团队协作精神。
二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。
- 掌握电路板焊接和调试方法。
2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。
- 掌握单片机GPIO端口的使用方法。
- 通过编程实现LED灯的流水效果。
3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。
- 掌握按键去抖动技术。
4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。
- 掌握LCD1602的初始化和显示控制方法。
5. 串口通信实验- 学习使用单片机串口进行通信。
- 掌握串口初始化和通信协议。
6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。
- 掌握传感器数据读取和温度湿度计算方法。
7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。
- 掌握按键输入、密码存储和匹配方法。
三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。
- 按照电路图焊接电路,确保电路连接正确。
- 上电测试,观察LED灯是否亮起,确认电路工作正常。
2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。
- 烧录程序到单片机,观察LED灯的流水效果。
3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。
- 烧录程序到单片机,测试按键控制功能。
4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。
- 烧录程序到单片机,观察LCD1602显示屏的显示效果。
单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
最新单片机实验报告

最新单片机实验报告实验目的:1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机编程语言和开发环境的使用。
3. 通过实验加深对单片机控制逻辑的理解。
4. 实现简单的单片机控制项目,提高动手能力。
实验设备和材料:1. 单片机开发板一套(包含单片机芯片、电源模块、接口电路等)。
2. 连接线若干。
3. LED灯、蜂鸣器、按键开关等外围设备。
4. 电脑一台,安装有单片机编程软件。
实验步骤:1. 首先,连接单片机开发板到电脑,确保电源模块和接口电路正确无误。
2. 安装并打开单片机编程软件,创建一个新的项目。
3. 编写程序代码,实现LED灯的闪烁功能。
代码中需要定义LED灯所连接的端口和控制逻辑。
4. 将编写好的程序通过编程软件下载到单片机芯片中。
5. 测试程序是否按预期工作,即LED灯能够进行闪烁。
6. 在原有程序基础上,增加蜂鸣器的控制代码,实现按键控制蜂鸣器响铃的功能。
7. 再次下载并测试程序,确保所有功能正常运行。
实验结果:1. 成功编写并下载了控制LED灯闪烁的程序,LED灯能够按照设定的时间间隔进行闪烁。
2. 在程序中增加了蜂鸣器的控制逻辑,通过按键开关能够控制蜂鸣器的启动和停止。
3. 所有编写的功能均能稳定运行,达到了实验的目的。
实验分析:通过本次实验,我们了解了单片机的基本操作和编程方法。
在实验过程中,我们也遇到了一些问题,比如程序下载不成功、LED灯不闪烁等,但通过检查电路连接和程序代码,我们最终解决了这些问题。
实验让我们认识到了理论与实践相结合的重要性,也提高了我们解决实际问题的能力。
实验建议:1. 在编写程序时,应该注意代码的规范性和可读性,便于后续的检查和修改。
2. 在实验过程中,应该养成记录和备份程序代码的习惯,防止数据丢失。
3. 可以尝试更复杂的控制项目,比如温度控制、电机驱动等,以提高对单片机的掌握程度。
单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理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灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机实验报告参考

《实验一 应用系统开发过程演示》实验报告参考一.实验目的1.了解单片机应用系统的开发过程,获得感性认识。
2.了解开发箱/开发板的使用方法3.了解仿真软件的基本功能和使用方法。
二.实验环境(一) EL 型微机教学实验系统:1. 设备::北京精议达盛科技有限公司EL-MUT3多CPU 单片机/微机实验实训系统2. 软件:北京精议达盛科技有限公司8051调试软件4.0版 二.实验电路(一) EL 型微机教学实验系统实验电路(二) 仿真软件开发调试环境: 1.英国 Labcenter electronics 公司的Proteus EDA 工具软件, 2. 美国Keil 公司的µVision 集成开发环境 (二) 仿真软件实验电路:三. 操作步骤:(一)EL 型微机教学实验系统操作步骤1. 连线:P1.0~P1.7接LED1~LED82. 新建汇编语言源文件3. 另存为D:\J08X\SY1.ASM4. F3编译生成目标文件,F5进入调试:工具栏上“R ”打开寄存器窗,“H ”打开反汇编窗口F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。
四. 源程序(括号中为EL 型微机教学实验系统中的程序)ORG 0000H (ORG 4000H ) SJMP MAIN (LJMP MAIN) ORG 0040 H (ORG 4100H) MAIN: MOV A,#0FEH LOOP: MOV P2,A (MOV P1,A ) LCALL D_1s RL A AJMP LOOP ;以下为延时子程序 D_Is: MOV R6,#100 ;1s D10ms: MOV R5,#40 :10ms DL: MOV R4,#123 N0P DJNZ R4,$ DJNZ R5,DL DJNZ R6,D10ms RET END(二) 仿真软件开发调试环境: ◆Proteus 工具软件下, 1.新建设计 ①选取元件 A T89C51,RES,LED-RED ②在工作区放置元件,地线,电源 电阻RES 阻值200Ω,模式DIGITAL ③连线 2. 源程序设计,生成目标文件代码 “Source →Add/RemoveFiles ”新建源程序文件D:\J08X\L Y1.ASM “Source → SY1.ASM ”在文本编辑器编写源程序 通过“Source →BuildAll ”编译源程序,生成目标程序。
单片机生产实习报告

单片机生产实习报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作计划、工作总结、合同协议、条据书信、规章制度、应急预案、策划方案、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as work plans, work summaries, contract agreements, document letters, rules and regulations, emergency plans, planning plans, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!单片机生产实习报告单片机生产实习报告精选7篇单片机生产实习报告篇1一、实习目的单片机是一种集成电路芯片,采用超大规模集成电路技术把CPU、ROM、RAM等功能集成到一块硅片上构成一块小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机最小系统实验报告

单片机最小系统实验报告
实验目的:
本实验目的是探究微处理器系统最小化原理并实际运用该原理设计一个基于单片机主控的最小系统,用来分析各部件之间的作用以及学习计算机系统的操作。
实验设备:
1.单片机主芯片:亚宝半导体C02晶振
2.外部电路元器件:2个8位数据输入输出口,4个4位数据的输入输出口,4个开关,10K水银温度计,7个键盘,1个指示灯。
实验步骤:
1. 设计单片机最小系统电路:根据实验指导书绘制单片机最小系统电路图,接线涉及到的所有元器件,并标注出每个元器件的引脚号。
2. 编写相关的程序:根据实验的要求,编写相关的CH02语言程序来完成IO口的输入输出功能。
3. 上传程序:将编写的程序用串口烧录到单片机内存中
4. 测试程序:检查所有的管脚,检查程序的正确性,根据程序要求使用按键输入信号,测试输出结果。
实验结果:
在实验过程中,我发现单片机最小系统电路设计较为简单,只需要有基本的电路和编程知识,即可完成本次实验。
经过多次修改和测试,我可以得出程序正确运行的结论。
经过本次实验,我深刻理解了计算机系统的结构,学会了io口的编程,还认识了有关电子元器件的基本用途和功能,研究了系统的最小化原理,以及其背后的道理。
更重要的是,本次实验提高了我的动手能力和分析问题的能力。
单片机的实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WAVE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器 MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本次实验结束了,我的加一减一计数器也完成了,功能也实现了,在此,谢谢农老师的 热心指导,谢谢同学们的支持与帮助,谢谢各位。
7
桂林电子科技大学职业技术学院
《单片机原理与应用》系统设计
实 践 操 作 报 告
指导教师:农红密 学生姓名:覃佳幸 学 号:1212150125
机电工程系 2013 年 12 月
一、实验题目
加一减一计数器
二、实验设备与仪器
覆铜板一块,打孔机一台,电烙铁一支,清洁海绵一块,砂纸一小张镊子一支,剪刀一 把,刀钳一把,油性笔一支,焊锡丝适量,腐蚀液适量,裁板机一台,数字万用表一个,打 印机一台,转印纸若干,电慰斗一个,程序烧写器一部,插针两针,杜绑线若干条。单片机 一块,510Ω电阻若干支,10kΩ电阻一支,30pF 瓷片电容两支,晶振 12MHz 一个,电解电容 10μF 一个,发光二极管一支,单片机管座一个,轻触按键三颗,四位共阳数码管 1 个。计算 机一台,Keill 软件,proteus 软件,protel 99 se 软件。等等......
四、系统说明与分析
1.下图该模块为时钟电路模块,它为单片机提供均匀的时钟脉冲信号,使单片机正常工 作。C1、C2 是瓷介电容,电容值为 30pF,也可以用 22pF,但是不能使用过大电容量的瓷介电 容,如果电容值过大则单片机不能正常工作。Y1 是晶振,12MHz;一般非精密电路中晶振使用 12MHz。晶振的两端接到单片机的 18、19 号引脚;电容另一绘制: protel 原理图和 protus 原理图类似,只不过需要画出时钟电路和复位电路罢了。同理,
在左边找到 Add/Remove 按钮,进入文件管理器中查找库,添加或删除某元件库。然后画图, 根据需要,在工具栏中可调出工具。最后得出图形如下图。
proteus 原理图和 protel 原理图的原理应一致,否则结果会出错。接着在 protel 软件 继续画 PCB 图、打印图,最后打印在转印纸上,然后转印覆铜板,腐蚀,焊接,……完成系 统。
解释说明: mimi:初始程序。程序的开始,首先清零 R1 和 R2 寄存器,以免影往下面的程序;让 p0
口置 1,数码管熄灭,什么都不显示。 AAX:显示程序。管理 P0 和 P2 口输出高低电平显示数据。如果 P2.0 引脚输出高电平,
那么个位被选中,此时只要在共阳数码管的段选端给一个低电平,那么相应的字段就被点亮。 段选端由 p0 口控制,要显示的数据由数据表提供。
这个程序实现的功能是:复位或刚上电,数码管会显示 00;当按下加键,系统加 1,显 示 01;当个位显示 9,再按加键,十位进一,个位清 0;当个位和十位都是 9 时按加键,些时 溢出,显示 00,如果百位设置有显示时百位则进一,在数位调整程序段加入即可。 如果在始初或复位后(即显示 00 时)按下减键,那么系统会减一计数,此时显示 99,依次再按, 可从 99 依次减到 00,再按一次,又从 99 开始减。 当正在显示某个数时,按下复位键,立马复位,显示 00。如果长按加键或减键,数据会快速 增加或减小,提高前进速度或快退速度。
三、系统硬件图绘制
1、proteus 硬件原理图绘制: 打开 proteus 软件(启动桌面上 Isis),单击左边元件列表左上角 p 按钮,弹出元件库对
话框,在对话框中 keywords 栏中输入所需元件名称。输入 res 在列表中找到电阻双击,此时 电阻成功添加到元件列表中。同理,输入 at89c51、button、ca,依次调出单片机、轻触按键、 共阳数码管,然后关闭元件库对话框。选中元件列表中的任意一元件名称,再到元理图编辑 窗口左键单击,元件被拉出,再次单击放下元件。把所有元件按照自己的设计合理布局后, 把鼠标移动,使光标放到元件的引脚端,光标由箭头变成笔形,单击左键,移动鼠标,线条 画出,划到另一个引脚单击左键连接,再右键单击结束画线。有必要时可用网络标号,单击 工具栏 LBL,然后按照画线方法画出一小节线,此时双击该线条,弹出属性框,输标号,标号 自定,后,单击 ok 。 最后得出 proteus 原理图如下图。在 proteus 原理图中,时钟电路和 复位电路可以省略不画。
4.下图该模块为按键信号输入模块。当按键没有按下时,单片机得到高电平;当按下按 键时,单片机的相应端口就得到低电平,当单片机检测到按键的按下状态,就会执行相应的 命令。
5.下图该模块为电源指示模块,当系统上电时 LED 发光。R1 用 510 欧电阻;J1 是插针, 它不仅是给电源指示模块供电,而且是整块电路板的电源输入端。
DDX:判位处理,作为输入。如果 P1.0 引脚不是高电平,则 EEX 执行加 1 指令;如果 P1.1 引脚不是高电平,则 FFX 执行减 1 指令;如果这两个引脚都是高电平,说明没有键按下,则 继续显示上一个数据。
EEX:加 1 指令,执行加 1 操作,使 R1 寄存器数值加 1。 FFX:减 1 指令,执行减 1 操作,使 R1 寄存器数值减 1。 GGX:加 1 的数位处理。当加 1 按键按下时,执行加 1 操作,然后让 GGX 程序段进行调整 处理,使个位和十位谐调显示。 YY:延时程序。实现延时功能,只能延时一小瞬间。俢改 R6 和 R7 的数值大小可以使延 时程序延时时间的长短。
BBX:减 1 的数位处理。当按下减 1 按键后,程序执行减 1 操作,然后让 BBX 程序段进行 调整处理,使个位和十位谐调显示。
CCX:数据表。此数据表为高电平数据,所以在共阳数码管的段选端要取反操作。此数码 表从左到右的数据依次为:0 1 2 3 4 5 6 7 8 9。当 A=0 时选中第 1 个数据,依此类推。A 的数值是从 R1 或 R2 传送过来的,只要管理好 R1 和 R2,就可以显示想要的数字了。
这个实验,让我懂得了一个系统是怎样完成的。我做的是加一减一计数器,虽然它的功 能很简单,但在制作过程中我学到了许多东西。要设计一样东西,得用脑袋想,用 Kell 软件 编程序,proteus 软件仿真。仿真实现后用 protel 软件完成 PCB 图,打印,制板。这一个过 程,一定要注意软件与硬件对得上号,否则硬件的功能不能实现。还有就是 ptoteus 原理图 与 protel 原理图原理一致。我觉得 PCB 板线宽 30mil~40mil 为宜。小于 30mil 时大小了, 制板过程易腐蚀掉;线宽大于 30mil 太宽了,不美观,浪费板子面积。程序设计,前题是让 单片机能工作,﹁EA 引脚接高电平,vcc 接电源,GND 接地。用 P1 口作为输入,P0 口作为段 选输出,P2 口作为位选输出。最好不要单片板同一个 p 口即作为输入又作为输出。程序中, 设计显示的延时要短一些,这样在硬件显示上由于人的视觉停留效应,我们将看到两位数(或 多位)同时显示。还有就是使用高电平时,要接上拉电阻,要不然电流很微弱;特别是 P0 口 使用高电平时一定要接上拉电阻,否则不产生高电平。等等,各细节,该注意的要注意。这 次实验让我记住了很多汇编语言程序指令,整个人的思维得到了锻炼,制作整个系统我觉得还 是很有意思的;也明白了系统是如何设计的,制板工艺得到了锻炼,技术也得到了提高。当 完成这个系统后,我深知过程中每一个细节都很重要。
4
LCALL YY;延时显示 djnz r3,aaz;再次循环显示 LJMP DDX;转跳回去判位 EEX:INC R1;加 1 指令 LJMP BBX;转跳数位处理 FFX:DEC R1;减 1 指令 LJMP GGX;转跳数位处理 YY:MOV R6, #30;延时程序 YZ:MOV R7,#50 DJNZ R7,$ DJNZ R6,YZ RET;延时程序结束 CCX:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数据表 END;主程序结束
5
加一减一计数器程序流程图如下:
开始
初始化
扫描 I/O 口状态
否
判 P1.0 是否按下
是
执行 加一
判 P1.1 是否按下
否
是
执行 减一
个位、十位处理
显示
显示个位
延时 2—5ms 显示十位
循环显示 20 次
延时 2—5ms
个位、十位处理
继续显示
回去判位
先判位再显示,显示完就回去判位。
6
七、实验体会
制完板后,对照 BCP 图焊上相应的电子元件。然后把程序*.Hex 文件用烧写器烧入单片机。 然后将单片机放入管座,上电测试。如果数码管位选循环切换,则修改一下延时程序,再次 烧入程序即可。同理,发现其他问题也如此做法。我在实验时只遇到这个问题,其他问题略 述。
六、源程序
输入系统的源程序如下面所示。 ORG 0000H LJMP mimi ORG 1000H mimi:MOV P0,#0FFH;初始 MOV R1,#00H;个位清零,R1 管理送个位字样 MOV R2,#00H;十位清零,R2 管理送十位字样 DDX:JNB P1.0,EEX;转跳执行加 1 JNB P1.1,FFX;转跳执行减 1 MOV DPTR,#CCX;继续显示 BBX:CJNE R1,#0AH,AAX;比较个位不等于 10 则转跳 AAX 显示 MOV R1,#00H;清零个位 INC R2;十位进一 CJNE R2,#0AH,AAX;比较 R2 不等于 10 则转跳 AAX 显示 MOV R2, #00H;十位清零 LJMP AAX;转跳去显示 GGX:CJNE R1,#0FFH,AAX;比较 R1 不等于 FFH 则转跳 AAX 显示 MOV R1,#09H;个位显示 9 DEC R2;十位降 1 CJNE R2,#0FFH,AAX;比较十位不等于 FFH 则转跳 AAX 显示 MOV R2,#09H;十位显示 9 LJMP AAX;转跳去显示 AAX:mov r3,#20;让其显示 20 次 aaz:MOV A,R1;显示个位 MOVC A,@A+DPTR;查表显示数字 CPL A;取反累加器 MOV P0,A;在 P0 口输出段选信号 MOV P2,#01H;个位位选信号输出 LCALL YY 延时显示 MOV A,R2;显示十位 MOVC A,@A+DPTR;查表显示数字 CPL A;取反累加器 MOV P0,A;在 P0 口输出段选信号 MOV P2,#02H;十位位选信号输出