02-单片机C语言程序设计师岗位培训大纲

更新时间:2023-12-09 10:14:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机C语言程序设计师岗位培训大纲

前 言

《中华人民共和国职业教育法》第一章第八条规定“在我国实行学历证书、培训证书和职业资格证书制度。国家实行劳动者在就业前或者上岗前接受必要的职业教育的制度”。

国务院《关于大力推进职业教育改革与发展的决定》中强调要“注重培训受教育者的专业技能、钻研精神、务实精神、创新精神和创业能力,培养一大批生产、服务第一线的高素质劳动者和应用人才。”决定中还指出:“大力推进劳动预备制度,严格执行就业准入制度。用人单位招收录用职工,属于国家规定实行就业准入控制的职业(工种),必须从取得相应学历证书或职业培训合格证书并获得相应职业资格证书的人员中录用;属于一般职业(工种),必须从取得相应的职业学校学历证书、职业培训合格证书的人员中优先录用。从事个体工商经营的,也必须接受职业教育和培训。劳动保障、人事等部门要加大对就业准入制度执行情况的监察力度。加强监督管理,对违反规定,随意招收未经职业教育或培训人员就业的要责其纠正并给予处罚。”

为了贯彻落实《中共中央国务院关于进一步加强人才工作的决定》(中发[2003]16号)精神,实施人才强国战略,加快高技能人才队伍建设,劳动和社会保障部决定在全国实施国家高技能人才培训工程的基础上,从2004年到2006年的三年内,在制造业、服务业及有关行业技能含量较高的职业中,实施50万新技师(包括技师、高级技师和其他高等职业资格人才)培训计划,通过企业岗位培训、学校培训教育、个人岗位提高相结合的方式,加快培养企业急需的技术技能型、复合技能型人才,以及高新技术产业发展需要的知识技能型人才,并以此推动技能人才队伍的整体建设,带动各类高、中、初技能人员梯次发展,形成“培养快、使用好、待遇高”的高技能人才培训与使用激励机制。在“十一五”规划中,又加大了对高新技能人才的培养力度。

劳动和社会保障部中国就业培训技术指导中心CETTIC职业培训项目开发办公室开发和推行的《全国CETTIC职业岗位培训合格证书》是适时的、必要的。这不仅仅是建设和完善我国职业教育体系,贯彻执行我国这些基本制度的需要,同时也是全面提高我国劳动大军整体素质,特别是高技能紧缺人才培训市场的需求。按照规定,受训者通过培训和考核,合格者可以获得劳动和社会保障部中国就业培训技术指导中心统一颁发的《全国CETTIC职业岗位培训合格证书》。此证书可以作为培训学员从业的凭证;也可以作为申请职业技能鉴定时,接受过相关职业资格培训的证明。

劳动和社会保障部中国就业培训技术指导中心CETTIC职业培训项目开发办公室根据相关规定,结合试点工作的实践经验,对CETTIC职业岗位培训课程的培训大纲进行了探索、研究与编写。目前,对已编写的本大纲开始试用。本大纲是该课程编写教材、进行教学、考试考核的依据,各培训机构应认真贯彻执行。

教学实习部

I 课 程 说 明

一、课程性质与特点

本课程是全国CETTIC职业岗位培训的必修课程,是为了使受训者具备职业岗位从业的基本素质,以达到合格的从业人才标准而设置的一门职业岗位培训课程。

本课程以职业岗位活动为核心,以职业岗位技能为主线。课程内容模块化,直指岗位,具有较强的针对性;培训方式多样化,面授与远程教育相结合,课堂与场境相结合,注重身临其境动手操作,达到所学与岗位所需0距离。

二、课程目标与要求

1、本课程总体要求有三个层面,即:了解、理解、掌握。

A 了解:通过本课程的学习,学员能够了解本岗位的基本功能,从业人员应具备的基本素质; B 理解:通过本课程的学习,学员能够理解本岗位要求的知识模块和工作内容; C 掌握:通过本课程的学习,学员能够掌握本岗位的工艺流程和技能技巧。 2、本课程的具体要求

