财经基本技能(第3版)教学指南+课后习题答案.docx
教材综述一、教材的内容和特色本教材主要内容有:单片机最小系统的学习和制作、单片机编程软件的使用、 程序烧录软件的操作、C语言编程、程序流程图的绘制和各种外围电路的安装与 制作等。可作为中等职业学校电子专业的选修课教材。本书具有以下特色:1、结构和内容的创新性:首先是结构新,本书取消了传统教材的章节结构, 设置了教学工程和任务,把专业知识和技能落实到具体的工程和任务中, 通过工程引领任务驱动教学进程,让学生在任务的实施中巩固知识,习 得技能。其次是内容新,在本书的编写过程中,编写人员有意识的联系 当前的社会实际,及时吸收新理论、新知识、新技术、新工艺。2、突出职业性和实践性:“以服务为宗旨,以就业为导向、以能力为本位” 的中等职业教育担负着培养初、中级技能型人才和数以亿计的高素质劳动者的任 务。中职的教材必须为中职的教学改革服务,为学生的就业服务。本教材作为电 子专业的技能训练教材非常注重职业性和实践性。3、教材、教案、学案三合一:本书按行动导向教学原那么编写,通过任务情 境、任务描述、计划与实施、练习与评价、任务资讯呈现内容,展开教学和学习 过程,力求做到教材、教案、学案三合一。5、知识、技能、情感相结合:本书不仅注重巩固知识、突出技能,还通过 情境模拟、总结评价渗透个人品德、职业道德和社会公德教育。二、教学策略建议1、以促进学生开展为本本课程以提高学生的综合素质和综合职业能力为目的,在对单片机简单电路 的教学和基本技能的训练过程中,应表达对职业道德和职业意识的培养,使学生 掌握专业学习方法,提高自主学习能力,为学生的可持续开展奠定基础。为适应不同专业需求及学生的多样性和差异性,可通过对选学模块及较高要 求内容的灵活选择,以及考核评价方式上,表达课程的选择性和教学要求的层次 性。教学中应从学生的实际出发,针对不同层次的学生,采用分层教学,使每一 个学生在原有的基础上有所提高,有所开展。2、转变教学观念,改进教学方法改变以课堂为中心、以知识传授为主的单一教学模式,积极探索将理论教学 环节和实践教学环节相结合,将课堂知识与生产生活的实践相结合,倡导具有职 业教育特色的行为导向教学方法。教学过程中要根据课程内容、学生实际和学校 条件,合理选择、综合运用多种教学方法,并结合中职学生思维方式特点,充分 利用各种教学资源和教学媒体,设计教学活动,创设学习情境,使教学内容具体 化、直观化和形象化,引导学生通过任务的完成、工作过程的体验或典型电子产 品的制作等,掌握相应的知识和技能,提高学习兴趣,激发学习动力。3、加强实践性教学环节,突出知识的应用教学中要充分利用和创设实验、实训条件,增加学生动手实践操作的机会, 强化实践技能的培养。在电子基本技能的训练过程中,融入理论知识的学习,体 现理论在实践过程中的指导与应用。对于课程教学内容中的主要器件和典型电路, 教学中要突出其实际应用,引导学生通过查阅相关资料分析其外部特性和功能, 分析其在生产、生活实践中的典型应用,了解其工作特性和使用方法,并学会正 确使用。在教学过程中,要重视本专业领域新技术、新知识、新工艺、新设备的工程三制作节日彩灯一、 工程内容本工程主要介绍单片机控制一只或多只LED进行闪烁的方法,通过几个程序 给学生介绍了延时子程序的编写方法、子程序的调用方法、for语句和while语 句的用法、带参数子程序的作用以及循环左移和循环右移指令的应用;还介绍了 单片机控制多只LED以不同花样进行闪烁的方法。二、教学提要1、教学重点:延时子程序、for语句和while语句、循环左移和循环右移 指令2、教学难点:指令的书写和程序的格式。三、 教学建议(一)课时分配任务内容课时任务一让发光二极管闪烁1任务二让发光二极管循环闪烁2任务三控制LED以多种花样进行闪烁2(二)教学方法情境教学法、任务驱动法(三)教学要点任务一主要是通过编写程序控制一只LED闪烁,在编程之前,教师可以先让 学生分析如何才能让LED闪烁,引导学生形成“LED工作状态受电平高低影响”的概念,进 而引入延时程序的编写方法;任务二涉及到八只LED的循环闪烁控制,也可以先 让学生独立思考和讨论,形成他们自己的思路,然后教师再介绍循环左移和循环 右移的概念,另外,还要适当加以拓展,比方循环左移两位;任务三是对任务一 和任务二的综合应用,主要目标是让单片机的两组8个I/O 口控制16只LED以 不同的花样进行闪烁,在此任务的教学中要鼓励学生设计更多的闪烁方式,然后 让同学之间相互提供,相互学习。(四)实训指导与工程二任务一一样,本工程任务一的电路也不需要另外制作,直接编写程 序控制PL 0所接的LED即可。在编程方面,教师要引导学生独立思考,不要照 抄参考程序,每位学生的程序里面要有自己的思想内容,比方延时时间的长短要 不一样;在任务二中,学生首先要制作正确的外围电路,可以随意采取共阳极和 共阴极接法(或教师直接进行分工),目的是便于程序方面的必要说明,编程之 前,教师还要引导学生认真解读程序流程图,最好让学生自己完成流程图的设计, 之后再让学生根据流程图完成“填一填”的内容,最后把程序写到keil软件里, 并进行编译和烧录;任务三的外围电路有16只LED,因此需要在任务二的基础 上再增加八只LED,电路制作完成后再完成“填一填”,但是最后写程序时要将 相应的延时子程序写进去。任务一【练一练】答案ftinclude <reg51.h>#define uchar unsigned char 宏定义 sbit L1=P1 0;sbit L2=Pri; void delay() (uchar a, b, c;for (a=20;a>0;a-)for(b=20;b>0;b一)for(c=248;c>0;c-);)void main()|while (1) (Ll=0:L2=l;delay ();Ll=l;L2=0: delay();)任务二【练一练】答案include <reg51.h>include <intrins.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar); void main()uchar LED;LED=0xfc;while (1)(POLLED;delay (100);LED=_crol_ (LED,2);void delay(uchar x)(uint a, b;for(a=200;a>0;a一)for(b=x;b>0;b-);任务三【练一练】答案1、共阴极接法和共阳极接法;共阴极接法时一,Pl=P2=0xff,共阳极接法时, Pl=P2=0x00o2、可以通过按键来控制。【工程检测】答案一、填空题1、子程序2、1微秒3、声明子程序4、宏定义5、循环右移、循环右移二、语句解释1、语句while(a一)每执行一次,变量a减:1,只要a不为0,那么一直执行 该语句,否那么执行下一条语句,因此,这个程序将执行1001次while (a一),起 到延时的作用。2、先让i赋值为0,再判断“i8”是否为真,显然“0<8”为真,那么执行一次 花括号中的语句,然后让i加1,重新判断表达式因此,这个程序将执 行8次花括号中的语句,最终好8。3、变量a循环左移一位三、计算题假设晶振频率为12MHZ,计算以下延时程序的延时时间。1、t=100 X 200X2=40000 微秒二0. 04 秒2、t=20X20X248 X 2=198400 微秒-0. 2 秒工程四制作定时器一、 工程内容本工程的内容主要包括数码管的识别和检测、单片机控制数码管显示数字的 方法;数组变量的定义和使用、if语句的应用;还有用动态扫描的方式让数码管显示数字、 利用定时器中断设置一秒的标准延时;最后使用switch-case语句编程、制作 60秒定时器。二、教学提要1、教学重点:动态扫描的含义和应用2、教学难点:定时器中断及其初始化三、教学建议(一)课时分配任务内容课时任务一让单个数码管显示数字2任务二让多个数码管显示数字2任务三完成60秒定时器的制作3(二)教学方法情境教学法、任务驱动法(三)教学要点本工程通过创设短期实习的情境,给学生营造工作的场景,进而给出检测数 码管的任务,程序方面,循序渐进,从控制一个数码管显示数字开始,到显示数字的不断变化, 然后完成单片机控制多个数码管实现静态显示和动态显示的效果,最终实现60 秒定时器的制作。教师在这些过程中,教授学生几个重点的语句或指令,如if 语句、switch-case语句;另外,关于定时器中断,教师要想方设法让学生理解 它的作用和工作工程,并且要清楚如何开启定时器中断以及开启哪个定时器中断。(四)实训指导任务一先让学生使用万用表检测数码管,确定数码管的类型和各个管脚对应 的字段,在“测一测”里记录下来,然后制作外围电路,此过程要特别注意接上 拉电阻,最后通过编程控制数码管显示各个数字,再使用延时方式让数码管显示 不断变化的数字;任务二是以四位数码管为例进行动态扫描控制,教师也可以让 学生控制两位数码管进行动态显示,电路连接方面要注意确定段控制和位控制的 I/O ,编程方面要注意定时器中断初值的设定要合适,初值太小显示的数字会 闪烁,初值太大会使显示的数字产生互相干扰;如果任务二是使用两位数码管, 那么任务三就不需要另外制作外围电路,编程方面最关键的是如何使用定时器中断 产生1秒的精确延时。任务一【练一练】答案1、填空题(1)共阳极数码管、电源正极、低(2)共阴极数码管、电源负极、高、低2、ttinclude <reg51. h>unsigned char b, i;unsigned int a;unsigned char codetabledu = 0x3f, 0x06;void display();void delay ()(for (a=5000;a>0;a-)for (b=100;b>0;b一);)void main ()(i=0;while (1)if(i=l)i=0;display ();i+;delay ();)void display()(P0=tabledui;)任务二【练一练】答案1、填空题:(1)驱动电路、静态、动态(2)编程简单,显示亮度高、占用I/O端口多(3) 12ms、余辉效应2、计算题:假设AT89S51单片机晶振频率为12MHz,要求定时时间8ms,使用定时器TO,工作方式0,计算定时器初值Xo计数脉冲个数为:8ms/12/12MHz=8000;然后根据工作方式确定定时器初值:假设为工作方式0,那么计数初值为:213-8000=192=C0HTH0=00H, TL0=C0H任务三【练一练】答案1、计算题:(1) 5(2) 9 (3) 22、编程题:ftinclude <reg51.h>unsigned char i, count; i为位选变量,count为计数变量unsigned int t;t为定时变量unsigned char code tabledu=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f ; /定义段数组变量 unsigned char code tablewe = Oxfe, Oxfd;定义位数组变量void display();void main ()(i=0;t=0;count=60;赋初值TMOD = 0x10; 选择定时器1工作方式1TH1= (65536-5000)/256;TL1= (65536-5000)%256; 给定时器赋初值,保证中断产生一次为0. 005 秒EA = 1;ET1 = 1;TRI = 1;开中断while(1);)void timel () interrupt 3 using 3 中断子函数(TII1= (65536-5000)/256;TL1= (65536-5000)%256; 恢复定时器初值t+;t递增if (t>=200)/t加到200时,定时时间为1秒,执行以下程t=0;/t 清零if (count>0)count-;/count 从 60 减到 0);displayO;执行显示子程序if(i>=D1在0和1之间转换i=0;elsei+;)void display(void )|switch(i)/判断变量i(case 0:如果i=0,执行以下程序(P2=tablewe0;选择右边的数码管P0=tableducount%10 ; /显示 count 的个位 break;)case 1:如果i=l,执行以下程序(P2=tablewel;选择左边的数码管P0=tableducount/10; 显示 count 的个位 break;)default: break;);)【工程检测】答案一、填空题1、共阴极数码管、共阳极数码管2、七段数码管、八段数码管3、数组4、定时器/计数器T0、定时器/计数器T15、中断优先级、所用工作寄存器组二、简答题1、1)确定工作方式;2)预置定时或计数的初值;3)根据需要开放定时器/计数器的中断直接对IE位赋值,ET0(IE. 1)为定时/ 计数器T0中断允许位,ETMIE.3)为定时/计数器T1中断允许位,EA (IE. 7)为CPU中断允许(总允许位);4)启动定时器/计数器。2、首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case 的常量表达式比拟,假设圆括号中表达式的值与某个case后面的常量表达式的值 相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;假设 圆括号中表达式的值与所有case后面的常量表达式都不等,那么执行default后 面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句。三、编程题1、ftinclude <reg51. h>unsigned char b, i;unsigned int a;unsigned char codetabledu = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, Oxec, Ox 39, 0x5e, Ox e9, Ox 71;void display();void delay ()(for(a=5000;a>0;a-)for (b=100;b>0;b-);void main ()(i=0;while (1)(if (i=16)i=0;display ();i+;delay ();)void display()P0=tabledui;2、略工程五制作抢答器一、 工程内容本工程主要涉及到单片机的按键控制,首先是使用按键让单片机控制LED的 工作状态,然后编写按键消抖的程序来控制数码管的显示,最后是对矩阵键盘的介绍,要求 使用矩阵键盘实现多路输入。二、教学提要1、教学重点:按键控制单片机输出信号2、教学难点:矩阵键盘的扫描方法、按键消抖的方法三、教学建议()课时分配任务内容课时任务一制作模拟开关灯电路2任务二制作可控数码显示电路2任务三完成16路抢答器的制作3(二)教学方法情境教学法、任务驱动法(三)教学要点在任务一的教学中,首先要指导学生画出正确的电路图,特别是要让学生理 解上拉电阻的作用,然后引导学生画流程图,建构编程的思路,最后师生共同完成程序的编 写和烧录;任务二可以引导学生结合数码管显示和按键控制独立完成程序编写, 根据出现的问题进行思考和讨论,然后再引入按键消抖和松键消抖的概念和语句; 任务三最重要的是给学生讲清楚矩阵键盘的结构和行扫描法。(四)实训指导任务一的首要步骤就是制作电路,在这里一般使用四脚的按钮,学生要学会 使用万用表检测常开和常闭引脚,以使开关正常工作,安装时要注意接上上拉电 阻;任务二的外围电路不用另外制作,利用现有的外围电路即可构成,编程方面, 重点是要想方法解决按键抖动的问题;任务三的电路可连接矩阵键盘模块(如图 5.1所示),要让学生完整编写程序难度会比拟大,所以教师要让学生理解编程 的思路,然后对程序进行修改,以使数码管的显示内容发生变化,强调对现有程 序的应用,而不是死记硬背。介绍,表达时代性;贴近生产现场,表达实用性。4、加强与现代教育技术的整合教师应重视现代教育技术与课程的整合,努力推进现代教育技术在职业教育 教学中的应用,更新观念,改变传统的教学方法,充分发挥计算机、互联网等现 代媒体技术的优势,合理应用多种媒体组合,为教师教学和学生学习提供丰富多 样的教学资源、教学工具和教学环境。提倡在教学过程中,利用数字化教学资源 大容量、多媒体、超文本、交互性、共享性的特点,与各种教学要素和教学环节 有机结合,提高教学的效率和效果。数字化教学资源(如教学演示软件、多媒体 光盘、虚拟仿真实训软件、电子试题库等)可作为辅助教学的工具,也可用于情 境创设、协作交流等教学活动,有利于创立符合个性化学习及加强实践技能培养 的教学环境,并推动教学模式和教学方法的变革。5、考核评价的多元化考核与评价的目的不仅是为了考察教学结果的达成情况,更重要的是及时向 教师和学生提供反应信息,以便更有效的改进和完善教师的教学和学生的学习活 动,激发学生学习热情,促进学生个人的开展。考核与评价的功能要从单纯注重 水平鉴定和选拔淘汰,过渡到注重促进学生的开展,积极倡导与实施以导向、诊 断、激励及过程调控为主的开展性教学评价。(1)考核与评价主体的多元化从传统考核与评价方式的主体单一性(即只有教师的评价),过渡到考核与评 价主体的多元化,即教师的评价与学生的相互评价、学生的自我评价相结合。(2)考核与评价标准的多元化从传统的只注重评价学生的学习情况与学业成绩的单一性考核与评价,过渡 到对学生在本课程学习过程中各方面活动及开展状况给予全面关注的多元化考 核o(3)考核与评价的过程,从传统的以结果性为主,过渡到过程性与结果性 相结合,逐步建立学生的开展性考核与评价体系。(4)考核与评价的方式,从传统的以量化为主,过渡到定量考核与定性描 述相结合。三、课程性质与任务单片机基础与技能实训课程适用于中职电子相关专业,属于专业选修课,是电气、电子等大类专业重要的综合性基础性实践教学课程。本课程内容侧重于 实际应用,教学上应以单片机结构及应用设计为主,使学生通过本课程的学习, 具备独立设计简单单片机控制电路的能力。使学生对于单片机的组成原理和结构 有比拟深刻的理解,基本掌握单片机基础及应用的系统设计方法,可比拟灵活地 使用单片机构成系统的外围芯片,具备单片机软件设计和编程能力。对于学生学 习单片机原理及其应用具有指导意义。为学生进一步学习计算机控制技术及相关 专业知识和职业技能,提高全面素质,增强适应职业变化的能力和继续学习的能 力打下一定的基础。本书共9个工程,以典型的LED控制电路、彩灯控制电路、数码管控制电 路、按键控制电路、蜂鸣器控制电路、数模模数转换电路和温度显示电路为载体, 通过安装和调试整机的过程,使学生熟悉单片机最基础的应用电路,让学生了解图5.1任务一【练一练】答案1、编程题#include<reg51.h> sbit LEDl=PrO; sbit LED2=Pri;sbit open=P3 0; sbit close=P3 1; void main () LED1=1;LED2=0; while (1) (if (LED1=1)(if(!open) LED1=0;LED2=1; else (LED1=1;LED2=0;elseif (!close)LED1=1;LED2=0;Else LED1=O; LED2=1;)2、简答题为亍确保I/O 口作为输入口时输入高电平,作为输出口时确保输出电流足够 大。任务二【练一练】答案1、在按键闭合及断开的瞬间均伴随有一连串的抖动2、在检测出键闭合后执行一个延时程序,5ms10ms的延时,让前沿抖动 消失后再一次检测键的状态,如果仍保持闭合状态电平,那么确认为真正有键按下。 当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该 键的处理程序。任务三【练一练】答案1、填空题(1)矩阵键盘、16(2)行扫描法2、简答题(1)将P1 口和OxfO进行与运算,如果结果不为OxfO,那么说明高四位不全为 lo(2)通过检测Pl 口高四位是否全为1,如果全为1,说明已经松手。【工程检测】一、填空题1、上拉、限流2、按键抖动、按键消抖3、行扫描法二、简答题1、预先将接按键的I/O 口设置为高电平,然后通过检测I/O 口输入状态是 否发生变化来判断按键是否按下。2、依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。假设某列为低, 那么该列线与置为低电平的行线交叉处的按键就是闭合的按键。三、编程题1、假设LED接单片机的P1.0 口,按钮K接P3. 0,编写程序实现以下效果: 按下K, LED开始闪烁。#include<reg51.h>sbit LED二Pr0;sbit K=P30;int a;void main ()(LED=1;while(l)(if(!K)(a=50000;LED=0;while(a-);LED=1;a=50000;while (a-);2、程序略,要注意进行按键消抖处理。工程六制作消防车报警器一、 工程内容本工程主要涉及到单片机对蜂鸣器的控制。介绍了有源蜂鸣器和无源蜂鸣器 以及它们之间的区别、蜂鸣器的驱动电路以及驱动蜂鸣器发声的程序;还介绍了 利用I/O 定时翻转电平产生矩形波对无源蜂鸣器进行驱动、通过改变I/O 口输 出矩形波的频率来改变蜂鸣器声音的方法;最后介绍了使用逻辑非和按位异或运 算符,让蜂鸣器发出消防车报警声的编程方法。教学提要1、教学重点:驱动无源蜂鸣器发声2、教学难点:编程实现消防车报警声教学建议(一)课时分配任务内容课时任务一让蜂鸣器发声1任务二让蜂鸣器发出音调渐变的声音1任务三制作模拟消防车报警器2(二)教学方法情境教学法、任务驱动法(三)教学要点本工程三个任务的电路局部完全一样,程序方面的核心也相同,都是利用定 时器中断产生一定频率的矩形波来驱动蜂鸣器,唯一不同的是随着单片机输出频 率的变化,蜂鸣器发出的声音也会产生变化,从而实现任务二和任务三所要到达 的效果,因此,教师所要做的就是将每个程序里的关键语句做详细解释,帮助学 生理解。(四)实训指导蜂鸣器的驱动电路局部可以使用蜂鸣器模块(如图6.1),但是蜂鸣器模块 有无源蜂鸣器模块和有源蜂鸣器模块两种。对于有源蜂鸣器模块,单片机一个高 (低)电平就可以让其发出声音,具体是什么电平触发,要看模块中的三极管的 类型,如果是NPN型三极管,那么高电平触发,如果是PNP三极管,那么低电平触发; 对于无源蜂鸣器模块,必须用2KHz5KHz频率的方波去驱动它。所以,使用之前 要注意区分模块类型。图6. 1任务一【练一练】答案1、填空题:(1)压电式蜂鸣器、电磁式蜂鸣器(2)有源蜂鸣器、无源蜂鸣器2、简答题:1、 ) PWM输出口直接驱动,另一种是利用I/O 口定时翻转电平产生矩形 波对蜂鸣器进行驱动。2、 ) PWM输出口直接驱动是利用PWM输出口本身可以输出一定的方波来直接 驱动蜂鸣器。任务二【练一练】答案1、响度、音调和音品2、音调3、编写程序,让蜂鸣器每隔一秒钟改变一次音调。include <reg51. h>unsigned char frq;sbit beep=Pl 0;void delay(x)uint a, b;for(a=200;a>0;a-)for(b=x;b>0;b-);)void main()frq=10;EA=1;ET1=1;TMOD-OxlO;TH1= (65536-5000)/256;TL1= (65536-5000)%256;TR1=1;beep=0;delay(frq);beep=1;delay(frq);while(1);void timel () interrupt 3 using 3TH1=(65536-5000)/256;TL1=(65536-5000)%256;if (t>=200)(t=0;if (frq>=2000)frq=10;elsefrq=frq+10;);elset+;)任务三【练一练】答案3、 0x014、 Oxee5、 Oxfe6、 0x00【工程检测】答案一、填空题1、多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱2、振荡器、电磁线圈、磁铁、振动膜片3、有源、无源4、电源、振荡5、音品二、语句解释1、如果变量key为0,那么给变量led赋值02、将OxeO赋给变量a3、对1取反4、对变量beep进行按位取反三、简答题必获利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的 波形,这个波形就可以用来驱动蜂鸣器了。四、编程题1、参考工程九任务一的程序。2、略工程七制作D/A、A/D转换电路一、 工程内容本工程主要介绍了 D/A转换和A/D转换的原理,并使用D/A转换器DAC0832 和A/D转换器ADC0804分别实现“让LED逐渐变亮”和“用电位器逐个点亮8 支LED”的效果;还介绍了分析工作时序图的方法。二、教学提要1、教学重点:编程控制DAC0832和ADC08042、教学难点:分析工作时序图教学建议(一)课时分配任务内容课时任务一让LED逐渐变亮2任务二用电位器逐个点亮8支LED2(二)教学方法情境教学法、任务驱动法(三)教学要点任务一首先要让学生了解D/A转换器的作用和原理,然后针对“让LED逐渐 变亮”的任务展开教师分析和学生讨论,让学生思考:如何才能使LED逐渐变亮? DAC0832的工作时序图要做重点分析,主要是要教给学生分析的方法,以便在今 后拿到其它芯片的时序图也能独立分析;任务二的教学过程与任务一基本相同, 由于在任务一当中学生已经接触过时序图,所以,在任务二教师可以先让学生尝 试分析ADC0804的工作时序图,然后再加以补充。(四)实训指导本工程的任务内容都需要另外的芯片协助完成,因此完成芯片与单片机之间 的电路连接是功能实现的关键,任务资讯已经提供了电路原理图,在安装电路的 时候要注意LED的极性不要接错,电源端和接地端不能漏接;任务二可以使用 A/D转换模块(如图7.1所示)实现,当短路子置于上面两个插针位置时,内部 信号输入可进行有效的模/数转换,此时,用户可以通过旋转电位器来观察,内 部电压信号的模/数转换过程,作为模块的测试使用,当短路子置于下面两个插 针位置时,外部信号输入可进行有效的模/数转换。图7. 1任务一【练一练】答案1、简答题:(1) 1)分辨率 2)线性度3)绝对精度和相对精度(2) 1)分辨率8位2)电流建立时间1 US3)数据输入可采用双缓冲、单缓冲或直通方式4)输出电流线性度可在满量程下调节5)逻辑电平输入与TTL电平兼容6)单一电源供电(+5V+ 15V);7)低功耗,20mWo2、填空题:(1)最低有效位、最小变化值(2)数据寄存器、电流任务二【练一练】答案1、填空题:(1)数字、模拟、(2)逐次比拟2、简答题:(1) 1)分辨率2)量化误差3)偏移误差4)满刻度误差 绝对精度7)转换速率1)准备阶段。2)转换阶段。3)读取阶段。【工程检测】答案一、填空题1、线性度4)建立时间5)线性度6)2、输出值、理论值3、满刻度变化4、电流5、时序6、模拟量、数字量7、模拟电压8、有限位数、量化9、偏移误差10、重复进行数据转换11、 逐次比拟二、简答题首先向片内D/A转换器输入1000 0000,假设电压比拟器:VIN>VN(VN为片内D/A 转换的输出,VIN为A/D转换器的输入电压),N位寄存器的首位置1(假设VIN < VN, 那么寄存器的首位写0);再向D/A转换输入1100 0000(首位写0时,输入0111 1111), 假设VIN > VN,那么寄存器第二位置1 (假设VIN < VN,那么写0);再向D/A转换输入 1110 0000 (或0011 1111),假设VIN>VN,那么寄存器第三位置1 (假设VIN<VN,贝U 写0);依次下去直到寄存器第8位赋值结束,控制逻辑检测到比拟器进行8次 后,E0C输入信号,让A/D转换器将结果通过锁存缓存器输出至D0D7。单片机的工作原理,掌握单片机程序设计、连接I/O设备的接口技术。对单片机 应用系统的软、硬件设计有一定了解,为开发单片机及其应用系统打下基础。通 过本课程的实践,希望能够使学生掌握单片机的使用方法、开拓学习知识的视野。 使学生了解单片机的构造原理,掌握其内部的主要结构和C语言的编程应用,学 习单片机常用的接口,常用的外围电路设计等,使学生具备应用单片机进行简单 的控制系统开发的能力,注重培养和提高学生应用单片机进行创新设计、解决简 单的实际问题的能力。四、预备知识由于本课程涉及到C语言编程,课本中对每个语句都有详细的说明,但是学 生如果具备c语言的基础知识,会对编程方面更加得心应手,比方:子程序和主 程序的基本结构、位定义、变量的定义、宏定义、条件选择语句、左移右移指令 和基本的运算符等;其次,学生要具备简单电路的分析能力,如欧姆定律、节点 电流定律等;除此之外,学生还应具备数电和模电的基础知识,如数制转换、三 极管的特性、数码管的结构等;另外,完成每个任务都需要制作外围电路,所以 学生应具备电路安装与焊接的基本技能。工程八制作温度显示器一、 工程内容本工程主要介绍了使用1602液晶屏幕和温度传感器DS18B20制作温度显示 器的方法。在任务一中介绍了 1602液晶模块的引脚功能、1602写数据和写命 令的格式、1602初始化程序以及1602液晶的显示地址的设置;任务二主要介 绍了 DS18B20的时序图、DS18B20的初始化程序和读写程序以及驱动DS18B20的 操作流程;最后一个任务完成了温度显示器的制作。二、教学提要1、教学重点:1602液晶显示器的使用、驱动DS18B20芯片2、教学难点:让LCD显示当前温度三、教学建议(一)课时分配任务内容课时任务一让1602液晶显示器显示字符2任务二驱动DS18B20芯片2任务三让LCD显示当前温度2(二)教学方法情境教学法、任务驱动法(三)教学要点要制作温度显示器,首先要学会让液晶显示器显示指定的字符,任务一介绍 的液晶显示器是常用的1602液晶显示器,所以任务一的教学要点就是讲清楚 1602液晶的时序图,并根据时序图画出写数据和写命令的程序流程图,至于液 晶屏能否正常显示字符以及字符显示的位置,就要引导学生查看表813 (见 课本)的内部指令,例如:写入命令字“0x01”就起到清屏的作用;温度传感器 种类很多,DS18B20温度传感器通常应用于高精度、高可靠性的场合,其内部含 有数据存储单元,具备记忆功能,配合指定的程序就可以将其储存的数据读取, 所以任务二的关键是搞清楚“写一个字节”和“读一个字节”的程序指令;任务 三是对前面两个任务的综合运用,可以让学生独立完成。(四)实训指导任务一实训的首要任务是正确连接电路,因为液晶显示器的管脚比拟多,所 以要注意区分管脚的顺序,电路连接好以后,学生可以直接将程序烧录到单片机 进行测试,显示器正常显示以后,教师要求学生对显示字符和显示位置进行改变, 以到达熟悉控制指令的目的;任务二的电路局部较简单,所以要求学生尝试完成“写一个字节”和“读一个字节”的程序指令,然后结合任务三完成温度显示器 的制作,但是要求显示内容要略有不同,可以加上日期或其它文字。任务一【练一练】答案1、 0 0、 1 02、 0x82任务二【练一练】答案1、温度传感器2、单总线、双向3、 480uS、 1560uS4、两个、执行温度转换、读RAM5、说出以下运算的意义:(1)将变量dat与0x01按位求与,相当于保存最 低位;(2)将变量dat与0x80按位求或,即dat的高位补1。任务三练一练答案已占i W四日十进制数,试用适当的算术运算符表示其千位、百位、十位和个位。千位:i/1000 百位:i%1000/100 十位:i%100/10 个位:i%10【工程检测】答案一、填空题1、慢显示2、字符地址3、显示模式4、 480uS5、拉高、存在脉冲6、一根I/O线二、语句解释(59题为单片机向1602液晶写指令的语句)1、将dat的各数据位右移1位2、将dat的各数据位和0x80按位求或3、将dat的各数据位和0x01按位求与,结果赋值给DQ4、将temp的各数据位和变量a按位求或5、 lcd_w_com(0x38);6、显示关闭7、开启显不屏,关光标,光标不闪烁8、显示地址递增,即写一个数据后,显示位置右移一位9、清屏附录一 C语言基础知识汇总1.语言变量声明和变量赋值1)基本数据类型在C语言中,仅有4种基本数据类型一整型、浮点型、指针和聚合类型(如 数组和结构等),所有其他的类型都是从这4种基本类型的某种组合派生而来。整型:整型家族包括字符、短整型、整型和长整型,它们都分为有符号(signed) 和无符号(unsigned)两种版本。规定整数值相互之间大小的规那么很简单:长整 型至少应该和整型一样长,而整型至少应该和短整型一样长。浮点类型:诸如3.14159和2.3义1023这样的数值无法按照整数存储。第一个 数为非整数,而第二个数远远超出了计算机整数所表达范围,这样的数就可以用 浮点数的形式