单片机应用技术实验报告

合集下载

单片机原理与应用实验报告

单片机原理与应用实验报告

单片机原理与应用实验报告单片机是一种集成电路,可以在内部集成处理器、内存、输入/输出接口和时钟等多种功能,同时也可以通过编程实现各种应用。

单片机已经广泛应用于工业控制、家电控制、汽车电子、医疗设备等领域。

本实验旨在深入探究单片机的原理和应用,通过实验来加深对单片机的理解和认识。

实验原理单片机由CPU、存储器、I/O接口和时钟四个部分组成。

其中,CPU是单片机最核心的部分,它负责处理各种指令。

存储器包括ROM和RAM,ROM用于存储程序和常量数据,而RAM用于存储变量数据。

I/O接口用于连接外部设备,如传感器、执行器等,时钟用于提供CPU的时钟信号。

实验器材本实验采用的单片机为AT89S52,其主要特点包括:1. 8位CPU,运行频率为12MHz;2. 8KB Flash存储器,可存储程序和常量数据;3. 256字节RAM存储器,用于存储变量数据;4. 32个I/O口,可连接外部设备;5. 两个定时器/计数器,可用于计时和计数;6. 串口通信接口,可用于与PC机通信。

实验内容本实验共包括四个部分,分别是LED闪烁、数码管显示、按键输入和串口通信。

下面分别介绍每个部分的实验内容。

1. LED闪烁LED闪烁是单片机应用中最基本的实验之一。

本实验采用的是P0口控制LED的亮灭。

具体步骤如下:(1)设置P0口为输出口;(2)每隔一定时间,将P0口的值翻转一次,即可实现LED的闪烁。

2. 数码管显示数码管显示是单片机应用中比较常见的实验之一。

本实验采用的是P2口控制数码管的显示。

具体步骤如下:(1)设置P2口为输出口;(2)编写程序将要显示的数值转换成相应的数码管编码;(3)将编码输出到P2口,即可实现数码管的显示。

3. 按键输入按键输入是单片机应用中比较常见的实验之一。

本实验采用的是P3口控制按键输入。

具体步骤如下:(1)设置P3口为输入口;(2)编写程序检测P3口的状态,判断是否有按键按下;(3)如果有按键按下,则执行相应的操作。

单片机原理及应用实验报告

单片机原理及应用实验报告

《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验1 计数显示器一、实验目的熟悉51单片机的基本输入输出应用,掌握Proteus模块的原理图绘图方法及单片机系统仿真运行方法二、实验原理由共阴极数码管LED1和LED2、P0口、P2口,上拉电阻RP1及Vcc组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路,该电路在编程软件的配合下,可实现计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。

