matlab实验二 闪烁灯.docx
- 文档编号:25340601
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:11
- 大小:213.05KB
matlab实验二 闪烁灯.docx
《matlab实验二 闪烁灯.docx》由会员分享,可在线阅读,更多相关《matlab实验二 闪烁灯.docx(11页珍藏版)》请在冰豆网上搜索。
matlab实验二闪烁灯
实验二闪烁灯
一、实验目的
1、学习Keil软件的程序调试方法。
2、学习单片机HEX文件的下载。
3、学会KEILC程序设计及调试,重点学会预处理命令、数据类型的定义
二、实验仪器
P4计算机、Keil软件、STC_ISP软件、实验板
三、实验内容
1、依据电路图,实现LED的闪烁,每隔0.2秒更替一次亮灭
2、按照KEIL软件的使用步骤,建立工程。
3、编写程序,保存文件,将源程序文件加载到工程中,当编译通过之后生成HEX文件。
4、用STC-ISP下载软件下载HEX文件到单片机系统。
5、运行、调试程序,观察实验结果。
四、STC-ISP下载软件的使用方法
该软件将已生成的HEX文件下载到单片机中。
具体步骤如下:
1、双击STC-ISP图标:
2、然后在“MCUType”列表中选择单片机型号(应选择单片机板中的CPU型号),如下图:
3、点击“OpenFile”按钮,找到所要下载的HEX文件,并选中,选择“打开”,如下图:
4、选择串口的对应端口号,(根据自己的硬件连接端口)(如COM1)。
5、然后选“MaxBuad”中的波特率,也可以选默认值。
6、点击”Download/下载”,进行文件下载,如图:
7、稍等几秒,即可下载完成,如图:
五、电路原理图与实验参考程序
实验板的原理图如下:
LED灯的连接图如下:
1.实验一
/********************************************************************
*文件名:
闪烁灯一.c
*描述:
该程序实现LED的闪烁,每隔0.2秒更替一次亮灭。
在使用某款新单片机时,经常就用类似的闪烁灯程序来判断单片机是否正常工作。
本程序通过软件延时,并且通过软件调试。
在“HOT-51\开发板配套资料\经典学习资料\单片机相关”下面有KEIl软件仿真的教程。
注:
因为我们P0口LED和数码管是公用的,LED闪烁的同时数码管也会闪烁。
你可以通过改变J1跳线位置然后给P3.7付低电平,让数码管不显示。
*创建人:
东流,2009年8月27日
*版本号:
1.0
***********************************************************************/
#include
#defineucharunsignedchar//这里用"uchar"代替"unsignedchar","uchar"用来定义无符号字符型数。
#defineuintunsignedint//"uint"用来定义无符号整型数。
sbitShow_LED=P0^0;//用来声明P0.0口为程序所要控制的端口,"sbit"是KEIL专门用来声明某位IO口
/********************************************************************
*名称:
Delay()
*功能:
延时,延时时间为10ms*del。
这是通过软件延时,有一定误差。
*输入:
del
*输出:
无
***********************************************************************/
voidDelay(uintdel)
{
uinti,j;
for(i=0;i for(j=0;j<1827;j++)//这个是通过软件仿真得出的数 ; } /******************************************************************** *名称: Main() *功能: 实现灯的闪烁 *输入: 无 *输出: 无 ***********************************************************************/ voidMain(void) { //P0=0x00;//用于灭数码管 //Delay (1); //P3=0x7f;//注意J1要跳到下方才起作用,P3.7位低,数码管锁存 //Delay (1); //P0=0xff;//灭所有的LED while (1) { Show_LED=0; Delay(20);//Delay(del)中的数为延时的时间参数,延时时间为10ms*del. Show_LED=1; Delay(20); } } 2.实验二 /******************************************************************** *文件名: 闪烁灯二.c *描述: *创建人: 东流,2009年8月27日 *版本号: 1.0 ***********************************************************************/ #include #defineucharunsignedchar #defineuintunsignedint /******************************************************************** *名称: Delay() *功能: 延时,延时时间为10ms*del *输入: del *输出: 无 ***********************************************************************/ voidDelay(uintdel) { uinti,j; for(i=0;i for(j=0;j<1827;j++) ; } /******************************************************************** *名称: Main() *功能: 实现灯的闪烁 *输入: 无 *输出: 无 ***********************************************************************/ voidMain(void) { P0=0xff; P2=0x00; while (1) { /*下面四行用于控制LED每隔一个亮*/ P0=0xaa; Delay(50); P0=0x55; Delay(50); /*下面四行用于控制LED每隔一个亮*/ P0=0xcc; Delay(50); P0=0x33; Delay(50); /*下面四行用于控制LED高四位或者低四位亮*/ P0=0x0f; Delay(50); P0=0xf0; Delay(50); /*下面八行用于控制LED的两次全亮全灭*/ P0=0x00; Delay(25); P0=0xff; Delay(25); P0=0x00; Delay(25); P0=0xff; Delay(25); Delay(200);//延时两秒 } } 六、实验报告要求 编写程序实现LED1到LED8的顺序点亮和熄灭。 具体要求如下: 1、每次只亮一个灯。 2、亮灯的顺序是LED1到LED8循环往复。 要点: 使用C语言的移位命令。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab实验二 闪烁灯 matlab 实验 闪烁