


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机系统课程设计成绩评定表设计课题:利率显示屏设计学院名称:电气工程学院专业班级:学生姓名:学 号:指导教师 :设计时间 :指导教师意见:成绩:签名:年 月曰单片机系统课程设计课程设计名称:利率显示屏设计专业班级:学生姓名:学号:指导教师:课程设计时间:单片机系统课程设计任务书学生姓名专业班级学号题目课题性质工程设计课题来源自拟指导教师主要内容(参数)利用89C51单片机设计利率显示屏,实现以下功能:1、能够用LED数码管显示银行储蓄利率2、能够用矩阵键盘修改利率数据3、能够正常显示修改后的利率数据任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。要 求画出系统
2、整体框图及细化框图。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及 元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:画出主程序和子程序流程图,进行软件设计,并在试验室调试。 第7-10天:撰写课程设计报告。要求内容完整、图表清晰、语言流畅、格 式规范、方案合理、设计正确。主要参考资料1 张迎新等.单片微型计算机原理、应用及接口技术北京:国防工业出版社,1993.122 邓兴成.单片机原理与实践指导北京:机械工业出版社,20103 余永劝等.单片机应用系统的功率接口技术M.北京:北京航空航天大学 出版社.1992. 79- 844 夏路易 石宗义.Protel
3、 99se电路原理图与电路板设计教程北京:北京 希望电子出版社,2004审查意见系(教研室)主任签字:年月日1概述 41.1研究背景 41.2设计思想及基本功能 42总体方案设计 42.1方案选取 42.2系统框图 62.3总体方案设计 63硬件电路设计 73.1电源电路设计 73.2晶振电路 83.3复位电路 93.4键盘电路 93.5显示电路 104系统软件设计 134.1主程序软件设计 134.2键盘程序设计 145系统调试 166总结 19参考文献 21附录1系统原理图 13附录 2 系统程序 221概述1.1研究背景随着人们对物质文明和精神文明需求的不断增长,银行管理水平和形象要求
4、也在不断提高。计算机不断更新和银行利率、汇率的不断变化,以前那种靠手工 写牌的时代己不适应现代的需要,各类银行迫切要求采用电子显示屏来显示不断 变化的银行利率和汇率。现在科技的发展,银行利率显示屏也在不断地更新进化, 现在的利率显示屏可根据不同的需要设计各种不同外形及丝印文字的显示屏,而且操作简单,可实时显示各种的利率、汇率、买卖等金融数字信息,信息永久保 存,不会因断电而丢失信息。1.2设计思想及基本功能该利率显示屏系统具有一般的利率显示屏控制系统的最基本的功能,即通过按钮来开闭利率显示屏,并且正常显示基本的利率、汇率、买卖等各种金融数字 信息。在此基本功能的前提下,本设计根据需求还设计了可
5、以利用简单矩阵键盘 通过简单地步骤更改各个数字信息的功能。在选取设计方案和采用元器件方面, 该系统本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选 用最经济实用的器件来达到设计要求。简单利率显示屏控制系统具有以下几个基本功能:(1)显示数据:根据用户的需求显示各种数字信息。(2)手动控制:可以根据用户的需求通过矩阵键盘简单地更改数字信息, 并且能够正常显示。2总体方案设计2.1方案选取单片机在各种电子产品中的应用已经越来越广泛, 很多的电子产品利用单片 机所取得的便利得到了人们的好评,针对单片机控制的利率显示屏控制系统的要 求,实现其数据更改控制的方案有两种:方案(一):利用计
6、算机通过芯片数据线路连接更改或 In ternet实时更新数据,方便快捷。方案(二):利用按钮键盘通过单片机控制更改数据。在此方案中,键盘电路又分为两种,一种是独立式按键,另一种是矩阵式按键。这两种键盘各有优缺点,独立式按键是直接使用单片机的I/O 口线构成的单个按键电路,配置灵活, 硬件结构简单易懂,但按键数量多时,I/O 口浪费较大。矩阵式键盘比较节省I/O 口,但软件扫描程序复杂。对于显示数据信息的显示屏的方案就多了,也是各有优缺点。方案(一):如图2.1所示是利用LED八段数码管显示数字信息的显示屏。汉字信息部分是事先印刷在面板上的方案(二):LED点阵组成的显示屏。此种显示屏的汉字部
7、分也是通过程序编写显示在屏幕上的,但通过调查显示该种显示屏的LED点阵容易损坏,造成局部显示不正常。如图2.2。方案(三):液晶显示屏简称LCD。LCD显示屏显示的信息量大,寿命长, 色彩多,但是成本比较高。鉴于方案(二)点阵易坏,寿命短和方案(三)中 LCD成本比较高,不如方案(一)的LED数码管实用经济。所以选用方案(一)的 LED数码管。类 种期 存类 种期 存定期整存整取月月年年年年 个个 三亠八一二三五存本取息 零存整旦-年 三年 五年存款 通知_天 七天小额 贷款内年 以 一 nr至 六亠八期 活图2.1 LED数码管显示屏效果图图2.2 LED点阵显示屏效果图2.2系统框图方案(
8、一)的系统框图如图2.3图2.3系统框图2.3总体方案设计利率显示屏控制系统总体方案设计是基于满足设计要求的前提并且根据理 论上的可实现性和硬件上的经济实用性,而进行设计的重要环节。本章从人们对 系统功能需求出发,在综合考虑各种因素的情况下,设计出控制系统的总体构架, 并且在基本功能需求的基础上尽可能考虑系统的可扩展性。伴随着科学技术的发展,银行对利率显示屏的要求也逐步提高, 为了方便实 用经济,方案尽量简化,并且保持实用功能。利率显示屏控制系统设计的总体框图如图 2.4所示。图2.4利率显示屏控制系统结构框图传入的信号由89C51单片机来控制,并且做出响应,以实现显示模块显示数 据信息。键盘
9、作为输入设备,通过不同按键来控制单片机进行各种数据显示。3硬件电路设计3.1电源电路设计单片机正常工作电压为5V,因此设计的电源电路主要是提供单片机工作电压。 图3.1是为单片机提供电压的电源电路。在这个电路中采用了三端集成稳压器 LM7805,可以输出5V的直流电压以供给单片机直接使用。输入端的是交流220V, 那么 N1: N2=1: 0.04V CCDC22 0T1TR A NS 11D 1B RID GE 1V outU 1 LM7 8052DNGinVC10.33 uF0.1uC3+10 uF图3.1 电源电路图+ C指令周期=1 4。AT89C511XTAL1接外部晶体的一个引2脚
10、,XTAL2接外晶体的另一端。在单片机内部,22 UFp 11 P0 0接至上述振荡器的反相放大器的输出端。在石英晶体的两个管脚加交变电场时,+RET4 p 1 3 p0 2.它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,P0上述物理3 现象称为压电效应吓一般情况下,无论是机械振动的振幅,P还是交变电0场的振幅 都非常小。F但是,当交变电场的频率为某一特定值时,8振幅骤然增大,P产生共振, 9称之为压电振荡。这一特定频率就是石英晶体的固有频率,11 晶振起振后要能在XTAL2线上输出一yGNDV左右的正弦波内的OSC电路按石英晶振相同频率自激振荡。C5 30 P13141516
11、辽18西2?40393837一 35届343332石英3130292827262524232221称谐振频便使MACS-51片 2 PSENP2 .7P2 .6P2 .5P2 .4P2 .3P2 .2P2 .1P2 .0P3 .3P3 .4P3 .5P3 .6P3 .7X TA L2X TA L1 GND单片机系统课程设计3.2晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳 定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。 通过 基准频率来控制电路中的频率的准确性。同时,它结合单片机内部时钟电路产生单片机所需的时钟频率,晶振提供的时钟频率越高,单片
12、机运行的速度就越快, 单片机接的一切指令的执行都是建立在晶振提供的时钟频率。图3.2是单片机的晶振电路。片内电路与片外器件就构成一个时钟产生电路, CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶 振频率,一般多在1.2MHz24MHz之间选取。C4、C5是反馈电容,其值在20pF 100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。 振荡周期二1 12七;机器周期Sm 七图3.2单片机晶振电路图3.3复位电路复位电路的主要功能是使单片机进行初始化, 在初始化的过程中需要在复位 引脚上加大于2个机器周期的高电平。复位后的单片机地址初始化
13、为 0000H,然 后继续从0000H单元开始执行程序。在复位电路中提供复位信号,等到系统电 源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。图3.3所示的RC复位电路可以实现上述基本功能S17VCCVCC+ C422uFC5RSTR21K+22uFR1200GND图3.3 复位电路图3.4键盘电路键盘在由单片机控制的利率显示屏控制系统中的主要作用是通过按键向单片机输入指令,其中主要包括控制窗帘的开关、设定利率数据等等功能,是人工 控制单片机的主要手段。在利率显示屏控制系统设计中的键盘采用的是 4M矩阵
14、键盘。这16个按键分别为:四个设定键主要是用来分别确定需要更改的利率数 据项目;0-9数字键,其作用主要是用于设定利率数据;复位键主要应用在程序 出错以及误操作的时候使单片机复位, 从而重新设定;确定键主要是用于在利率数据设定完成后的确定输入。S?由于按键比较多S?单独设置按键会增加总体设计的复杂性,SW -PB占用的端口,可以将按键组成一个矩阵,如图3.4所示。s 而且为了减少所SW -PBS?S?图3.4键盘接口电路SW -P BSW -PB3.5显示电路显示电路是利率显示屏的主要部分。采用LED数码管进行显示是因为LED数 码管具有以下几个优点:(1) 能在低电压、小电流条件下驱动发光,
15、能与 CMOSITL电路兼容。(2) 发光响应时间极短(CLKMRQ0Q1Q2Q3Q4Q5Q6Q774LS164bCLKQ MR74LS164心CLKMRQ0Q1Q2Q3Q4Q5Q6Q7Q0Q1Q2Q3Q4Q5Q6Q751627384956117128A5162738495106117128abcdefDS2abcdefg dpg dpDPYdpDPY丄bdpDS3-AQ0Q1,BQ2Q3Q4CLKQ5Q6MRQ774LS16423462738495106117128516273849510611712851bcdefDS4abcdef g dpg dpdpDPYaDPYadp图3.5 显示电
16、路74LS164是8位串行输入,并行输出的移位寄存器。其引脚及各个引脚的作用如下图3.6所示:符号引脚说明DSA1数据输入DSB1数据输入Q0Q336输出GND7地(0 V)CP8时钟输入(低电平到高电平边沿触发)/MR9中央复位输入(低电平有效)Q4Q71013输出VCC14正电源图3.674LS164引脚及说明4系统软件设计系统软件设计主要包括主程序、 显示子程序、键盘子程序、延时子程序等构 成。本章节系统的介绍了利率显示屏的主程序和各主要功能子程序的设计流程, 具体的程序代码见附录。4.1主程序软件设计主程序构成无限循环,主要完成单片机初始化、关中断、菜单显示内容初始 化、按键扫描等功能
17、。主程序的流程图如图4.1所示图4.1主程序流程图主程序流程说明:电路主要分为以下几个部分,分别是电源部分、显示部分、按键部分,各部分具有不同的子程序。主程序的作用主要是先初始化寄存器以及显示内容;然后查询按键操作,并 且对按键进行分析以及处理,通过分析处理,对于功能键,则设定各个利率数据。 4.2键盘程序设计在操作按键时,无论是按下还是松开,触点在闭合和断开时均会产生抖动,此时逻辑电平是不稳的,如果得不到正确处理,可能会引起单片机对按键命令的 错误执行。解决这个问题的简单方法是利用软件延时。在单片机处理按键操作后 都延时10ms,如果确定是按键后再延时,这样基本可以避免键盘的抖动。然后 由单
18、片机进行键码分析,并执行相应的命令,显示并且返回。图4.2是键盘程序设计流程图。图4.2 键盘程序流程图按键设置采用了行扫描法,要判断键盘中有无键按下时将全部行线丫0-丫3置低电平,列线置高电平,然后检测列线的状态。只要有一列的电平为低,则表 示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键 之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置时,在确认有键按下后,即可进入确定具体闭合键的过程。图4.3为确定闭合键的程序流程图。幵始V图4.3确定闭合键程序流程图其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为 高电平。在确定某根行线位置为低
19、电平后, 再逐行检测各列线的电平状态。 若某 列为低,贝U该列线与置为低电平的行线交叉处的按键就是闭合的按键。例如:将单片机的P1 口用作键盘I/O 口,键盘的列线接到P1 口的低4位,键盘的行线接到P1 口的高4位。令第一行为0其余为1(P1.1为0,P1.1P1.7 为1),若读取P1 口的数据为11100000,则为第一行的第一个按键按下。5系统调试错误!未指定书签。错误!未指定书签。因为本设计用的数码管和 74LS164芯片比较多不能进行试验室实际仿真调 试,所以利用proteus仿真软件进行辅助仿真。上面两个图为用proteus软件仿真 的结果。第一张图为单片机初始化后的仿真效果,第
20、二张为利用键盘更改利率数 据后显示屏显示效果仿真图。6总结经过两周的资料查找和设计,我已完成了单片机系统的课程设计。本文设计 了利率显示屏的智能系统,介绍了利率显示屏系统的硬件电路设计到软件设计的 一系列步骤。本设计采用矩阵键盘作为输入设备,74LS164驱动LED八段数码管作为显示设备,AT89C51单片机作为控制芯片,实现了利率显示屏的智能显 示项目。纵观整个设计系统,单片机使用了常用的 AT89C51单片机,从而使整个控 制芯片了如指掌。熟悉的控制芯片设计起来也是得心应手。所用芯片简单实用, 减少了开发和硬件开销。输入部分采用矩阵键盘既节约了单片机的I/O 口,又使整个设计简单易操作。显
21、示模块采用常见的移位寄存器74LS164驱动LED数码管,经济实用,并且LED数码管显示数据简单、清晰、明了,适合绝大部分人 们观看。同时,由于设计的时间和能力有限,还有许多功能和技术没有充分研究, 可 能存在不合理的地方。例如没有时钟显示模块。输入设备固定,没有蓝牙和红外 输入功能。但是,一个完整的课程设计过程,让我掌握了单片机系统和电子操作 软件等方面的知识,尤其是熟悉了用protel画电路原理图和用visio画程序流程图以及用proteus进行系统仿真。这使我在动手能力方面有很大的提升,也给今 后更成功、完善的设计打下坚实的基础。参考文献1 张迎新等单片微型计算机原理、应用及接口技术北京
22、:国防工业出版社,1993.122 夏路易 石宗义.Protel 99se电路原理图与电路板设计教程北京:北京希 望电子出版社,20043 余永劝等.单片机应用系统的功率接口技术M.北京:北京航空航天大学出 版社.1992. 79- 844 邓兴成单片机原理与实践指导北京:机械工业出版社,2010 阎石.数字电子技术基础.北京:高等教育出版设.2009 谭浩强.C程序设计(第四版).清华大学出版社,2010.6附录1系统原理图错误!未指定书签附录2系统程序#in clude#defi ne uint un sig ned int#defi ne uchar un sig ned charsbi
23、t CLK_huoqi=P3M;sbit CLK_year_ 仁P3W;sbit CLK_year_2=P3A5;sbit CLK_year_3=P3A7;sbit DAT_huoqi=P3A0;sbit DAT_year_ 仁卩3八2;sbit DAT_year_2=P3A4;sbit DAT_year_3=P3A6;int code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;in t code table1=0xbf,0x86,0xdb,0xcf,0xe6,0x
24、ed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1;uchar num,nu m1,temp;uchar han g1,ha ng2,ha ng3,ha ng4;int Data_huoqi=8888,Data_year_ 仁8888,Data_year_2=8888,Data_year_3=8888;int Data=0;void delay( uint z)uint x,y; for(x=z;x0;x_) for(y=110;y0;y-);void keysca n();void huo qi(int );void year_1(i n
25、t );void year_2(i nt );void year_3(i nt );void display。;void mai n()while(1) keysca n(); display();void display() int i;for(;i5;i+)switch(i)case 1:huoqi(Data_huoqi);break; 活期初始值case 2:year_1(Data_year_1 );break; /定期一年初始值case 3:year_2(Data_year_2 );break;定期两年初始值case 4:year_3(Data_year_3);break;定期三年初始
26、值switch( nu m1) case 12 :huoqi(Data_huoqi);ha ng1=0;ha ng2=0;ha ng3=0;break; /第一次 按设定活期,第二次按确定活期case 13 :year_1(Data_year_1 );hang1=0;hang2=0;hang3=0;break; / 设定 定期一年,再按确定case 14 :year_2(Data_year_2 );ha ng1=0;ha ng2=0;ha ng3=0;break; / 设定 定期两年,再-按确定case 15 :year_3(Data_year_3);ha ng1=0;ha ng2=0;ha
27、ng3=0;break;/ 设定定期三年,再按确定case 11 :Data=0;break; 确定/*键盘扫描*/ void keysca n()P1=0xfe;temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display();delay(10);temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display();temp=P1;switch(temp)case 0xee:num=1;/ 数值 1break;case 0xde:num=2;数值 2break;case 0xbe:num=3;数值 3break;case 0
28、x7e:num=0;数值 0break;while(temp!=0xf0)display();temp=P1;temp=temp&0 xf0;hang1+;if(ha ng1 = 1)P1=0xfd;temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display。;delay(10);temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display();temp=P1;switch(temp)case 0xed:num=4;数值 4break;case 0xdd:num=5;数值 5break;case 0xbd:num=6;数
29、值 6break;case 0x7d:num仁 10; 复位键 break; while(temp!=0xf0)display();temp=P1; temp=temp&0 xf0;hang2+;if(ha ng2 = 1)temp=temp&0 xfO;while(temp!=OxfO)display。;delay(1O);temp=P1; temp=temp&O xfO; while(temp!=OxfO)display(); temp=P1; switch(temp)case Oxeb:num=7;数值 7break;case Oxdb:num=8;数值 8break;case Oxbb
30、:num=9;数值 9break;case 0x7b: num仁 11;/ 确定键break;defaultbreak;while(temp!=OxfO)display();temp=P1; temp=temp&0 xfO;hang3+;if(ha ng3 = 1)P仁 0xf7;temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display。;delay(10);temp=P1;temp=temp&0 xf0;while(temp!=0xf0)display();temp=P1;switch(temp)case 0xe7:num1=12;/设定活期 Data
31、_huoqi = Data; break;case 0xd7:num仁 13;/ 设定定期一年 Data_year_1 =Data;break;case 0xb7: num仁 14;/ 设定定期两年Data_year_2 =Data;break;case 0x77: num仁 15;/ 设定定期二年Data_year_3 =Data;break; while(temp!=0xf0) display(); temp=P1; temp=temp&0 xf0;if(n um1 = 12)Data_huoqi = Data; if(num1 = 13)Data_year_1 = Data; if(nu
32、m1 = 14)Data_year_2 = Data; if(num1 = 15)Data_year_3 = Data;void sen dbyte_huo qi(int num) _uchar c;for(c=0;c8;c+)CLK_huoqi=0; delay(1);DAT_huoqi=num&0 x80; / 每一位的输出CLK_huoqi=1; /每一次上升沿,输出一位数据 delay(1);num=1; 右移位赋值,以供下一位的输出void sen dbyte_year_1(i nt num) 一 一uchar c;for(c=0;c8;c+)CLK_year_ 1=0; delay
33、(1);DAT_year_ 仁n um&0 x80; / 每一位的输出 CLK_year_1=1;每一次上升沿,输出一位数据 delay(1);num=1; 右移位赋值,以供下一位的输出void sen dbyte_year_2(i nt num) 一 一uchar c;for(c=0;c8;c+)CLK_year_2=0; delay(1);DAT_year_2=n um&0 x80; / 每一位的输出 CLK_year_2=1;每一次上升沿,输出一位数据 delay(1);num=1; 右移位赋值,以供下一位的输出void sen dbyte_year_3(i nt num)uchar c;for(c=0;c8;c+)CLK_year_3=0; delay(1);DAT_year_3=n um&0 x80; / 每一位的输出 CLK_year_3=1;每一次上升沿,输出一位数据 delay(1);num=1; 右移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南语文面试真题及答案
- 基层问题面试真题及答案
- 基因教学课件:脂肪代谢
- 多模态成像的临床应用课件
- 《性格探索之旅》课件
- 《现代信号处理》课件
- 宁夏计算机专升本单选题100道及答案
- 测量系统分析概念及计量模型
- 探索电子元件:课件介绍电子元件的功能和应用领域
- 《销售秘籍》课件
- 2025年电子信息工程专业考试卷及答案
- 广东省珠海市2024-2025学年高二下学期期中教学质量检测英语试题(原卷版+解析版)
- 北京2025年中国环境监测总站招聘(第二批)笔试历年参考题库附带答案详解
- 美国加征关税从多个角度全方位解读关税课件
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2021年妊娠期血压管理中国专家共识
- 一种基于STM32的智能门锁系统的设计-毕业论文
- 常减压蒸馏装置操作工操作技能试题(终).
- 《云南省建筑工程资料管理规程应用指南)(上下册)
- 控机床故障诊断与维修几例
- 上海建设工程通用硅酸盐水泥质量检验报告 - 上海水泥行业协会
评论
0/150
提交评论