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

Post on 19-Jan-2016

115 views 0 download

description

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

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

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

教材

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

参考书目:

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

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

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

课程安排

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

共 64 个学时

2.实验课程

(((((

1.理论课程

( 48 个学时)

考评办法

总评成绩的组成:

10%

10%

50%

30%

期末成绩

考勤及测试

期中考试实验成绩

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

• 实验报告• 出勤情况

第一章 单片机 C 语言概述

单片机现状分析

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

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

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

( 单片机广泛的应用

单片机应用单片机应用

工业方面工业方面

民用方面民用方面

仪表方面仪表方面

电讯方面电讯方面

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

汽车方面汽车方面

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

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

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

单片机开发板

单片机的特点及应用

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

体积小,重量轻

电源单一,功耗低

功能强,价格低

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

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

AT89C51 单片机

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

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 )

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

Keil C启动界面

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

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

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

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

Proteus界面

Proteus 仿真实例界面

下载编程器

下载器软件界面

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

( 8 )生成代码质量高

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

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

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

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

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

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

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

优秀程序员的素质之一:使用 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);}