电子价格牌课程设计说明书.docx

上传人:牧羊曲112 文档编号:2042010 上传时间:2023-01-03 格式:DOCX 页数:32 大小:4.95MB
返回 下载 相关 举报
电子价格牌课程设计说明书.docx_第1页
第1页 / 共32页
电子价格牌课程设计说明书.docx_第2页
第2页 / 共32页
电子价格牌课程设计说明书.docx_第3页
第3页 / 共32页
电子价格牌课程设计说明书.docx_第4页
第4页 / 共32页
电子价格牌课程设计说明书.docx_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《电子价格牌课程设计说明书.docx》由会员分享,可在线阅读,更多相关《电子价格牌课程设计说明书.docx(32页珍藏版)》请在三一办公上搜索。

1、 单片机技术课程设计说明书电子价格牌院部:学生姓名:指导教师: 职称 专班学业: 级:号:完成时间: 摘 要电子价格牌是一种利用数码管来显示价格的一种设备。随着人们生活水平的日益提高,现在有越来越多的机会人们会选择在酒店入住。电子价格牌就是广泛应用于酒店,超市等常见地点。设计以 AT89S52 单片机作为核心芯片加上 74HC573 芯片和 4 个四位一体数码管来实现。电子价格牌利用按钮改变数值并显示在数码管上,上电或复位状态显示为“P.”,按下第一个按键就开始工作。经检验调式符合任务书要求,电子价格牌显示 4 个数值,可以用按键进行左移右移来修改。关键词:电子价格牌;单片机;74HC573

2、目 录1绪论. 11111.1 设计课题任务.1.2 性能要求. 1.3 总体方案介绍.1.4 工作原理说明.12电子价格牌硬件系统设计. 22.1 硬件系统各模块功能介绍.22222222.1.1 单片机 AT89S52.2.1.2 振荡电路.3.1.3 电源电路.3.1.4 下载电路.3.1.5 复位电路.4.1.6 显示电路.5.1.7 键盘.522.2 电路原理图及实物图. 6.3 元器件清单.63软件系统的设计. 7333.1 单片机资源使用情况. 7.2 各模块功能介绍.7.3 系统程序流程图.83333.3.1 主程序流程图.8.3.2 显示 P.子程序.8.3.3 键功能子程序

3、.9.3.4 显示子程序流程图.113.4 程序清单. 124设计结果及误差分析.13444.1 电子价格牌使用说明. 13.2 调试过程及结果.13.3 误差分析. 14I 4.4 设计体会. 14结束语. 15参考文献.16致 谢. 17附 录. 18附录 A 元器件清单.18附录 B 电路原理图.19附录 C 实物图.20附录 D 程序图.21II 1绪论1.1 设计课题任务设计一个应用于酒店具有特定功能的电子价格牌。1.2 性能要求电子价格牌上电或按复位键后自动显示“P.”,进入准备阶段。利用数码管显示四种不同房型的价格,且均为四位数。能利用按键左移右移修改价格。1.3 总体方案介绍价

4、格牌采用 AT89S52 单片机作为主控芯片,包括振荡电路,电源电路,显示电路,下载电路,复位电路和键盘构成。总体方案框图如图 1 所示。图 1 总体方案框图1.4 工作原理说明电子价格牌的工作原理为:利用 74HC573 驱动 4 个四位一体数码管来显示数值。通过按键调用按键子程序控制寄存器改变价格牌的数值内容。以实现键盘控制显示器的内容。1 2电子价格牌硬件系统设计2.1 硬件系统各模块功能介绍价格牌所需要用到的系统模块包括:单片机 AT89S52,振荡电路,电源电路,下载电路模块,复位电路,数码管显示电路和键盘。2.1.1 单片机 AT89S52AT89S52 具有以下标准功能: 8k

5、字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52芯片及管脚图如图 2 所示。图 2 单片机 AT89S522 2.1.2 振荡电路AT89S52 中的高增益反相放大器,其输入端为引