A 本课程结构分为章、节、单元。“章”对应岗位功能;“节”对应岗位工作内容;“单元”对应岗位技能要求,相关知识要求以及安全、环境等其它方面的要求。

B 本课程内容分为三部分,即:通用知识(岗位知识、职业道德、相关法规);实务知识(发生过的案例分析与点评);实践技能(事件过程、环节及流程)。

C 本课程学时安排:总学时为90学时,其中,通用知识所占学时比重为六分之一;实务知识所占学时比重为六分之二;实践技能所占学时比重为六分之三。

D 考试考核以闭卷、论文答辩、实操等形式综合评定,总分为300分。其中,通用知识部分采用闭卷考试形式,计50分(含相关法律法规、诚信教育);实务识部分采用闭卷、论文答辩等形式结合进行,计100分;实践技能部分采用论文答辩、实际操作、模拟现场等形式进行,计150分。

Ⅱ 课 程 培 训 内 容

第一章 单片机基础知识

培训要求与内容

了解8051单片机的特点、存储器组织、内部资源、芯片引脚、寻址方式及指令系统;理解JMP256分支转移程序、MATRIX查找程序及通过堆栈传递参数的程序设计方法;掌握8051单片机的工作方式、外部存储器的扩展方法。

1.1 8051单片机的特点 1.2 8051的内部结构

1.2.1 中央处理器

1.2.2 存储器组织 1.2.3 片内并行接口 1.2.4 8051的内部资源 1.2.5 8051的芯片引脚

教学实习部

2

1.2.6 单片机的工作方式 1.3 8051的系统扩展

1.3.1 外部总线的扩展

1.3.2 外部程序存储器的扩展 1.3.3 外部数据存储器的扩展 1.4 8051指令系统

1.4.1 寻址方式 1.4.2 指令说明 1.4.3 伪指令

1.4.4 指令系统表 1.5 实用程序设计

习题一

1、8051单片机由哪几部分组成?

2、DPTR是什么特殊功能寄存器?这是几位寄存器? 3、什么是堆栈?堆栈指针SP的作用是什么?

4、8051单片机对外有几条专用控制线?其功能是什么? 5、8051四个并行接口各自的功能是什么?

6、为什么外扩存储器时,P0口要外接锁存器,而P2口却不接?

7、试编写程序,将内部RAM的20H、21H、22H连接三个单元的内部依次存入2FH、2EH和2DH单元。

8、编写程序,若累加器内容分别满足以下条件,则程序转至LABEL存储单元。 ①A>=0 ②A<10

9、试编写程序,查找在内部RAM的20H~50H单元中是否有0AAH这一数据。若有这一数据,则将51H单元置为01H;若未找到这一数据,则将51H置为00H。 10、有10组三字节的被加数和加数,分别存放于从FIRST和SECOND开始的区域中,编程求这10组数的总和,并将其存入以SUN开始的单元,先存低位和。设和为四字节数。

第二章 C与8051

培训要求与内容

了解Cx51编译器、KEIL 8051开发工具;理解C语言与汇编语言的优缺点;掌握Cx51程序结构。

2.1 8051的编程语言

2.2 Cx51编译器

2.3 KEIL 8051开发工具 2.4 KEIL Cx51编程实例 2.5 Cx51程序结构

习题二

1、C语言的优点是什么?

2、写出一个Cx51程序的构成。

3、C语言程序主要的结构特点是什么?

4、C语言以函数为程序的基本单位,这有什么好处? 5、为什么本书中不包括BASIC例子和PL/M例子?

6、为什么当前会出现以C语言取代汇编语言的发展趋势? 7、结合使用的C编译系统说明C语言程序的开发过程。 8、Cx51程序的编程要点有哪些?

教学实习部

3

第三章 Cx51数据与运算

培训要求与内容

