Download presentation
Presentation is loading. Please wait.
1
K60基础课程 02 首都师范大学物理系 王甜
2
上拉电阻与下拉电阻
3
练习2-1 利用实验例程中的 0000.工程模板 编写程序 (1)在IO模块上实现按键控制LED亮灭的现象;
4
上拉电阻与下拉电阻 上拉电阻与下拉电阻用在什么场合? 用在数字电路中,存在高低电平的场合。 上拉电阻与下拉电阻怎么接线?
上拉电阻与下拉电阻用在什么场合? 用在数字电路中,存在高低电平的场合。 上拉电阻与下拉电阻怎么接线? 上拉电阻:电阻一端接VCC,一端接逻辑电平接入引脚 (如单片机引脚) 下拉电阻:电阻一端接GND,一端接逻辑电平接入引脚 (如单片机引脚)
5
上拉电阻与下拉电阻 上拉电阻和下拉电阻有什么用? 提高驱动能力
上拉电阻和下拉电阻有什么用? 提高驱动能力 例如,用单片机输出高电平,但由于后续电路的影响, 输出的高电平不高,就是达不到VCC,影响电路工作。所以 要接上拉电阻。下拉电阻情况相反,让单片机引脚输出低电 平,结果由于后续电路影响输出的低电平达不到GND,所以 接个下拉电阻。 在单片机引脚电平不定的时候,让后面有一个稳定的电平。
6
流水灯 作业讲解 循环语句(for/while循环)
7
作业情况
8
循环语句 while循环 for循环
9
while循环 格式: while(表达式) {内部语句(可为空);}
执行方式:只要表达式不为0就执 行内部语句,否则跳出循环执行 后面语句。 原则:非0即真 典型语句:while(1) while语句的简略写法和分号位置
10
while循环 …… while(1) GPIO_WriteBit(HW_GPI OA, 4, 0); GPIO_WriteBit(HW_GPI OA, 5, 0); …… while(1); GPIO_WriteBit(HW_GPI OA, 4, 0); GPIO_WriteBit(HW_GPI OA, 5, 0);
11
while循环 …… int i=0; int x=10; while(i<5) { x--; i++; }
12
for循环 格式: for(表达式1;表达式2;表达式3) {内部语句(可为空);} 执行方式: 求解表达式1; 求解表达式2:
若为真(非0),执行内部语句, 求解表达式3,回到第二步重复执 行; 若为假(0),跳出for循环;
13
for循环 …… int i; int x; x=0; for(i=2;i>0;i--) x++;
14
练习2-2 修改作业程序,使用for循环或while循环语句,完 成流水灯实验。
15
数码管 数码管显示原理 函数语句的写法和调用 四位数码管
16
数码管
17
数码管 数码管(LED Segment Displays)是由多个发光二 极管封装在一起组成的8字型的器件。
数码管实际上是由七个发光管组成8字形构成的, 加上小数点就是8个。 这些段分别由字母a,b,c,d,e,f,g,dp来表示。 引线已在内部连接完成,包括各个笔划的信号端 和公共电极。
18
数码管
19
练习2-2 利用实验例程中的 0000.工程模板 编写程序: 点亮一位共阴数码管,使其显示任何数字。 5v 3.3v GND A B
GND A B PTA4 PTA5 C D PTA6 PTA7 E F PTA8 PTA9 G NC PTA10 S1 S2 PTE25 PTE26 S3 S4 PTE27 PTE28
20
四位数码管 引脚图
21
练习 2-4 点亮四支数码管中的任一个,使其显示“3”。 5v 3.3v GND A B PTA4 PTA5 C D PTA6 PTA7 E
GND A B PTA4 PTA5 C D PTA6 PTA7 E F PTA8 PTA9 G NC PTA10 S1 S2 PTE25 PTE26 S3 S4 PTE27 PTE28
22
练习 4-4 点亮四支数码管中的三个,使其显示“3 33”。 5v 3.3v GND A B PTA4 PTA5 C D PTA6 PTA7
点亮四支数码管中的三个,使其显示“3 33”。 5v 3.3v GND A B PTA4 PTA5 C D PTA6 PTA7 E F PTA8 PTA9 G NC PTA10 S1 S2 PTE25 PTE26 S3 S4 PTE27 PTE28
23
练习 4-5 点亮四位共阴数码管,使其间隔1s依次显示: “ 0000” “ 0 100” “ 0020” “ 0003”
24
函数语句的写法和调用 不带参数函数语句的写法及调用 带参数函数语句的写法及调用
25
不带参数函数的写法及调用 重复的语句可以写成不带参数的子函数 void delay1s(); 声明子函数,写在void main()之前
调用子函数,用于取代原重复语句 void delay1s() 子函数体,编写子函数,一般写在程序最后
26
不带参数函数的写法及调用 子函数体的写法 void delay1s() { DelayMs(1000); }
27
不带参数函数的写法及调用 void delay1s(); void main() { while(1) { LED1=0; delay1s(); LED1=1; delay1s(); } void delay1s() { DelayMs(1000); }
28
带参数函数的写法及调用 可以修改变量的子函数 例如: void LED(int pin) {
GPIO_WriteBit(HW_GPIOD, pin, 0); }
29
带参数函数的写法及调用 void LED(变量类型); 声明子函数,“变量类型”比如int,多个变量类型 可用“,”分割 LED(数值);
调用子函数,“数值”就是参数的值 void LED(变量类型 变量名称) 子函数体,括号可写int time, char a等
30
带参数函数的写法及调用 void LED(int); void delay1s(); void main() { while(1) { LED(0); delay1s(); LED(1); delay1s(); } } void LED(int pin) { GPIO_WriteBit(HW_GPI OD, pin, 0); } void delay1s() { DelayMs(1000); }
31
作业 利用子函数编写数码管显示数字的程序: (1)利用不含参的函数进行单个数字显示; (2)利用含参函数通过参数循环显示0~4。 5v
GND A B PTA4 PTA5 C D PTA6 PTA7 E F PTA8 PTA9 G NC PTA10 S1 S2 PTE25 PTE26 S3 S4 PTE27 PTE28
Similar presentations