单片机应用技术实验报告

合集下载

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

单片机应用技术课程实验报告

单片机应用技术课程实验报告
三、程序流程图
四、实验代码
图2-1单片机的直接控制
图2-2单片机及74LS138的间接控制
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void DelayMS(uint x)
[4]高卫东,辛友顺,韩彦征.51单片机原理与实践[M].北京:北京航空航天大学出版社,2009.01
2、运行程序,验证译码的正确性。
二、实验原理图
本次跑马灯实验是通过两种方式实现的,一种是STC89C52单片机的直接控制,一种是通过74LS138译码器的间接控制。图2-1为单片机的直接控制原理图,图2-2为单片机及74LS138的控制原理图
图2-1单片机的直接控制原理图
图2-2单片机及74LS138的间接控制原理图
PA=0x37;
delay(100);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
五、调试与总结
1、调试
(1)焊接时注意各个器件的引脚处,注意区分led灯的阴阳极,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
一、实验内容
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能。
2、熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。

单片机实验报告

单片机实验报告

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

二、实验设备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.实验器材: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. 通过实际操作,加深对单片机应用的理解。

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

单片机应用技术实验报告Document number【980KGB-6898YT-769T8CB-246UT-实验一流水灯控制一、实验目的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。

相关文档
最新文档