单片机原理与应用(C语言版)(微课版)教学大纲_第1页
单片机原理与应用(C语言版)(微课版)教学大纲_第2页
单片机原理与应用(C语言版)(微课版)教学大纲_第3页
单片机原理与应用(C语言版)(微课版)教学大纲_第4页
单片机原理与应用(C语言版)(微课版)教学大纲_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

X年X月《单片机原理及应用(C语言版)》教学大纲第一部分大纲说明一、课程性质与任务《单片机原理及应用(C语言版)》课程是计算机与数据工程学院计算机和大数据专业的公共基础课。通过本课程的学习,使学生了解KeilC51软件的基础知识,掌握KeilC51软件的应用操作技能,学会KeilC51软件的应用能力,培养学生KeilC51软件的素养和水平,提高学生利用KeilC51软件解决实际问题的能力。二、教学对象计算机专业大学本科。三、教学目的和要求本课程是一门技术性、实践性和实用性很强的课程,教学过程中要坚持“精讲多练”的指导思想,综合运用案例式、任务驱动式、项目式、研讨式、启发式等多种教学方法,充分利用网络、多媒体等现代教学手段,通过理论讲授、实例操作演示、上机实验等环节,培养学生的KeilC51软件的应用和操作能力、自主学习能力、独立思考能力和开拓创新能力。通过本课程的学习,了解MCS-51系列单片机的基础知识和主要特点;了解KeilC51软件的各种功能和使用方法;掌握KeilC51软件的各种基本操作方法与技巧,掌握KeilC51软件的使用情况;通过本书的学习,让学生不仅可以掌单片机的基本知识和应用技巧,而且可以灵活利用单片机进行各种应用。四、先修课程本课程的先修课程是《单片机原理及应用(C语言版)》。五、使用教材及参考资料使用教材:XXX/XXX等.单片机原理及应用(C语言版),北京:XXXX出版社,2025.3参考资料:[1].谢四连/王善伟/李石林等编著

