1 / 28

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

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

marci
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 参考书目: • 《单片机C语言设计实例精讲》,戴佳等编著,电子工业出版社,2008年12月第二版。 • 《单片机C语言编程与实例》,赵亮等编著,人民邮电出版社,2003年9月第二版。 • 《新概念51单片机C语言教程》,郭天祥编著,电子工业出版,2009年3月第一版。

  4. 共64个学时 本课程强调实际应用为主,以培养学生的实际实践能力为主。 1. 理论课程 (48个学时) 2. 实验课程 (16个学时) 课程安排

  5. 期末成绩 考勤及测试 期中考试 实验成绩 考评办法 总评成绩的组成: 50% 10% 10% 30% • 课堂提问 • 出勤情况 • 课堂测验 • 实验报告 • 出勤情况

  6. 第一章 单片机C语言概述

  7. 单片机现状分析 • 大量的应用需求 广泛的应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域 。 • 单片机主要厂商 INTEL公司的8051系列单片机;Motorola 公司(FREESCALE,飞思卡尔 )的M68系列单片机;MicroChip公司的PIC系列单片机;Philips公司的P89系列; ATMEL公司AT89C51系列,AVR系列;Zilog公司的Z80系列单片机。 • 单片机广泛的应用

  8. 电讯方面 工业方面 汽车方面 民用方面 数据处理方面 仪表方面 单片机应用

  9. 本课程主要内容 • 本课程以80C51系列中的AT89C51单片机为例学习单片机的C语言编程技术。 • 结合AT89C51的结构特点,利用Keil软件作为开发环境,Proteus作为电路仿真软件,学习C语言编程技术实现所需电路功能。

  10. 单片机开发板

  11. 单片机的特点及应用 1. 单片机的特点 体积小,重量轻 电源单一,功耗低 功能强,价格低 运行速度快,抗干扰能力强,可靠性高 可以嵌入到电子产品中——嵌入式应用系统

  12. AT89C51单片机

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

  14. T0 T1 时钟电路 ROM RAM 定时计数器 CPU 并行接口 串行接口 中断系统 TXD RXD INT0 INT1 P0 P1 P2 P3 MCS-51单片机硬件结构 • 并行I/O口:4个8位的I/O口P0、P1、P2、P3。 • 中央处理器CPU:8位,运算和控制功能 • 内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。 • 串行口:一个全双工串行口。 • 中断控制系统:5个中断源(外部中断2个,定时/计数中断2 个,串行中断1个) • 时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ(XTAL1和XTAL2) • 内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。 • 定时/计数器:两个16位的定时/计数器,实现定时或计数功能。 结构框图

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

  16. Keil C启动界面

  17. 电路仿真软件proteus • Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。 • 不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。 • 目前最好的仿真单片机及外围器件的工具。 • 在本课程学习主要应用proteus软件模拟仿真单片机硬件实验电路,辅助可以使用教材提供的键盘、LED实验仿真板。

  18. Proteus界面

  19. Proteus仿真实例界面

  20. 下载编程器

  21. 下载器软件界面

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

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

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

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

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

  27. C程序特性分析 • (1)C程序由函数组成(至少有一个main函数) • (2)C程序总是从main程序开始执行 • (3)C语言注意区分大小写 • (4)书写格式自由,但建议规范写 • (5)每个语句和定义最后有分号,分号不可缺少 • (6)注释用/*…*/或是// • 例1.2让接在P1.0引脚上LED闪烁发光

  28. 优秀程序员的素质之一: 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); } • 使用TAB缩进 • {}对齐 • 有足够的注释 • 有合适的空行

More Related