第15讲 假期知识总复习
一、 单片机与单片机程序设计 1、单片机程序书写结构: #include “头文件.h”
各种定义; mcu_init();//单片机资源初始化
voidmain(void) { while(1)//或用 for 循环 for(;;) { 主程序; } }
另外还有中断函数,独立于所有函数(包括主函数) 如 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
我们可以对 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、平时加强硬件编程能力
二、电子器件与电路 1、理解二极管的单向导电性:阳极接高电平、阴极接低电平,二极管就可以导通 2、理解上拉电阻与下拉电阻的含义 3、记住 74HC138 译码器的输入输出关系: 4、记住三极管的开关作用
三、C 语言 1、预处理命令:#include 、#define 2、重新定义数据类型:typedef用法 3、code、sbit 关键字
四、应熟练掌握的二个硬件驱动 1、显示驱动(数码管、LED、LCD) 2、输入驱动(比如:机械式按键) 这两种器件是人机交互的重要手段,一定要掌握它们的工作原理、程序设计思路。以后 有机会,我把这两种器件在实际应用中的程序实现思路讲给大家!

这是以前给小学生培训单片机做的一套讲义,尽可能的做到了通俗易懂,现分享给大家,绝对的纯原创资料.
全部资料下载地址(共15章,pdf格式):http://www.51hei.com/bbs/dpj-98524-1.html
|