EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第15讲 假期知识总复习
9 X3 d: [9 I" A7 i* L1、单片机程序书写结构: #include “头文件.h”
4 y# `3 b* `5 E, | v各种定义;
4 [: U& ~! K2 Fvoidmain(void) { while(1)//或用 for 循环 for(;;) { 主程序; } } 9 T9 r1 y8 l+ b5 L/ m s
另外还有中断函数,独立于所有函数(包括主函数) 如 51 单片机的定时器 0 中断: voidTimer0() interrupt 1 { 中断服务程序; } 同学们一定要记住,单片机程序从结构上来讲分为主程序和中断服务程序,我们假期里 学习的程序、设计的程序都是放在主程序里的,以后我们还要学习中断服务程序的设计。 2、IO 端口 51 单片机有 4 组并行 I/O 端口,其中 P0 口在使用时必须接上拉电阻(因为内部漏极开 路),其它 P1、P2、P3 没有特殊的地方,但被称为准双向 I/O 端口。 所谓 I/O 口,是指既可以作为输入,又可以作为输出,51 单片机 I/O 口在作为输入口时, 应先向对应的端口寄存器写 1。 我们可以对端口的每一位进行操作,比如想使用 P1 口的第 0 位,我们可以这样定义:sbit LED = P1^0;,其中 LED 是起的名字,根据标识符的命名规则起名。一定要掌握这 种定义方法。(等号不能忘记) 3、IO 端口的并行读写 要记住端口的高位与低位是从左向右起的,既最左边是第 7 位,最右边是第 0 位。 比如:P0 口的 8 个位: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
0 a2 @1 N6 D. C( S* a我们可以对 I/O 端口进行并行读写,即,一次可以读取一个字节,也可以一次写入一个 字节。比如:P0 = 0X3F; 4、8 段数码管的编码 8 段数码管(含小数点位),其中的每一个笔段都是一个发光二极管,8 个二极管可以 连成共阳极或共阴极,但我们常根据共阴极来编码,亮为 1,灭为 0。 A,B,C,D,E,F,G,H, 8 个笔段从低位到高位编码。我们常用一个 code 数组来存放我们的编码: u8code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F 编码 5、动态显示原理: 在实际的应用中,数码管都是动态显示的。所谓动态显示,就是按一定的频率轮流点亮其中的一个数码管。实验板上用 74HC138 译码器控制 8 位数码管的公共端,选中其中一 位,就向哪一位送欲显示的数据,循环显示 8 位。这里要注意每次送显之前,要先消隐。 5、行列式按键获取键值的方法 反转法 其解题思路是,先测试列,让所有的列为 1,所有的行为 0;然后再测试行,让所有的行为 1,从而确定键值。 6、一种点阵 LED 驱动方法 7、掌握二进制与十六进制之间的转换方法:8421 法 8、单片机程序设计原则 1、硬件驱动层与应用层分离 2、模块化编程:文件级的模块化、函数级的模块化、数据结构级的模块化 3、平时加强硬件编程能力, i* m @; O, d6 j
& k3 b! I% Z9 N. W
二、电子器件与电路 1、理解二极管的单向导电性:阳极接高电平、阴极接低电平,二极管就可以导通 2、理解上拉电阻与下拉电阻的含义 3、记住 74HC138 译码器的输入输出关系: 4、记住三极管的开关作用5 E0 Q6 I1 m' T4 e8 x3 f
/ L: ]. Z5 y* L, l
三、C 语言 1、预处理命令:#include 、#define 2、重新定义数据类型:typedef用法 3、code、sbit 关键字+ {. M, j# n/ z( f
, p9 I" Z2 ?" M" ?' E, Q4 y+ c( ~ 四、应熟练掌握的二个硬件驱动 1、显示驱动(数码管、LED、LCD) 2、输入驱动(比如:机械式按键) 这两种器件是人机交互的重要手段,一定要掌握它们的工作原理、程序设计思路。以后 有机会,我把这两种器件在实际应用中的程序实现思路讲给大家!
2 F; o0 v3 r6 M' s9 k( M" b5 _ e$ }9 M ?* u
7 e* c1 e4 X1 I
|