了解数据类型、常量与变量;掌握8051存储器结构、SFR、并行接口、位变量等与Cx51的定义,掌握Cx51的运算符、表达式及其规则。

3.1 数据与数据类型

3.2 常量与变量

3.3 Cx51数据的存储类型与8051存储器结构 3.4 8051特殊功能寄存器(SFR)及其Cx51定义 3.5 8051并行接口及其Cx51定义 3.6 位变量(BIT)及其Cx51定义

3.7 Cx51运算符、表达式及其规则

3.7.1 Cx51算术运算符及其表达式

3.7.2 Cx51关系运算符、表达式及优先级 3.7.3 Cx51逻辑运算符、表达式及优先级

3.7.4 Cx51位操作及其表达式

3.7.5 自增减运算符、复合运算符及其表达式 习题三

1、哪些变量类型是8051单片机直接支持的?

2、下面给出的数中哪些是错误的表示?在正确表示的数中指出整数或浮点,以及十进制、八进制或十六进制数。

1524; 0398; -5.0; 241; 2.876; 043.2; 7f; 4.3E10; 0xff;8L; e-12; 0x8.d7; 4e5; 0x4e5; 25.0325; -3.27521e-8; 0x372; .0321; 0; 0f35d。

3、8051主要的存储空间是什么?为什么两个RAM空间不同?

4、编一段程序,把8位口新的输入值和前一次的输入值进行比较,然后产生一个8位数。这个数中的位为“1”的条件是:仅当新输入的位为“0”,而前一次输入的位为“1”。 5、C中的类型是怎么分配的?什么是赋值操作?

6、按给定的存储类型和数据类型,写出下列变量的说明形式。 Up,down 整数,使用堆栈存储;

First,last 浮点数,使用外部数据存储器存储;

Cc,ch 字符,使用内部数据存储器存储。

7、判断下列关系表达式或逻辑表达式的运算结果(1或0)。 ①10==9+1; ②0&&0; ③10&&8; ④8||0; ⑤!(3+2); ⑥设x=10,y=9;x>=8&&y<=x。 8、设x=4,y=8,说明下列各题运算后,x,y和z的值分别是多少? ①z=(x++)*(--y); ②z=(++x)-(y--); ③z=(++x)*(--y); ④z=(x++)+(y--);

第四章 Cx51流程控制语句

培训要求与内容

了解顺序、分支、循环结构及流程图;掌握分支语句、循环语句在8051中的编程应用。

4.1 C语言程序的基本结构及其流程图

4.1.1 顺序结构及其流程图

教学实习部

4

4.1.2 选择结构及其流程图 4.1.3 循环结构及其流程图 4.2 选择语句

4.2.1 选择语句 if 4.2.2 switch/case语句 4.3 循环语句

4.3.1 while语句 4.3.2 do while语句 4.3.3 for循环语句 习题四

1、如何编程可以不使用goto语句,而从do或for的循环中提前退出?

2、什么是结构化程序设计?结构化程序的书写格式有什么特点? 3、非结构化语言中存在的缺陷是什么?

4、在结构化语言中是否需要goto语句是争论的话题。什么情况下使用goto比使用其他结构可能更容易处理? 5、C中的while和do while的不同点是什么?

6、若在C中的switch操作漏掉break,会发生什么? 7、编写编程,输出x数据表,x为0~10。

8、用三种循环方式分别编写程序,显示整数1~100的平方。

3

第五章 Cx51构造数据类型

培训要求与内容

了解数组、指针、结构、联合等概念;掌握结构、指针、数组在C语言中的应用方法。

5.1 数组

5.1.1 一维数组 5.1.2 二维数组 5.1.3 字符数组 5.1.4 查表

5.1.5 数组与存储空间 5.2 指针

5.2.1 指针的基本概念

5.2.2 数组指针和指向数组的指针变量 5.2.3 指向多维数组的指针和指针变量 5.2.4 关于KEIL Cx51的指针类型 5.3 结构

5.3.1 结构的定义和引用 5.3.2 结构数组

