文档详情

嵌入式C编程完全版.ppt

发布:2017-05-05约1.21万字共58页下载文档
文本预览下载声明
* 讲述概要: 配音文字: 启动代码是用来初始化电路以及用来为高级语言写的软件做好运行前准备的一小段汇编语言,是任何处理器上电复位时的程序运行入口点。 在商业实时操作系统中,启动代码部分一般被称为板基支持包,英文缩写为BSP。 它的主要功能就是:一、电路初始化,二、高级语言编写的软件运行做准备,这里的准备工作主要指 * 讲述概要: 配音文字: 启动代码是用来初始化电路以及用来为高级语言写的软件做好运行前准备的一小段汇编语言,是任何处理器上电复位时的程序运行入口点。 在商业实时操作系统中,启动代码部分一般被称为板基支持包,英文缩写为BSP。 它的主要功能就是:一、电路初始化,二、高级语言编写的软件运行做准备,这里的准备工作主要指 * 7段数码管工作原理 --结构图 二极管符号 *   LED数码管又称为半导体数码管,它是由7个LED按分段式封装制成的。LED数码管有两种形式:共阴型和共阳型。 LED数码管外形图 a g d b c e f 数码管工作原理 ‘共阳极’数码管:7个发光二极管的阳极都连在一起的; ‘共阴极’数码管:7个发光二极管的阴极都连在一起的 * 分类及驱动方式 七段显示LED数码管 (a) 外形图 (b) 共阴型 (c) 共阳型 公共阴极 公共阳极 高电平驱动 低电平驱动 * 数码管工作原理(1) --驱动方式 ‘共阳极’数码管:公共段需接高电平(即写逻辑1)、该段的段选线接低电平(即写逻辑0),从而该段被点亮。 ‘共阴极’数码管:公共段需接低电平(即写逻辑0)、该段的段选线接高电平(即写逻辑1),该段被点亮。 *   a.七段字形显示方式   LED数码管通常采用七段字形显示方式来表示0-9,A-F共16个数字和字符。   * 0 D7 D6 D5 D3 D2 D1 D0 --各位与各段的对应关系 共阳极数码管工作原理(2) 1 0 0 1 1 1 1 存储器写入控制方式 * --各位与各段的对应关系: 对应规则: a-----D7 b-----D6 c-----D5 d-----D3 e-----D2 f----- D1 g-----D0 数码管工作原理 * -- 数码管的地址空间 片选信号 COM COM端接1 数码管工作原理(3) 数据输入端 7LED * S3c44b0的片选信号设置 * S3C44B0X复位后的存储器地址分配 0* /* 定义7段数码管控制地址 */ #define LED7ADDR \ (*(volatile unsigned char *)(0x2140000)) LED7ADDR = 0x9F ; //显示“1” 数码管软件程序设计(1) --定义数码管控制地址 * #define DIGIT_9 0x14 #define DIGIT_8 0x10 #define DIGIT_7 0x1f #define DIGIT_6 #define DIGIT_5 #define DIGIT_4 #define DIGIT_3 #define DIGIT_2 #define DIGIT_1 0x9f #define DIGIT_0 0x12 数码管软件程序设计(2) --定义每个数字对应的位码 * 设计程序 int LED7Light[] = { DIGIT_0, DIGIT_1, DIGIT_2, DIGIT_3, DIGIT_4, DIGIT_5, DIGIT_6, DIGIT_7, DIGIT_8, DIGIT_9 }; 程序设计:要求循环显示从0 到9 十个数字 * void Digit_Led_Test(void) { int i; /* 循环显示从0 到9 的十进制数 */ while(1) { for( i=0; i10; i++ ) { LED7ADDR = LED7Light[i]; Delay(4000); } } } * 程序设计思路 分析硬件工作原理 编写子函数Digit_Led_Test () 编写主函数Main() * void Digit_Led_Test(void) { int i; /* 循环显示从0 到9 的十进制数 */ while(1) { for( i=0; i10; i++ ) { LED7ADDR = LED7Light[i]; Delay(4000); } } } * main.c文件 #include 44blib.h #include 44b.h ext
显示全部
相似文档