单片机系统制作实验报告
单片机系统实验实训报告
一、实验目的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. 单片机基本原理单片机是一种集成电路,内部包含了CPU、内存、输入输出端口等功能模块。
通过编程,可以控制这些功能模块的工作,实现各种应用。
2. 温度传感器原理温度传感器是一种能够感知环境温度变化的器件,常见的有热敏电阻、热电偶等。
本次实验使用的是热敏电阻,其电阻值随温度的变化而变化。
实验材料1. 单片机开发板2. 温度传感器3. 液晶显示屏4. 连接线等实验步骤1. 连接电路将单片机开发板与温度传感器、液晶显示屏连接起来,确保电路连接正确无误。
2. 编写程序使用C语言编写单片机的程序,实现温度传感器数据的采集和液晶显示屏的显示。
程序的基本思路是通过单片机的模拟输入端口读取温度传感器的电阻值,然后将电阻值转换为温度值,并将温度值显示在液晶显示屏上。
3. 烧录程序将编写好的程序烧录到单片机开发板上,确保程序能够正常运行。
4. 实验测试将温度传感器放置在不同的环境中,观察液晶显示屏上的温度数值是否能够准确显示,并记录实验结果。
实验结果与分析经过实验测试,我们发现温度传感器能够准确地采集环境温度,并将温度数值显示在液晶显示屏上。
通过对比实际温度和显示温度的差异,我们可以评估温度传感器的准确性和精度。
实验总结通过本次实验,我们深入了解了单片机的基本原理和应用,掌握了单片机的编程方法和电路连接方法。
同时,我们也加深了对温度传感器的原理和应用的理解。
这些知识和技能对于今后的学习和工作都具有重要意义。
单片机电子实习实验报告
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
单片机实验报告(相当不错,有具体实验结果分析哦)
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
1单片机实验报告系统认识实验和程序设计实验.doc
一、实验目的:1、掌握实验系统的使用方法。
2、掌握集成调试软件的操作与程序调试方法。
3、熟悉51系列单片机的指令系统,掌握在单片机开发系统上调试和执行程序的过程。
4、熟悉51系列单片机软件的编程方法;5、通过使用汇编语言和C语言编写同一个程序,了解这二种方式的编程特点。
二、实验原理Lab6000通用微控制器实验系统由板上仿真器、实验单元、开关电源等构成。
接上EX51B 仿真板,可进行51单片机的实验。
实验系统通过串行通讯电缆将实验系统上的“仿真器串口”与计算机的串行通讯端口联接,在计算机上运行W AVE 集成调试软件,即可完成实验程序的编写、编译、装载、调试。
W A VE 集成调试软件具有与一般办公和工程软件相似的编辑功能和命令菜单。
可在软件上完成程序的输入、编辑、编译、调试等工作,实现对实验系统的控制。
并可通过相关窗口观察程序运行过程中,单片机各个数据存储单元的变化情况。
三、实验使用仪器。
1、Lab6000通用微控制器实验系统。
2、计算机,W A VE 集成调试软件。
四、实验内容。
1、熟悉51系列单片机开发环境。
2、运行一个简单的汇编语言程序。
3、运行一个简单的C语言程序。
4、了解本学期综合性、设计性实验的概况。
五、实验步骤1、按要求进行实验系统的联接与启动。
2、执行W A VE 集成调试软件。
进入开发环境界面,然后在“仿真器”下拉菜单,选择“仿真器设置”项。
在弹出的“仿真器设置”窗口中,应作设置如下:在“语言”标签窗口下,“编译器路径”为“C:\COMP51\”;“ASM命令行”勾选“使用伟福预定义符号”项;“编译器选择”点选“伟福汇编器”项;“缺省显示格式”点选“混合十、十六进制”项。
在“目标文件”标签窗口下,勾选:“缺省地址(由编译结果确定)”;“生成HEX文件”;“置未用程序存储器为00H”。
在“仿真器”标签窗口:选择仿真器:Lab6000 通用微控制器实验系统;选择仿真头:MCS51 实验;选择CPU:8031/32;去掉“使用伟福软件模拟器”选项。
单片机原理实验报告
实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
c51单片机实验报告
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
单片机实验报告(完整版)
单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。
二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。
3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
单片机实验报告
一、实验目的1、熟练单片机的结构组成及原理;2、软硬兼施,采用硬件电路的焊接搭建和软件的设计调试、下载,亲自动手,对硬件系统加深了解的同时,软件编程也能得心应手;3、了解如何从硬件和软件上分析问题,排除故障。
二、实验内容MCS-51/MCS-52单片机的跑马灯硬软件设计、键盘控制及键号显示电路的软硬件设计、直流电机转速电路的软硬件设计、转速计数控制电路的软硬件设计、步进电机转速的硬软件设计三、实验器材与工具实验器材:多功能电路板、AT89S52单片机、电解电容、瓷片电容、电阻、二极管、集成芯片、插槽、八段共阴数码管、发光二极管、三极管、12MHz晶振、小按钮开关、光电开关、直流电机、步进电机主要工具PC机、下载器、电烙铁、焊锡丝、导线、尖嘴钳、斜口钳、剥线钳、数字万用表、透明胶带等。
四、实验原理1-1 MCS-51/MCS-52单片机的跑马灯的硬软件设计1 MCS-51/MCS-52单片机跑马灯的硬件电路的设计。
如图1-1是一个利用51单片机设计的跑马灯电路,51单片机的第9引脚为复位电路,单片机上电之初,使用C-R充电过程使得第9脚保持10ms以上的高电位,使机器复位。
复位开关K可使之做到随机复位。
51单片机的第18,19引脚为外接晶振,接一个12M的晶振,同51单片机内部电路配合,上电后产生12兆的晶振频率和1兆的机器周期频率。
因为89S52机片内含8K程序存储器,机器运行程序将下载其中,故89S51的引脚EA接电源VCC。
51单片机第32—39引脚为P0口,分别对应P0.7—P0.0,P0口外接10KΩ的上拉排阻。
P0口的P0.0—P0.7与74HC573的D0—D7一一对应相连,74HC573的Q0—Q7为输出,分别经220Ω电阻后接于发光二极管(跑马灯)的D0—D7上。
74HC573为8位锁存器,其1脚为输出使能端OE,低电平有效。
本电路将其接地,所以74HC573的8位Q端为直通输出。
单片机最小系统实验报告
单片机最小系统实验报告单片机最小系统实验报告一、引言单片机(Microcontroller)是一种集成了微处理器、存储器和输入/输出接口等功能的微型计算机系统。
它具有体积小、功耗低、成本低等特点,广泛应用于嵌入式系统、电子设备控制等领域。
本实验旨在通过搭建单片机最小系统,深入理解单片机的工作原理和应用。
二、实验器材1. 单片机:选用STC89C52RC型号;2. 开发板:包括电源、晶振、按键、数码管等;3. 连接线:用于连接单片机与开发板。
三、实验步骤1. 连接电源:将开发板的电源模块与单片机相连,确保电源供应正常。
2. 连接晶振:将晶振的两个引脚分别与单片机的两个晶振引脚相连,确保晶振的振荡频率与单片机的要求相符。
3. 连接按键:将按键的引脚与单片机的输入引脚相连,通过按下按键触发单片机的相应操作。
4. 连接数码管:将数码管的引脚与单片机的输出引脚相连,实现数字的显示。
四、实验原理单片机最小系统是指由单片机、晶振和复位电路构成的最基本的工作系统。
其中,晶振提供时钟信号,单片机根据时钟信号进行计算和控制,复位电路用于初始化单片机的状态。
通过连接按键和数码管,可以实现与外部环境的交互。
五、实验结果经过以上步骤的搭建,我们成功搭建了单片机最小系统。
在接通电源后,数码管上显示了默认的初始值。
通过按下按键,我们可以触发单片机的相应操作,例如改变数码管的显示内容、控制外部设备的开关等。
六、实验分析通过本次实验,我们深入了解了单片机最小系统的搭建和工作原理。
单片机作为一种微型计算机系统,具有灵活性和可编程性,可以根据不同的需求进行编程和控制。
通过连接外部设备,如按键和数码管,可以实现与外界的交互,提高系统的功能和扩展性。
七、实验应用单片机最小系统广泛应用于各种嵌入式系统和电子设备控制中。
例如,智能家居系统中的温度控制、照明控制等功能,汽车电子系统中的发动机控制、车载娱乐等功能,工业自动化系统中的生产线控制、传感器数据采集等功能等等。
《单片机系统设计》实验报告
《单片机系统设计》实验报告实验名称:单片机系统设计实验目的:1.学习如何使用单片机进行系统设计与控制;2.掌握单片机的基本原理和工作方式;3.熟悉单片机的编程和程序设计;4.进一步深入了解嵌入式系统的应用。
实验器材:1.单片机开发板;2.电脑;3.适配器;4.传感器模块;5.组合电路板;6.连接线等。
实验步骤:1.连接单片机开发板和电脑,并确保电源供应正常;2.将传感器模块与单片机开发板连接,并进行相关设置;4.运行程序,观察传感器模块采集的数据,并进行相应的控制操作;5.根据实验要求进行数据分析和结果处理;6.将实验结果记录在实验报告中;7.调试相关问题,并进行实验总结。
实验结果:通过本次实验,我们成功地使用单片机进行了系统设计与控制,并实现了相应的功能。
通过连接传感器模块和编写相关程序,我们能够获取传感器采集的数据,并通过单片机控制输出。
在实验过程中,我们还进行了数据分析和结果处理,得到了较为准确的结果。
实验总结:本次实验从理论到实践,使我们更加深入地了解了单片机系统设计的原理和方法。
通过编写控制程序和连接相应模块,我们能够实现对系统的准确控制和数据采集。
同时,我们也学会了如何调试和处理实验中遇到的问题,在实践中不断提高了自己的动手操作能力和问题解决能力。
通过本次实验,我们体会到了嵌入式系统在现代科技中的重要性和广泛应用。
嵌入式系统已经渗透到许多领域,包括家用电器、工业自动化、交通控制等。
掌握嵌入式系统的设计和应用,对我们未来的工作和学习具有重要意义。
通过本次实验的学习,我们不仅提高了自己的动手实践能力和问题解决能力,也培养了我们团队合作意识。
在实验中,我们要求互助互助、相互配合,共同解决实验中遇到的问题,并取得了较好的实验结果。
总之,本次实验在知识理论与实践操作相结合的基础上,通过团队合作完成了实验任务。
实验结果表明,通过单片机系统设计,能够实现对系统的准确控制和数据采集。
实验对我们今后的学习和工作具有重要的指导意义。
单片机实验报告
单片机实验报告《单片机系统实验》实验报告院系:学号:姓名:2017年12月一、实验目的1.了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。
2.通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。
二、实验设备STM32实验系统一套,PC机一台。
三、实验原理(1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。
编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。
(2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。
(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。
)(3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。
(4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。
四、内容与步骤1.学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。
(2学时)2.I/O口实验:在建立工程的基础上能点亮发光二极管。
(2学时)3.定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。
(2学时)4.外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。
(2学时)5.串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。
(2学时)6.LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。
(6学时)五、关键代码1.I/O口及定时器实验/*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/void TIM3_IRQHandler(void){extern uint8_t LED_Status[5];if(TIM3->SR&0X0001)//溢出中断{if(LED_Status[1]==0){LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED_Status[1]=1;}else if(LED_Status[1]==1){LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED_Status[1]=2;}else if(LED_Status[1]==2){LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED_Status[1]=3;}else if(LED_Status[1]==3){LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED_Status[1]=0;}}TIM3->SR&=~(1<<0);//清除中断标志位}2.外部中断实验/*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。
单片机最小系统实验报告
单片机课程设计实验报告(仅供参考)单片机最小系统姓名:系别:专业:1、目的要求目的:通过对单片机最小系统的研究,掌握单片机各引脚功能,理解单片机工作过程及原理,以及与各种外部扩展器件的连接,能够自己运用单片机来解决实际问题。
要求:搭建51单片机最小系统,用LED闪烁验证。
实现串口通信。
搭建LED数码管多位动态显示电路,并用程序验证。
编写外部中断INT0的中断服务程序,单片机持续发送串口信息,每来一次中断翻转LED灯。
利用已经做过的中断、数码管实验,实现按键次数累加,并在数码管上显示。
2、设计过程用LED闪烁验证51单片机最小系统的电路数码管多位动态显示电路3、程序代码最小系统:/*------------------------------------------------------------------------------HELLO.CCopyright 1995-1999 Keil Software, Inc.------------------------------------------------------------------------------*/#include <REG52.H> /* special function register declarations *//* for the intended 8051 derivative */#include <stdio.h> /* prototype declarations for I/O functions */#ifdef MONITOR51 /* Debugging with Monitor-51 needs */char code reserve [3] _at_ 0x23; /* space for serial interrupt if */#endif /* Stop Exection with Serial Intr. *//* is enabled */void delay(){ int t;for(t=0;t<0x5000;t++);}/*------------------------------------------------The main C function. Program execution startshere after stack initialization.------------------------------------------------*/void main (void) {while (1) {P1 ^= 0x80; /* Toggle P1.0 each time we print */delay();}}四位数码管:/*========7段数码管实验=========*/#include "reg51.h"code unsigned charledtab[]={0X3F,0X6,0X5B,0X4F,0X66,0X6D,0X7D,0X7,0X7 F,0X6F};/*0~9的段码*/ sbit s0=P2^3;sbit s1=P2^4;sbit s2=P2^5;sbit s3=P2^6;unsigned char ge;unsigned char shi;unsigned char bai;unsigned char qian;void delay(){ int t;for(t=0;t<0x100;t++);}void scan(){ge=4;shi=6;bai=7;qian=2;s0=1;P0=~(ledtab[qian]); /*将段码输出*/ delay();s0=0;s1=1;P0=~(ledtab[bai]); /*将段码输出*/ delay();s1=0;s2=1;P0=~(ledtab[shi]); /*将段码输出*/ delay();s2=0;s3=1;P0=~(ledtab[ge]); /*将段码输出*/ delay();s3=0;}main(){for(;;)scan();}4、心得体会:单片机最小系统经过我一段时间的调试,终于能够达到预定的功能,虽然只是简单的调试,但从中我也接触了不少的关于单片机的知识。
- 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;十位位选信号输出