6、脚 XTAL1,输出端为引脚XTAL2。通过两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容一般取30pF)。石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器,振荡电路如图 3所示。图 3 振荡电路2.1.3 电源电路电源电路给单片机提供+5V 的工作电源,电路如图 4 所示。电路包括变压器、六脚开关、整流桥、电容。其中根据经验值可取 C1=2200F,C2=0.1F,C3=470F,其中 C1 与 C2 组成滤波结构,具有滤波作用。C3 为旁路电容,当输出电压升高时,可进一步抑制纹波,防止纹波的放大,一般选择值为 470F

7、 的电解电容。电源电路如图 4 所示。图 4 电源电路2.1.4 下载电路ISP 下载功能是 AT89S52 单片机固有的功能之一,在 keil 软件中编译通过的程序可直接通过下载线接下载口直接烧录进单片机中,存储到单片机的 Flash中,供单片机进行调用。设计的下载电路由 AT89S52 单片机下载器、下载电缆及接口电路组成。其中接口模块的 1、4、5 脚分别连接单片机的 P1.5、P1.7、P1.6引脚,接口模块的 2 脚悬空,接口模块的 3 脚连接单片机的复位引脚,接口模块3 的 10 脚接电源,接口模块的 6、7、8、9 脚接地。下载接口电路如图 5 所示。图 5 下载接口电路2.1.

8、5 复位电路将复位信号通过单片机复位引脚 RST 送到其内部,即可完成复位操作。复位有上电复位和手动复位,上电复位即单片机系统通电后按开关电源就进行了系统复位,手动复位是系统通电后按复位键进行系统复位,一般在系统工作中出现错误,而进行其他操作都无效的情况下才会采用复位操作。设计采用上电复位与手动复位相结合的电路完成,复位电路如图 6 所示。图 6 复位电路4 2.1.6 显示电路电子价格牌的显示电路由 4 个 8 段数码管组成。数码管由 8 个发光二极管构成,可以用来显示数字。显示电路如图 7 所示。图 7 数码管显示电路2.1.7 键盘电子价格牌采用程序编制简单的独立式键盘,将用到 5 个按

9、钮,功能依次是初始化价格,左移,右移,减位,按住按钮不松手延时连减。初始化价格是指按键后 4 个数码管全部显示为 0,为初始价格。左移是指按键后左移一位,右移是指按键后右移一位。减位是指按键后从 9 减到 0,到 0 后再按一次变为“P.”状态。第 5 个按钮按住按钮不松手会延时一秒一直减到“P.”状态。键盘如图 8所示。图 8 键盘5 2.2 电路原理图及实物图电路原理图见附录 B。电路实物图见附录 C。2.3 元器件清单 元器件清单见附录 A。6 3软件系统的设计3.1 单片机资源使用情况AT89S52 的片外资源:P0 口:输出数码管段控信号;P1 口:接按键;P2 口:输出数码管位控信

10、号;按键 1:初始化数值;按键 2:控制位左移一位;按键 3:修改数值;按键 4:控制位右移一位;按键 5:按住不松手延时连减;晶振:12MHz;RST: 复位输入;3.2 各模块功能介绍主程序:系统初始化及主要功能。显示“P.”子程序:上电或复位时显示“P.”。键功能子程序:利用按键实现四个价格牌的加减和移位功能。显示子程序:显示数码管上价格牌的数字。7 3.3 系统程序流程图3.3.1 主程序流程图设计主程序包括系统初始化、判按键状态、价格牌价格修改。主程序流程图如图 9 所示。图 9 主程序流程图3.3.2 显示 P.子程序价格牌采用上电初始化或按复位键显示 P.子程序。但用其他功能按键

