技术标签: c语言单片机编程教学大纲
专业资料整理分享
单片机应用技术(C语言)教学大纲
一、说明
1、课程的性质和内容
本课程是高级技校应用电子专业的专业课。主要内容包括:认识单片机,点亮彩灯,简易数字钟,简易计算器,键控彩灯,简易频率计,单片机双机通信,简易波形发生器,简易数字电压表,移动字幕的制作,校园打铃系统。
2、课程的任务和要求
本课程的主要任务是让学生熟悉AT89S51系列单片机的硬件结构,会使用常见的单片机外围器件,会用单片机组成具有特定功能电子电路,能用C语言编程驱动单片机AT89S51完成各种基本控制功能,能用单片机实现简单的系统电路,具备初步的单片机应用开发能力。
通过本课程的学习,学生应达到以下几个方面的要求:
(1)熟悉单片机AT89S51的结构、引脚功能及工作原理。
(2)熟悉C语言程序的编写方法。
(3)能设计以单片机为核心、相关外围电路组成并能完成特定功能的电路。
(4)能根据单片机的工作原理和外围电路的功能要求进行软件设计,会分析程序设计思路和设计方法。
(5)具有初步的单片机控制应用系统硬件和软件设计能力。
3、教学中应注意的问题
(1)教学中注意以学生为中心,做到教师边讲解边演示,学生边学边练习实践,培养学生的应用开发能力。
(2)任课教师应根据本学校设备及学生的具体情况进行教学。
(3)在教学实施过程中,教师应多联系生产实际和相关课程,还可选用一些更合适的应用实例进行讲解,以激发学生的兴趣,培养学生解决实际问题的能力。
(4)教学中应根据学生情况掌握好讲练比例,充分利用多媒体设备、实验设备和实验电路等进行直观教学。
二、学时分配表
课题/任务
总学时
理论
实习
课题一 认识单片机
4
课题二 点亮彩灯
12
任务一 一只LED闪烁
2
任务二 跑马灯
2
2
任务三 任意变化的彩灯控制
2
4
课题三 简易数字钟
16
任务一 LED数码管的静态控制显示方式
2
任务二 LED数码管的动态控制显示方式
2
任务三 从0到9的加1计数显示
2
任务四 一位数字有规律变化的显示
2
任务五 0~99加法计数器
2
任务六 0~99 999 999加法计数器
2
任务七 24进制计数器
2
任务八 简易数字钟
2
课题四 简易计算器
8
任务一 单键控制的LED显示
4
任务二 简易计算器
4
课题五 键控彩灯
4
4
课题六 简易频率计
12
任务一 输出1000Hz的方波
4
任务二 每秒闪烁一次的LED
4
任务三 简易频率计
4
课题七 单片机双机通信
8
任务一 与PC通信
4
任务二 双机通信
4
课题八 简易波形发生器
8
任务一 输出指定电压
4
任务二 简单波形发生器
4
课题九 简易数字电压表
4
4
课题十 移动字幕的制作
14
任务一 用点阵LED实现移动字符显示
4
任务二 字符型液晶的使用
4
任务三 点阵LCD的使用
2
4
课题十一 校园打铃系统
12
任务一 实时时钟的使用
4
任务二 串行存储器的使用
4
任务三 校园打铃系统
4
合计
102
88
14
三、教学要求、内容及建议
课题一 认识单片机
教学要求
1、熟悉AT89S51的PDIP40\TQFP44和PLCC44三种封装形式,熟练掌握AT89S51单片机的各引脚功能。
2、掌握用AT89S51构成的单片机最小系统及各部分电路的功能。
3、认识实验电路板上的主要元器件包括AT89S51单片机、晶体振荡器、锁存器74HC573、MAX232芯片、RS-232串口端、数码管显示电路、发光二极写显示电路、键盘电路、排阻等元件。
4、会正确插装电路元件,能优质焊接电路元件。
5、会正确使用压线钳,良好压接连接线和下载线的金属插头;熟悉下载线的作有和使用方法。
教学内容
1、认识单片机AT89S51及引脚功能。
2、安装单片机最小系统及实验电路,并认识单片机最小系统的外围扩展电路。
3、正确无误地安装实验电路板和下载线,并进行检查。
教学建议
着重介绍AT89S51引脚功能。
课题二 点亮彩灯
教学要求
1、理解单片机端口控制外接彩灯电路的工作原理。
2、了解C51程序设计基本知识,掌握C51编写简单程序的方法。
3、掌握使用Keil软件实现C51的编辑、编译和检测所编写C程序,能输出程序的HEX文件。
4、使用软件将C51编译出的HEX文件下载到单片机,并运行观察结果。
教学内容
任务一:一只LED闪烁
任务二:跑马灯
任务三:任意变化的彩灯控制
教学建议
1、建议采用“提出任务→分析任务→单片外围电路设计分析→单片程序设计分析→完成任务→方法归纳总结→提高训练”的教学过程。
2、在分析和完成任务的过程中,由教师指点学生进行操作,。分析讲解完成,学生操作训练完成,再由学生总结方法和体会,完成复习和提高任务。
课题三 简易数字钟
教学要求
1、理解数码管的工作原理和显示编码。
2、掌握LED数码管的静态显示的控制方法。
3、掌握LED数码管的动态显示的控制方法。
4、理解数码管显示内容和变量取值之间的关系。
5、学会实现变量的值的控制(加,减)。
6、学会分析各种朝向计算和实现原理和会编写对应的程序。
7、理解简易数字钟。
教学内容
任务一:LED数码管的静态控制显示方式
任务二:LED数码管的动态控制显示方式
任务三:从0到9的加1计数显示
任务四:一位数字有规律变化的显示
任务五:0~99加法计数器
任务六:0~99 999 999加法计数器
任务七:24进制计数器
任务八:简单数字钟
教学建议
1、教学中,注意比较数码管显示与前面发光二极管显示的相似之处。
2、秩序渐进介绍计数和显示。
3、注意让学生理解动态显示原理及其实现方法,后面教学还将应用这方面的知识。
课题四 简易计算器
教学要求
1、理解机械按键的特性和实现按键消抖的方法。
2、理解单键控制功能的原理,会完成控制程序的编写。
3、理解矩阵键的识别原理,会实现矩阵键盘扫描程序的编写。
4、学会用矩阵键盘实现各种功能控制。
教学内容
任务一:单键控制的LED显示
任务二:简易计算器
教学建议
计算器的实现有难度时,也可选用其他键盘控制实例。
课题五 键控彩灯
教学要求
1、理解中断的概念,认识AT89S51单片机的三种中断源及对应的中断号。
2、掌握与中断相关的特殊功能寄存器TCON、IP、IE。
3、掌握中断程序的编写格式,懂得中断服务函数的执行条件和执行过程。
4、掌握外部中断的设置和对应的中断响应条件,会编写对应的中断服务程序。
5、学会外部中断的简要扩展应用。
教学内容
1、外部中断的概念
2、单片机的中断类型和中断处理。
3、中断的脉冲下降沿触发及其相关的编程方法
教学建议
1、中断的理解是一个教学难点,建议多举例分析。
2、建立特殊寄存器的概念,适当介绍特殊寄存器,让学生逐步认识、理解和正确应用特殊寄存器。
3、注意强调中断服务程序和其他程序之间的数据是通过全局变量进行传送。
课题六 简易频率计
教学要求
1、掌握定时器/计数器的原理,理解定时器/计数器的使用。
2、能用定时器/计数器编写定时程序及计数程序,会设置定时器/计数器中断的初始值。
教学内容
任务一:输出1000Hz的方波
任务二:每秒闪烁一次的LED
任务三:简易频率计
教学建议
1、注意区分外部中断和定时器/计数器中断的区别。
2、建议将课题二和课题三中的任务布置为课下作业,要求用定时中断服务程序的方式重新编写程序实现。
3、教学中简要介绍TA89S52与TA89S51的区别。
课题七 单片机双机通信
教学要求
1、掌握串行通信的原理。
2、掌握串口通信模式的设置。
3、能编写串口通信程序。
教学内容
任务一:与PC通信
任务二:双机通信
教学建议
1、本课题内容学习难度较大,考查学生对通信原理的理解。
2、教学中,注意强调串口仅能实现数据的传送,与传送的数控无关。
课题八 简易波形发生器
教学要求
1、熟悉常用D/A集成电路与单片机的连接。
2、理解D/A转换器将数字信号转换成模拟信号的工作原理。
3、能按要求编写程序驱动D/A工作。
教学内容
任务一:输出指定电压
任务二:简易波形发生器
教学建议
1、在教学中,注意加深学生对D/A(DAC0832)的工作原理和引脚功能的认识和理解。要求学生注意D/A的工作频率范围。
2、加深学生对串行D/A(DA5541)的引脚功能认识和工作原理的理解。
课题九 简易数字电压表
教学要求
1、理解A/D的工作原理,了解常用A/D(ADC0809)集成电路与单片机的连接。
2、能正确使用单片机编程控制A/D转换器。
3、实现数据转换并显示需要显示的输入电压或传感器的模拟量。
教学内容
1、A/D及A/D工作原理
2、A/D转换器与AT89S51之间的连接方法。
3、单片机控制A/D的实现原理
教学建议
1、要求学生注意A/D的工作频率范围。
2、要求学生注意单片机与A/D之间的电路连接与工作原理。
课题十 移动字幕的制作
教学要求
1、了解点阵显示器件的工作原理。
2、掌握单片机与汉字显示器件的连接。
3、能编写对应的字符显示驱动程序。
教学内容
任务一:用点阵LED实现移动字符显示
任务二:字符型液晶的使用
任务三:点阵LCD的使用
教学建议
1、要求学生注意点阵数据的获取方法。
2、在时间较少和实验条件不具备的情况下,LCD可简单介绍。
课题十一 校园打铃系统
教学要求
1、掌握实时时钟的设计和应用。
2、掌握I2C的控制原理和应用。
3、掌握用I/O端口模拟串行总路线。
教学内容
任务一:实时时钟的使用
任务二:串行存储器的使用
任务三:校园打铃系统
教学建议
1、在课时较少的情况下,可将本课题内容作为课程设计加以完成。
2、可单独利用实时时钟或I2C的其他器件进行举例讲解。
完美WORD格式编辑
展开阅读全文
文章浏览阅读497次。打开.wxml文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“HTML”打开.wxss文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“css”..._sumlime text 微信小程序代码高亮
文章浏览阅读7.1k次。使用环境:windows 7 下wampserver 3.2.0-64bitmysql版本8.0.18 端口号:3308php版本7.3.12测试的源码:<?php$servername = "localhost";$username = "root";$password = "root"; try { $conn = new PDO("mysql:host=..._运行php项目sqlstate[hy000] [1045] access denied for user ''@'localhost' (usi
文章浏览阅读1.3k次。H5分享_h5分享 代码怎么实现
文章浏览阅读210次。C语言实现牛顿插值法(附完整源码)_c语言利用插值法生成200个速度的数据
文章浏览阅读872次,点赞13次,收藏28次。大家好,小编来为大家解答以下问题,python一般用什么开发工具,python最好用的开发工具,今天让我们一起来看看吧!随着互联网的迅速发展,新技术不断创新,万物互联的时代,企业对IT人员的需求不断增加,很多想要进入IT行业的小伙伴经常会抱怨,想入门,却不知道从哪下手。,别着急,学习一门语言最难的永远是入门,今天小编就带大家一起看看Python常用的编程开发工具有哪些~有一个好的开发工具可以大大的提高编程开发的效率,目前市面上经常用到的Python编程开发工具有PTVS、集成开发环境等。
文章浏览阅读4.5k次。IDEA和scala的安装配置hadoop和spark安装配置WordCount程序无法新建scala类创建了一个Scala的sbt项目,但是在点击右键——new——的时候,没有Scala Class这个选项,怎么办?选择你的项目,然后点击右键——Project Structure——Libraries,接着点击+,选择Scala SDK,最后选择你的scala版本就可以了。运行报错..._spark,idea,scala
文章浏览阅读429次。制作拉链表step以订单表为例1、 拉取线上mysql订单表以初始化拉链表2、 以后每天仅需要拉取当天创建或者当天更新的数据,放入增量表中3、 拉链表的更新分为两部分part1 增量表中的新增的记录(历史从未出现,即create_time=当天)part2 拉链表left join增量表,获取历史出现当天更新的数据,将历史数据关链insert overwrite order_ch..._hive创建拉链表
文章浏览阅读1.9w次,点赞8次,收藏40次。python的 uniform 函数_python uniform函数
文章浏览阅读4.4w次。基于数据库表要实现分布式锁,最简单的方式可能就是直接创建一张锁表,然后通过操作该表中的数据来实现了。当我们要锁住某个方法或资源时,我们就在该表中增加一条记录,想要释放锁的时候就删除这条记录。创建这样一张数据库表:当我们想要锁住某个方法时,执行以下SQL:因为我们对method_name做了唯一性约束,这里如果有多个请求同时提交到数据库的话,数据库会保证只有一个操作可以成..._java 基于数据库的分布式锁
文章浏览阅读1.6k次,点赞55次,收藏10次。`docker exec -it bash`:进入容器内部的bash shell进行交互式操作。- `docker build -t .`:使用当前目录下的Dockerfile构建镜像。- `docker container run `:基于指定镜像启动一个新的容器。- `docker container logs `:查看容器的日志输出。
文章浏览阅读1.3k次。本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中。1、VS2010建立VC++ win32控制台项目2、在工程目录下建立lib目录和include目录,将已编译好的lib拷打lib下,include拷到include下,dll拷到Debug目录下3、工程属..._ffmpeg h264原始流转mp4
文章浏览阅读583次,点赞2次,收藏3次。1 题目要求 该系统用于实现仓库管理,系统应支持入库、出库、库存查询以及打印。用户可自定库存警戒值,库存低于警戒值时以红字显示。仓库信息需要用文件存储。 2 需求分析 根据题目要求,由于货品信息存放在文件中,所以应该提供文件的读入、输出等操作;在程序中要浏览货品信息,应提供显示、查找、排序等操作;实现货物入库功能,要提供结构体的输入..._c语言仓库管理系统功能