C语言与汇编语言在单片机教学中的融合应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年05月第14期
科技视界
SCIENCE &TECHNOLOGY VISION 科技视界Science &Technology Vision
0引言
各高等院校普及单片机及其相关知识,对增加学生知识
面,开拓学生就业面,起到了积极有效的促进作用。
但是,单
片机这门课程综合性强,内容抽象,学起来艰涩难懂,对实验设备和多媒体综合运用的能力要求高,教与学都遇到了很大的困难。
“单片机原理及应用”是工科专业的一门主要专业课程,并且主要以8位51单片机为基础,长期以来国内高校都在该课程的教学创新上苦下功夫,使单片机的应用在学生的就业上获取优势,并且此课程的创新教育对人才创新有良好的促进作用。
1单片机课程教学的现状
目前,我国高等院校在单片机的教学中普遍的教学手段都是以理论讲解为主,大部分时间都是老师在讲理论知识,学生虽然也能听懂,但是往往是一知半解,学完以后还是对单片机的概念很模糊,要求自己独立开发程序就更是不可能完成的任务。
笔者所在学校的电子信息专业培养方案上《单片机原理与应用》一直开设在大学三年级下学期,即第六个学期。
在大学的前几个学期的课程教育中,C 语言的学习和汇编语言的学习是两个独立的课程。
C 语言在大学课程中是最早学习的
编程语言,是建立在计算机编程的基础上进行讲解学习的。
而汇编语言在微机原理课程中的学习中会有大量应用。
笔者曾经用汇编语言贯穿整个单片机课程的教学,结果教学效果一般,而且因为汇编语言的冗长和庞杂,讲解一个稍微复杂的程序非常耗时,在短短的一个学期内,很难完成单片机及其外围模块电路应用的教学任务。
此后,笔者所采用的是使用Proteus 单片机仿真软件与Keil C51相结合采取案例教学的方法,该方法教学效果突出,有一个很大的优势就是能使学生较快的掌握单片机的一些基本应用,并独立完成编程设计。
笔者所教电子系学生,更注重的是对硬件的掌握和开发,但是因为C51语言未对单片机的内部硬件结构模块直接操作,只是加速了学生的编程思维,导致对硬件学习的间接忽视,而且因为对硬件结构没有一个形象和深入的认识,常常在单片机课程学习结束后学生仍然对单片机内部硬件模块原理一知半解,对单片机和外围模块的应用设计能力的提高有不小的影响。
2C 语言和汇编语言的特点
C 语言和汇编语言是单片机应用系统开发常用的编程工
具。
C 语言作为一种高级语言,其优点是C 程序由函数构成、数据类型和运算符丰富、面向应用、结构简洁和较强的可移
C 语言与汇编语言在单片机教学中的融合应用
程娅荔
王巧玲
(井冈山大学电子信息与工程学院电子系
江西
吉安
343000)
【摘
要】本文讲述了在《单片机原理及应用》课程教学的特点,根据C 语言和汇编语言各自的优点,提出了在单片机教学
中融合应用C 语言与汇编语言的教学方法。
【关键词】C 语言;汇编语言;教学方式
The Integration of C Language and Assembly Language in the Course Principles and Applications of the Single Chip Microcomputer 【Abstract 】Based on the characteristics of the course Principles and Applications of the Single Chip Microcomputer and the ad⁃vantages of C language and assembly language,the teaching method of integrating both C language and assembly language in the course Principles and Applications of the Single Chip Microcomputer is proposed.
【Key words 】C language;Assembly language;Teaching method
※本论文为井冈山大学校级教学改革项目———C 语言与汇编语言在单片机教学中的融合应用课题的论文成果,课题编号:XJJG-11-38。
作者简介:程娅荔(1982—),女,汉族,江西吉安人,硕士,助教,主要研究方向为人工智能与图像处理。
王巧玲(1979—),女,汉族,江西吉安人,硕士,中级,主要研究方向为计算机通信与图像处理。
项目与课题
25
. All Rights Reserved.
SCIENCE &TECHNOLOGY VISION
科技视界2012年05月第14期
科技视界
Science &Technology Vision
植功能。
汇编语言比较直观,能够直接对硬件进行操作,目标代码质量高,程序的执行效率高;生成的机器代码简洁、占ROM 空间少,适用于一些对时序要求特别精确的场合;是学习如DSP(数字信号处理)等后续课程的基础,有利于学生深
入理解单片机的内部结构及工作原理。
3C 语言与汇编语言融合应用的方法
笔者在单片机课程教学中通过对两种语言的融合使用,更加系统、全面地丰富单片机课程的内涵,使学生从整体上更好地理解和应用单片机。
在整个单片机课程的学习中抓住各章节的重点,在不同章节使用不同的语言进行讲解,章节讲解遵循的原则为:用汇编语言讲解的章节着重分析单片机的内部硬件原理,用C51讲解的章节着重单片机硬件的具体应用与功能实现。
3.1
存储器结构
51系列单片机的存储器有ROM 和RAM 大小之分,由于单片机的RAM 和CPU 速度的限制,在编程时尤其要兼顾到单片机硬件基础。
在以往C 语言的学习中,学生很少会注意到数据类型定义的差别给程序执行带来的影响,常常使用范围较广的数据类型,如无符号整形,就要占用16位的空间,而且也不会注意数据是存放在片内还是片外扩展空
间。
图151单片机I/O 口中P1口单引脚结构51系列处理器皆以8位为主,所以在汇编语言中的数据
的存放是以8位为一个单元,因此在C 语言中定义时大都以8位的数据范围为主要的数据类型结构。
汇编语言中有MOV,MOVX,MOVC 三条存储器数据传递指令,由于内部和外部ROM 的地址是连续的,故用MOVC 一条指令即可;片内
数据存储器与片外数据存储器的地址部分(0000H-00FFH)是重叠的,所以用MOV 和MOVX 加以区分。
在讲解存储器结构时,使用汇编语言可以利用指令上的差异,使学生对单片机存储器的逻辑和物理结构都有一个深入的认识。
对课程后期单片机外围模块存储器扩展的硬件连接和软件编程的理解有良好的促进作用。
3.2
I/O 口结构
这是51单片机I/O 口中P1口单引脚结构,I/O 口都有输入和输出双向功能,输入功能有一种是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,在汇编语言中JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
这类操作的执行大都要有内部寄存器A 辅助,汇编语言可以加深对读锁存器的了解。
输入功能另一种便是直接读取I/O 口上的状态,常常在键盘设计的编程中使用,据以往的教学经验,因为C 语言赋值语句的直接性,学生们常常会忘记先要读入I/O 口引脚状态,而直接赋值,导致程序出错还往往不知道原因何在。
运用汇编语言中专门的数据传递指令,可以形象得知该I/O 口是输入或是输出用,在汇编语言中可以很清晰地得知目的操作数和源操作数的区别,学生们在对引脚状态判断时,会自动读取I/O 口的数据,所以在教学I/O 口输入输出基本应用时,先通过汇编语言的简单编程使学生们对I/O 口双向性的应用和不同的编程方式有一个具体的了解,再转换为C 语言编程会达到事半功倍的效果。
在学习51单片机的学习中对I/O 口方向性的学习加以重视,对以后学习PIC 和AVR 等需确定方向性嵌入式应用有很大的帮助。
4结语
笔者所教学的是电子专业的学生,对硬件的熟悉掌握更甚于软件的使用,通过C 语言与汇编语言在单片机教学中的融合应用,是学生对单片机内部硬件模块原理熟练掌握,并且举一反三,在类似元器件应用设计中可以借鉴运用。
通过汇编和C 语言在教学中的融合应用,培养学生快速的低级和高级
语言的转换思维,提高对汇编语言和C 语言编程能力。
【参考文献】
[1]马斌,韩忠华,王长涛,夏兴华.单片机原理及应用:C 语言程序设计与实现[M].北京:人民邮电出版社,2009.[2]赵念强,鲍可进.单片机原理及应用教学改革实践[J].计算机教育,
2008(24):9.
[责任编辑:周娜]
项目与课题
. All Rights Reserved.。