设计74hc164控制数码管显示系统

设计74hc164控制数码管显示系统

ID:6670559

大小:42.06 KB

页数:7页

时间:2018-01-21

设计74hc164控制数码管显示系统_第1页
设计74hc164控制数码管显示系统_第2页
设计74hc164控制数码管显示系统_第3页
设计74hc164控制数码管显示系统_第4页
设计74hc164控制数码管显示系统_第5页
资源描述:

《设计74hc164控制数码管显示系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计74hc164控制数码管显示系统(00-99显示)一、总体设计1、系统组成本系统功能由硬件和软件两大部分协调完成。本系统的硬件采用模块化设计,以单片机控制为核心,74hc164为驱动,与数码管接口电路等组成单片机控制的数码管显示系统。该系统硬件主要包括主控模块、报警模块、数码管显示模块等。其中单片机控制器主要完成外围硬件的控制以及一些运算按功能,74hc164完成串行输入,并行输出,数码管显示模块完成字符、数字的显示功能。应用软件采用模块化设计方法。该系统软件主要由主程序、定时器T0中断服务子程序、164子程序等模块组成。二、硬件设计1、主控模块

2、设计本项目采用AT89S52单片机。电源、时钟信号以及复位电路是单片机工作的基本条件,缺一不可。单片机系统的基本工作电路电源电路、时钟电路、复位电路。(1)电源电路模块设计电源模块为系统板上的其他模块提供+5V电源。系统板可从USB接口获取+5V电源,即用相应配套的USB线从电脑主机上获取+5V直流电源。(2)时钟电路模块设计单片机的时钟信号用来位单片机芯片内部的各种操作提供时间基准。时钟电路为单片机产生时钟脉冲序列,作为单片机工作的时间基准,典型的晶体振荡频率为12MHz。由于AT89S52系列单片机芯片内有时钟振荡电路,因此本项目中采用内部时钟方

3、式,只要在单片机的XTAL1和XTAL2引脚外接石英晶体和微调电容,就够成了自激振荡器并在单片机内部产生时钟脉冲信号,具体电路如图1-1。图中电容C1和C2的作用是稳定频率和快速起振。(3)复位电路模块设计复位电路使用单片机或系统中的其他部件处于某中确定的状态。当在MC-51系列单片机的RST引脚处引入高电平并保持2个机器周期,单片机内部就执行复位操作。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是按键复位。本项目中采用案件复位方式,具体电路设计如图1-1。在单片机运行期间,可以用此案件完成复位操作。2、报警模块设计本项目中选用蜂鸣器。

4、蜂鸣器的正极接+5V的电源,另一极接在三极管8550的集电极,三极管8550主要用于信号的放大,以驱动数码管工作。三极管8550的基极通过限流电阻接到单片机P2的P2.0如图1-1,通过控制三极管8550的基极电平来打开或关闭蜂鸣器。三极管8550的发射极接地。3、数码管显示模块设计本项目中选用8段共阳极数码管,数码管的a、b、c、d、e、f、g、dp段分别与74hc164的QA、QB、QC、QD、QE、QF、QG、QH相连,用来控制显示数字。数码管的公共使能端COM连接+5V的电源。如电路图1-1图1-174hc164控制数码管显示原理图三、软件设

5、计1、数据结构设计单片机的P0口P1.0、P1.1通过控制74hc164控制数码管显示。单片机的P2口P2.0用于控制8550是否导通,从而控制蜂鸣器。单片机的P2口P2.1、P2.2、P2.3控制三个独立按键。2、程序设计主程序主要完成子函数调用等功能。开始主程序流程图:调用定时器T0中断服务子函数判断是否有按键按下否是R<2?否TR0=0TR0=1是第二个按键是否按下否第三个按键是否安下是m=m+1是m=m-1m=0m>99m=99m<0是否是调用164子程序否是是数码管显示判断数码管个位是否为零?是蜂鸣器发声count>=20?TL0=0xb0

6、TH0=0x3c开始定时器T0中断服务子函数流程图:count>=20?是子程序返回164子函数流程图:开始8位数据传送完毕后才给数码管显子程序返回C语言程序:#include#defineucharunsignedchar#defineuintunsignedintucharsmg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbitclk=P1^0;sbitdak=P1^1;sbitkey1=P2^0;sbitkey2=P2^1;sbitkey3=P2^2;

7、sbitfm=P2^3;ucharcount,flag;voidtime()interrupt1{TH0=0x3c;TL0=0xb0;count++;if(count>=20){count=0;flag=1;}}voidsendchar(ucharch){uchari;for(i=0;i<8;i++)//8位数据传送完毕后才给数码管显示{clk=0;dak=ch&0x80;clk=1;ch<<=1;}}voiddelay(ucharn){uchari,j;for(i=0;i

8、charm,s,g,temp,r,temp1,temp2;TMOD=0X01;TH0=0x3c;TL0=0x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。