11、改变价格牌的数值时,按下复位键后又能恢复到“P.”状态。显示 P.子程序流程图如图 10 所示。8 图 10 显示 P.子程序图3.3.3 键功能子程序(1)按键 1 给价格牌地址赋初值,程序流程框图如图 11 所示。图11 键功能子程序流程图(2)按键 2 和按键 4 执行给价格牌左移和右移的功能,程序流程框图如图12 所示。9 图 12 键功能子程序流程图(3)按键 3 执行给价格牌减位的功能,程序流程框图如图 13 所示。图 13 键功能子程序流程图10 (4)按键 5 执行按住按住键盘不松手实现延时一秒连减功能,程序流程框图如图 14 所示。图 14 键功能子程序流程图3.3.4 显示

12、子程序流程图设计采用连续调用两次显示子程序,分别将位控码送 P2 和 P3 口。首先保护现场,然后初始化地址指针 R0 和位控寄存器 R2。然后查表取段控码,段控码送P0 口,位控码送 P2 口和 P3 口并延时 1 秒,同时位控码左移,显示缓冲区地址加一。判断 8 位 LED 灯是否显示完,如果没有就返回重新查表取段控码,如果有就恢复现场,子程序返回。子程序流程图如图 15 所示。11 图 15 键功能子程序流程图3.4 程序清单程序清单见附录 D。12 4设计结果及误差分析4.1 电子价格牌使用说明电子价格牌在上电或复位时显示“P.”,按下第一个按钮 4 个数码管显示初始值 0。第二个按钮

13、和第四个按钮可以实现位置的左移和右移。按下第三个按钮可以修改当前位置的数值,按一下减一位。按下第五个按钮也会实现减位,但是按住不松手可以延时一秒连续减位,当减到数值 0 时,显示“P.” 状态。4.2 调试过程及结果电子价格牌在上电或按下复位键后显示“P.”,除了按第一个键初始化,按其他键都没有反应。待机状态如图 16 所示。图 16 价格牌待机状态按下第一个键后,价格牌开始工作 4 个数码管全部显示初值 0,测试结果如图 17 所示。图 17 按钮 1 测试图按下第二个键后,价格牌会左移一位,并在移动后的位置显示“P.”,可以修改数值,测试结果如图 18 所示。图 18 按钮 2 测试图按下

14、第三个键后,可以修改数值,在显示为“P.”的位置上价格牌数值减一,13 测试结果如图 19 所示。图 19 按钮 3 测试图按下第四个键后,价格牌右移一位,并在移动后的位置显示“P.”,可以修改数值。测试结果如图 20 所示。图 20 按钮 4 测试图4.3 误差分析设计中由于做实物的时间紧凑,所以使用两块板子共同连接显示 4 个数码管的数值,虽然能完成本次设计的要求,但可能会使连接不稳定,产生数码管显示明亮不一的问题。4.4 设计体会 通过单片机课程设计对单片机有了更深的认识,也是一学期单片机基础课程的检测。在课程设计中可以发现书本上的东西如果不通过实践永远都是书本上的东西,只有实践中能够灵

15、活的运用才是真正的掌握了。在设计过程中,编写程序时,遇到了很多的问题,但通过问老师问同学,最终都解决了。通过课程设计,能够明白一个道理,做任何一件事都需要互相帮助和学习,任何事只有动手了才会学得更多和理解的更透彻。在课程设计中可以对单片机的认识有了更深的了解。也掌握了一套合适的学习方法,可以说是课程设计最大的收获了。14 结束语设计课题是电子价格牌,在现实生活中多应用与酒店,超市等地。设计课题以 AT89S52 为核心的微型控制电路。将数码管的各位数值进行修改。首先要对单片机的理论知识进行学习和汇总,特别是要熟悉运用汇编程序。弄懂了原理及理论知识之后,利用单片机设计制作的电子价格牌系统,用AD

