单片机实验报告

合集下载

单片机实验一-加法器实验报告

单片机实验一-加法器实验报告

单片机实验一-加法器实验报告南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合■设计□创新实验日期:实验成绩:实验一单片机软件实验—1至100求和(一)实验目的1.掌握51单片机Keil软件集成开发环境。

2.学习使用汇编语言编写应用程序。

(二)设计要求熟悉51单片机的Keil软件集成开发环境,使用汇编语言编写“1+2+3+…+100”的程序。

(三)实验原理类似C语言里的循环语句,从1开始加,利用CJNE判断是否已加到100,从而进行循环计数。

(四)实验设备装有Keil4的电脑一台(五)实验结果计算结果高8位r3为0x13,低8位r4为0xba,即0x13ba,十进制数5050。

(六)结果讨论与心得体会实验结果和预期结果一致。

以前就用过Keil编程C51,所以使用起来没有什么障碍。

第一次自己编汇编程序,感觉汇编和C还是有很多相通之处,有很多思想和方法可以借鉴。

(七)附录:实验源代码ORG 0000H ;程序运行入口LJMP M AIN ;跳向主程序MAINORG 0030H ;主程序入口MAIN: MOV R2,#01H ;给R2赋初值1,从1开始加MOV R3,#00H ;R3用于存放最终结果的高8位MOV R4,#00H ;R4用于存放最终结果的低8位START: CLR C;Cy位清零CJNE R2,#65H,LOOP ;判断R2是否等于101,如果不相等,就跳到LOOPSJMP RESULT ;R2等于101时,表示已经完成1加到100的运算,跳转到RESULT LOOP: MOV A,R2 ;将R2的值移入累加器ADD A,R4 ;将R4的值加到累加器里MOV R4,A ;将累加器的值移入R4,作为相加后结果的低8位MOV A,R3 ;将R3的值移入累加器ADDC A,#00H ;累加器加0,并且带进位相加,这样做就把低8位进位加上去了MOV R3,A ;将累加器的值移入R3,作为相加后结果的高8位INC R2 ;R2的值加1,递增,作为下一个加数SJMP START ;跳转到START,继续相加RESULT: SJMP RESULT ;显示结果END ;结束。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备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 引脚。

单片机实训报告总结

单片机实训报告总结

单片机实训报告总结篇一: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灯、按键控制、数码管显示等。

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

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

单片机中断实验报告

单片机中断实验报告
程序下载
通过单片机的下载接口,将可执行的二进制文件 下载到单片机中。
实验测试
通过按键触发外部中断,观察LED灯的状态变化, 验证程序的正确性。
04
实验结果与分析
中断响应时间测试
总结词
响应时间快
详细描述
在测试中,我们发现单片机的中断响应时间非常快,能够在极短的时间内对外 部事件做出响应。这主要得益于单片机的硬件架构和中断处理机制,使得单片 机能够迅速识别并处理外部事件。
提高编程能力
通过本次实验,我们认识到自己的编程能力还有很大的提升空间。在未来的学习中,我们将注重提高自 己的编程能力,包括代码的优化、调试技巧等方面。
THANKS
感谢观看
实验中的问题与解决方案
在实验过程中,我们遇到了一些问题,如中断触发条件不 稳定等,通过调整相关参数和优化代码,最终解决了这些 问题。
对实验的反思与建议
01
实验操作流程的不足
在实验过程中,我们发现操作流程仍存在一些不足之处,如某些步骤的
描述不够清晰,导致实验过程中出现了一些不必要的困惑。建议在后续
的实验指导书中对操作流程进行更加详细的描述。
深入学习单片机中断机制
通过本次实验,我们对单片机的中断机制有了初步的了解。在未来的学习中,我们计划深入学习单片机的中断机制, 了解更多关于中断的细节和应用技巧。
探索更多中断应用场景
除了本次实验中实现的按键中断和定时器中断外,我们还计划探索更多的中断应用场景,如串口中断、ADC中断等 ,以拓宽我们的知识面和应用能力。
05
结论与建议
实验结论
实验目标达成情况
实验目标是通过单片机实现外部中断和定时器中断,实验 过程中成功实现了外部按键中断和定时器中断,验证了单 片机的中断处理机制。

单片机实验报告

单片机实验报告

一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。

2. 掌握单片机最小系统的搭建方法。

3. 学习使用单片机编程软件进行程序编写和调试。

4. 通过实际操作,加深对单片机应用的理解。

二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。

2. 软件环境:Keil uVision5、Proteus仿真软件。

三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。

