嵌入式系统程序设计基础(C语言)
学习人数: 0人
点赞人数: 0人
  • 第一期

2015-03-22[周日] 至 2021-07-23[周五] | 承诺培训时长: 2315天

免费

  • 课程介绍
  • 课程目录
  • 评价 (0)
  • 圈子 (0)
课程简介

应用电子技术专业的定位是嵌入式系统的硬件设计与软件开发人员。《嵌入式系统程序设计基础(C语言)》课程是本专业的专业基础课程,更是应用电子技术专业的核心基础课程。《嵌入式系统程序设计基础(C语言)》不仅仅是让学生掌握一些语法和知识点,关键是培养学生程序设计思想,将知识学习改为能力训练,尤其是应用电子技术专业,要求学生有较强的程序阅读和编写能力,为后继的嵌入式系统设计与应用、单片机原理应用、小型电子产品的开发与设计等课程奠定良好基础。

课题整体设计方向

 课题整体设计:


教学大纲

课程标准:

教学大纲:                                                 

                                                        

《嵌入式系统程序设计基础(C语言)》教学大纲

课程名称:嵌入式系统程序设计基础(C语言)                          

总学时数:72     理论课学时数:36    实践课学时数:36

学分数:4

适用专业: 应用电子技术

一、课程性质和任务

课程的性质:专业基础课

课程的任务:通过教学,使学生了解与掌握C语言概述,C语言的数据类型、运算符与表达式;了解C语言的三种设计结构;了解与掌握数组、函数、预处理命令、指针的使用;学会使用结构体;学会文件操作;学会使用C语言来编写计算机程序、能总结常见错误、并能对程序进行调试;学会进行嵌入式系统的简单开发与设计。

二、先修课程

《计算机体系结构》中单片机的基本硬件结构、指令系统以及汇编语言编写程序的技巧;微机的基本组成、工作原理、以及与常用外设的硬件连接等知识。

《计算机应用基础》中硬件及软件基础。

三、课程的基本要求

知识要求

序号

知识目标

1

掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们的赋值的方法。

2

掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。

3

熟练掌握选择结构程序设计的方法。

4

熟练掌握switch语句进行多分支结构程序设计。

5

能够区分for语句、while语句与do-while语句的具体用途,熟悉掌握用for语句实现循环的方法。

6

能够区分breakcontinue对循环语句的不同控制作用,进一步学习调试程序。

7

掌握嵌套循环的用法,掌握一些常用算法(如穷举,迭代、递推等)。

8

掌握一维数组和二维数组的定义、赋值和输出的方法,掌握与数组有关的算法(特别是排序算法)。

9

掌握字符数组和字符串函数的使用,尤其是字符串模式匹配算法

10

掌握定义函数的方法;掌握函数实参和形参的对应关系以及'值传递'的方式;掌握函数的嵌套调用和递归的方法;掌握全局变量和局部变量动态变量的概念和使用方法;学习对多文件程序的编译和运行。

11

掌握指针和指针变量的用法;掌握指向数组元素的指针;掌握字符串的指针表示和引用

12

掌握结构体的定义、引用;掌握结构体数组的使用;学会使用指向结构体类型数据的指针。

13

掌握宏定义的方法;掌握文件包含处理方法;掌握条件编译的方法。

14

掌握文件以及缓冲文件的系统,文件指针的概念;学会使用文件的打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。

技能要求

序号

单项能力目标

1

能够在嵌入式C语言集成环境下创建嵌入式C语言程序,并编译、运行。

2

能够使用C语言中不同的数据类型。

3

能够使用C的有关算术运算符,以及包括这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

4

能够使用printf语句与scanf语句。

5

能够使用逻辑运算符、逻辑表达式与if语句

6

能够使用Switch语句,能进行程序调试。

7

能够使用for语句、while语句与do-while语句进行多种循环结构的设计。

8

能够使用breakcontinue进行循环语句的控制,进一步学习调试程序。

9

能够使用嵌套循环进行程序设计,掌握在程序设计中用循环的方法实现一些常用算法(如穷举,迭代、递推等)。

10

能够使用一维数组和二维数组进行复合数据类型的程序设计。

