第一章 单片机的 c 语言概述

28
第 第第第第 C 第第第第

Upload: marci

Post on 19-Jan-2016

115 views

Category:

Documents


0 download

DESCRIPTION

第一章 单片机的 C 语言概述. 教材. 《 单片机 C 语言轻松入门 》 周坚编著,北京航空航天大学出版社. 参考书目:. 《 单片机 C 语言设计实例精讲 》 ,戴佳等编著,电子工业出版社, 2008 年 12 月第二版。 《 单片机 C 语言编程与实例 》 ,赵亮等编著,人民邮电出版社, 2003 年 9 月第二版。 《 新概念 51 单片机 C 语言教程 》 ,郭天祥编著,电子工业出版, 2009 年 3 月第一版。. 共 64 个学时. 本课程强调实际应用为主,以培养学生的实际实践能力为主。. 1. 理论课程 ( 48 个学时). 2. 实验课程 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第一章 单片机的 C 语言概述

第一章 单片机的 C 语言概述

Page 2: 第一章 单片机的 C 语言概述

教材

《单片机 C 语言轻松入门》 周坚编著,北京航空航天大学出版社

Page 3: 第一章 单片机的 C 语言概述

参考书目:

《单片机 C 语言设计实例精讲》,戴佳等编著,电子工业出版社, 2008 年 12 月第二版。

《单片机 C 语言编程与实例》,赵亮等编著,人民邮电出版社, 2003 年 9 月第二版。

《新概念 51 单片机 C 语言教程》,郭天祥编著,电子工业出版, 2009 年 3 月第一版。

Page 4: 第一章 单片机的 C 语言概述

课程安排

本课程强调实际应用为主,以培养学生的实际实践能力为主。

共 64 个学时

2.实验课程

