当前位置:文档之家› 单片机入门教程5

单片机入门教程5


问 题 导 入
SCM
若要改为9~0倒序显示,该如何修改程序? 方法一 将table 数组中的元素倒序排列; 方法二 修改for语句中num的变化过程; 哪种方法好?为什么?
问 题 进 阶
SCM
思考:若用两个数码管,实现 00~59的循环计数,该如何编 程?
问 题 分 析
SCM
问 题 分 析
SCM
模块化程序的编写
优点:
1 2 结构清晰,层次分明; 便于理解,易于调试;
知 识 点 四
SCM
参考代码
…… void main() { shi=0; ge=0; while(1) { display(); dataprc(); delayms(1000); } }
// 初始化
// 显示子函数
// 数据处理 //延时
问 题 导 入
SCM
控制1位数码管从0~9循环显示。
…… uchar code table[ ]= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78, 0x00,0x10}
;
问 题 导 入
SCM
…… while(1) { for(num=0;num<10;num++) { P0=table[num]; delayms(1000); } } ……
定义两个变量:shi和ge; P0=table[shi];
P2=table[ge];
问 题 分 析
SCM
问题转化为:如何控制ge和shi 按照十进制规则变化?
问 题 分 析
SCM
判断条件
第一种,判断个位上的数是否是9,或
者判断加1后的值是否为10? 第二种,不管结果如何,我们控制加1 次数,看是否执行了十次加1?
[ 4]
SCM
项目驱动
单 元 小 结
SCM
流水灯控制
静态显示的特点 if语句的功能 分支程序的ห้องสมุดไป่ตู้构
任 务 要 求
SCM
制作一个简易秒表倒计时器,
要求开机后能一分钟倒计时。
Thanks!
重 点 难 点
SCM
If语句的格式及功能
重点
进位条件的判断
分支程序的结构
模块化程序的编写
难点
[ 3]
SCM
实务知识
知 识 点 一
SCM
七段数码管的结构
共阴极
共阳极
知 识 点 一
SCM
a f g e d c b
知 识 点 二
SCM
数码管的静态显示
概念 代码输出 状态保持 直至刷新 优点 结构简单 占用CPU时间少 缺点 占接口资源多 扩展受限
知 识 点 三
SCM
If语句的格式及功能
if(表达式) { 真 ②执行 假 内部语句; } ③跳出 其他语句;
①判断
满足条件?
N
Y
选择性执行
必定执行
知 识 点 三
SCM
参考代码
ge++;
if(ge==10) { ge=0; shi++; } if(shi==6)
shi=0;
知 识 点 四
SCM
单片机应用与开发
Application and Design of SCM
两位秒表的设计
SCM
一.前情回顾
目录 CONTENTS
二.新课任务
三.实务知识 四.项目驱动
[ 1]
SCM
前情回顾
前 情 回 顾
SCM
引 导 问 题
SCM
[ 2]
SCM
新课任务
新 课 任 务
SCM
设计一位、两位秒表的控制程序。
相关主题