11

能够使用字符数组进行简单的文本编程。

12

能够使用函数进行C程序的模块化设计,包括参数传递与函数值返回。

13

能够使用数组指针与字符串指针进行数组与字符串的操作

14

能够使用结构体、结构体数组与结构体指针

15

能够使用宏、文件包含与条件编译。

16

能够使用缓冲文件系统对文件进行简单的操作。

职业技能证书考核要求:可以考取《全国计算机等级考试二级C》证书。

四、教学条件

网络化多媒体计算机实训室,配备Pentium以上PC、局域网,配置TURBOC 3开发包,或VISUAL STUDIO 6.0等。

五、教学内容及学时安排

模块名称

学时(理论+实践)

合计

C语言概述

2+2

4

数据类型、运算符与表达式

4+2

6

顺序程序设计

4+2

6

选择结构程序设计

2+2

4

循环控制

4+4

8

数组和串

4+4

8

函数

4+2

6

指针

4+4

8

结构体

4+2

6

编译预处理命令

2+0

2

文件

4+2

6

C语言的综合应用

0+8

8

合计

36+36

72


六、教学方法

为了能更好地训练学生掌握各项能力,针对本课程设计了一个综合的应用项目——嵌入式操作系统UC/OS-II51系列单片机上的移植。对于该系统学生要完成的任务可以分成三部分:第一部分是使用嵌入式C语言实现UC/OS-IIPC机上的模拟;第二部分是将UC/OS-II移植到51系列单片机上;最后是在51单片机上滚动字幕效果的实现。以上内容在上课的过程中让学生逐步实现,并定期对项目的完成情况进行检查。为实现这一目标,把此项目分成如下几个子项目,一个子项目由一次或几次课来完成,子项目的最后一次课都是一个该单元技能和知识的综合应用,每完成一个子项目都要上交进行考核。最后两周的时间,让学生对移植系统进行完善。嵌入式操作系统移植项目是为学生进行项目训练而使用的,除此之外,在课堂教学和深化练习中的项目是使用UC/OS-II控制51单片机LED数码管的显示。通过本课程的学习和能力训练,使学生真正能将嵌入式C语言进行实际的嵌入式应用,并能够为嵌入式系统工程师的岗位方向打下坚实的基础。

七、考核方式、成绩形成方式:

  1. 基本思路
  1. 本课程注意学生平时的学习过程,考核由平时成绩、课程设计和期末考试组成,具体比例如下:

平时成绩30%:包括考勤(5%)、提问(5%)、实验报告(10%)、阶段上交子项目(10%)。

课程设计20%:包括PC机上项目的模拟实现,项目在51单片机上的实现。

期末考试50%:采用开卷考试,考试时间120时间。

  1. 课程设计贯穿整个学期,每次课的小项目最后构成一个大的、完整的作品,整理完善时间是最后2周。

第一部分:在VISUAL C中建立的C项目、能够运行的顺序结构的嵌入式C程序模块部分、能够运行的选择结构的嵌入式C程序模块部分、能够运行的多个嵌入式任务模块部分、在PC机上实现的“滚动字幕”效果的模拟项目文件

第二部分:能够在51单片机上实际运行的项目(包括单片机硬件与经移植写入的软件项目)

  1. 课程设计的评分标准(100分)

第一部分50分,第二部分50分。评分标准见下表:

序号

内容

比例

1

正确性(作品能够实现课程设计要求的主要功能)

35%

2

可读性(符合程序设计规范,有明确的注释,模块划分合理)

35%

3

健壮性(能处理各种异常情况)

15%

4

创新性(有特色,有自己的创意)

15%


  1. 平时成绩的评分标准

项目

评分标准

