利率显示屏设计_第1页
利率显示屏设计_第2页
利率显示屏设计_第3页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、错误!未定义书签。错误!未定义书签。错误!未定义书签。44566678910141414错误!未定义书签。5161719单片机系统课程设计成绩评定表1概述1.1研究背景1.2设计思想及基本功能2总体方案设计2.1方案选取2.2系统框图2.3 总体方案设计 3硬件电路设计3.1 电源电路3.2晶振电路3.3复位电路3.4键盘电路3.5显示电路3.6 电路分析4系统软件设计4.1主程序软件设计4.2键盘程序设计4.3按键功能程序 4.4 中断程序 5系统调试21错误!未定义书签。错误!未定义书签。24256 实验总结 参考文献 附录 1 系统原理图 附录 2 键盘示意图 附录 3 系统程序 1 概

2、述1.1 研究背景随着科技的发展, 人们对物质文明和精神文明需求的不断增长 , 银行管理水 平和形象要求也在不断提高。计算机不断更新和银行利率、汇率的不断变化 , 以 前那种靠手工写牌的时代己不适应现代的需要 ,各类银行迫切要求采用电子显示 屏来显,为此我们设计了利用 LED 数码管显示,并可以进行数据修改的利率显 示屏。1.2 设计思路及基本功能运用数码管显示代替人工手写, 并能进行修改, 能给银行管理带来很大的方 便,在设计时尽量简化电路,用最简单的电路来实现其功能。其基本功能是能通过数码管显示银行利率,可以进行利率显示的修改。2 设计总方案2.1 方案选取单片机在各种电子产品中的应用已经

3、越来越广泛, 很多的电子产品利用单片 机所取得的便利得到了人们的好评, 针对单片机的利率显示控制系统的要求, 实 现的方案有:( 1)用 LED 矩阵显示;(2) 用数码管显示;(3) 用彩屏显示。但是成本较高,所以不采用此方案。下面是LED矩阵显示与数码管显示的效果。图2-1 LED显示的利率显示屏在本次设计中,选取第二种方案,此方案成本低,操作简单2.2 系统框图方案二的系统框图为:图2-3 系统框图2.3 总体设计方案利率显示屏在显示的同时也需要人为控制,银行利率会不断变化,显示屏也需要随利率变化而变化,这就需要对显示屏的控制。图2-4显示屏控制结构图3硬件电路设计3.1 电源电路单片机

4、正常工作电压为 5V,因此设计的电源电路主要是提供单片机工作电压。图3.1是为单片机提供电压的电源电路。在这个电路中采用了三端集成稳压V CCC30. 1u F器LM7805,可以输出5V的直流电压以供给单片机图3-1电源电路2 C10 uFGND3.2 晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳 定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。 通过 基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接

5、近晶振频率,一般多在1.2MHz 24MHz之间选取。C1、C2是反馈电容,其值在20pF100pF之间选取,典型值 为30pF。本电路选用的电容为30pF,晶振频率为12MHz。振荡周期二112虫;机器周期二1七 指令周期=14七。XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。在单片机内部, 接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的 机械变形,而这种机械振动又会产生交变电场, 上述物理现象称为压电效应。 一 般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交

6、 变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这 一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在 XTAL2线上输出一个3V左右的正弦波,以便使 MCS-51片内的OSC电路按石 英晶振相同频率自激振荡。通常,OSC的输出时钟频率fOSC为0.5MHZ-16MHZ,典型值为12MHz或者11.0592MHz。电容C1和C2可以帮助起振,典型值为30pF, 调节它们可以达到微调fOSC的目的。C4XTA L130 PY 1I Il2 MGNDC5XTA L230 P图3-2时钟电路3.3复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中

7、需要在复位引脚上加大于2个机器周期的高电平。复位后的单片机地址初始化为 0000H,然 后继续从0000H单元开始执行程序。在复位电路中提供复位信号,等到系统电 源稳定后,再撤销复位信号。VCC (5V )圍VCCCRSTGND图3-3复位电路3.4 键盘电路在本设计中,键盘主要用于输入显示数据和修改显示数据,还有需要修改的 项,是人为控制该系统的主要部件。在本次设计中,采用的键盘是4*4矩阵键盘, 为了提高CPU的工作效率,采用了中断扫描工作方式。即只有在键盘有键按下 时,发出中断请求,CPU响应中断请求后哦,转入中断服务程序,进行键盘扫 描,识别键码,中断扫描工作方式的一种简易键盘电路图如

