基于单片机的流水灯实验 ppt课件
合集下载
单片机流水灯教学.ppt
自评 (☆☆)
互评 (☆☆)
师评 (☆☆)
环节二
环节三
整体评价
2020年8月20日星期四1时27分28秒
实现效果
2020年8月20日星期四1时27分28秒
2、以200ms时间间隔,LED从两边向中间亮。再以 200ms时间间隔,LED从中间向两边亮。最后全部LED灯 闪烁三次,周期为600ms。(亮300ms,灭300ms)
实现效果
2020年8月20日星期四1时27分28秒
环节四:评价与小结
环节一
实现效果
2020年8月20日星期四1时27分28秒
任务三、 分组完成设计与制作流水灯
(第一组)单个LED灯以500ms速度从右向左流动效果
实现效果
(第二组)两个LED灯以500ms速度从左向右流动效果
实现效果
2020年8月20日星期四1时27分28秒
环节三:拓展训练
1、以200ms速度实现LED灯从右向左依次递增变亮
{
P1=0xfe; //用P1口点亮最后一盏LED灯
delay(500); //等待500ms
P1=0xff; //用P1口熄灭LED灯
delay(500); //等待500ms
}
Hale Waihona Puke }2020年8月20日星期四1时27分28秒
任务二、每四个LED灯为一组,让其交替闪烁。 任务要求:周期为1秒(亮500毫秒,灭500毫秒)
3
4
2020年8月20日星期四1时27分28秒
环节一:知识准备
2、用P1口点亮最后一盏LED灯的程序。
2020年8月20日星期四1时27分28秒
环节二:设计与制作流水灯
任务一、如何用P1口实现最后一盏LED灯闪烁? 任务要求:周期为1秒(亮500毫秒,灭500毫秒)
单片机-流水灯的程序ppt课件
}
可编辑课件PPT
11
方法三:利用移位操作实现流水灯(8位二极管循环点亮)
一、按位左移
相关知识
按位左移是将一个运算量的各位依次左移若干位, 低位补0,高位舍弃不要。
delayms(120); P2=0xc0; delayms(120); P2=0x80; delayms(120); P2=0; delayms(120);
}}
void delayms(unsigned char xms)
{ char i;
char j;
for(i=0;i<xms;i++)
for(j=0;j<xms;j++);
A
1110
E
1011
B
1111
F
例如:二进制数
1111 1110 转换为十六进制
十六进制数为 0x f e
可编辑课件PPT
9
方法二:利用总线控制实现流水灯(8位二极管循环点亮)
编程思路:
a) 先点亮第一盏灯,延时点亮第二盏 , 依次延时8盏灯全部点亮。 b) 当8盏灯全部点亮时,熄灭8盏灯。 c) 进入循环。
7
方法二:利用总线控制实现流水灯(8位二极管循环点亮)
相关知识
二进制和十六进制之间的相互转换
二进制
十六进制 二进制
十六进制
0000
0
0100
4
0001
1
0101
5
0010
2
0110
6
0011
3
0111
7
可编辑课件PPT
8
二进制
十六进制 二进制
十六进制
1000
单片机的应用流水灯PPT
节能环保
单片机流水灯采用低功耗设计 ,能够有效地降低能源消耗, 同时LED灯的使用寿命长,减 少了废弃物对环境的影响。
舞台灯光效果
舞台灯光效果
单片机流水灯可以用于舞台灯光 效果的设计,通过控制LED灯的 亮灭和颜色变化,营造出绚丽多
彩的舞台氛围。
颜色变化
通过单片机编程控制LED灯的颜色 变化,可以实现多种颜色的交替变 换,创造出梦幻般的舞台效果。
同时,单片机也具有丰富的外设接口 和强大的扩展能力,可以方便地与其 他设备进行连接和控制。
03
单片机控制流水灯的实现
硬件连接
确定单片机型号
根据项目需求选择合适的单片机型号,如常用的51 单片机、STM32等。
流水灯电路设计
根据单片机IO口的数量和项目需求,设计出合适的 流水灯电路,包括LED灯的连接方式、限流电阻的选 择等。
调试与测试
01
02
03
04
硬件调试
检查硬件连接是否正确,确保 电源、地线、信号线等连接无 误。
软件调试
通过仿真器或烧录器将程序代 码烧录到单片机中,进行软件 调试,检查程序逻辑和运行状 态是否正常。
功能测试
对流水灯进行功能测试,包括 单向流水、双向流水、闪烁等 功能的测试,确保满足项目需 求。
性能测试
详细描述
单片机的应用领域非常广泛,在工业控制领域中,单片机可以用于实现自动化控制和数 据采集;在智能家居领域中,单片机可以用于实现智能照明、智能安防等;在智能仪表 领域中,单片机可以用于实现智能化测量和控制;在消费电子领域中,单片机可以用于
实现各种智能化功能和人机交互。
02
流水灯简介
单片机的定义
智能控制
通过单片机编程,可以实现交通信号 灯的智能控制,根据交通流量和车流 情况自动调整信号灯的亮灭顺序和时 间间隔,提高交通效率。
单片机流水灯采用低功耗设计 ,能够有效地降低能源消耗, 同时LED灯的使用寿命长,减 少了废弃物对环境的影响。
舞台灯光效果
舞台灯光效果
单片机流水灯可以用于舞台灯光 效果的设计,通过控制LED灯的 亮灭和颜色变化,营造出绚丽多
彩的舞台氛围。
颜色变化
通过单片机编程控制LED灯的颜色 变化,可以实现多种颜色的交替变 换,创造出梦幻般的舞台效果。
同时,单片机也具有丰富的外设接口 和强大的扩展能力,可以方便地与其 他设备进行连接和控制。
03
单片机控制流水灯的实现
硬件连接
确定单片机型号
根据项目需求选择合适的单片机型号,如常用的51 单片机、STM32等。
流水灯电路设计
根据单片机IO口的数量和项目需求,设计出合适的 流水灯电路,包括LED灯的连接方式、限流电阻的选 择等。
调试与测试
01
02
03
04
硬件调试
检查硬件连接是否正确,确保 电源、地线、信号线等连接无 误。
软件调试
通过仿真器或烧录器将程序代 码烧录到单片机中,进行软件 调试,检查程序逻辑和运行状 态是否正常。
功能测试
对流水灯进行功能测试,包括 单向流水、双向流水、闪烁等 功能的测试,确保满足项目需 求。
性能测试
详细描述
单片机的应用领域非常广泛,在工业控制领域中,单片机可以用于实现自动化控制和数 据采集;在智能家居领域中,单片机可以用于实现智能照明、智能安防等;在智能仪表 领域中,单片机可以用于实现智能化测量和控制;在消费电子领域中,单片机可以用于
实现各种智能化功能和人机交互。
02
流水灯简介
单片机的定义
智能控制
通过单片机编程,可以实现交通信号 灯的智能控制,根据交通流量和车流 情况自动调整信号灯的亮灭顺序和时 间间隔,提高交通效率。
单片机控制技术项目训练教程任务三 键控流水灯控器制作-PPT课件
2
任务分析:
前面一个任务我们已经完成了LED流 水灯的制作,本任务与前一任务相比仅是 增加了按键的控制,即点按一次按键K后 立即执行“流水灯程序”。“点按按键一 次”通常的理解是先按下按键,然后又放 开,所以编程时,首先要判断按键是否真 正的按下,若按下,就等待按键释放。释 放后,这次按键的动作就完成了。
}
程序知识点:
(1)if语句的使用
if(表达式) {语句}
if(表达式) {语句1}
else {语句2}
if(表达式1) {语句1} else if(表达式2 ) {语句2}
...... else {语句n}
(2)带参数的延时程序使用
//无参数延时程序 void delay() {
unsigned int x; for(x=30000;x>0;x--); }
P1口赋值数据 计算表格
次序 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1值 1 0 0 0 1 1 1 1 1 0x1F 2 1 0 0 0 1 1 1 1 0x8F 3 1 1 0 0 0 1 1 1 0xC7 4 1 1 1 0 0 0 1 1 0xE3 5 1 1 1 1 0 0 0 1 0xF1 6 1 1 1 1 1 0 0 0 0xF8 7 0 1 1 1 1 1 0 0 0x7C 8 0 0 1 1 1 1 1 0 0x3E
键控LED流水灯硬件模块接线图(YL-236单片机实训装置)
4
软件编程
主程序流程图:
参考程序:
{ u n sig n ed ch ar i; //定 义 无 符 号 字 符 型 变 量 i P1= 0xff; //开 机 时 8个 LED 全 灭 w h ile(1 )//主 程 序 循 环 { K = 1 ;//把 按 键 管 脚 拉 高 if(K = = 0 )//首 次 判 断 按 键 是 否 按 下 { d elay _m s(1 0 0 0 ); //调 用 带 参 数 的 延 时 子 函 数 消 除 按 键 抖 动 if(K = = 0 )//再 次 判 断 按 键 是 否 按 下 { w h ile(K = = 0 );//等 待 按 键 释 放 w h ile(1 )//流 水 灯 的 循 环 { fo r(i= 0 ;i< 8 ;i+ + )//循 环 8 次 { P 1 = D M [i]; //查 询 在 D M 数 组 中 取 出 对 应 值 d elay _m s(3 0 0 0 0 ); //调 用 带 参 数 的 延 时 子 函 数 } } } } }
单片机控制LED灯点亮(C语言)PPT课件
▪ 以下各数是合法的十六进制整常数: 0X2A( 十进制为42) 0XA0 (十进制为160) 0XFFFF ( 十进制为65535)
▪ 以下各数不是合法的十六进制整常数: 5A ( 无前缀0X) 0X3H (含有非十六进制数码)
.
26
各种进位制的对应关系
十进制 二进制
0
0
1
1
2
10
3
11
4
100
单片机控制 led灯点亮
.
1
主要内容
▪ 一、点亮板子上的第一个灯D0 ▪ 二、点亮板子上的D0、D2、D4、
D6灯,与D1、D3、D5、D7灯交替 闪烁 ▪ 三、流水灯:从D0---D7依次点亮
.
2
▪ 一、点亮板子上的第一个灯D0
1)目标 了解单片机的基本设计思路和编
程方法,和单片机的最小系统。 2)分析
片,文件的扩展名为.HEX,默认情况下该项
未被选中,如果要写芯片做硬件实验,就必
须选中该项。其余选项均取默认值,不做任
何修改。
.
17
6.编译项目并创建HEX文件
▪ 可以通过工具栏中的图标直接进行。从左到 右的图标分别是:编译、编译连接、全部重 建、停止编译和对工程进行设置。
.
18
▪ 对源程序编写之后编译,最终要得到结果, 提示0个错误,0个警告。同时还可看到,该 程序的内部RAM的使用量(data=8.0),外 部RAM的使用量(xdata=0),代码量( code=18)等一些信息。
unsigned int unsigned short int unsigned long int
float double char unsigned char
▪ 以下各数不是合法的十六进制整常数: 5A ( 无前缀0X) 0X3H (含有非十六进制数码)
.
26
各种进位制的对应关系
十进制 二进制
0
0
1
1
2
10
3
11
4
100
单片机控制 led灯点亮
.
1
主要内容
▪ 一、点亮板子上的第一个灯D0 ▪ 二、点亮板子上的D0、D2、D4、
D6灯,与D1、D3、D5、D7灯交替 闪烁 ▪ 三、流水灯:从D0---D7依次点亮
.
2
▪ 一、点亮板子上的第一个灯D0
1)目标 了解单片机的基本设计思路和编
程方法,和单片机的最小系统。 2)分析
片,文件的扩展名为.HEX,默认情况下该项
未被选中,如果要写芯片做硬件实验,就必
须选中该项。其余选项均取默认值,不做任
何修改。
.
17
6.编译项目并创建HEX文件
▪ 可以通过工具栏中的图标直接进行。从左到 右的图标分别是:编译、编译连接、全部重 建、停止编译和对工程进行设置。
.
18
▪ 对源程序编写之后编译,最终要得到结果, 提示0个错误,0个警告。同时还可看到,该 程序的内部RAM的使用量(data=8.0),外 部RAM的使用量(xdata=0),代码量( code=18)等一些信息。
unsigned int unsigned short int unsigned long int
float double char unsigned char
单片机的应用流水灯PPT课件
何降低成本等。
03
应用领域与前景
单片机流水灯控制技术不仅在照明领域有广泛应用,还可应用于广告牌、
舞台灯光、家庭装饰等领域。随着市场的不断扩大和技术的发展,其前
景十分广阔。
展望未来发展
技术升级与创新
未来,单片机流水灯控制技术将继续升级和创新,例如, 通过引入新型材料和工艺,提高流水灯的能效和寿命;通 过智能化技术,实现自适应调节和控制。
单片机的应用流水灯ppt课件
目
CONTENCT
录
• 引言 • 单片机基础知识 • 流水灯的工作原理 • 单片机控制流水灯的实现 • 流水灯的扩展应用 • 总结与展望
01
引言
主题介绍
流水灯是一种常见的电子装置,通过控制LED灯的亮 灭顺序,形成一种视觉上的动态效果。
单片机是一种集成电路芯片,具有微处理器和存储 器等功能,广泛应用于各种电子设备中。
软件编程
编程语言选择
选择适合单片机的编程语言, 如C语言或汇编语言。
程序编写
根据需求编写控制流水灯的程 序,实现LED灯依次亮灭的效 果。
程序调试
通过仿真器或烧录器将程序下 载到单片机中进行调试,确保 程序正确无误。
调试与测试
硬件调试
测试
检查硬件连接是否正确,确保电源、 信号线等连接无误。
在完成硬件和软件调试后,进行整体 测试,观察流水灯效果是否符合要求, 同时检查是否存在其他潜在问题。
软件编程
编写控制程序,使单片应用场景
广告展示
用于商业广告、品牌推 广等场合,吸引顾客注
意力。
舞台灯光
在演出、晚会等场合作 为舞台灯光效果,营造
氛围。
家居装饰
用于家庭装修、节日装 饰等,增添生活情趣。
5 AT89S52单片机开发入门:流水灯实验ppt课件
ppt课件
23
5.3 对程序进行调试
• 软件仿真 • 硬件仿真 • 调试
– 设置断点F8 – 单步执行F10(step over) – 单步执行F11(step in) – 全速执行F5
ppt课件
24
图5-3-1 软件仿真调试模式(simulator)
ppt课件
25
图5-4-1 汇编程序分析——系统复位后
ppt课件
36
5.6 查表法实现流水灯功能-定义数据 (表格)
code unsigned char tab[16]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0 x80,//9
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; //8
ppt课件
32
深入了解程序执行过程(3)
-main函数部分
ppt课件
寄存器R5代替变量dat 寄存器R4代替变量i
取反输出
左移1位相对于乘2,这 里用累加器A的相加实现
循环控制变量R4加1 R4!=8则跳转到地 址0x0007执行
33
7、深入了解程序执行过程(4)
• 使用了哪9个内部RAM?
– 5个通用寄存器:R0、R4、R5、R6、R7 – A、P1、SP、C(PSW的一位)
ppt课件
39
ppt课件
19
AT89S52主要内部资源
• FLASH 8KB • RAM:256B • SFR(Special File Register) • 4个并口(每个8位) • 1个串口(占用P3口的2位) • 3个16bit定时器
ppt课件
20
AT89S52内部存储器资源
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跳出,不再执行第3步。 3.求解表达式3. 4.跳到第2步重复执行。
一个简单的延时函数
只需要了解一下,不需要记住,学会调用它就可以了。 • /*-----------------------------------------------• 延时函数,含有输入参数 unsigned int t,无返回值 • unsigned int 是定义无符号整形变量,其值的范围是 • 0~65535 • ------------------------------------------------*/ • void Delay(unsigned int t) •{ • while(--t); •}
怎样编写精确的延时函数
实现延时通常有两种方法:一种是硬件延时,要用到 定时器/计数器,这种方法可以提高CPU的工作效率 ,也能做到精确延时;另一种是软件延时,这种方法 主要采用循环体进行。
• 1 使用定时器/计数器实现精确延时 • 2 软件延时与时间计算 • 在很多情况下,定时器/计数器经常被用作其他用途
关系运算和逻辑值
关系运算1<3=1 1==2=0 1+1>2=0 • 逻辑值:真(1或非0),假(0) • 计算机中三种运算千万不要搞混了: • 1、算术运算:参与运算的对象是数,结果也是数,运算符是加减乘 除; • 2、逻辑运算:参与运算的对象是逻辑量,结果也是逻辑量,运算符 是与或非; • 3、关系运算:参与运算的对象是数,结果是逻辑量,运算符如下: • > < >= <= ==等于(注意:与赋值符=,完全不同!) != 不等于
ቤተ መጻሕፍቲ ባይዱ
完成一个典型流水灯的设计
程序就是人的思想的反映,编程最重要的就是你的编程思路,有什么样的思 路就会编出什么样的程序。
先看上一讲的点一个发光管程序: 1、思路分析。流程图是整理我们思路的好工具,同时也能保证若干年以后
你还能轻易看懂自己编写的程序。 2、程序讲解(这个程序是利用了位输出操作) 。 宏定义 函数和函数调用 如何熄灭发光管 循环结构,while语句详解、关系运算和逻辑值 如何改变流水灯流动的速度
他功能函数:工人(下属,可以被调用完成某项工作的人),以有多 个,可实现某种功能的一段相对独立的,可以被调用的代码 。 • 相互间的调用关系 • 注意:我们一般所说函数,指的都是功能函数
实现函数调用的前提:调用者必须能看到被 调用者
调用者必须能看到被调用者程序如何才能找到要 • 调用的函数呢?有三种方法: • 第一种、将被调用函数写在当前代码之前。 • 第二种、将被调用函数的函数声明写在当前代码 • 之前。 • 第三种:使用头文件 。
3个流水灯程序框图
函数的引入
函数是C语言的主要特点,也是我们学习的一个重点。 主函数:主人,只有一个。 从家里的电脑坏了说起。 在实际编程中,我们会遇到两种情况: 1、需要使用别人的程序,现在是网络共享时代,要学会在网络中找
到你需要的东西,例如 DS18B20功能函数 2、某一段程序会反复用到,这时,我们需要用到函数和函数调用其
本讲需要学习的新知识
• 数电、模电方面同上一讲一样,有不熟 悉的同学也可回看上一讲的内容,本讲在 C语言方面增加了一个新的函数。 • 延时函数delay • for循环语句
了解一下延时函数
• 学过汇编你就会知道,每条指令都占一定的时间(或者机 器周期)的,如果你让机器什么都不做,即空指令的话, 机器就会延时,然后你在计算好每次延时到底有多长,外 面套一个循环(或者多重循环),根据你想要的延时时间 即可计算出来循环的次数 ,延时函数基本上都是这种原 理,它的参数就是用来控制循环次数的。
,这时候就只能用软件方法延时。下面介绍几种软件 延时的方法。 • 2.1 短暂延时 • 2.2 在C51中嵌套汇编程序段实现延时 • 2.3 使用示波器确定延时时间 • 2.4 使用反汇编工具计算延时时间
认识一个For 循环语句
• For (表达式1;表达式2;表达式3) { 语句(内部可为空)} 执行过程: 1.求解一次表达式1. 2.求解表达式2,若其值为真(非0 即为真),则执行 for中语句。然后执行第3步。否则结束for 语句,直接
如何完成函数的调用
函数调用: 就是在一个函数体中引用另外一个已经定义的函数 完成函数的调用三种方式: 1、函数语句。函数名(实际参数表);有参调用和无参调用 2、函数表达式。 3、函数参数。 函数的调用注意掌握4个要点:被调函数名称、功能、参数、返回值
。 函数内部语句不必了解!
While循环语句
第4讲
完成一个流水灯实验
流水灯设计
• 本讲任务: • 分别用位输出操作、移位操作、循环移位操作完成3个典 型流水灯的设计。 •掌握下列C语言知识点: •宏定义、函数和函数调用、循环结构、while语句、关系 运算和逻辑值 • 掌握流程图绘制。 • 完成闪烁灯的设计。 • 如 何 完 成 函 数 调 用。
实验板初始化函数 • 只需要了解一下,不需要记住 ,学会调用它就可以了。
• bst-m51.h • bst-m51.c
宏定义
#号是预处理指令,用#开头。 #define ON (新的名称 ) 1(原来的名称) 作用:在程序书写时可用新的名称代替原来
的名称书写,以达到简化或直观的效果。编译 器在预处理的时候,自动将新的名称还原为原 来的名称。 • 书写位置:源程序开头,函数的外面
了解一下实验板初始化
• 初始化就是把变量赋为默认值,把控件设为默认 状态,把没准备的准备好。 但是如果是整个系统初 始化那就不一样了。在汇编语言中,为变量分配空 间时,初始化过的变量的初值位于可执行文件代码 段数据后,会占用一定空间,不必要的初始化会造 成磁盘空间的浪费。在C语言等高级语言中,为每 一个变量赋初值被视为良好的编程习惯,有助于减 少出现Bugs的可能性。因此,是否对不必要的变量 初始化依情况而定。
• While (关系表达式或逻辑值); • While (关系表达式或逻辑值)一条语句; • While (关系表达式或逻辑值) 注意:这里没有分号 •{ • 语句1; • 语句2; • 语句3; • …… • 语句n; •} • 特点:先判断条件表达式,后执行语句。 • 原则:若条件表达式的值为真,那么执行语句。否则跳出 • while 语句。
一个简单的延时函数
只需要了解一下,不需要记住,学会调用它就可以了。 • /*-----------------------------------------------• 延时函数,含有输入参数 unsigned int t,无返回值 • unsigned int 是定义无符号整形变量,其值的范围是 • 0~65535 • ------------------------------------------------*/ • void Delay(unsigned int t) •{ • while(--t); •}
怎样编写精确的延时函数
实现延时通常有两种方法:一种是硬件延时,要用到 定时器/计数器,这种方法可以提高CPU的工作效率 ,也能做到精确延时;另一种是软件延时,这种方法 主要采用循环体进行。
• 1 使用定时器/计数器实现精确延时 • 2 软件延时与时间计算 • 在很多情况下,定时器/计数器经常被用作其他用途
关系运算和逻辑值
关系运算1<3=1 1==2=0 1+1>2=0 • 逻辑值:真(1或非0),假(0) • 计算机中三种运算千万不要搞混了: • 1、算术运算:参与运算的对象是数,结果也是数,运算符是加减乘 除; • 2、逻辑运算:参与运算的对象是逻辑量,结果也是逻辑量,运算符 是与或非; • 3、关系运算:参与运算的对象是数,结果是逻辑量,运算符如下: • > < >= <= ==等于(注意:与赋值符=,完全不同!) != 不等于
ቤተ መጻሕፍቲ ባይዱ
完成一个典型流水灯的设计
程序就是人的思想的反映,编程最重要的就是你的编程思路,有什么样的思 路就会编出什么样的程序。
先看上一讲的点一个发光管程序: 1、思路分析。流程图是整理我们思路的好工具,同时也能保证若干年以后
你还能轻易看懂自己编写的程序。 2、程序讲解(这个程序是利用了位输出操作) 。 宏定义 函数和函数调用 如何熄灭发光管 循环结构,while语句详解、关系运算和逻辑值 如何改变流水灯流动的速度
他功能函数:工人(下属,可以被调用完成某项工作的人),以有多 个,可实现某种功能的一段相对独立的,可以被调用的代码 。 • 相互间的调用关系 • 注意:我们一般所说函数,指的都是功能函数
实现函数调用的前提:调用者必须能看到被 调用者
调用者必须能看到被调用者程序如何才能找到要 • 调用的函数呢?有三种方法: • 第一种、将被调用函数写在当前代码之前。 • 第二种、将被调用函数的函数声明写在当前代码 • 之前。 • 第三种:使用头文件 。
3个流水灯程序框图
函数的引入
函数是C语言的主要特点,也是我们学习的一个重点。 主函数:主人,只有一个。 从家里的电脑坏了说起。 在实际编程中,我们会遇到两种情况: 1、需要使用别人的程序,现在是网络共享时代,要学会在网络中找
到你需要的东西,例如 DS18B20功能函数 2、某一段程序会反复用到,这时,我们需要用到函数和函数调用其
本讲需要学习的新知识
• 数电、模电方面同上一讲一样,有不熟 悉的同学也可回看上一讲的内容,本讲在 C语言方面增加了一个新的函数。 • 延时函数delay • for循环语句
了解一下延时函数
• 学过汇编你就会知道,每条指令都占一定的时间(或者机 器周期)的,如果你让机器什么都不做,即空指令的话, 机器就会延时,然后你在计算好每次延时到底有多长,外 面套一个循环(或者多重循环),根据你想要的延时时间 即可计算出来循环的次数 ,延时函数基本上都是这种原 理,它的参数就是用来控制循环次数的。
,这时候就只能用软件方法延时。下面介绍几种软件 延时的方法。 • 2.1 短暂延时 • 2.2 在C51中嵌套汇编程序段实现延时 • 2.3 使用示波器确定延时时间 • 2.4 使用反汇编工具计算延时时间
认识一个For 循环语句
• For (表达式1;表达式2;表达式3) { 语句(内部可为空)} 执行过程: 1.求解一次表达式1. 2.求解表达式2,若其值为真(非0 即为真),则执行 for中语句。然后执行第3步。否则结束for 语句,直接
如何完成函数的调用
函数调用: 就是在一个函数体中引用另外一个已经定义的函数 完成函数的调用三种方式: 1、函数语句。函数名(实际参数表);有参调用和无参调用 2、函数表达式。 3、函数参数。 函数的调用注意掌握4个要点:被调函数名称、功能、参数、返回值
。 函数内部语句不必了解!
While循环语句
第4讲
完成一个流水灯实验
流水灯设计
• 本讲任务: • 分别用位输出操作、移位操作、循环移位操作完成3个典 型流水灯的设计。 •掌握下列C语言知识点: •宏定义、函数和函数调用、循环结构、while语句、关系 运算和逻辑值 • 掌握流程图绘制。 • 完成闪烁灯的设计。 • 如 何 完 成 函 数 调 用。
实验板初始化函数 • 只需要了解一下,不需要记住 ,学会调用它就可以了。
• bst-m51.h • bst-m51.c
宏定义
#号是预处理指令,用#开头。 #define ON (新的名称 ) 1(原来的名称) 作用:在程序书写时可用新的名称代替原来
的名称书写,以达到简化或直观的效果。编译 器在预处理的时候,自动将新的名称还原为原 来的名称。 • 书写位置:源程序开头,函数的外面
了解一下实验板初始化
• 初始化就是把变量赋为默认值,把控件设为默认 状态,把没准备的准备好。 但是如果是整个系统初 始化那就不一样了。在汇编语言中,为变量分配空 间时,初始化过的变量的初值位于可执行文件代码 段数据后,会占用一定空间,不必要的初始化会造 成磁盘空间的浪费。在C语言等高级语言中,为每 一个变量赋初值被视为良好的编程习惯,有助于减 少出现Bugs的可能性。因此,是否对不必要的变量 初始化依情况而定。
• While (关系表达式或逻辑值); • While (关系表达式或逻辑值)一条语句; • While (关系表达式或逻辑值) 注意:这里没有分号 •{ • 语句1; • 语句2; • 语句3; • …… • 语句n; •} • 特点:先判断条件表达式,后执行语句。 • 原则:若条件表达式的值为真,那么执行语句。否则跳出 • while 语句。