三、实验内容(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能(2)学会选择元件、画导线、修改属性等基本操作(3)学会可执行文件加载及程序仿真运行方法(4)验证计数显示器的功能四、实验要求提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结1.实验原理图2.仿真运行截图3.实验小结通过这次实验让我认识了kell和proteus软件的基本功能,学会了用kell编写程序用proteus仿真运行。

在这次实验中同时也遇到了很多问题。

比如因为第一次使用这两个软件对界面还不太熟悉,浪费了很多的时间也产生了很多错误,但之后与同学们的交流过程中,慢慢的对这两个软件有了更深入的了解,在后期仿真的时候才能得心应手的处理问题。

这个计数显示器的实验让我进一步了解了单片机与数码管的魅力,看到了电子元件的神奇之处,只要按动按键就能让数码管的数字逐次加一,这大大激发了我的学习单片机兴趣,这次实验也会成为我以后学习单片机的奠基石,因为它打开了我认识单片机的大门,让我认识到了单片机的魅力,并让我沉浸其中。

实验2 指示灯开关控制器一、实验目的学习51单片机I/O口基本输入输出功能,掌握汇编语言的编程与调试方法。

二、实验原理输入电路由外接在P1口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。

单片机实训报告总结

单片机实训报告总结

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机应用技术实验报告

单片机应用技术实验报告

实验一流水灯控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成流水LED灯控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备PC微机;Windows操作系统;KeilC51软件及proteus7.8集成环境。

三、实验步骤1.Proteus下电路设计程序要求设计一个单片机控制流水灯程序,采用延时程序完成8个LED灯点亮效果(可自行设计效果,程序仅供参考)。

首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。

然后在工程下新建文本文件,保存为*.c 的源文件,将*.c文件添加到工程中,并配置好输出。

根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。

如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。

四、程序设计源程序(在KeilC中进行编译)/* 名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//延时voidDelay(unsignedintt){while(--t);}voidmain()//主程序{uchari;P0=0x01;while(1){for(i=0;i<7;i++){P0=_crol_(P0,1);//P0的值向左循环移动Delay(20000);}for(i=0;i<7;i++){P0=_cror_(P0,1);//P0的值向右循环移动Delay(20000);}}}五、实验总结XXXXXXXXXXX实验二按键控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成按键控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

单片机实验报告范文

单片机实验报告范文

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

二、实验器材及原理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灯、按键控制、数码管显示等。

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

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

单片机原理及应用实验二报告

单片机原理及应用实验二报告

单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。

二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。

三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。

IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。

四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。

2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。

3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。

五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。

单片机原理与应用实验报告

单片机原理与应用实验报告

单片机原理实验报告实验一计数显示[目的]熟悉Proteus仿真软件,掌握单片机原理图的绘制方法【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何使用ISIS模块,学习设置图纸、选择元件、画线、修改属性等基本操作(3)了解如何加载可执行文件和运行程序仿真(4)了解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制[实验步骤](1)观察Proteus软件的基本结构,如菜单、工具栏、对话框等。

(2)Proteus中绘制电路原理图,并根据表A.1将组件添加到编辑环境中(3)在Proteus中,观察仿真结果,检查电路图绘制的正确性【实验示意图】【实验源程序】#include <reg51.h>位 P3_7=P3^7;无符号字符 x1=0;x2=0 ;无符号字符数=0;无符号字符 idata buf[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};无效延迟(int时间){整数 k,j;for(;time<0;time--)for(k=200;k>0;k--)for(j=500;j<0;j--);}无效初始化(){P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);}无效的主要(){在里面();而(1){x1=计数/10;x2=计数%10;P0=buf[x1];延迟(10);P2=buf[x2];延迟(10);如果(P3_7==0)// {延迟(10);而(!P3_7);如果(计数==99)计数=0;别的计数=计数+1;}}}[实验结果]阐明计数器的作用是按下K1后,数码管LED1和LED2会显示按键的按下次数, LED1代表一位, LED2代表十位。

当计数器达到99时,再次按下K1键,显示值再次从0开始。

实验2指示灯开关控制器[目的]学习如何编程和调试汇编语言【实验内容】(1)熟悉Proteus仿真软件,了解软件的结构和功能(2)学习如何用汇编语言编程(3)ISIS 模块中输入、编译和调试汇编程序(4)了解MCU程序控制原理,实现指示灯/开关控制器的预期功能[实验步骤]( 1 ) 在ISIS中画出电路原理图, 并在编辑环境中添加相应的元器件 .( 2 )在ISIS中编写汇编语言程序( 3 ) 利用ISIS 的汇编调试功能检查程序的语法和逻辑错误( 4 )观察仿真结果,检查程序和电路的正确性【实验示意图】【实验源程序】#include <reg51.h> 无效延迟(int时间){整数 k,j;for(;time<0;time--) {for(k=100;k<0;j--) for(j=500;j<0;j--); }}无效初始化(){P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);P1=0x00;延迟(20);P1=0xff;延迟(20);}无效的主要(){在里面();P1=0x00;延迟(20);P1=0xff;延迟(20);而(1){P1=P2 ;}}[实验结果]阐明点击运行,8个LED 一起闪烁3次。

单片机技术及应用和电工基础实习报告

单片机技术及应用和电工基础实习报告

单片机技术及应用和电工基础实习报告
一、前言
单片机和电工基础是电子信息类专业的重要基础课程。

本实习旨在通过实践操作加深对单片机技术及应用和电工基础理论知识的理解,培养学生动手能力和解决实际问题的能力。

二、单片机技术及应用实习内容
1. 认识单片机最小系统及其编程环境
2. 单片机输入输出口编程
3. 定时器/计数器编程
4. 串行通讯编程
5. 设计并调试一个小型系统
三、电工基础实习内容
1. 认识基本电气元件
2. 串联和并联电路的实验测量
3. 电桥电路的实验测量
4. 单相交流电路的实验测量
5. 三相电路实验测量
四、实习总结
通过本次实习,我们掌握了单片机系统的组成、编程方法、编程技巧等基础知识,并动手设计调试了一个小型控制系统。

同时,我们也加深了对电路原理、测量方法等电工基础知识的理解。

实习过程锻炼了
我们的动手能力和独立思考解决问题的能力,为将来从事相关工作打下了坚实基础。

五、附录
1. 单片机小型系统代码
2. 电路实验数据及分析。

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

单片机应用技术实验报告标准化管理部编码-[99968T-6889628-J68568-1689N]实验一流水灯控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成流水LED灯控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备PC微机;Windows操作系统;KeilC51软件及proteus7.8集成环境。

三、实验步骤1.Proteus下电路设计程序要求设计一个单片机控制流水灯程序,采用延时程序完成8个LED灯点亮效果(可自行设计效果,程序仅供参考)。

首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。

然后在工程下新建文本文件,保存为*.c 的源文件,将*.c文件添加到工程中,并配置好输出。

根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。

如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。

四、程序设计源程序(在KeilC中进行编译)/* 名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//延时voidDelay(unsignedintt){while(--t);}voidmain()//主程序{uchari;P0=0x01;while(1){for(i=0;i<7;i++){P0=_crol_(P0,1);//P0的值向左循环移动Delay(20000);}for(i=0;i<7;i++){P0=_cror_(P0,1);//P0的值向右循环移动Delay(20000);}}}五、实验总结XXXXXXXXXXX实验二按键控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成按键控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备PC微机;Windows操作系统;KeilC51软件及proteus7.8集成环境。

三、实验步骤1.Proteus下电路设计程序要求开关S1和S2分别控制LED1和LED2。

(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。

然后在工程下新建文本文件,保存为*.c 的源文件,将*.c文件添加到工程中,并配置好输出。

根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。

如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。

四、程序设计/* 名称:开关控制LED说明:开关S1和S2分别控制LED1和LED2。

*/#include<reg51.h>sbitS1=P1^0;sbitS2=P1^1;sbitLED1=P0^0;sbitLED2=P0^1;//主程序voidmain(){while(1){if(!S1)//如果检测到低电平,说明按键按下LED1=0;elseLED1=1;if(!S2)//如果检测到低电平,说明按键按下LED2=0;elseLED2=1;}}五、实验总结XXXXXXXXXXX实验三直流电机控制一、实验目的1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成直流电机控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备PC微机;Windows操作系统;KeilC51软件及proteus7.8集成环境。

三、实验步骤1.Proteus下电路设计程序要求开关S1、S2和S3分别控制电动机正转、反转和停止。

(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。

然后在工程下新建文本文件,保存为*.c 的源文件,将*.c文件添加到工程中,并配置好输出。

根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。

如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。

四、程序设计/* 名称:开关控制直流电机说明:S1、S2和S3分别控制电动机正转、反转和停止。

*/五、实验总结XXXXXXXXXXX实验四步进电机控制一、实验目的1.学会使用KeilC51软件及单片机开发板进行程序设计;2.掌握利用C语言完成80C51单片机的开发设计,完成步进电机控制;3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备PC微机;Windows操作系统;KeilC51软件及单片机开发板。

三、实验步骤1.步进电机控制电路程序要求控制步进电机工作,原理图见上。

2.硬件连接方法3.程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入单片机开发板中进行验证。

四、程序设计/* 名称:步进电机控制*//*-----------------------------------------------内容:本程序用于测试4相步进电机常规驱动使用1相励磁------------------------------------------------*/#include<reg52.h>sbitA1=P1^0;//定义步进电机连接端口sbitB1=P1^1;sbitC1=P1^2;sbitD1=P1^3;#defineCoil_A1{A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#defineCoil_B1{A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#defineCoil_C1{A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#defineCoil_D1{A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#defineCoil_OFF{A1=0;B1=0;C1=0;D1=0;}//全部断电unsignedcharSpeed;/*------------------------------------------------uS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是0~255这里使用晶振12M,精确延时请使用汇编,大致延时长度如下T=tx2+5uS------------------------------------------------*/ voidDelayUs2x(unsignedchart){while(--t);}/*------------------------------------------------mS延时函数,含有输入参数unsignedchart,无返回值unsignedchar是定义无符号字符变量,其值的范围是0~255这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/ voidDelayMs(unsignedchart){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------主函数------------------------------------------------*/main(){//unsignedinti=64*16;//转2周停止Speed=5;//调整速度while(1){Coil_A1//遇到Coil_A1用{A1=1;B1=0;C1=0;D1=0;}代替DelayMs(Speed);//改变这个参数可以调整电机转速, //数字越小,转速越大,力矩越小Coil_B1DelayMs(Speed);Coil_C1DelayMs(Speed);Coil_D1DelayMs(Speed);}}五、实验总结XXXXXXXXXXX。

相关文档
最新文档