(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。

② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。

2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。

(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。

② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。

3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。

(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。

② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。

单片机设计实验报告简单计算器的设计

单片机设计实验报告简单计算器的设计

目录1.总体方案选择 (2)1.1 实验要求: (2)1.2方案设计 (2)2.硬件原理电路图的设计及分析 (3)2.1主控模块 (3)2.1.1 STC89C52单片机主要特性 (3)2.1.2 STC89C52单片机管脚图 (4)2.1.3 STC89C52单片机的中断系统 (5)2.1.4 STC89C52单片机的定时/计数器 (5)2.2矩阵键盘模块设计: (5)2.2.1矩阵键盘原理介绍 (5)2.2.2矩阵键盘电路设计 (6)2.3 LCD液晶显示器简介 (7)2.3.1液晶模块简介 (7)2.3.2液晶显示部分与89S52的接口 (8)3系统软件设计 (10)3.1系统软件流程图 (10)3.2系统整体原理图 (11)4.系统调试 (12)4.1硬件调试 (12)4.2软件调试 (12)4.3调试结果 (13)5.心得体会131.总体方案选择1) 1.1 实验要求:2)通过小键盘实现数据的输入, 并在LED数码管上显示3)实现+、-、*、/4)在LED数码管上显示结果并有清零, 退出功能1.2方案设计本系统以STC89C52单片机为控制核心, 对系统进行初始化, 主要完成对键盘的响应、液晶显示灯功能的控制, 起到总控和协调各模块之间工作的作用。

单片机通过检测键盘读取使用者按下对用功能的按键, 然后通过单片机内部运放把运算的结果显示在液晶屏幕上。

图1-1系统结构框图本系统结构如图1-1所示, 本设计可分为以下模块: 单片机主控模块、键盘模块、功率放大模块、闹铃模块、按键设置模块。

下面对各个模块的设计方案逐一进行论证分析。

2.硬件原理电路图的设计及分析2.1主控模块STC89C52有40个引脚, 4个8位并行I/O口, 1个全双工异步串行口, 同时内含5个中断源, 2个优先级, 2个16位定时/计数器。

STC89C52的存储器系统由4K的程序存储器(掩膜ROM), 和128B的数据存储器(RAM)组成。

单片机实验报告总结

单片机实验报告总结

单片机实验报告总结单片机实验报告总结单片机实验心得体会单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。

在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。

这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。

将所学知识运用到实践中,在实践中发现问题,强化理论知识。

现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。

第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。

第一次实验体现了一个人对新事物的接受能力和敏感度。

虽然之前做过许多种实验。

但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。

所以第一次试验相对失败。

鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。

在做实验中,第二个问题应该是准备不充分吧。

一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。

后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。

于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。

这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。

发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。

三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。

于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。

但是编程是一件很严肃的事情,容不得半点错误。

于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。

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

一、实验目的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端为直通输出。

74HC573的第11引脚LE为输入使能端,高电平有效。

本电路中或非门的输出与其相连,而或非门的两个输入端分别连接于51机的WR和P2.7引脚上。

将P0口的数据写入,74HC573的输入条件是在写入的瞬间必须使P2.7端为低电平,写入有效时,WR也同时为低电平。

这就构成,74HC573(跑马灯)的写入地址为0X7FFF,此电路中的或非门在此时从低电平观点视为低与非门。

2 MCS-51/MCS-52单片机跑马灯的软件设计/********************************************//* 51单片机学习板主程序,12MHz晶振*//********************************************/#include <AT89X52.H>#include <absacc.h>#include "delay.h"#include "scan_key.h"#include "timer0srv.h"#include "spd.h"void Initial() //初始化函数{TMOD=0x11;IT0 = 1; //键盘中断初始化EX0 = 1;PX0 = 0;IT1 = 1; //直流电机转速计数初始化EX1 = 1;PX1 = 0;ET1 = 1; //直流电机转速定时初始化PT1 = 1;TL1 = 0x00;TH1 = 0x00;TR1 = 1;PT0 = 0; //步进电机调速和直流电机自动调速初始ET0 = 1;TL0 = 0x00;TH0 = 0x00;TR0 = 1;EA = 1;P1 = 0xf0;DAC_ADDR = 0x7f;}void main(){unsigned char LEDval = 0x0f,i = 0,j=0;unsigned int temp,step_delay=0;Initial();while(1){P1 = 0xf0; //键盘初始化/*/////// 跑马灯程序////////////////////////*/for(i=1;i<10;i++){for(temp=0;temp<256;temp+=i){LED_ADDR = temp;delay_nms(80);}}for(i=0,j=0x01;i<10;){LED_ADDR = j;delay_nms(100);j = j<<1;if(j==0){i++;j++;}}for(i=0,j=0x80;i<10;){LED_ADDR = j;delay_nms(60);j = j>>1;if(j==0){i++;j=0x80;}}}}在以上的程序中:#include <AT89X52.H>为51单片机中定义的特殊功能寄存器功能头文件。

#include <absacc.h>为C语言头文件。

#include "delay.h"为延时函数。

#include "scan_key.h"为键盘控制函数。