(((((

1.理论课程

( 48 个学时)

Page 5: 第一章 单片机的 C 语言概述

考评办法

总评成绩的组成:

10%

10%

50%

30%

期末成绩

考勤及测试

期中考试实验成绩

• 课堂提问• 出勤情况• 课堂测验

• 实验报告• 出勤情况

Page 6: 第一章 单片机的 C 语言概述

第一章 单片机 C 语言概述

Page 7: 第一章 单片机的 C 语言概述

单片机现状分析

( 大量的应用需求广泛的应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的

智能化管理及过程控制等领域 。 ( 单片机主要厂商

INTEL 公司的 8051 系列单片机; Motorola 公司( FREESCALE ,飞思卡尔 )的 M68 系列单片机; MicroChip 公司的 PIC 系列单片机; Philips 公司的 P89 系列; ATMEL 公司 AT89C51 系列, AVR 系列; Zilog公司的 Z80 系列单片机。

( 单片机广泛的应用

Page 8: 第一章 单片机的 C 语言概述

单片机应用单片机应用

工业方面工业方面

民用方面民用方面

仪表方面仪表方面

电讯方面电讯方面

数据处理方面数据处理方面

汽车方面汽车方面

Page 9: 第一章 单片机的 C 语言概述

本课程主要内容 本课程以 80C51 系列中的 AT89C51 单片机为例

学习单片机的 C 语言编程技术。

结合 AT89C51 的结构特点,利用 Keil 软件作为开发环境, Proteus 作为电路仿真软件,学习 C语言编程技术实现所需电路功能。

Page 10: 第一章 单片机的 C 语言概述

单片机开发板

Page 11: 第一章 单片机的 C 语言概述

单片机的特点及应用

1. 1. 单片机的特点 单片机的特点

体积小,重量轻

电源单一,功耗低

功能强,价格低

运行速度快,抗干扰能力强,可靠性高

可以嵌入到电子产品中可以嵌入到电子产品中————嵌入式应用系统嵌入式应用系统

Page 12: 第一章 单片机的 C 语言概述

AT89C51 单片机

Page 13: 第一章 单片机的 C 语言概述

AT89C51 简介 4k 字节可编程闪烁存储器( FPEROM ) 寿命 1000 写 / 擦 循环 数据保留时间: 10 年 128 字节内部 RAM( 随机存取存储器 ) 32 可编程 I/O 线 两个 16 位定时器 / 计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路

Page 14: 第一章 单片机的 C 语言概述

MCS-51 单片机硬件结构

时钟电路

CPU

ROM RAM

T0 T1

中断系统串行接口并行接口

P0 P1 P2 P3 TXD RXD INT0 INT1

定时计数器

结构框图

• 中央处理器CPU : 8 位,运算和控制功能

• 内部 RAM :共256 个 RAM 单元,用户使用前 128 个单元,用于存放可读写数据,后 128 个单元被专用寄存器占用。

• 内部 ROM : 4KB 掩膜 ROM,用于存放程序、原始数据和表格。• 定时 / 计数器:两个 16 位的定时 / 计数器,实现定时或计数功能。

• 并行 I/O 口: 4个 8 位的 I/O 口P0 、 P1 、 P2、 P3 。

• 串行口:一个全双工串行口。

• 中断控制系统: 5 个中断源(外部中断 2个,定时 / 计数中断 2 个,串行中断 1 个)

• 时钟电路:可产生时钟脉冲序列,允许晶振频率 6MHZ和 12MHZ ( XTAL1 和 XTAL2 )

Page 15: 第一章 单片机的 C 语言概述

Keil C 软件开发环境 单片机开发中除必要的硬件外,同样离不开软件 常用的单片机 C 语言编程环境是 Keil 软件 Keil 软件的使用主要包括四部:(演示过程)( 1 )源文件的建立( 2 )工程的建立( 3 )工程的设置( 4 )编译、链接(生成 .hex 文件) 本课程主要讲解单片机的 C 语言编程,其扩展名为 .c ,此外该软件也可使用汇编语言,扩展名为 .asm

Page 16: 第一章 单片机的 C 语言概述

Keil C启动界面

Page 17: 第一章 单片机的 C 语言概述

电路仿真软件 proteus Proteus 软件是英国 Labcenter electronics 公司

出版的 EDA 工具软件。不仅具有其它 EDA 工具软件的仿真功能,还能仿

真单片机及外围器件。 目前最好的仿真单片机及外围器件的工具。 在本课程学习主要应用 proteus 软件模拟仿真单

片机硬件实验电路,辅助可以使用教材提供的键盘、 LED实验仿真板。

Page 18: 第一章 单片机的 C 语言概述

Proteus界面

Page 19: 第一章 单片机的 C 语言概述

Proteus 仿真实例界面

Page 20: 第一章 单片机的 C 语言概述

下载编程器

Page 21: 第一章 单片机的 C 语言概述

下载器软件界面

Page 22: 第一章 单片机的 C 语言概述

采用 C 语言编程的优势( 1 )结构化控制语句( 2 )适用范围大和可移植性好( 3 )简洁紧凑,灵活方便( 4 )运算符丰富( 5 )数据结构丰富( 6 )程序设计自由度大( 7)允许直接访问物理地址,可直接对硬件进行 操作

( 8 )生成代码质量高

Page 23: 第一章 单片机的 C 语言概述

一个简单小实例 C 程序代码 #include "reg51.h" sbit p1_0 = P1^0; void main() { p1_0 = 0; }

Page 24: 第一章 单片机的 C 语言概述

一个简单小实例 仿真电路演示

Page 25: 第一章 单片机的 C 语言概述

对简单程序分析 #include "reg51.h" sbit p1_0 = P1^0; void main() { p1_0 = 0; } reg51.h sfr (特殊寄存器) sbit(对应可位寻址空间的一个位 ) main函数(一个程序有且只有一个,后必有大括号)

Page 26: 第一章 单片机的 C 语言概述

关键词使用用法 sfr : sfr变量名 = 地址值; 例如: sfr P1=0x90 ; sbit ( 3种):(1)sbit 位变量名 =地址值;(2)sbit 位变量名 =sfr名称 ^变量位地址值;(3)sbit 位变量名 =sfr地址值 ^变量位地址值;

Page 27: 第一章 单片机的 C 语言概述

C 程序特性分析 ( 1 ) C 程序由函数组成(至少有一个main函

数) ( 2 ) C 程序总是从main程序开始执行 ( 3 ) C 语言注意区分大小写 ( 4 )书写格式自由,但建议规范写 ( 5 )每个语句和定义最后有分号,分号不可缺少

( 6 )注释用 /*…*/或是 // 例 1.2让接在 P1.0引脚上 LED闪烁发光

Page 28: 第一章 单片机的 C 语言概述

优秀程序员的素质之一:使用 TAB缩进 {} 对齐有足够的注释有合适的空行

main( ){ int i , j , sum; sum=0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ; } } printf(“%d\n”,sum);}