5.3.3 指向结构类型数据的指针 5.4 共用体 5.5 枚举

习题五

1、10个元素的int数组要有多少字节?它们是低位字节一组,然后高位字节一组,还是字节

对?若数组在2020H开始放置,在哪个位置能找到[5]的2个字节?

2、写出二维数组Data[2][4]的各个元素,按它们在内存中存储时的顺序排列?

教学实习部

5

3、对于8051,为什么多于2维的数组不常见?

4、8051中不同的存储空间是什么?同一地址可以表示不同的空间吗? 5、怎样使用指针解决不同存储空间的问题?所采用的折衷方案是什么? 6、数组和指针有什么区别?

7、结构的数据特征是什么?在什么场合下使用结构处理数据? 8、设计一个结构保存坐标值(假设要x-y空间画图)。

第六章 Cx51函数

培训要求与内容

了解函数的概念、分类、参数及其函数值;理解函数值的传进、传出和变量的存储类型及作用域;掌握函数调用的方式及其方法。

6.1 函数的分类 6.2 函数的定义

6.3 函数的参数和函数值 6.4 函数的调用

6.4.1 函数调用的一般形式 6.4.2 函数调用的方式 6.4.3 对被调用函数的说明 6.4.4 函数的嵌套和递归调用 6.4.5 函数的递归调用

6.4.6 用函数指针变量调用函数 6.5 数组、指针作为函数的参数

6.5.1 用数组作为函数的参数

6.5.2 用指向函数的指针变量作为函数的参数 6.5.3 用指向结构的指针变量作为函数的参数 6.5.4 返回指针的函数

习题六

1、C语言中函数有什么特性?函数的存储类型和数据类型的意义是什么? 2、试总结指针在函数间数据传递中的重要作用?

3、作为函数形式参数使用的数组名具有什么特征?它们的使用特点是什么? 4、“Driver”是什么?它的优点是什么?

5、当一个函数需要返回多于一个值时,可以怎么做?

6、为什么8051的C函数printf( )比“大”地址空间的计算机更复杂? 7、编写把十六进制字符串s变换成整数值返回的函数htoi(s)。

8、设计并初始化一个具有2个元素的2维数组保存图画(如正方形)的x-y坐标值。然后设计一个画图函数。标明怎样调用函灵敏画正方形?

第七章 模块化程序设计

培训要求与内容

了解程序的组成、常用术语、文件命名规则、模块编程的优点及开发过程;掌握程序的汇编、编译、库和链接器/定位器、混合编程及程序的优化。

7.1 基本概念

7.1.1 程序的组成 7.1.2 常用术语

教学实习部

6

7.1.3 文件命名常规 7.2 模块化程序开发

7.2.1 采用模块编程的优点 7.2.2 模块化程序开发过程 7.3 汇编和编译

7.3.1 使用汇编语言的模块化设计 7.3.2 使用C语言的模块化设计 7.4 覆盖和共享

7.4.1 覆盖 7.4.2 共享 7.5 库和链接器/定位器 7.5.1 库

7.5.2 链接器/定位器 7.6 混合编程

7.6.1 混合编程介绍

7.6.2 参数传递

7.6.3 混合编程实例 7.6.4 根据硬件环境的配置 7.7 程序优化 习题七

1、为什么使用模块化程序设计?

2、允许从一个模块中调用另一模块的程序,这两个模块必须怎么做?

3、什么样的程序通常放在“库”中?当库中的文件比链接器所需要的多时会怎么? 4、混合编程应注意的是什么?

第八章 8051内部资源的C编程

培训要求与内容

了解程序的中断控制、定时器/计数器的工作方式、串行口工作方式及初始化;掌握针对8051系列内部资源中断、定时器/计数器和串行口的编程方法及其应用。

8.1 中断

8.1.1 中断源

8.1.2 中断的控制 8.1.3 中断响应

8.1.4 寄存器组切换 8.1.5 中断编程

8.2 定时器/计数器