考勤(5%

旷课一次扣3分,迟到或早退一次扣1分,请假一次扣2分,扣完为止

提问(5%

主动回答问题且回答正确,加3

主动回答问题但不正确,加1

被叫回答问题且回答正确,加2

被叫回答问题但不正确,不加分

加满为止

实验报告(10%

优(8~10分):书写规范,过程完整,结果或结论正确

良(6~8分):过程完整,结果或结论正确

及格(4~6分):过程完整,部分结果或结论正确

不及格(0~4分):过程不完整,结果或结论不正确

阶段上交子项目(10%

参照课程设计的评分标准


八、教材和参考书

1、教材名称:易学易教C语言——C语言程序设计基础 朱建芳等主编 广州 华南理工大学出版社 20068月第1 高职高专教材

2、参考资料:

1)《C语言程序设计》谭浩强著,高等院校计算机应用技术规划教材,清华大学出版社,200510

2)《Visual C++ 6.0技术内幕》,David J.Kuglingski著,北京希望电子出版社,20023

3)《嵌入式系统的C程序设计》,艾克武等译,嵌入式系统设计丛书,机械工业出版社,20021



编制人:王越超

编制单位:电子工程系

编制日期:200831

审定人(教研室主任):林励平

实训大纲:      

         

《嵌入式系统程序设计基础(C语言)》实验教学大纲

课程名称:嵌入式系统程序设计基础(C语言)

学    时:36

适用专业:应用电子技术

  • 课程性质与任务

课程的性质:实验课

课程的任务:通过教学,使学生了解与掌握C语言概述,C语言的数据类型、运算符与表达式;了解C语言的三种设计结构;了解与掌握数组、函数、预处理命令、指针的使用;学会使用结构体与共用体、位运算;学会文件操作;学会使用C语言来编写计算机程序、能总结常见错误、并能对程序进行调试;学会进行嵌入式系统的简单开发与设计。

  • 先修课程

《计算机体系结构》中单片机的基本硬件结构、指令系统以及汇编语言编写程序的技巧;微机的基本组成、工作原理、以及与常用外设的硬件连接等知识。

《计算机应用基础》中硬件及软件基础。

  • 课程基本要求

编号

能力训练项目

能力训练二级项目

拟实现的能力目标

相关支撑知识

训练方式手段及步骤

结果

1

熟悉嵌入式C语言集成环境

1.1 认识C程序

(1)学会VISUAL C++6.0软件的安装

(2)能够学会C程序的基本结构

(3)能够编写可读性良好的C程序

(1) 了解C语言的发展简史和特点

(2)简单的C程序的基本结构

(3)C程序中的单词

(4)程序可读性的要求

老师操作、学生模仿、独立练习

VISUAL C中建立的C项目

1.2 C程序的运行与调试

(1)能够掌握C程序设计的基本步骤

(2)能够使用VISUAL C++运行与调试C程序

(1)C程序设计方法

(2)C程序编辑、编译、运行和调试的一般过程

(3)C程序错误调试方法

2

移植项目中顺序结构部分的实现

2.1 利用只有一个任务MyTask的嵌入式应用程序介绍C语言的数据类型

能够识别C语言中不同的数据类型,能够定义自己的变量

(1)常量与变量的概念、分类及变量初始化的方法

(2)整型数据、实型数据、字符数据、字符串数据

(3)各类数值型数据间的混合运算规则

同上

读懂嵌入式程序中的基本语法单元,能够运行的顺序结构的嵌入式C程序模块

2.2利用只有一个任务MyTask的嵌入式应用程序介绍C语言的各种运算符及表达式

能够识别C语言中不同的运算符和表达式,能够判断C语句的运行结果

(1)算术运算符、自增与自减运算符

(2) 赋值运算符、关系运算符、逻辑运算符

(3)熟悉运算符优先级与结合性

2.3 利用只有一个任务MyTask的嵌入式应用程序中实现字符的输出

能够在UC/OS-IIPC模拟环境中进行顺序结构设计,输出字符

(1)C语句概述

(2)结构化程序设计方法

(3)赋值语句

(4)数据输入输出

(5)顺序结构程序的设计方法

3

移植项目中选择结构部分的实现

3.1 利用if语句实现嵌入式应用程序的退出

能够使用if语句设计选择结构的程序

(1) 熟悉If语句的格式及应用的几种形式。

(2)掌握if语句嵌套应用的方法。

(3)掌握条件运算符的应用

同上

能够运行的选择结构的嵌入式C程序模块

3.2利用switch语句实现嵌入式应用程序任务的切换

能够使用switch多分支语句实现程序选择功能

(1) switch语句的语法

(2)多分支结构程序设计方法

4

移植项目中任务调度的实现

4.1 利用循环语句实现无限循环结构的任务

能够判断循环次数,能够在嵌入式系统中使用循环结构设计程序

(1)循环概念和循环执行过程

(2)WHILE语句、DO-WHILE语句、FOR语句的用法

同上

能够运行的多个嵌入式任务模块

4.2 利用循环的嵌套和break语句实现嵌入式任务的退出

能够使用嵌套的循环语句、break语句和continue语句实现循环的控制

(1) Break语句与continue语句的区别和联系

(2)嵌套循环的用法

4.3 利用数组实现任务堆栈与任务就绪表

能够使用一维数组进行堆栈等数据结构的设计

一维数组与二维数组的定义和引用

4.4 利用函数OSTaskCreate()创建任务

能够使用函数的定义和调用来调用嵌入式系统函数实现特定功能

(1)库函数

(2)函数的定义

(3)函数的返回值

(4)函数的调用

(5)理解实参与形参的对应关系

4.5 利用结构体实现任务控制块与任务控制块链表

能够使用结构体定义和引用复合数据类型

(1)结构体类型

(2)结构体数组的定义和引用

5

滚动字幕项目在PC机上的实现

5.1 利用字符数组、字符串、字符串指针在嵌入式操作系统中实现不同字符的输出

能够使用字符串、字符串指针在任务中控制字符输出顺序

(1)字符数组与字符串

(2)指针和指针变量

(3)数组指针

(4)字符串数组

(5)结构体指针

同上

PC机上模拟实现的项目文件

5.2 利用多任务切换与清屏任务在嵌入式操作系统中实现字幕滚动的输出效果

能够使用系统提供的库函数如任务挂起、恢复;屏幕初始化、清屏、字符输出等在多任务高度中控制字符输出效果

(1)库函数

(2)函数的调用

(3)C语言的结构化编程技巧

6

滚动字幕项目的移植

6.1利用编译预处理方法和文件操作对嵌入式操作系统进行裁剪

能够根据51单片机的操作系统环境,对相关的移植文件进行修改和配置

(1)编译预处理

(2)文件包含

(3)条件编译

(4)文件的打开与关闭

(5)文件的读写

同上

能够在51单片机上运行的项目文件

6.2 将滚动字幕项目在单片机上实现

能够使用嵌入式C语言的综合知识最终在嵌入式终端设备—51单片机上运行、调试项目

(1)C语言综合应用

(2)算法的概念

(3)程序调试的技巧

(4) 51单片机开发环境下的编程方法

  • 考核方式

实验考核以课程设计为主,课程设计贯穿整个学期,每次课的小项目最后构成一个大的、完整的作品,整理完善时间是最后2周。

第一部分:在VISUAL C中建立的C项目、能够运行的顺序结构的嵌入式C程序模块部分、能够运行的选择结构的嵌入式C程序模块部分、能够运行的多个嵌入式任务模块部分、在PC机上实现的“滚动字幕”效果的模拟项目文件

第二部分:能够在51单片机上实际运行的项目(包括单片机硬件与经移植写入的软件项目)

课程设计的评分标准(100分)

第一部分50分,第二部分50分。评分标准见下表:

序号

内容

比例

1

正确性(作品能够实现课程设计要求的主要功能)

35%

2

可读性(符合程序设计规范,有明确的注释,模块划分合理)

35%

3

健壮性(能处理各种异常情况)

15%

4

创新性(有特色,有自己的创意)

15%

  • 教材和教学参考书

实验教材: 自编。

实验教学参考书:

1、易学易教C语言——C语言程序设计基础 朱建芳等主编 广州 华南理工大学出版社 20068月第1 高职高专教材

2、《C程序设计题解与上机指导》(第二版)谭浩强 清华大学出版社 20009月第二版

编制人:王越超

编制单位:电子工程系

编制日期:2008-3-1

审定人(教研室主任):林励平


老师团队
  • 王越超

    这家伙很懒,什么也没留下