initial()函数为预置函数,为后续键盘控制程序,定时器中断程序,直流电机,步进电机驱动程序预置特殊功能寄存器。

在main()函数中先对变量temp进行加i计数,采用双重循环方式,第一遍i=1,temp 计数,每次加1,计数范围从0——255,达到256归零。

每计数一次,将结果送LED_ADDER。

LED_ADDR地址定义为0X7FFF,即将temp结果经P0口送锁存器74HC573,然后经发光二极管显示。

第二遍i=i+1=2,temp=temp+i,即temp每次加2,直到temp<256再对temp归零。

这一循环过程直到i=9,在每次送LED_ADDER地址(P0口)显示后,调延时程序延时200ms左右,以便让学生看清楚显示过程。

然后进入跑马灯左移位程序。

先将j=1,LED_ADDR=j,delay_nms(100);j=j<<1,(左移一位)。

再将LED_ADDR=j……直到j=0,再将j=1……这样循环左移10遍。

再进入循环右移过程:先将j=0x80(即最左位置1), LED_ADDR=j;延时,j=j>>1(右移1位),LED_ADDR=j;直到j=0(右移8位后)再将经=0x80……如此循环10遍,再返回程序初始位置。

由于51机指令系统多数为单机器周期指令,运行速度是μs级,肉眼无法鉴别temp的计数过程,故在每次执行LED_ADDR=temp指令后,要调用延时函数delay_nms(80)使temp的值经P0口送74HC573锁存器后,保存显示在发光二极管400ms左右。

1-2 MCS-51/MCS-52单片机键盘控制及键号显示电路软硬件设计。

1 MCS-51/MCS-52单片机键盘控制及键号显示电路的硬件设计。

51单片机键盘控制及键号数码显示硬件电路如图1-2,51单片机的P1口控制键盘,其中P1.0,P1.1,P1.2,P1.3为列线,P1.4,P1.5,P1.6,P1.7为行线。

四根行线各接1只5.1K电阻,再与电源VCC(+5V)相连。

四根行线同时也与74HC21(四输入与门)的输入端口相连,其输出端与51单片机的外中断0输入端P3.2相连。

因为P1口通过指令设置为0xF0,即“11110000”,四列线均为“0”,如果没有键按下,则四个行线均为高电平。

74HC21输出为高电平。

当有任意一个键被按下,则如图1-2所示,则74HC21的四个输入端总有一个输入为低电平。

此时的74HC21的功能为:只要有一个输入端为低电平,则其输出端为低电平。

此下降沿触发51单片机的外中断0而引发中断服务(搜索中断键号),所以对键盘控制方式采用的是中断搜索方式。

2 MCS-51/MCS-52单片机键盘控制及键号显示电路的软件设计。

/****************扫描矩阵键盘子程序scan_key.h******************/#include <AT89X52.H>#include <absacc.h>#include "delay.h"#ifndef _SCAN_KEY#define _SCAN_KEY#define SEG_ADDR XBYTE[0xbfff]#define LED_ADDR XBYTE[0x7fff]unsigned char nKeyNumber;void int0() interrupt 0{int i,j;int Pin1;EX0 = 0;delay_nms(20);// if(P3_2==0)// {for(i=0;i<4;i++) //i代表行,j代表列,每列逐行扫描{P1=0xff&(~(0x01<<3-i));Pin1=P1;for(j=0;j<4;j++){if(((Pin1>>(4+j))&0x01)==0){nKeyNumber=i+j*4;i = 4;j = 4;P1 = 0xf0;SEG_ADDR = (nKeyNumber/10 <<4)+ nKeyNumber%10;delay_nms(20);EX0 = 1;return;}}}// }P1 = 0xf0;EX0 = 1;}#endif1-3 MCS-51/MCS-5单片机控制直流电机转速电路的软硬件设计。

1 MCS-51/MCS-52单片机控制直流电机转速电路的硬件设计。

如图1-3所示,将P0口的P0.0-P0.7与A/D转换器0832的D0-D7相连,单片机的待转换数据由P0口输出给8位D/A转换器0832的输入寄存器,写入地址为0xDFFF,即89S51的P2.5=0与WR同时为低,经74HC02反向后,则8位输入寄存器的输入使能端ILE为高,将D0—D7的8位转换数据送入0832寄存器,DAC0832内部两级寄存器接成直通状态,即0832的SC,WR1,WR2,XFER均接低电平,所以DAC0832的D/A转换器对输入的数据信号实时进行转换输出。

输出端口为IOUT1和IOUT2。

输出的模拟信号由两级运放LM324放大馈送至直流电机。

LM324均由负极端口输入而正极端口接地,构成两极反向放大电路。

故最终给电机的直流电流信号与DAC0832的输出端口的电流电压信号为同相信号,运算放大器的供电电压为±9V。

图1-3直流电机一端接LM324的输出,另一端接地。

相关文档
最新文档