8.2.1 与T/C有关的特殊功能寄存器

8.2.2 定时器/计数器的工作方式 8.2.3 定时器/计数器的初始化 8.2.4 定时器/计数器的应用实例 8.3 串行口

8.3.1 与串行口有关的SFR

8.3.2 串行口的工作方式 8.3.3 串行口初始化

教学实习部

7

8.3.4 串行口应用范例 习题八

1、什么是中断、中断源和中断优先级? 2、8051的中断响应过程是怎么样的?

3、8051的中断系统如何实现两级中断嵌套?

4、8051定时器方式和计数器方式的区别是什么?

5、时间溢出和时间间隔的区别是什么?何时采用时间间隔合适?

6、用8751制作一个模拟航标灯,灯接P1.7口上,INT0接光敏元件。使它具有如下功能: ①白天航标灯熄灭;夜间间歇发光,亮2s,灭2s,周而复始。 ②将INT0信号作为门控信号,启动定时器定时。 7、用单片机和内部定时器来产生矩形波。要求频率为100Hz,占空比为2:1(高电平的时间长)。设单片机时钟频率为12MHz,写出有关的程序。 8、8051系列单片机用什么提供串行通信的定时?

第九章 8051扩展资源的C编程

培训要求与内容

了解外围定时器8253、并行接口8255、可编程接口芯片8155及实时时钟/日历芯片146818的内部结构和功能引脚;掌握8051扩展资源的编程接口及设计方法。

9.1 可编程外围定时器8253

9.1.1 8253的结构和引脚 9.1.2 8253的工作方式和控制字 9.1.3 8253与8051的接口 9.2 可编程外围并行接口8255

9.2.1 8255的结构和引脚

9.2.2 8255的命令字和工作方式 9.2.3 8255与8051的接口 9.3 实时时钟/日历芯片146818

9.3.1 MC146818芯片的引脚 9.3.2 片内结构和寄存器 9.3.3 MC146818与8051的接口电路 9.4 可编程接口芯片8155

9.4.1 8155的结构和引脚

9.4.2 8155的命令字、状态字及工作方式 9.4.3 8155与8051的接口 习题九

1、与8051接口的8255片内4个端口地址(口A、口B、口C、命令口)分别为DFFCH~DFFFH。对8255编程初始化,并由口A输出数据AAH;由口B输入10个数到片内RAM区;由PC4位产生一个负脉冲,低电平宽度为10μs。

2、用单片机进行程序控制。很多过程,例如生产过程,都是按照一定顺序完成预定的动作。设某个生产过程有6道工序,每道工序的时间分别为10s、8s、12s、15s、9s和6s;设延时程序DYLA的延时为1s,用单片机通过8255的口A来进行控制。口A中的1位就可控制某一工序的起停。试编写有关程序。

3、在顺序控制过程中,有时还会需要一些告警信号,以便在出现不正常情况时进行处理。设单片机通过8155来进行控制,口A输出控制信号。设仍为6道工序,每道工序的时间

教学实习部

8

为10s。口C的某一位来接收告警信息,使用警铃或灯发出指示(只需1位输出)。试编写有关程序。

4、用单片机定时器进行定时以产生顺序控制信号。设仍为6道工序,每道工序的时间为10s。告警信号有两路接收到口C,用查询方法来获得告警信息。告警之后从口B送出控制信号,分别应为06H和05H。使用8155作为接口,试编写有关的程序,包括主程序和中断服务程序。

第十章 8051输出控制的C编程

培训要求与内容

了解DAC0832、AD7521的结构、功能、步机电机控制原理及工作方式;掌握输出控制通道的D/A变换和步进电机的控制编程。

10.1 8位D/A芯片DAC0832

10.1.1 DAC0832的结构和引脚

10.1.2 8051与DAC0832的接口电路 10.2 12位D/A芯片AD7521

10.2.1 AD7521的引脚

10.2.2 AD7521与8051的接口 10.3 步进电机控制

