xnm附录A-一个单片机的应用项目课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《xnm附录A-一个单片机的应用项目课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xnm 附录 一个 单片机 应用 项目 课件
- 资源描述:
-
1、1附录附录A 一个单片机的应用项目一个单片机的应用项目 自动打铃机的设计自动打铃机的设计 A.1 项目任务项目任务A.2 硬件设计硬件设计A.3 软件设计软件设计A.4 项目实验项目实验A.5 项目仿真项目仿真END2A.1 项目任务项目任务A.1.0 设计要求设计要求A.1.1 基本要求基本要求A.1.2 强化要求强化要求3A.1.0 设计要求设计要求 项目的任务是利用单片机作为核心控制电路,设计一项目的任务是利用单片机作为核心控制电路,设计一个自动打铃机。基本要求如下:个自动打铃机。基本要求如下:(1)要求所设计的单片机自动打铃机具有准确的计时功)要求所设计的单片机自动打铃机具有准确的计时
2、功能,能够像电子钟一样按时、分、秒格式显示实时时间。能,能够像电子钟一样按时、分、秒格式显示实时时间。(2)能根据用户要求的时间点自动按时打铃,该项目以)能根据用户要求的时间点自动按时打铃,该项目以大学的自动打铃控制为例,除要求自动打铃外,还要大学的自动打铃控制为例,除要求自动打铃外,还要求能自动播放音乐和早操、课间操节目。具体控制时间如求能自动播放音乐和早操、课间操节目。具体控制时间如作息时间表所示(见表作息时间表所示(见表A.1)。)。(3)设置两个时间调校(校时和校分)按键,分别用来)设置两个时间调校(校时和校分)按键,分别用来调校时和分,以保证自动打铃机的时间与标准时间相符。调校时和分
3、,以保证自动打铃机的时间与标准时间相符。4表表A.1A.1 大学作息时间表大学作息时间表 时 间 作 息 时 间 作 息 6:20 起 床 12:0014:15 午 休 6:256:40 播放音乐、早操 14:1614:20 播放音乐 6:407:20 洗漱、早餐 14:2514:30 预 备 7:207:40 早 读 14:3015:15 上课:第五节 7:407:50 预 备 15:2516:10 第六节 7:508:35 上课:第一节 16:2017:05 第七节 8:459:30 第二节 17:1518:00 第八节 9:359:40 课间操 18:0018:30 晚 餐 9:459:
4、50 预 备 19:2019:30 预 备 9:5010:35 上课:第三节 19:3021:30 晚自习 10:4511:30 第四节 23:00 熄 灯 11:3012:00 午 餐 5A.1.1 基本要求基本要求 如果读者只是把这个项目作为单如果读者只是把这个项目作为单片机课程的综合实训的话,只要求能片机课程的综合实训的话,只要求能在单片机开发装置(或单片机实验箱在单片机开发装置(或单片机实验箱)上按设计要求成功完成实验则可。)上按设计要求成功完成实验则可。对于没有单片机开发设备的读者,只对于没有单片机开发设备的读者,只要求能利用仿真软件(要求能利用仿真软件(Proteus)成)成功完成
5、仿真即可。功完成仿真即可。6A.1.2 强化要求强化要求 如果读者有兴趣把这个项目做成一个实际样如果读者有兴趣把这个项目做成一个实际样机的话,则要求读者在能成功完成实训或仿真调机的话,则要求读者在能成功完成实训或仿真调试的基础上,再增加电源电路、实际的驱动电路试的基础上,再增加电源电路、实际的驱动电路、机壳等,设计出印刷电路板、机壳等,设计出印刷电路板PCB,并完成,并完成PBC的制作和元器件安装,用带有的制作和元器件安装,用带有FPROM且与且与MCS-51系列兼容的单片机(如系列兼容的单片机(如AT89C52)代替实验用)代替实验用的单片机,并用编程器将源程序写入单片机的的单片机,并用编程
6、器将源程序写入单片机的FPROM中,与其他元件一起安装到电路板上,中,与其他元件一起安装到电路板上,配上机壳,构成独立的自动打铃机,达到可以投配上机壳,构成独立的自动打铃机,达到可以投入实际应用的目的。入实际应用的目的。7A.2 硬件设计硬件设计A.2.1 总体设计总体设计A.2.2 实时时钟电路设计实时时钟电路设计A.2.3 显示电路设计显示电路设计A.2.4 控制电路设计控制电路设计8A.2.1 总体设计总体设计 首先需要利用单片机设计一个实时时钟,首先需要利用单片机设计一个实时时钟,然后根据控制时间(即作息时间)建立一个然后根据控制时间(即作息时间)建立一个数据区作为控制字码表,存放在数
7、据区作为控制字码表,存放在ROM中。在中。在此基础上,设计控制程序,在时钟每计时此基础上,设计控制程序,在时钟每计时1秒秒钟时查看一遍数据区,检查数据区中所设置钟时查看一遍数据区,检查数据区中所设置的时间是否与需要控制打铃或广播的时间点的时间是否与需要控制打铃或广播的时间点相同,若相同,则通过单片机的相同,若相同,则通过单片机的I/O端口输出端口输出控制信号。控制信号。9A.2.2 实时时钟电路设计实时时钟电路设计 选择通过选择通过MCS-51内部定时器内部定时器T0 产生中断来产生中断来实现计时。设定定时器实现计时。设定定时器T0工作在定时工作方式工作在定时工作方式1,每,每100ms(0.
8、1s)产生一次中断,每产生一次)产生一次中断,每产生一次T0中断,就利用软件将基准中断,就利用软件将基准0.1s时间计数单元进时间计数单元进行累加计数一次。当定时器行累加计数一次。当定时器T0产生产生10次中断时,次中断时,就获得了就获得了1s信号,这时秒计数单元加信号,这时秒计数单元加1,同理,同理,由软件对分计数单元和时计数单元进行时间计数由软件对分计数单元和时计数单元进行时间计数,从而得到秒、分、时的时间值,并通过,从而得到秒、分、时的时间值,并通过LED数数码管显示电路显示出来。码管显示电路显示出来。10定时器初值的确定定时器初值的确定 选择单片机的晶振频率为选择单片机的晶振频率为fo
9、sc=6MHz,则时钟周期为,则时钟周期为1/6 s,机器周期为,机器周期为2 s。所以定时器所以定时器T0工作在方式工作在方式1下产生下产生0.1s的的定时,所需的定时器初值为定时,所需的定时器初值为3CB0H,为了,为了确保确保T0能准确定时能准确定时0.1s,在,在T0中断服务程中断服务程序中重装定时器初值时,修正为序中重装定时器初值时,修正为3CBDH,在运行中可根据误差情况进一步调整。在运行中可根据误差情况进一步调整。11A.2.3 显示电路设计显示电路设计 为了按时、分、秒的格式显示实时时间为了按时、分、秒的格式显示实时时间,需要使用,需要使用6只只LED数码显示管(本项目采数码显
10、示管(本项目采用共阴极用共阴极LED数码管)。为了减少硬件开数码管)。为了减少硬件开销,提高系统可靠性和降低成本,选择销,提高系统可靠性和降低成本,选择LED数码管的显示方式为动态扫描显示。数码管的显示方式为动态扫描显示。由于驱动由于驱动LED数码管需要一个字形口和一数码管需要一个字形口和一个字位口,为此,采用并行个字位口,为此,采用并行I/O接口芯片接口芯片8155对单片机进行对单片机进行I/O口扩展。口扩展。12 选择选择8155的的B口作为字形口,将口作为字形口,将B口经口经74LS07和所有和所有LED的的a、b、c、d、e、f、g、h引线相连;引线相连;8155的的A口作为字位口,口
11、作为字位口,其中的其中的6个引脚经个引脚经74LS07分别和分别和6个个LED的的控制端控制端G相连。单片机工作时通过相连。单片机工作时通过8155的的B口输出字形码,再通过口输出字形码,再通过A口输出字位码以控口输出字位码以控制被选中的一个制被选中的一个LED点亮。当与时、分、点亮。当与时、分、秒对应的字形码轮流输出时,相应的字位秒对应的字形码轮流输出时,相应的字位码从左到右轮流选中码从左到右轮流选中LED,打铃机的实时,打铃机的实时时间就可以逐次在时间就可以逐次在LED上动态显示。上动态显示。13A.2.4 控制电路设计控制电路设计1 1时间调校电路时间调校电路2 2输出控制电路输出控制电
12、路3 3自动打铃机硬件接线图自动打铃机硬件接线图4 4自动打铃机硬件接线图说明自动打铃机硬件接线图说明5 5图图A.1A.1中中81558155的端口地址分析的端口地址分析141 1时间调校电路时间调校电路 选择采用外部中断请求来进行时间调校选择采用外部中断请求来进行时间调校。将。将“校时校时”按键和按键和“校分校分”按键分别接到按键分别接到单片机的(单片机的(P3.3)和()和(P3.2)引脚,每当用)引脚,每当用户按下一次时间调校按键,便会产生一次外户按下一次时间调校按键,便会产生一次外部中断请求,单片机响应中断后,在中断服部中断请求,单片机响应中断后,在中断服务程序中对相应的计时单元进行
13、加务程序中对相应的计时单元进行加1。若加。若加至超过计时基制,通过程序控制计时单元清至超过计时基制,通过程序控制计时单元清0,这样只用加,这样只用加1控制就可以进行校时。控制就可以进行校时。152输出控制电路输出控制电路 选取单片机的选取单片机的P1.0引脚用于连接电铃驱动引脚用于连接电铃驱动电路,电路,P1.4引脚用于连接广播设备驱动电路。引脚用于连接广播设备驱动电路。在项目实验调试阶段,电铃和广播设备用发光在项目实验调试阶段,电铃和广播设备用发光二极管代替,将发光二极管的负端与输出引脚二极管代替,将发光二极管的负端与输出引脚连接,使用低电平驱动。连接,使用低电平驱动。连接连接P1.0的发光
14、二极管(绿色)亮表示打的发光二极管(绿色)亮表示打铃,灭则表示不打铃。铃,灭则表示不打铃。连接连接P1.4的发光二极管(红色)亮表示打的发光二极管(红色)亮表示打开广播设备,灭则表示停止广播。开广播设备,灭则表示停止广播。163 自动打铃机硬件接线图自动打铃机硬件接线图 图图A.1 自动打铃机硬件接线图自动打铃机硬件接线图 174 自动打铃机硬件接线图说明自动打铃机硬件接线图说明 在图在图A.1中,所用的单片机型号为中,所用的单片机型号为8031,因为采,因为采用单片机开发实验装置进行试验时,所加载的源程序用单片机开发实验装置进行试验时,所加载的源程序是存放在实验装置的是存放在实验装置的RAM
15、存储器中的,无需用到单存储器中的,无需用到单片机的片内片机的片内ROM,所以在项目设计实验阶段只要使,所以在项目设计实验阶段只要使用无用无ROM型的型的8031单片机即可。单片机即可。实验成功后,需要做成实用的打铃机时,若仍采实验成功后,需要做成实用的打铃机时,若仍采用用8031,则需要给,则需要给8031扩展片外扩展片外ROM,现在由于具,现在由于具有片内有片内ROM(EPROM、E2PROM或或FPEROM)的)的单片机价格不高,因此,实际应用时,通常直接选用单片机价格不高,因此,实际应用时,通常直接选用与与MCS-51兼容的具有片内兼容的具有片内FPROM的单片机(如的单片机(如AT89
16、C51、AT89C52等)。等)。185 图图A.1中中8155的端口地址分析的端口地址分析 当当IO/=1时,单片机选择时,单片机选择8155作为作为I/O口,口,8155的的端口地址为:端口地址为:8000H 命令命令/状态口状态口8001H A口(字位口)口(字位口)8002H B口(字形口)口(字形口)8003H C口(未使用)口(未使用)8004H 定时器定时器/计数器低字节(未使用)计数器低字节(未使用)8005H 定时器定时器/计数器高字节(未使用)计数器高字节(未使用)8008HFFFDH 8155重叠重叠I/O地址地址195 图图A.1中中8155的端口地址分析的端口地址分析
17、 当当IO/=0时,单片机选择时,单片机选择8155中的中的RAM存存储器工作,储器工作,RAM的地址为:的地址为:0000H00FFH 8155基本基本RAM地址地址0100H7FFFH 8155重叠重叠RAM地址地址 在该应用项目中,只用到在该应用项目中,只用到8155其中的其中的命令命令/状态口、状态口、A口和口和B口。未使用口。未使用8155中中的的RAM存储器存储器。20A.3 软件设计软件设计A.3.1 程序的总体设计程序的总体设计A.3.2 程序流程图设计程序流程图设计A.3.3 源程序设计源程序设计21A.3.1 程序的总体设计程序的总体设计 程序的总体设计主要是根据通过硬件设
18、计所程序的总体设计主要是根据通过硬件设计所确定的硬件电路以及编程需要,进行单片机的确定的硬件电路以及编程需要,进行单片机的资源分配、引脚定义以及设计出控制字、控制资源分配、引脚定义以及设计出控制字、控制码等。包括如下内容:码等。包括如下内容:1 1设计时间控制字设计时间控制字2 2ROMROM资源分配资源分配3 3RAMRAM资源分配资源分配221 1设计时间控制字设计时间控制字 为了能在控制程序中识别出应在何时进行何种控制为了能在控制程序中识别出应在何时进行何种控制,时间控制字可采用如图,时间控制字可采用如图A.2所示的格式。所示的格式。图图A.2 时间控制字的格式时间控制字的格式 每个控制
19、字的字长为每个控制字的字长为4个字节,以每两个控制字为一个字节,以每两个控制字为一组,每组需要占用组,每组需要占用8个个ROM存储单元。控制字中的时、分存储单元。控制字中的时、分、秒为需要做出控制(启动或关闭装置)的时间点,控、秒为需要做出控制(启动或关闭装置)的时间点,控制码则用于指示该做何种控制。制码则用于指示该做何种控制。23 由于在硬件设计时,选取单片机的由于在硬件设计时,选取单片机的P1.0用作用作电铃的开启和关闭,电铃的开启和关闭,P1.4用作广播的开启和关闭用作广播的开启和关闭,电铃和广播用发光二极管代替,而且使用低电,电铃和广播用发光二极管代替,而且使用低电平驱动,所以只要从平
20、驱动,所以只要从P1.0引脚输出低电平引脚输出低电平0,就可,就可以开启电铃;输出高电平以开启电铃;输出高电平1,就可以关闭电铃。,就可以关闭电铃。于是启动电铃和关闭电铃的控制码可以分别于是启动电铃和关闭电铃的控制码可以分别设计为设计为FEH(1111 1110B)和)和FFH(1111 1111B)。同理,启动广播设备和关闭广播设备的控制)。同理,启动广播设备和关闭广播设备的控制码可以分别设计为码可以分别设计为EFH(1110 1111B)和)和FFH(1111 1111B),如表),如表A.2所示。所示。控制码的设计控制码的设计24表表A.2A.2控制码的定义及其功能控制码的定义及其功能
21、控制码 功能 对应的输出引脚与状态 FEH 启动电铃 P1.0=0 EFH 启动广播 P1.4=0 FFH 关闭装置 P1.0=1,P1.4=1 00H 数据区结束 25 根据作息时间表(见表根据作息时间表(见表A.1)的具体控制时间)的具体控制时间,按图,按图A.2的格式和表的格式和表A.2的定义,编出所有的控制的定义,编出所有的控制字,并依照控制时间的先后为顺序依次存入字,并依照控制时间的先后为顺序依次存入ROM的数据区中,构成由控制字组成的控制字码表,控的数据区中,构成由控制字组成的控制字码表,控制码为制码为00H时,表示数据区的结束。时,表示数据区的结束。时间控制字的设计时间控制字的设
22、计例如:例如:“6:20 起起 床,启动电铃持续响铃床,启动电铃持续响铃15秒秒”的时间控制字为:的时间控制字为:FE062000 FF062015 262 2ROMROM资源分配资源分配 由于单片机初始或复位时,程序计数器由于单片机初始或复位时,程序计数器PC的内的内容为容为0000H,所以,所以ROM的的0000H应作为主程序的入应作为主程序的入口地址。又由于项目中需用到外部中断口地址。又由于项目中需用到外部中断0、外部中断、外部中断1和和T0中断,因此,需要将中断,因此,需要将ROM的的0003H、0013H和和000BH留作相应的中断入口。留作相应的中断入口。为此,主程序安排跳转到为此
23、,主程序安排跳转到ROM的的0050H以后的以后的单元。数据区的入口地址,可以在整个程序编写完单元。数据区的入口地址,可以在整个程序编写完成,并进行汇编后,再视已经占用多少成,并进行汇编后,再视已经占用多少ROM单元而单元而定。对于本应用项目,估计不含数据区的程序空间定。对于本应用项目,估计不含数据区的程序空间小于小于1000H,因此,将数据区的起始地址设定为,因此,将数据区的起始地址设定为1010H。如若不然,再根据实际情况加以调整。如若不然,再根据实际情况加以调整。272 2ROMROM资源分配资源分配 对于本应用项目,估计不含数据区对于本应用项目,估计不含数据区的程序空间小于的程序空间小
24、于1000H,因此,将数据,因此,将数据区的起始地址设定为区的起始地址设定为1010H。如若不然。如若不然,再根据实际情况加以调整。按照表,再根据实际情况加以调整。按照表A.1及表及表A.2编写出的数据表以及数据区在编写出的数据表以及数据区在ROM中所分配的地址如表中所分配的地址如表A.3所示。所示。28表表A.3A.3时间控制字数据区时间控制字数据区 地 址 数 据(时 间 控 制 字)1010H 1017H FE 062000 FF062015 1018H 101FH E F062500 FF064000 1020H 1027H FE 072000 FF072010 1028H 102FH
25、 FE 074000 FF074015 1030H 1037H FE 075000 FF075010 1038H 103FH FE 083500 FF083510 1040H 1047H FE 084500 FF084510 1048H 104FH FE 093000 FF093010 1050H 1057H E F093500 FF094000 1058H 105FH FE 094500 FF094515 1060H 1067H FE 095000 FF095010 1068H 106FH FE 103500 FF103510 1070H 1077H FE 104500 FF104510 1
展开阅读全文