sy-计算机控制技术实验报告1-3_第1页
sy-计算机控制技术实验报告1-3_第2页
sy-计算机控制技术实验报告1-3_第3页
sy-计算机控制技术实验报告1-3_第4页
sy-计算机控制技术实验报告1-3_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、桂林航天工业学院 实验报告课程名称 计算机控制技术 开课学期 2015-2016学年第一学期 实 验 室 巡天楼211室 班 级 2012031B03 姓 名 周金彬 学 号 2012031B0117 桂林航天工业学院学生实验报告课程名称计算机控制技术实验项目名称蜂鸣器实验开课系(部)及实验室机械工程学院实验日期2015年11月2日学生姓名周金彬学号2012031B0117专业班级机电一体化指导教师韩兴国实验成绩一、 实验目的通过实验熟悉单片机集成开发环境Keil IDE Vision2的项目项目建立管理、编译、链接、目标代码的生成、仿真等开发流程;通过实验单片机开发控制蜂鸣器发生,显示不同的

2、声音,并且和按键一起配合使用,掌握相关程序的编制、调试方法。二、实验原理通过80C51单片机的并口连接蜂鸣器、按键,利用单片机程序进行控制,使蜂鸣器发出不同的声音和音乐,并可以用按键进行控制。三、实验器材Keilc2.0软件;计算机;80C51单片机开发板四、实验操作方法和步骤1、用Keilc2.0软件分别编写控制按键、蜂鸣器程序;2、掌握蜂鸣器发出不同频率声音的原理和程序控制的方法;3、编写程序,编写一段蜂鸣器的报警程序,并用按键进行启停和相关的控制。五、实验记录与分析(数据、图表、计算等)1、C语言程序编写实验(1)数据类型signed char,uansigned char,signed

3、 int,unsigned int等(2)特殊功能寄存器的声明:sfr,sbit(3)的运算符和表达式(4)编写一个独立按键控制发光二极管的程序。/* 文件名 : 独立按键.c* 描述 : 该程序实现独立按键的判断,按了相应的独立按键后,在LED上进行表现。 按了S19,LED1亮。 按了S18,LED2亮。 按了S17,LED3亮。*/#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit KEY1 = P32; sbit KEY2 = P33;sbit KEY3 = P34;sbit L

4、ED1 = P00;sbit LED2 = P01;sbit LED3 = P02; /* 名称 : Delay()* 功能 : 延时,延时时间为 10ms * del* 输入 : del* 输出 : 无*/void Delay(uint del) uint i,j;for(i=0; i<del; i+)for(j=0; j<1827; j+);/* 名称 : Delay()* 功能 : 实现按键功能,并在LED上显示* 输入 : 无* 输出 : 无*/void KEY()if(KEY1=0 | KEY2=0 | KEY3=0)Delay(2); /20毫秒软件防抖if(KEY1

5、= 0) LED1 = 0;LED2 = 1;LED3 = 1;if(KEY2 = 0)LED1 = 1;LED2 = 0;LED3 = 1;if(KEY3 = 0)LED1 = 1;LED2 = 1;LED3 = 0; Delay(50);/延时0.5秒再进行下次按键的检测/* 名称 : Main()* 功能 : 实现按键控制LED的显示* 输入 : 无* 输出 : 无*/void Main(void) while(1) KEY(); 2、项目开发编写一段程序,用来控制蜂鸣器间断发声,并且模拟救护车发声。/* 文件名 : 蜂鸣器发声.c* 描述 : 模救护车发声 */#include<

6、reg52.h> /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit SPK=P12; /定义喇叭端口unsigned char frq; void DelayUs2x(unsigned char t);/函数声明 void DelayMs(unsigned char t);/*- 定时器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01; /使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 /TH0=0x00; /给定初值 /TL0=0x00; EA=1; /总中断打开 ET0=1;

7、/定时器中断打开 TR0=1; /定时器开关打开/*- 主函数-*/main() unsigned char i; Init_Timer0(); /初始化定时器 while(1) frq=0; for(i=0;i<60;i+)/播放1s左右一种频率 DelayMs(10); frq=100; for(i=0;i<60;i+)/播放1s左右另外一种频率 DelayMs(10); /*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如

8、下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 定时器中断子程序-*/void Timer0_isr(void) interrupt 1 TH0=0xfe; /重新赋

9、值 TL0=frq; /低8位值在主程序中不断累加 SPK=!SPK; /端口电平取反教师评价: 教师签名: 批改时间: 年 月 日桂林航天工业学院学生实验报告课程名称计算机控制技术实验项目名称LED显示实验开课系(部)及实验室机械工程学院实验日期2015年11月9日学生姓名周金彬学号2012031B0117专业班级机电一体化指导教师韩兴国实验成绩二、 实验目的通过实验熟悉单片机集成开发环境Keil IDE Vision2的项目项目建立管理、编译、链接、目标代码的生成、仿真等开发流程;利用定时/计数器编写延时程序。二、实验原理根据80C51单片机定时/计数器的四种工作方式编写程序,达到定时的效

10、果。三、实验器材Keilc2.0软件;计算机;80C51单片机开发板四、实验操作方法和步骤1、计算计数值N,根据公式X=65536-N,计算计数初值;2、对80C51单片机的定时/计数器工作方式TMOD进行设置;3、编写程序五、实验记录与分析(数据、图表、计算等)1、编写程序,实现用定时/计数器T0定时,使P0.0引脚输出周期为2s的方波,控制发光二极管闪烁。设系统的晶振频率为12MHz。(1)求计数初值XTH0=0x3C;TL0=0x0b0;(2)确定方式字TMOD=0x0a;方式字0x01(3)编写程序ORG 0000HAJMP MAINORG 0030HMAIN:MOV P2,#0LOO