.《单片机原理及应用项目化教程(C语言版)》[M].北京:中国水利水电出版社,2016.[2].杨居义等编著.《单片机原理及应用(C语言版)》[M].北京:清华大学出版社,2018.成都[3].万学春/亓晓彬等编著.《单片机原理及应用(C语言版)》[M].成都:西南交通大学出版社,2021.[4].曹克澄等编著.《单片机原理及应用(汇编语言与C51语言版)第3版》[M].北京:机械工业出版社,20221.[5].林立/张俊亮等编著.《单片机原理及应用——C51语言版(第2版)》[M].北京:电子工业出版社,2022.六、教学形式、教学方法及实践性环节教学形式:理实一体化教学方法:讲授与上机实验结合七、考核考核形式:上机考试;试卷结构:单项选择题、判断题、操作题。成绩评定:期末考试(80%),平时考核(20%);八、课时分配表总学时:106学时章目教学内容教学课时项目1简易声光报警器设计10项目2模拟转向灯设计10项目3流水灯系统设计14项目4人机交互密码锁的设计15项目5模拟交通灯系统设计14项目6串口控制数码管显示系统设计14项目7数字电压表与波形发生器设计14项目8单片机应用系统综合设计15合计106九、教学进度表周次学时教学内容第一周4项目1简易声光报警器设计项目导读素质目标学习目标思维导图任务1-1KeilC51软件的使用1.1认识单片机1.1.1什么是单片机1.1.2单片机的内部结构第二周6项目1简易声光报警器设计任务1-2LED发光二极管小灯1.2学习单片机的准备1.2.1单片机开发流程与工具1.2.2单片机的仿真学习与ISP下载实验板任务1-3简易声光报警器设计任务拓展:两个LED发光二极管的闪烁控制知识梳理与总结思考与练习题第三周6项目2模拟转向灯设计项目导读素质目标学习目标任务2-1蜂鸣器发声2.1单片机的引脚2.1.1芯片封装2.1.2芯片引脚及功能2.2单片机最小系统电路2.2.1单片机时钟电路2.2.2时序定时单位2.2.3指令的执行时序2.351单片机的存储器结构2.3.1片内数据存储器2.3.2片外数据存储器2.3.3程序存储器第四周4项目2模拟转向灯设计任务2-2模拟转向灯2.4单片机并行I/O端口2.4.1并行I/O端口电路结构2.4.2作为输入端口使用2.4.3作为输出端口使用2.4.4I/O端口的第二功能任务2-3发光二极管闪烁任务拓展设计8路LED流水灯电路知识梳理与总结思考与练习题第五周7项目3流水灯系统设计项目导读素质目标学习目标任务3-1库函数流水灯设计3.1认识C语言3.1.1第一个C语言程序3.1.2C语言的基本结构3.1.3C语言的特点任务3-2按键控制流水灯3.2C语言的基本语句3.2.1表达式语句和复合语句3.2.2选择语句3.2.3循环语句第六周7项目3流水灯系统设计任务3-3花样流水灯设计3.3C语言数据与运算3.3.1数据类型3.3.2常量和变量3.3.3运算符和表达式任务3-4可调光灯3.4C语言的函数3.4.1函数的分类和定义3.4.2函数调用任务拓展LED灯光报警电路设计知识梳理与总结思考与练习题第七周5项目4人机交互密码锁的设计项目导读素质目标学习目标任务4-1静态数码管显示4.1数组的概念4.1.1一维数组4.1.2二维数组4.1.3字符数组4.2认识LED数码管4.2.1LED数码管结构及字形代码4.2.2LED数码管的显示方式4.2.3LED数码管的识别与检测方法第八周5项目4人机交互密码锁的设计任务4-2动态数码管显示4.3LED数码管动态显示任务4-3LED大屏幕电子广告牌控制4.4点阵的初步认识4.4.1点阵的图形显示4.4.2点阵的动画显示任务4-4矩阵键盘密码锁设计第九周5项目4人机交互密码锁的设计4.5单片机与矩阵键盘接口4.5.1键盘与消除键盘抖动4.5.2独立键盘硬件结构4.5.3独立键盘的键值分析与程序结构4.5.4独立键盘应用任务拓展:电子琴设计知识梳理与总结思考与练习题第十周9项目5模拟交通灯系统设计项目导读素质目标学习目标任务5-1定时器控制LED闪烁5.1定时/计数器5.1.1定时/计数器的结构5.1.2定时/计数器的寄存器5.1.3定时/计数器的工作方式任务5-2中断流水灯的循环点亮5.2中断系统5.2.1什么是中断5.2.2中断系统的结构5.2.3中断控制相关的寄存器5.2.4中断响应过程5.2.5C51中断的程序设计【实例】中断的应用。【实例】利用中断来点亮灯第十一周5项目5模拟交通灯系统设计任务5-3数码秒表设计任务5-4模拟交通灯控制系统设计任务拓展:智慧交通灯系统的设计知识梳理与总结思考与练习题第十二周7项目6串口控制数码管显示系统设计项目导读素质目标学习目标任务6-1串口彩屏显示系统设计6.1串行通信基础6.1.1并行通信与串行通信6.1.2单工通信与双工通信6.1.3异步通信与同步通信6.251单片机的串行接口6.2.1串行口结构与控制6.2.2设置工作方式6.2.3设置波特率6.2.4串行口初始化第十三周7项目6串口控制数码管显示系统设计任务6-2双机通信系统设计6.3串行通信协议6.3.1常用串行通信协议6.3.2串行通信接口标准RS-2326.3.3RS-422通信协议6.3.4RS-485通信协议6.4串行口的I/O端口扩展6.4.1采用串行口扩展并行输入口6.4.2采用串行口扩展并行输出口任务拓展:双机通信控制LED显示知识梳理与总结思考与练习题 第十四周7项目7数字电压表与波形发生器设计项目导读素质目标学习目标任务7-1简易数字电压表设计7.1数/模转换7.1.1D/A转换器7.1.2DAC0832D/A转换器7.1.3DAC0832时序与工作方式7.2单片机内部ADC及其应用7.3模/数转换7.3.1A/D转换器7.3.2AD0809A/D转换器7.3.3AD0809与单片机硬件连接7.3.4ADC0809时序与应用7.3.5MS-51单片机三总线结构及绝对地址访问第十五周7项目7数字电压表与波形发生器设计任务7-2波形发生器设计7.4I2C总线A/D与D/A转换器PCF85917.4.1PCF8591内部功能7.4.2PCF8591的控制7.4.3PCF8591的D/A转换7.4.4PCF8591的A/D转换任务拓展:基于AD和DA转换芯片的可调光台灯设计知识梳理与总结思考与练习题 第十六周3项目8单片机应用系统综合设计项目导读素质目标学习目标任务8-1LCD1602调试工具8-1-1任务目的8-1-2任务要求8-1-3系统方案选择8-1-4系统硬件设计8-1-5系统软件设计8-1-6系统调试与脱机运行8-1-7任务小结第十七周6项目8单片机应用系统综合设计任务8-2设计制作游客流量计数器8-2-1目的与要求8-2-2系统方案选择8-2-3系统硬件设计8-2-4系统软件设计8-2-5仿真系统设计8-2-6任务小结任务8-3单片机生产计数检测系统设计8-3-1目的和要求8-3-2系统方案选择8-3-3系统硬件设计8-3-4系统软件整体设计8-3-5仿真系统设计8-3-6系统调试与脱机运行8-3-7任务小结第十八周6项目8单片机应用系统综合设计任务8-4家居照明蓝牙控制设计8-4-1目的与要求8-4-2电路设计8-4-3程序设计8-4-4蓝牙APP设置及系统运行调试8-4-5任务小结任务8-5红外遥控8-5-1任务目的8-5-2任务要求8-5-3电路设计8-5-4程序设计8-5-5红外遥控电机调速8-5-6任务小结知识梳理与总结思考与练习题十、主讲教师:xxx(教授)、xxx(副教授)、xxx(副教授)、xxx(副教授)、xxx(副教授)、xxx(副教授)、xxx(讲师)、xxx(讲师)、xxx(讲师)、xxx(讲师)、xxx(讲师)、xxx(助教)等第二部分教学内容项目1简易声光报警器设计教学目的和要求掌握KeilC51软件的基本操作及工程建立流程;理解单片机最小系统的组成及各部分功能;学会设计单片机控制的LED闪烁电路并编写相应程序;能够运用单片机I/O口控制声光报警器实现定时报警功能;熟悉单片机开发流程,包括硬件设计、编程及仿真调试方法。教学重点、难点重点:(1)KeilC51软件的使用;(2)LED发光二极管小灯的制作。难点:简易声光报警器设计。教学内容项目1简易声光报警器设计项目导读素质目标学习目标思维导图任务1-1KeilC51软件的使用1、目的与要求可以依据任务里指示的操作流程,逐步学习和掌握KeilC51软件的基础操作。2、操作步骤1)启动KeilC51软件2)建立工程文件3)建立并添加源文件4)配置工程属性5)编译工程3、任务小结使用KeilC51的基本步骤如图所示,图中虚线箭头指向的步骤可以改变顺序。1.1认识单片机1.1.1什么是单片机1、单片微型计算机2、单片机应用系统3、51系列单片机1.1.2单片机的内部结构8051作为MCS-51系列单片机中早期的典型产品,其内部结构如图所示。任务1-2LED发光二极管小灯1、目的与要求本项目旨在制作一个由单片机控制的LED发光二极管闪烁系统,借此深入了解单片机以及单片机最小系统究竟是什么,同时掌握单片机应用系统的制作流程。2、电路及器件3、硬件电路板制作4、源程序设计5、程序下载6、任务小结单片机应用系统的开发过程为:设计电路图→制作电路板→程序设计→硬软件联调(仿真联调)→程序下载→产品测试。1.2学习单片机的准备1.2.1单片机开发流程与工具1.2.2单片机的仿真学习与ISP下载实验板1、在线仿真学习环境2、ISP下载实验板3、软件仿真学习环境任务1-3简易声光报警器设计1、目的与要求通过设计制作一个简易声光报警器,熟悉单片机的I/O口控制和延时编程。2、电路设计3、源程序设计4、任务总结本程序是一个简易声光报警器设计,实现了每隔5秒触发一次报警,每次报警持续2秒的功能。程序使用了软件延时来实现定时功能,并通过控制P1.0(蜂鸣器)和P1.1(LED灯)的开关,实现声音报警和光报警。任务拓展:两个LED发光二极管的闪烁控制1、目的与要求通过设计制作一个简单的LED闪烁控制程序,熟悉单片机的I/O口控制和延时编程。2、电路设计3、源程序参考使用软件延时实现1秒的定时,控制两个LED的闪烁。知识梳理与总结本项目全方位提升了在单片机应用开发领域的专业素养与实践技能,为未来深入探索奠定了坚实基础。思考与练习题项目2模拟转向灯设计教学目的和要求掌握单片机控制蜂鸣器发声的原理与实现方法;学会设计单片机最小系统电路及其功能理解;理解单片机I/O端口在控制应用中的多种使用方式;能够运用单片机控制LED实现不同显示效果;掌握单片机系统调试技巧及常见问题的解决方法。教学重点、难点重点:(1)蜂鸣器发声;(2)模拟转向灯。难点:设计8路LED流水灯电路。教学内容项目2模拟转向灯设计项目导读素质目标学习目标任务2-1蜂鸣器发声1、目的与要求通过单片机控制蜂鸣器发声系统的制作,了解单片机并行I/O端口的输出控制作用以及蜂鸣器发声控制方法。任务要求采用单片机控制蜂鸣器发出鸣叫声。2、电路及器件单片机控制蜂鸣器硬件电路如图所示3、源程序设计4、任务小结2.1单片机的引脚2.1.1芯片封装它有三种不同的封装形式:PDIP、PLCC、TQFP。2.1.2芯片引脚及功能1.供电引脚2.I/O引脚3.控制引脚4.外接晶振引脚2.2单片机最小系统电路51单片机最小系统的功能主要如下:能够运行用户程序。用户可以复位单片机。具有相对强大的外部扩展功能。2.2.1单片机时钟电路2.2.2时序定时单位1.拍节与状态2.机器周期3.指令周期2.2.3指令的执行时序2.351单片机的存储器结构2.3.1片内数据存储器1、内部数据存储器低128单元(DATA区)1)工作寄存器区2)位寻址区(BDATA区)3)用户数据缓冲区2、内部数据存储器高128单元2.3.2片外数据存储器2.3.3程序存储器任务2-2模拟转向灯1、目的与要求安装在汽车不同位置的信号灯是汽车驾驶员之间及驾驶员向行人传递汽车行驶状况的语言工具。汽车信号灯一般包括转向灯、刹车灯、倒车灯、雾灯等,其中汽车转向灯包括左转灯和右转灯。任务要求采用单片机制作一个模拟汽车左右转向灯的控制系统,重点训练单片机I/O端口的位操作方法。2、电路设计单片机模拟汽车左右转向灯控制系统电路如图所示。3、源程序设计4、任务小结2.4单片机并行I/O端口2.4.1并行I/O端口电路结构2.4.2作为输入端口使用2.4.3作为输出端口使用2.4.4I/O端口的第二功能任务2-3发光二极管闪烁1、目的与要求用于控制连接到P1.0端口的发光二极管闪烁。程序使用位操作来单独控制P1.0引脚的状态,实现发光二极管的闪烁效果。2、原理及实现此程序的原理和实现是基于51单片机的I/O端口控制以及简单的延时函数。I/O端口控制:延时函数:定义和初始化:主循环:3、源程序设计4.任务小结任务拓展设计8路LED流水灯电路1.设计目的与要求通过设计一个8路LED流水灯电路,学习单片机对LED的控制方法,掌握单片机I/O口的使用以及简单的程序设计思路。要求设计一个电路,能够控制8个LED灯按照一定的顺序依次点亮和熄灭,形成流水灯效果。2.电路设计8个LED的核心电路图,如图所示。3.源程序参考知识梳理与总结一、硬件知识1.单片机最小系统:2.蜂鸣器原理:3.LED控制电路:二、软件知识1.C语言编程:2.I/O端口操作:3.程序流程设计:三、综合应用1.硬件与软件协同:2.问题解决能力:思考与练习题项目3流水灯系统设计教学目的和要求掌握C语言基础,实现流水灯设计;理解C语言基本结构,编写简单程序;熟悉C语言语句,实现按键控制多种灯;掌握选择循环语句,优化程序设计;理解C语言数据类型,设计LED灯光报警器;熟练运用运算符,实现复杂运算。教学重点、难点重点:(1)库函数流水灯设计;(2)按键控制流水灯。难点:LED灯光报警电路设计。教学内容项目3流水灯系统设计项目导读素质目标学习目标任务3-1库函数流水灯设计本节通过“流水灯”设计任务来了解C51程序结构,认识函数在C51程序设计中的地位。1、目的与要求了解C51程序结构,初识C语言进行单片机设计的风格,认识C51程序与标准C的区别。通过采用单片机控制8个LED发光二极管顺序点亮的流水灯系统设计与制作,了解C语言的数据类型、常量与变量、运算符和表达式等基本概念及使用方法。2、原理及实现流水灯控制系统设计电路如图所示。3、源程序设计4、任务总结3.1认识C语言3.1.1第一个C语言程序我们一起来认识一下任务3-1中流水灯控制系统的C语言程序,源程序中,第1、2行:对程序进行简要说明,包括程序名称和功能。第3、4行:这两行是C语言的程序预处理部分第5~12行:定义函数delay()。第13-21行:定义主函数main()。3.1.2C语言的基本结构通常来说,51单片机的C51语言程序由头文件声明、宏定义、全局变量、子函数、主函数和注释几个部分组成。一个典型的C51语言应用程序结构如图所示。3.1.3C语言的特点1、结构化语言2、丰富的数据类型3、便于维护管理任务3-2按键控制流水灯本节通过按键控制“流水灯”,没按按键时LED全亮,按下按键时LED显示流水灯效果。1、目的与要求通过按键控制发光二极管显示不同的内容,让读者了解单片机与按键的接口设计,以及按键控制程序的设计方法。采用8个发光二极管模拟霓虹灯的显示,一个按键S1控制8个发光二极管实现不同显示方式。当S1没有按下时,8个LED全亮,当S1按下时8个LED显示流水灯效果。2、原理及实现硬件电路如图所示。3、源程序设计4、任务总结3.2C语言的基本语句归纳起来,任何复杂的程序都由以下三种基本语句组成:表达式语句和复合语句选择语句循环语句3.2.1表达式语句和复合语句1、表达式语句2、空语句3、复合语句3.2.2选择语句在多分支结构中又分为串行多分支和并行多分支两种情况。1、串行多分支if语句C语言提供了三种形式的if语句。(1)if形式(2)if-else形式(3)if-elseif形式2、并行多分支switch-case语句3.2.3循环语句在C语言中构成循环控制的语句有以下几种。goto语句while语句do-while语句for语句break语句和continue语句任务3-3花样流水灯设计本节通过“流水灯”设计任务来了解C51程序结构,认识函数在C51程序设计中的地位。1、目的与要求通过基于单片机的八位LED灯循环流水控制程序设计,深入学习C语言中数据类型、运算符、表达式的综合应用以及变量和常量的合理使用,掌握位运算、逻辑运算在硬件控制中的实际运用,理解延时函数对程序执行节奏的调控作用。2、原理及实现3、源程序设计4、任务总结3.3C语言数据与运算3.3.1数据类型下面主要解释C51扩展的特殊数据类型。bit位标量:sbit可寻址位:sfr特殊功能寄存器:sfr16特殊功能寄存器:3.3.2常量和变量1、常量常量可用在不必改变值的场合,如固定的数据表、字库等。常量区分为不同的数据类型2、变量(1)变量的存储器类型(2)sfr、sfr16变量的定义(3)sbit变量的定义3.3.3运算符和表达式1、赋值运算符2、算术运算符3、增减量运算符4、关系运算符5、逻辑运算符6、位运算符7、复合赋值运算符8、逗号运算符9、条件运算符10、指针和地址运算任务3-4可调光灯本节通过采用51单片机进行可调光灯控制系统的设计,使读者了解使用单片机并行I/O端口输出可控制的脉冲信号的方法。1、目的与要求任务要求用两个按键控制灯的亮度。系统上电时,灯在最暗状态,按住其中一个键,灯的亮度逐渐增强,增到最亮时,再回到最暗;按住另外一个键,灯的亮度逐渐减弱,减到最暗时,再回到最亮。2、原理及实现可调光灯控制系统的硬件电路如图所示。3、源程序设计4、任务总结3.4C语言的函数3.4.1函数的分类和定义1、标准函数2、用户自定义函数3.4.2函数调用1、函数的调用2、被调用函数的说明3、函数的返回值4、参数的传递5、重入函数6、中断服务函数使用中断服务函数时应注意以下几点:中断函数不能直接调用中断函数。不能通过形式参数来进行参数传递。在中断函数中调用其他函数,两者所使用的寄存器组应相同。中断函数没有返回值。关键字interrupt和using的后面都不允许跟带运算符的表达式。任务拓展LED灯光报警电路设计1、目的与要求本任务采用一个弹性按键S1模拟报警开关,S1按下时启动报警,S1放开时解除报警;一个绿色发光二极管V1和一个红色发光二极管V2模拟光报警,绿色V1亮,表示正常状态,红色V2闪烁表示报警;采用蜂鸣器模拟声音报警,当报警启动时,蜂鸣器闹响。2、原理及实现硬件电路如图所示。3、源程序参考知识梳理与总结思考与练习题项目4人机交互密码锁的设计教学目的和要求掌握LED数码管的基本结构与静态显示原理,能进行简单编程实现;理解数组的概念及其在编程中的应用,能够熟练使用一维、二维和字符数组;学会利用单片机与矩阵键盘接口实现键值识别与处理,编写相应程序;了解点阵显示原理,能够设计简单的点阵图形和动画显示程序;掌握独立键盘的硬件结构与键值分析方法,实现基本的键盘输入功能。教学重点、难点重点:(1)静态数码管显示;(2)动态数码管显示。难点:电子琴设计。教学内容项目4人机交互密码锁的设计项目导读素质目标学习目标任务4-1静态数码管显示1、目的与要求使用51单片机控制数码管显示数字“0”。学习单片机与硬件交互,通过编码实践提升编程理解与应用。实现数码管稳定、清晰显示数字“0”,无闪烁。编写简洁、易懂的程序,使用合适变量和数据类型,增强代码可读性和可移植性。注意保护单片机端口,防止硬件损坏。2、原理及实现利用P2.2、P2.3和P2.4三个引脚作为数码管的位选信号,通过控制这三个引脚的电平状态来选择数码管的显示位。定义了一个smgduan数组,存储了数码管显示0到F的段码值。3、源程序设计4、任务总结4.1数组的概念4.1.1一维数组1、一维数组的定义2、一维数组的引用3、一维数组的初始化4.1.2二维数组1、二维数组的定义2、二维数组的引用3、二维数组的初始化4.1.3字符数组1、字符数组的定义与初始化(1)字符数组的定义(2)字符数组的初始化2、字符数组的引用3、字符串和字符串结束标志4.2认识LED数码管4.2.1LED数码管结构及字形代码4.2.2LED数码管的显示方式4.2.3LED数码管的识别与检测方法1、干电池检测法2、万用表检测法任务4-2动态数码管显示1、目的与要求利用单片机控制6个共阳极数码管,采用动态显示方式稳定显示小王的生日2000年12月25日,显示效果为“001225”,让读者理解LED数码管动态显示程序的设计方法。2、电路设计本任务采用动态显示方式控制6个共阳极数码管,电路连接方式如图所示。3、源程序设计4、任务小结4.3LED数码管动态显示图所示为一个4位7段LED动态显示器电路原理图。任务4-3LED大屏幕电子广告牌控制1、目的和要求利用单片机控制一块8×8LED大屏幕点阵式电子广告牌,将一些特定的文字或图形以特定的方式显示出来。任务要求在8×8LED点阵广告牌上稳定显示“0”。2、原理及实现用单片机控制一块8×8LED大屏幕电子广告牌的硬件电路如图所示。3、源程序设计4、任务总结该程序是一个针对8×8LED大屏幕电子广告牌的简单显示程序,用于稳定显示数字“0”。(1)头文件(2)变量声明:(3)主函数:(4)延时函数:4.4点阵的初步认识4.4.1点阵的图形显示4.4.2点阵的动画显示1、点阵的纵向移动2、点阵的横向移动任务4-4矩阵键盘密码锁设计1、目的与要求通过对具有16个按键和1个数码管显示的密码锁设计,让读者掌握矩阵键盘的接口电路设计和控制程序设计方法。任务要求完成一位简易密码锁设计:输入一位密码(为0~9,A~F之间的字符),密码输入正确显示“P”并将锁打开;否则显示“E”,继续保持锁定状态。2、电路设计一位密码锁电路如图所示。3、源程序设计4、任务总结4.5单片机与矩阵键盘接口4.5.1键盘与消除键盘抖动1.键盘2.消除键盘抖动4.5.2独立键盘硬件结构4.5.3独立键盘的键值分析与程序结构4.5.4独立键盘应用1、编写程序实现用数码管循环显示按键按下次数2、编写程序实现用一只键控制组合灯3、编写程序实现组合按键控制LED亮灭任务拓展:电子琴设计1、设计目的与要求设计一个基于C51单片机的电子琴系统,通过4×4矩阵键盘输入16个音符,并通过蜂鸣器播放相应音符,掌握单片机硬件控制和程序设计。要求单片机P3端口输入,P2.4端口输出驱动蜂鸣器,12MHz晶振。实现初始化、按键扫描、按键与音符一一对应,实时播放音符。2、电路设计电子琴电路设计如图所示。3、源程序参考知识梳理与总结思考与练习题项目5模拟交通灯系统设计教学目的和要求掌握定时/计数器的结构和工作原理,能够灵活运用;理解并熟悉中断系统的基本概念和工作机制;学会使用C51编程语言编写中断服务程序,实现特定功能;设计并实现数码秒表系统,理解定时与中断在嵌入式系统中的应用;通过模拟交通灯控制系统设计,掌握时序控制和状态机设计的方法。教学重点、难点重点:(1)定时器控制LED闪烁;(2)中断流水灯的循环点亮。难点:智慧交通灯系统的设计。教学内容项目5模拟交通灯系统设计项目导读素质目标学习目标任务5-1定时器控制LED闪烁1、目的与要求通过使用单片机定时器方式实现一个LED定时闪烁的控制系统,熟悉单片机定时器的编程控制方法,包括定时器工作方式设定、初始值设置等。用单片机控制一个LED,使其以1秒为周期闪烁(亮1秒、灭1秒)。通过定时器的轮询方式实现精准的时间控制。2、电路设计单片机与LED通过简单连接,一端接P1.0引脚,另一端经限流电阻接电源。确保限流电阻阻值合适,保护LED和单片机端口,电路图如图所示。3、源程序设计4、任务总结5.1定时/计数器5.1.1定时/计数器的结构C51系列单片机片内有两个十六位定时/计数器:定时器0(T0)和定时器1(T1)。5.1.2定时/计数器的寄存器1.T/C0和T/C1的寄存器(1)定时/计数器模式寄存器TMOD(2)定时/计数器控制寄存器TCON2.T/C2的寄存器(1)定时/计数器2控制寄存器T2CON(2)定时/计数器2模式寄存器T2MOD5.1.3定时/计数器的工作方式1、方式02、方式13、方式24、方式35、T/C2的工作方式(1)捕获方式(2)自动重装载方式(3)波特率发生器方式任务5-2中断流水灯的循环点亮1、目的与要求通过使用单片机定时器中断与P1口控制,设计一个流水灯循环点亮的控制系统,熟悉单片机定时器中断控制与P1口输出控制方法,掌握流水灯控制逻辑。用单片机控制8个LED,利用P1口控制8个LED形成流水灯效果,按照从左到右依次点亮然后熄灭的循环方式。要求每个LED点亮时间间隔为0.5秒。2、电路设计3、源程序设计4、任务总结5.2中断系统5.2.1什么是中断1.中断2.中断源3.中断优先级和中断的嵌套4.中断系统5.2.2中断系统的结构1、中断请求(1)外部中断请求源(2)内部中断请求源2、中断允许寄存器IE3、中断源机入口地址5.2.3中断控制相关的寄存器1、中断允许控制寄存器IE(地址OA8H)2、定时/计数器控制寄存器(TCON)(地址88H)3、串行口控制寄存器(SCON)(98H)4、中断优先级寄存器IP(地址8BH)5.2.4中断响应过程5.2.5C51中断的程序设计中断服务程序被定义为函数,函数的完整定义如下:返回值函数名([参数])[模式][再入]interruptn[usingm]下面分别介绍后面三个参数。1.再入2.interruptn3.usingm【实例】中断的应用。要求:电路原理图如图所示。每按一次键,产生一次中断,P1口输出并取反,用C语言编程。【实例】利用中断来点亮灯用引脚的按钮控制P1口的灯,要求每按一下按钮就申请一次中断,点亮一盏灯,依次点亮八盏灯中的一盏。要求采用边沿触发。任务5-3数码秒表设计1、目的与要求通过由两个LED数码管显示的数码秒表控制系统的设计制作,熟悉单片机定时/计数器及中断的编程控制方法,包括定时器工作方式设定、初始值设置、中断编程、中断函数的应用等。用单片机控制两个LED数码管,采用静态连接方式,要求两个数码管显示00-99计数,时间间隔为1s。2、电路设计数码秒表控制电路参考图进行设计。3、源程序设计4、任务总结主要组成部分:(1)全局变量:(2)定时器T1中断函数timer_1():(3)显示函数disp(unsignedchari):(4)主函数main():任务5-4模拟交通灯控制系统设计1、目的与要求通过对模拟交通灯控制系统的制作,让读者掌握定时器和中断系统的综合应用,进一步熟练软、硬件联调方法。设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯控制。(1)正常情况下双方向轮流点亮交通灯。(2)特殊情况时,A方向放行。(3)有紧急车辆通过时,A、B方向均为红灯。紧急情况优先级高于特殊情况。2、电路设计交通灯控制系统电路3、源程序设计4、程序下载调试(1)首先观察正常情况下交通灯的状态,体会定时器的作用。(2)观察特殊情况时交通灯的状态,掌握中断程序的调试方法。(3)观察紧急情况下交通灯的状态,理解中断优先级的概念。5、任务小结(1)延时函数实现(2)中断处理(3)主循环逻辑任务拓展:智慧交通灯系统的设计1、目的与要求设计基于单片机的智慧交通灯系统,学习单片机定时器、中断和输入输出接口的使用。掌握单片机对交通灯的定时控制,实现交通信号的有序切换,并能根据外部输入调整信号灯状态。智慧交通灯系统需遵循特定时间规则:南北方向绿灯30秒后黄灯3秒,再转红灯;东西方向绿灯25秒后黄灯3秒,再转红灯。系统应具备车流量感知功能,自动延长绿灯时间5秒。同时,需考虑行人过街请求,优先切换信号灯,确保行人安全。2、电路设计交通灯硬件部分主要由红、黄、绿三色LED灯组成,分别代表不同方向的交通信号。3、源程序参考知识梳理与总结定时器的应用本质中断系统的机制与优势硬件设计的关键点综合能力的培养思考与练习题项目6串口控制数码管显示系统设计教学目的和要求掌握串行通信与并行通信的基本概念,理解它们之间的区别与联系;熟练掌握异步通信与同步通信的特点,能够根据不同需求选择合适的通信方式;理解波特率的含义,能够正确设置和计算波特率;了解常用串行通信协议和接口标准,如RS-232、RS-422、RS-485等;学会使用串行口进行I/O端口扩展,提高单片机系统的功能性和灵活性。教学重点、难点重点:(1)串口彩屏显示系统设计;(2)双机通信系统设计。难点:双机通信控制LED显示。教学内容项目6串口控制数码管显示系统设计项目导读素质目标学习目标任务6-1串口彩屏显示系统设计1、目的与要求通过设计一个基于单片机的串口彩屏显示系统,学习串口通信的基本原理和编程方法。掌握如何通过串口发送数据到彩屏,并控制其显示内容。2、硬件设计本系统硬件设计基于AT89C51单片机和串口彩屏显示模组。3、源程序设计4、程序总结6.1串行通信基础6.1.1并行通信与串行通信数据传输可以通过两种方式进行:并行通信和串行通信。6.1.2单工通信与双工通信按照数据传送的方向不同,数据通信可以分为单工、半双工和全双工三种。6.1.3异步通信与同步通信按照数据的同步方式,串行通信可以分为同步通信和异步通信两大类。6.251单片机的串行接口6.2.1串行口结构与控制1、串行口结构2、工作原理3、波特率的设定6.2.2设置工作方式根据串行通信数据格式和波特率的不同,51单片机的串行口有4种工作方式,即方式0、方式1、方式2和方式3,通过设置SCON的SMO和SM1来选择。6.2.3设置波特率1、波特率2、设置波特率6.2.4串行口初始化以下是串行口初始化的基本步骤和注意事项。1.设置串行口工作模式2.配置波特率3.配置串行口参数4.使能串行中断5.测试通信6.错误处理任务6-2双机通信系统设计1、目的与要求单片机甲机的P3.4外接按键K2,PO、P2端口作为输出口,外接一个2位LED数码管;单片机乙机P3.3外接按键K1,P0端口外接8位LED。要求使用单片机串行通信,甲机按键K2每被按下1次,乙机的LED移位1次;乙机按键K1每被按下1次,甲机的LED数码管加1显示。2、原理及实现硬件电路图设计如图所示。注意图中的晶振电路、复位电路没有绘制。3、源程序设计1)甲机源程序2)乙机源程序4、程序总结6.3串行通信协议6.3.1常用串行通信协议1、通用异步串行接口UART2、串行外设接口SPI3、双线同步总线I2C总线6.3.2串行通信接口标准RS-2321、RS-232C信号2、电器特性3、电平变换电路4、单片机(甲机)和单片机(乙机)的连接5、单片机和主机(PC)连接6.3.3RS-422通信协议1、RS-422协议基础和MAX4912、RS-422的应用电路6.3.4RS-485通信协议RS-485接口标准是RS-422接口标准的半双工版本。1、RS-485协议基础和MAX4852、RS-485的应用电路6.4串行口的I/O端口扩展6.4.1采用串行口扩展并行输入口6.4.2采用串行口扩展并行输出口任务拓展:双机通信控制LED显示1、目的与要求单片机甲机(U1)P1端口外接8位拨码开关;单片机乙机(U2)PO1口外接8个LED,要求使用单片机串行通信,在查询状态下使单片机乙机求的8个LED能够显示单片机甲机8位拨码开关的状态。2、原理及实现硬件电路图设计如图所示3、源程序参考参考程序如下:1)甲机发送源程序2)乙机接收源程序知识梳理与总结思考与练习题项目7数字电压表与波形发生器设计教学目的和要求掌握DAC0832工作原理,实现数模转换;理解单片机ADC,设计数字电压表;学会使用AD0809,实现模数转换功能;熟悉MS-51三总线结构,掌握地址访问方法;设计正弦信号发生器,理解其工作原理;分析A/D与D/A转换问题,提高解决问题能力。教学重点、难点重点:(1)简易数字电压表设计;(2)波形发生器设计。难点:基于AD和DA转换芯片的可调光台灯设计。教学内容项目7数字电压表与波形发生器设计项目导读素质目标学习目标任务7-1简易数字电压表设计1、目的与要求用AT89C51单片机控制,ADC0809作为A/D转换器。液晶LCD1602作为显示。能测试0~5V的直流电压,精确到两位小数。发挥扩充功能,如增加超量程提示功能等。设计制作任务包括:拟订总体设计制作方案。设计硬件电路。编制软件流程图及设计相应源程序。仿真调试数字电压表。安装元件,制作数字电压表,调试功能指标。完成项目报告。2、原理及实现(1)数字电压表总体设计思路(2)设计数字电压表硬件电路(3)设计数字电压表程序3、源程序设计4、仿真数字电压表数字电压表仿真模型5、调试数字电压表7.1数/模转换7.1.1D/A转换器1.D/A转换器原理2.D/A转换器主要性能指标(1)分辨率(2)线性度(3)转换精度(4)建立时间(5)接口形式(6)温度系数(7)电源抑制比(8)工作温度范围(9)失调误差(或称零点误差)(10)增益误差(或称标度误差(11)非线性误差7.1.2DAC0832D/A转换器1.DAC0832的引脚功能2.DAC0832内部结构3.信号的输出1)单极性电压输出2)双极性电压输出7.1.3DAC0832时序与工作方式1.DAC0832时序2.DAC0832工作方式1)直通方式2)单缓冲方式3)双缓冲方式7.2单片机内部ADC及其应用1、STC12C5A60S2的内部ADC结构2、ADC相关寄存器1)P1口模拟功能控制寄存器——P1ASF2)模数转换控制寄存器——ADC_CONTR3)ADC转换结果寄存器--ADC_RES和ADC_RESL4)辅助寄存器1——AUXR15)ADC中断相关寄存器3、A/D转换程序设计A/D转换结束后,可以采用中断和查询两种方式读入转换结果。7.3模/数转换7.3.1A/D转换器1、A/D转换器原理2、A/D转换器的性能指标(1)分辨率(2)量化误差(QuantizingError)(3)转换时间(ConversionTime)(4)绝对精度(RelativePrecision)(5)相对精度(AbsolutePrecision)(6)漏码(MissedCode)3、A/D转换器的选取原则7.3.2AD0809A/D转换器1.主要特性2.内部结构与引脚7.3.3AD0809与单片机硬件连接7.3.4ADC0809时序与应用1.ADC0809转换时序2.ADC0809转换时序应用1)ADC0809初始化2)选择转换通道3)启动转换4)判断是否转换完毕5)读出数据7.3.5MS-51单片机三总线结构及绝对地址访问1.MCS-51单片机三总线结构2.绝对地址访问C51提供了两种比较常用的访问绝对地址的方法。1)绝对宏2)_at_关键字3.编写程序向指定空间写入数据任务7-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论