16、 制图软件可以很方便画出系统原理图和 PCB 图,并制作出系统实物,接着用keil 软件进行编程,让它能准确的修改每一位的数值,需要许多时间经过大量的测试及修改。虽然由于时间关系用到两块板子显示 4 个数码管,但也基本能满足设计要求。15 参考文献1李广弟.单片机基础M.第 3 版.北京:北京航空航天大学出版社,2007.6.2阎石.数字电子技术基础M.第四版.北京:高等教育出版社,1992.12.3康华光.电子技术基础模拟部分M.第五版.北京:高等教育出版社,2006.14郭天祥.51 单片机 C 语言教程M.北京:电子工业出版社,2009.16 致 谢单片机课程设计能够完成,首先要感谢我的

17、父母,没有他们的养育之恩就没有我的今天。其次,我要感谢我的指导老师凌云,就是因为他的严格要求加上各种实验课的实践,才会有我们现在的理论知识和动手能力。最后我要感谢我的同学们,当我遇到不懂得问题向他们请教,他们总是会耐心的为我讲解,让我顺利的完成了单片机课程设计。17 附 录附录 A 元器件清单序号名称型号数量(个)1AT89S52 单片机芯片锁紧座40P123456789AT89S52 单片机四位一体共阳数码管插座四位一体共阳数码管74HC573 芯片插座74HC57340P114522123333333163333333333340P20P20P晶振12MHz发光二极管单排插针40P1011