11、P:CPL P0.0LCALL DELAYSJMP LOOPDELAY:MOV R0,#255D1:MOV R1,#255DJNZ R1,$DJNZ R0,D1RETEND#include<reg52.h>sbit SPK=P00;void delay(unsigned int i) unsigned int j;for(j=0;j<i;j+) ;main() while(1) SPK=SPK; delay(10000);2、项目开发编写程序,控制8位数码管,使8个数码管分别显示0-9,最开始,两个数码管闪烁间隔时间为50豪秒,每闪烁一次,间隔时间减少1毫秒,当间隔时间小到一

12、定程度的时候,因为人的视觉暂留现象,就不会发现数码管在闪烁了。可以使用汇编语言或者C语言。/* 文件名 : 动态显示.c* 描述 : 八位数码管依次显示0,1,2,3,4,5,6,7 这里是做一个动态的演示实验。最开始,两个数码管闪烁间隔时间为50豪秒,每闪烁一次, 间隔时间减少1毫秒,当间隔时间小到一定程度的时候, 因为人的视觉暂留现象,就不会发现数码管在闪烁了。*/#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar code table10 = 0x3f,0x06,0x5b,0x4

13、f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/* 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x* 输入 : x (延时一毫秒的个数)* 输出 : 无*/void Delay(uint i)uint x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+);void Main(void)uchar i,j=50;while(1)for(i=0;i<8;i+)/每位数码管依次闪烁P0 = 0; /消隐P2 = i; /选择哪一位数码管点亮 P0 = tablei; /赋值段码给P0口Delay(j);

14、/延时if(j>=3) /当大于3毫秒的时,执行括号中的语句j-=1; /延时时间自减1毫秒教师评价: 教师签名: 批改时间: 年 月 日桂林航天工业学院学生实验报告课程名称计算机控制技术实验项目名称步进电机正反转实验开课系(部)及实验室机械工程学院实验日期2015年11月16日学生姓名周金彬学号2012031B0117专业班级机电一体化指导教师韩兴国实验成绩三、 实验目的通过实验熟悉单片机集成开发环境Keil IDE Vision2的项目项目建立管理、编译、链接、目标代码的生成、仿真等开发流程;通过实验单片机开发控制步进电机转动,现步进电机正反转以及转速控制,掌握相关程序的编制、调试方

15、法。二、实验原理通过80C51单片机的并口P1连接ULN2003,进行电流放大,控制步进电机的A,B,C,D四相,按照四相绕组通电顺序A-AB-B-BC-C-CD-D-DA,间隔一定的时间实现转动。三、实验器材Keilc2.0软件;计算机;80C51单片机开发板四、实验操作方法和步骤1、写出步进电机按A-AB-B-BC-C-CD-D-DA通电顺序的控制码;2、编写程序,编写一段步进电机正反转的控制程序。五、实验记录与分析(数据、图表、计算等)1、步进电机的控制相序四相绕组通电顺序A-AB-B-BC-C-CD-D-DA 步进电机转动的控制码P1.7P1.6P1.5P1.4P1.3P1.2P1.1

16、P1.0控制码ABCD0100000040H0110000060H0010000020H0011000030H0001000010H0001100018H0000100008H0100100048H2、项目开发编写一段程序, 用单片机驱动ULN2003去控制步进电机。按P3.2端口,步进电机顺时针旋转。按P3.3端口,步进电机逆时针旋转。 按P3.4端口,步进电机调速。可以使用汇编语言或者C语言。/* 文件名 : 步进电机.c* 描述 : 用单片机驱动ULN2003去控制步进电机。 按P3.2端口,步进电机顺时针旋转。按P3.3端口,步进电机逆时针旋转。 按P3.4端口,步进电机调速。* 杜邦

17、线接法: P1.3用杜邦线连接到J17的D端。 P1.4用杜邦线连接到J17的C端。P1.5用杜邦线连接到J17的B端。 P1.6用杜邦线连接到J17的A端。步进电机接到J18的五个端口,其中,步进电机的红线接J18的VCC端。*/#include <reg52.h> #define uchar unsigned char#define uint unsigned int sbit KEY1 = P32; /步进电机顺时针方向转sbit KEY2 = P33; /步进电机逆时针方向转sbit KEY3 = P34;/步进电机调速uchar Step = 0;bit FB_flag

18、= 0;unsigned char code F_Rotation8=0x08,0x18,0x10,0x30,0x20,0x60,0x40,0x48; /顺时针转表格unsigned char code B_Rotation8=0x48,0x40,0x60,0x20,0x30,0x10,0x18,0x08; /逆时针转表格/* 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x* 输入 : x (延时一毫秒的个数)* 输出 : 无*/void Delay(uint i)uchar x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+);void KEY(void)if(KEY1 = 0) /按P3.2,实现步进电机的顺时针转动Delay(15);if(KEY1 = 0)FB_flag = 0;Delay(200);if(KEY2 = 0) /按P3.3,实现步进电机的逆时针转动Delay(15);if(KEY2 = 0)FB_flag = 1;Delay(200);if(KEY3 = 0)/按P3.4,实现步进电机的调速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论