8、下:用P1 口高4位与低4为构成行线与列线,将P1.4-P1.7作为键输出线,P1.0-P1.3为扫描输入线。扫描方式:给P1 口赋初值,让P1.0-P1.3为1,P1.4-P1.7为0,无键按下时,P1.0-P1.3 的与门输出为1,当有键按下时,P1高4位有线接入低4位,使得低4位其中一 位为0,导致与门输出为0,开启中断,进入中断扫描程序,扫描时,先让P1.4为0,其余3位为1,扫描低4位,逐位检查看是否为0,为0赋键值,没有为0 的跳到下一行,让p1.5为0,其余3位为1,在进行扫描,没有0再跳下一行, 最终会检测出按下键的键值。键盘具有16个键,其中有0-9十个个数字键,一个确定修改

9、键,一个复位键,4个需要修改项的键。3.5 显示电路显示电路主要用于给出的利率数据,在本次设计中采用LED数码管进行显示 是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光, 能与CMOSITL电路兼容。发光响应时间极短(0.1卩s),高频特性好,单色 性好,亮度高。(3)体积小,重量轻,抗冲击性能好。数码管有共阴极与共阳极 数码管,在这里采用共阴极数码管。图3-5 LED数码管在电路中,将数码管的a、b、c、d、e、f、g端分别与74hc164的D0-D6端连接,因为采用的共阴极数码管,所以当有1输入时,对应的二极管就会发光,编写好需要的数据代码后输入就能得到需要显示

10、的数据了。表1 LED字型码字 形dpgfedcba字型码010111111BFH11000011086H211011011DBH311001111CFH411100110E6H511101101EDH611111101FDH71000011187H811111111FFH911101111EFH本次用到16个数码管,每组4个,分为4组,每组由4个74hc164串接起来。每个164接一个数码管每组4个164采用公共cp端、公共复位端,可以对 每组进行统一复位和给予时钟信号。g 8 2 8>耳FI冋何冋F1bl 0因日也忖圉29 5 2 2 <?图 3-6 74HC164164引脚功