18、1213141516171819202122232425262728三极管9012蜂鸣器小按键下载口座子六脚按键电源开关USB 电源线USB 电源线插座电阻4702001K电阻电阻电解电容22uF33pF10K470瓷片电容排阻排阻短路冒杜邦线 8PPCB 板子固定螺钉螺帽USB 下载线3mm18 附录 B 电路原理图19 附录 C 实物图20 附录 D 程序图/*项目名称:电子价格牌设计者: 尹琛指导老师:凌云时班功间 :2016 年 12 月 20 日级 :电气本 1405 班能 :设计一个能显示四种不同房型价格的电子价格牌。使用说明:上电或复位时自动显示“P.”,进入准备阶段。从左到右

19、5 个按钮,按下第一个按钮 4 个数码管全部显示为 0,通过按钮改变数值,每次减少 1,最低位为 0,到 0 后再按会变成“P.”状态,并且可以用按钮左移右移改变不同数码管的数值。*主程序*ORGLJMPORGMOVMOVMOVMOV0000HMAIN0100HSP,MAIN:#30H#00H#20H#95PSW,R0,R7,QINGLING: MOVINCR0,R0#00H:将 00H 赋给 R0:将 RAM 清零DJNZLCALLR7,QINGLINGXIANP:跳转到显示 P.的程序*系统监控程序*LOOP:LCALLCLRDIRP2.7LCALLCLRDIR2P3.7JNBP1.0,K

20、EY1P1.1,KEY2P1.2,KEY3P1.3,KEY4P1.4,KEY5JNBJNBJNBJNB21 LJMP LOOP*开启电子价格牌并赋初值*KEY1:MOV R1, #5FHMOV R0, #60HMOV A, #00HMOV R0,AHUILAI:INC R0CJNE R0,#70H,HUILAILJMP LOOP*控制位左移显示 P.*KEY2:LCALL XIAODOU2MOV R1,#0AH:消抖过程中 R1 加一:将 P.段控码送给价格牌MOV A, #0AHCJNE R1, #70H,FANHUI2MOV R1, #60H:确保修改位不超过价格牌范围MOV R1,#0A

21、H*消抖程序*XIAODOU2: LCALL DELAY1JBP1.1, WUXIAO2LCALL DANJI1:使按键单击有效JNBINCP1.1, WUXIAO2R1WUXIAO2: RETFANHUI2: LJMP LOOP*修改数字*KEY3:LCALL XIAODOU3MOV R1, ACJNE A,MOV A,:消抖过程中 A 加一#00H,FANHUI:给价格牌赋值改变数字:确保不超过段码表范围#0AH*消抖程序*XIAODOU3: LCALL DELAY1JBP1.2, WUXIAO3LCALL DANJI2:使按键单击有效JNBP1.2, WUXIAO322 DEC AWUX

22、IAO3: RETFANHUI: LJMP LOOP*控制位右移并显示 P.*KEY4:LCALL XIAODOU4MOVMOVCJNEMOVMOVR1,A,#0AH#0AHR1,R1,R1,LOOPR1,R1,#5FH,FANHUI4#6FH:确保不超过价格牌地址范围:确保不超过价格牌地址范围#0AHFANHUI4: LJMPCJNEMOV#5EH,FANHUI5#6FHMOVR1,#0AH*消抖程序*XIAODOU4: LCALL DELAY1JBP1.3,WUXIAO4LCALL DANJI4:确保按键单击有效JNBDECP1.3,WUXIAO4R1WUXIAO4: RETFANHUI5

23、: LJMPLOOP*跳转指定位修改数值*KEY5:LCALL XIAODOU5MOVR1, ACJNEMOVA,A,#00H,FANHUI2#0AH:将 R1 赋指定值指向指定价格牌地址:更改价格牌地址内容显示 P.:将 P.的段控码送 AXIAODOU5: MOVR7, #00HFANHUI7: LCALL DELAY1INCCJNEJBR7R7, #05H,FANHUI7P1.4,WUXIAO5ADECWUXIAO5: RET23 FANHUI6: LJMP LOOP*显示程序一*DIR:PUSHPUSHPUSHPUSHSETBCLRDPHDPLACCPSWRS0RS1A:保护现场CLR

24、MOVR0,R3,A,#60H#01HR3:选取价格牌首地址MOVMOVLD0:MOVP2,A:实现位控:实现段控MOVDPTR, #BIAOMOVA,R0MOVCMOVA,A+DPTRAP0,LCALL DELAYINCMOVJBR0A,R3ACC.7, LD1ARLMOVLJMPCLRCLRPOPPOPPOPPOPRETR3,LD0RS0RS1ALD1:PSWACCDPLDPH*显示程序二*DIR2:PUSHPUSHDPHDPL24 PUSHPUSHSETBSETBCLRMOVMOVMOVMOVMOVMOVMOVCMOVLCALLINCMOVJBACCPSWRS0RS1AR0,R3,A,#

25、68H#01HR3LD2:P3,ADPTR, #BIAOA,R0A,A+DPTRAP0,DELAYR0A,R3ACC.7,LD3ARLMOVLJMPCLRCLRPOPPOPPOPPOPRETR3,ALD2LD3:RS0RS1PSWACCDPLDPH*段控表*BIAO:DBDBDBDBDBDB0C0H0F9H0A4H0B0H099H092H25 DBDBDBDBDB082H0F8H080H090H00CH*初始状态显示 P.*XIANP:MOVMOVMOVJBP0,P3,P2,#0CH#01H#00H:将段控码 P.送到 P0 口:将一位数码管有效并显示 P.P1.0, XIANP:开启按键跳转

26、条件RET*确认按键单击程序*DANJI1:LCALLCLRDIR:单击程序中调显示程序避免过程数码管不显示P2.7DIR2P3.7LCALLCLRJNBP1.1,DANJI1 :当按键松开时才会执行一次按键程序RETDANJI2:DANJI3:DANJI4:LCALLCLRDIRP2.7LCALLCLRDIR2P3.7JNBP1.2,DANJI2RETLCALLCLRDIRP2.7LCALLCLRDIR2P3.7JNBP1.3,DANJI3RETLCALLCLRDIRP2.7DIR2P3.7LCALLCLR26 JNBRETP1.3,DANJI4*延时程序 IMS*DELAY:DL1:MOVR7, #01HMOVR6, #4EHDL0:MOVR5,R5,#02H$DJNZDJNZDJNZRETR6, DL0R7, DL1*按键延时程序*DELAY1:LOOP1:MOVR5,#08H :通过不断调显示程序来按键松手实现延时而且不会导致数码管不显示LCALLCLRDIRP2.7DIR2P3.7LCALLCLRDEC R5CJNE R5, #00H, LOOP1RETEND27

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号