10.3.1 步进电机及其工作方式

10.3.2 步进电机与单片机的接口

习题十

1、对于12位D/A转换器,输出电压和参考电压的关系是什么?

2、什么样的D/A芯片可以直接和单片机数据总线接口?

3、编程实现由DAC0832输出的幅度和频率都可以控制的三角波,即从0上升到最大值,再从最大值下降到0,并不断重复。

4、用8051单片机和0832数模转换器产生梯形波。梯形波的斜边采用步幅为1的线性波,幅度为00H~80H,水平部分靠调用延迟程序来维持。写出梯形波产生的程序。 5、步进电机双三拍工作方式如何控制?试编制包含步数和转动方向的控制函数。

6、若步进电机变速控制,则输出控制脉冲、转动步数等都由中断服务程序完成,应如何修改?

第十一章 8051数据采集的C编程

培训要求与内容

了解ADC0809、AD574的结构、功能引脚、频率量的测量方法;掌握数据采集通道的A/D转换及V/F变换的编程方法。

11.1 8位A/D芯片ADC0809

11.1.1 ADC0809的结构和引脚 11.1.2 ADC0809与8051的接口 11.2 12位A/D芯片AD574

11.2.1 AD574的结构和引脚 11.2.2 AD574与8051的接口 11.3 V/F变换芯片AD650 11.4 频率量的测量

11.4.1 测量频率法

教学实习部

9

11.4.2 频率脉冲的测量周期法 习题十一

1、对于数据采集的模拟电压信号,哪些情况适合于A/D转换,哪些情况适合于V/F变换。 2、对0809进行数据采集编程。要求对8路模拟量连续采集24h,每隔10min采集一次,数据存放在外部数据存储器中。

3、为何不直接用AD650测量电压信号,而用相对的频率值换算被测电压?

4、用8051的计数器对V/F转换产生的频率信号进行频率测量。当fOSC=6MHz时,能够测量的脉冲信号的最高频率是多少?脉冲宽度的最小值是多少?

5、利用本章图11-3的接口电路,编写由ADC0809的通道6连续采集20个数据放在数组中的程序。 6、利用本章图11-6的接口电路,编写用AD574连续采集20个数据,除去最大值和最小值后求平均值的程序。

7、对于频率量的测量,何时采用测量频率法,何时采用测周期法?

第十二章 8051机间通信的C编程

培训要求与内容

了解通信接口、协议、硬件连接及通信约定;掌握点对点通信、多机通信的编程设计。

12.1 点对点的串行异步通信

12.1.1 通信双方的硬件连接 12.1.2 通信双方的约定 12.1.3 点对点通信编程 12.2 多机通信

12.2.1 通信接口

12.2.2 通信协议 12.2.3 通信程序

习题十二

1、并行数据通信与串行数据通信各有什么特点,分别适用于什么场合?

2、串行异步通信的数据桢格式是怎样的?这种通信方式的主要优、缺点是什么?

3、若8051的串行口工作在方式3,fosc=00.0592MHz,计算出波特率为9600时T/C1的定时初值。 4、若8051的串行口工作在方式2,编写一段从机向主机传送16字节数据和校验和的程序。传送前发联络信号。

5、设置8051的串行口工作方式3,通信波特率为2400,第9位数据用做奇偶校验位。在这种情况下,如何编写双工通信的程序?设数据交换采用中断方式,写出有关的程序。

第十三章 8051人机交互的C编程

培训要求与内容

了解8279接口芯片、TSP5220语音芯片、LCD/LED的内部结构和功能引脚,了解TPμp打印机的接口信号和打印命令;掌握键盘、语音芯片、人机界面LCD/LED与8051的接口及编程技术。

13.1 键盘和数码显示

13.1.1 行列式键盘与8051的接口 13.1.2 七段数码显示与8051的接口 13.2 可编程键盘/显示接口芯片8279

教学实习部

10

本文来源:https://www.bwwdw.com/article/o8y5.html

Top