11、能符号引脚说明DSA1数据输入DSB2数据输入QO-Q33-6输出GND7地(0 V)CP8时$梅入(低电平到高电平边沿触发/M/R9中央复位输入(低电平有效Q4-Q710-13输出VCC14正电源图3-7引脚功能74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。 数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电 平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不 用的输入端接高电平,一定不要悬空。时钟(CP)每次由低变高时,数据右移一位,输入到 QO, Q0是两个数据输入 端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一

12、个建立时间的长度。 主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步 地清除寄存器,强制所有的输出为低电平。用164与数码管连接的显示电路如下图:P3Qo A Q1 B Q2 flM Q3 CPQ4 G §75 V 8Q6q7QoA Q1Q2RM Q3UCT Q4DG d5V8Q6Q7D S?1e fd£jija dpr'VND CCC B A qQndq Mqqq1(11D S?8 7 64 J 2 1P2 .1&p25cc Q Q 7 6gc bA"P MRQDQ Qp Q C5 4 3 2 1 0DD104Qo A Q1

13、 Bq q2M Q3 CPQ4 G5 VQ6q7e fdp 口二DPYDD104V G C B A cc P MRQQ qdQQ|QQ QD S?1rVcQQG C .B A p mRqdq qq q q7l6bdpUbJa D”D S?164d!::a dpQoA Q1B Q2RM Q3 OCL Q4DG d5V X Q6q7DDDpafll104D S?Qo A Q1 B Q2RMQ3 Sr Q4 G §75 V XQ6q7e fdp口 AS?V G CP M图3-8显示电路Qo A Q1 B - Q2M Q3 &七4 G d5 V X Q6q7D27V G C.B AQ

14、 Q QDQ qTQ Q Q7 6 5 4 3 2 1 03?6V G C BA cc P MRQQ QDQ Qq QQD S?e fdpdc : a3.6 电路分析在系统电路中, 主要是键盘电路和显示电路, 键盘电路是由单片机 P1 口接 出,由高4位与低4位组合,并接到外部中断口 P3.2,在前面的键盘电路已经分 析了。在显示电路中,可以显示 4 组数据,每组由 4 个数码管显示,分别与 4 个 164连接,第一个164的数据输入端由串行接口 P3.0接入,第二个的数据输入点 与第一个的 Q7 端相接,第三个也与第二个 Q7 端相接,第四个也如此,就可以 实现输入的数据一位一位的往后移动。

15、每组 164的CP端是串行口 P3.1和P2 口 低四位的其中一位相与后输入。串行口在方式 0 工作时, P3.0 输出数据, P3.1 输出对应脉冲,在与P2 口的一位相与后就可以控制脉冲的输入了,当相与位为 0 时,将脉冲关断,相与位为 1 时,开启脉冲,就可以对该组进行数据输入了, 否则在没有脉冲的情况下,数据是无法输入的。每组164的复位端与P2的高4位其中一位相接,当该位输入低电平时,就 可以使该组复位。所以可以得到 P2 口高四位用来控制每组数码管的复位,低四 位用来开启与关断数据输入。由于银行利率通常是百分数, 都保留了两位小数, 所以在接线时, 每组数码 管的第一个第二个第四个

16、的 dp 端都没有接,所以他们的小数点都不会亮,只有 第三个的dp端与Q7相接了,所以只有第三个数码管的dp再有数据给他的时候 会一直发光。在整体的看上去就可以让输入的数为有两位小数的形式了。4 系统软件设计在设计中,系统软件包括,主程序、键盘扫描程序、中断程序、显示程序、 延时子程序等程序组成,每个部分都是不可或缺的。系统程序在附录中查看。4.1 主程序软件部分 主程序需要对单片机进行初始化、设置串行口功能、中断工作方式、对某些 引脚赋予初值,并且需要无限循环下去等待中断。图4-1主程序流程图4.2 键盘程序设计本次设计采用的是中断工作方式,只要有键按下时,就会发出中断申请,相对于其他方式,

17、不需要一直不断地扫描看是非有键按下。 所以键盘程序包含在中 断程序中。开始图4-2键盘扫描程序流程图程序只在有中断请求后执行4.3 按键功能程序在设计中设定的当键值小于10时为数值输入和显示。下面给出的程序流程 图为键值小于10时的流程图。开始图4-3数字键程流程图在数据输出到164后,还不一定可以显示出来,还需要功能键使输入的数据 能够显示出来。当键值不小于10时,键值为12-15,分别可以控制一组让其显示出数据, 需要在开始输入数据之前按下,按下后会先清除原有的数据,之后输入数据就可 以让输入的数据显示出来。键值为 10时为复位功能,按下将使全部数码管复位 熄灭。键值为11为确定修改键,按

18、下后保持修改的数据,并且之后再按数据键 将不影响显示的数据。4.4 中断程序中断程序为此设计的主要程序,其中包含了键盘扫描程序、键功能赋予程序中断开始V图4-4中断程序流程图在中断程序开始时,需要关闭中断,以免中断还没有执行完时中断再次出现, 然后进行保护现场。接着跳到扫描程序、功能赋予程序,当前面的程序执行完后, 恢复现场,还需要在调入延时程序。如果没有延时程序,再一次按键按下后,由 于每次中断执行的速度很快,所以按一次键会相当于按了很多次, 所以需要调入 延时程序,使中断后恢复的时间变久一点,能够达到按一次中断一次的效果。 调 入延时程序后在开中断,然后返回主程序,等待下一次中断。5系统调

19、试调试时,由于设计用到的164、数码管较多,在实验室不能调出来,说以采 用proteus仿真调试。在调试中,经过对线路与程序的反复修改,最终终于调试 成功。再输入数据时的效果图如下:按下01按下012图5-1输入效果图按下0123总体仿真线路图:13456R5&23434&RU356R3、34R56343&RU3R346R35612-T-RU1 2R1&1 2345图5-2仿真线路图6 实验总结在这两个星期的设计中, 通过对各种资料的查询, 与同学们的相互请教, 终 于完成了利率显示屏的设计。 回想在设计时走了些弯路, 在对键盘的设计上, 还 是应该把键盘的键按

20、下后怎么变化理解清楚,然后在写程序时会比较容易写出 来,资料也只能作为参考, 不能生拉硬套。 不然理解不够透彻到后来写程序也可 能会出错。 再设计硬件电路时也应该想着程序应该怎么写, 再结合程序设计硬件 电路,这样在设计中会取到事半功倍的效果。在程序设计时,用汇编语言编写需要对单片机内部如何工作的原理理解清 楚,以及对汇编语言的熟练。在编写时,通过我对课本的反复翻阅,加深了对单 片机的理解并且能够对汇编语言掌握更加熟练, 这样的效果是比在课堂上学习的 效果更加的好。在我的设计中, 虽然完成了, 可以通过设计显示基本的利率信息, 但是他的 功能也不够完好。 还有很多地方可以更加完善, 但是要想做

21、到, 需要我对自己的 能力进行更多的提高。在设计中, 还用到了许多软件, 并且学习到了它们的使用, 这对于我也是个 很大的收获,其中有protel、visio、proteus仿真、keil开发软件等,这些软件对 于我们的专业都是非常有用的。这些都为我以后能够更好的设计打下了稳固基 础。参考文献1 余永劝等. 单片机应用系统的功率接口技术 M . 北京: :北京航空航天大 学出版社 , 1992. 79- 842 张迎新等. 单片微型计算机原理、应用及接口技术 .北京:国防工业出版社, 1993.123 王志慧, 李树华. 单片机控制实时时钟的设计与实现 J . 内蒙古大学学 报(自然科学版),

22、1999, 30( 6) : 766768.4 杨家成单片机原理与应用及 C51 程序设计北京:清华大学出版社, 2007附录1系统总原理图181Q QA1JQ Q Q Q Q Q bpGv?Db c pa b c d e f g234567,Qu Qcc VQUNGr Q PCQRH =Q B Q A7 Q6 Qcc V5 QDN G4 Q p c3 QRM2 Q B1 Q Ao Q12345678|1Q Q GQ Q Q Q QR PN cABlM4 CCV1 2 3 4 5 6 7 8&INT 0876543210988 7 6 5 4 3 2 3|0980 12 3 4 5 6

23、 776543V 0000000022222VPPPPPPPPPPPPF01234567T345671 1 1 1 1 1 1 1S33333333ppppppppRppppppppxxg054345618P1. 7P1. 6P1. 5P1. 4PU3*P4.4-附录2键盘示意图活期半年一一年两年确定复位9876543210附录 3 系统程序ORG 0000HLJMP MAINORG 0003HLJMP EXINT;主程序入口;外部中断 0 入口CLREAPUSHPSWPUSHACCLJMPSUBDISUB:CLRP1.7CLRP1.6CLRP1.5CLRP1.4POPACCPOP PSWLC

24、ALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYLCALLDELAYEXINT:;关中断;保护现场;让P1高4位回到0;恢复现场;延时LCALLDELAYLCALL DELAYSETBEA;开中断RETI;返回主程序MAIN:MOVSP,#30HCLRIT0;设定中断工作方式SETBEA;允许总中断SETBEX0;允许外部中断 0MOVSCON,#00H;设定串行口工作方式MOVP1,#0FHMOVP2,#0F0HHERE:SJMPHERE;等待中断SUB:;扫描按下按键SETBP1.7SETBP1.6SETBP1.5SETBP1.4K1:CLRP1.4LCALLL1JC K2ADDA,#00HLJMPDL0K2:CLR P1.5LCALL L1JC K3ADD A,#04HLJMP DL0K3:SETB P1.5CLR P1.6LCALL L1JC K4ADD A,#08HLJMP DL0K4:SETB P1.6CLR P1.7LCALL

温馨提示

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

评论

0/150

提交评论