《《单片机技术及应用》工作页.docx》由会员分享,可在线阅读,更多相关《《单片机技术及应用》工作页.docx(18页珍藏版)》请在第壹文秘上搜索。
1、单片机技术及应用工作页学习任务单片机控制数码管实现电子秒表一、项目目标知识目标:1)掌握数码管显示数字的工作原理;2)掌握数码管静态显示和动态显示原理3)掌握单片机的内部数据存储器结构;4)掌握数组和码表的编写;5)掌握段选程序的设计和编写;6)掌握位选程序的设计和编写;7)掌握显示程序的设计和编写;8)掌握延时动态数码管显示方法;9)掌握相应C语言指令的应用;技能目标:1)熟练使用KEIL软件的使用;2)熟练使用万利Win3软件的使用;3)掌握AT89S52单片机程序的下载方法4)进一步巩固元器件的识别、元器件的焊接、元器件的组装与调试;能力目标:1)培养学生接受、加工、存储、运用信息的能力
2、;2)培养学生分析问题、解决问题的能力、应用知识的能力;3)培养学生沟通、协调、协作及一定的社会能力;4)培养学生自我展示、自我推销的能力;二、项目描述与演示项目描述随着电子技术及单片机技术发展,单片机应用领域越来越广泛,主要应用于控制领域,比如交通灯的控制,数字的显示等。本项目要求编写三种数字数码管程序,一种利用单片机控制八段LED数码管显示“01234567”8位数字,它包括两种显示电路(静态显示和动态显示),一种利用单片机控制数码管显示三位数相加,每秒加1,一种利用单片机控制数码管时钟显示,格式为时-分-秒,每两个数码管显示时分或者秒,具体如下:1、单片机控制八段LED数码管显示“012
3、34567”6位数字。2、系统上电后,加载程序运行,八段数码管LED7、LED6、LED5、LED4和LED2、LED1、LEDO上分别显示为不显示、不显示、不显示、不显示、不显示、三位数的百位,十位和个位。三位数每秒加1,直到999后清0。项目演示软件演示1:事先录制视频播放软件演示2:现场连接电路,演示实验现象三、项目分析分析一:八段LED数码管的工作原理八段LED数码管是一种常用的数字显示元件,将a,b,c,d,e,f,g,dp八只发光二极管做成条状,按下图进行排列而成,除了显示数字的七段之外还有一个小数点dp,实际为八段显示。通过七段发光段的不同组合,可以显示09,AF等数字和字符。g
4、fabMlllkfltlbed个CdP公共或(a)八段LED数码管可根据内部发光二极管的连接方式,可分为共阴极和共阳极两种。如下图所示。公共靖单片机控制七段LED数码管显示,需控制段选码,如果有多个数码管时,需控制位选码。如单片机控制8位数字数码管显示原理图所示。填写八段LED数码管显示数字和字符对应的十六进制数表字形共阴极代码共阳极代码字形共阴极代码共阳极代码O3FHCOHA77H88H106HF9HB7CH83H25BHA4HC39HC6H34FHBOHD5EHAlH466H99HE79H86H56DH92HF7IH8EH67DH82HP73H8CH707HF8H40HOBFH87FH80
5、H火OOHFFH96FH90H分析二:74LS377是八D锁存器其引脚如下图所示。在74LS377片选CE为低电平时,选中该芯片,在CP为上升沿时能把输入信号锁入芯片中。74LS377的真值表OperatingModeInputsOutputsCPCEDnQnLoad,1LHHLoad40LLLHold(DoNothing)HXNoChangeXHXNoChange分析三:硬件线路和段选位函数分析1、结合电路段选函数分析voidwriteDuan(ucharx)写段码函数位码赋初值 选中第0个数码管根据显示缓冲区内容查TAB数组字模在相应的位显示显示2亳秒时间outO=x;_nop_();1.
6、ED_CS1=O;1.ED_WR=0;_nop_();1.ED_WR=1;1.ED_CS1=1;I2、结合电路位选函数分析voidwriteWei(ucharx)(outO=x;_nop_();1.ED_CS2=0;1.ED_WR=0;_nop_();1.ED_WR=1;1.ED_CS2=1;I3、结合电路显示函数分析voiddisplay()(uchari;ucharwei=0xfe;for(i=0;i8;i+)(writeDuan(TABai);writeWei(wei);delayms(2);写入段码数码管段选信号有效数码管写信号有效数码管写信号无效数码管段选信号无效写位码函数写入位码数
7、码管位选信号有效数码管写信号有效数码管写信号无效数码管位选信号无效显示函数(八位扫描方式)WriteWei(Oxff);wei=(wei1)0x01;熄灭所有位,消除重影选中下一个数码管四、项目实施1学生根据电路图和程序理解和掌握电路和程序的原理和使用。2、学生分组讨论,交换心得体会3、对学生掌握情况,进行提问、考核。五、项目评估学习任务评价表评价项目评价内容配分评价标准得分程序编制、调试、运行理解八段数码管显示原理20分理解八段数码管显示原理,记忆共阳极八段数码管码表10分,并根据要求显示符号设计码表10分74LS377是八D锁存器10分能正确分析和理解377锁存器的使用原理得10分硬件线路
8、和段选位函数分析20分看的懂数码管模块电路图5分结合电路图理解分析段选函数5分结合电路图理解分析位选函数5分结合电路图理解分析显示函数5分任务一单片机控制8只数码管静态显示一、任务目标知识目标1)掌握八段LED数码管的显示工作原理;2)掌握74LS377以及硬件线路和段选位函数分析3)进一步巩固单片机的C语言指令:数组,断码表编写,子函数的编写。4)学会延时子程序的编写和for,While命令的的使用。能力目标1)培养学生接受、加工、存储、运用信息的能力;2)培养学生分析问题、解决问题的能力、应用知识的能力;3)培养学生沟通、协调、协作及一定的社会能力;4)培养学生自我展示、自我推销的能力;技
9、能目标1)熟练使用KEIL软件的使用;2)熟练掌握万利win3软件的使用;3)熟练AT89X52硬件实施的下载方法;二、任务描述与演示项目描述本例单片机PO口连接8只数码管,通过单片机编写单片机程序控制8只数码管静态显示01234567。项目演示软件演示:1、录制视频演示2、现场演示现象三、任务分析1、硬件电路的设计四、任务实施2、软件流程图显示子函数开始TI、打开万利win3软件,新建项目,按照要求设置。并新建文件,编写程序。#include#include#defineuintunsignedint包含89x52头文件包含inlrins头文件无符号整型定义#defineucharunsig
10、nedchar#defineoutOPO无符号字符型定义定义OulO为PO口sbitLED.CS1=P10;sbitLED-CS2=P11;数码管段选信号端数码管位选信号端sbilLED.WR=P12;数码管写信号端uchara8;数码管八位显示缓冲区ucharcodeTAB=共阳极数码管字模/0123456789OxcO,0xf9,0xa4,OxbO,0x99,0x92,0x82,OxfB,0x80,0x90,/Zabcdef0x88,0x83,0xc6,0xal,0x86,0x8e,熄灭-OxftOxbf);voiddelayms(uintx)(uchari;while(x-)for(i=
11、0;i123;i+);)voiddelayus(ucharx)(while(-x);)voidwriteDuan(ucharx)(outO=x;_nop_();1.ED.CS1=O;1.ED.WR=0;_nop_();LED.WR=1;1.ED.CS1=1;)voidwriteWei(ucharx)(outO=x;_nop_();延时亳秒函数延时微秒函数写段码函数写入段码数码管段选信号有效数码管写信号有效数码管写信号无效数码管段选信号无效写位码函数写入位码LED_CS2=0;1.ED.WR=O;_nop_();1.ED.WR=1;1.ED.CS2=1;)voiddisplay()(uchari
12、;ucharwei=0xfe;for(i=0;i8;i+)(writeDuan(TABai);writeWei(wei);delayms(2);writeWei(0xfD;wei=(wei1)0x01;数码管位选信号有效数码管写信号有效数码管写信号无效数码管位选信号无效显示函数(八位扫描方式)位码赋初值选中第0个数码管根据显示缓冲区内容查TAB数组字模在相应的位显示显示2亳秒时间熄灭所有位,消除重影选中下一个数码管voidmain()(uchari;for(i=0;i8;i+)ai=i;while(l)dislay();)2、运行程序,调试项目学一学主函数给显示缓冲区赋值为01234567循环显示1、数组的命令格式及其含义,例如:uchara8;2、定义码表格式及其含义,例如:ucharcodeTAB11=共阳极数码管字模/0123456789OxcO,OxlP,0xa4,OxbO,0x99,0x92,0x82,OxfB,0x80,0x90,/abcdef0x88,0x83,0xc6,0xal,0x86,0x8e,熄灭-OxftOxbf);3、左移和或运算I指令知识扩展-还能怎么做1、显示你想象的数码管可以显示的符号(比如L和n、U等)。2、如何清晰的看到数码管是逐个显示的。程序一程序二五、任务评估评价项目评价内容配方评价标准得分程序编制、调试、运行指令学习10分正确