单片机课程设计手动计数器_第1页
单片机课程设计手动计数器_第2页
单片机课程设计手动计数器_第3页
单片机课程设计手动计数器_第4页
单片机课程设计手动计数器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与接口技术课程设计基于at89s51单片机的手动计数器设计报告 目 录一、手动计数器课程设计功能描述21.1 单片机概述21.2 芯片简介2二、硬件分析设计及硬件连线图52.1 硬件分析设计52.2 硬件连线图6三、程序设计内容及框图63.1 程序设计内容63.2 程序框图7四、程序源代码清单7五、上机调试运行结果及分析9六、课程设计的经验教训总结9 参考文献10一、手动计数器课程设计功能描述1.1 单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部

2、包含有计算机的基本功能部件:中央处理器、存储器和i/o接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的cpu功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。1.2 msc-51芯片简介1.2.1 mcs-51单片机内部结构8051是mcs-51系列单片机的典型产品,我们以这一代表性的机型作为课程设计的实验板。 8051单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制

3、总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(ram)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的ram只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(rom):8051共有4096个8位掩膜rom,用于存放用户程序,原始数据或表格。定时/

4、计数器(rom):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(i/o)口:8051共有4组8位i/o口(p0、 p1、p2或p3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12mhz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电

5、容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结构。intel的mcs-51系列单片机采用的是哈佛结构的形式,而后续产品16位的mcs-96系列单片机则采用普林斯顿结构。下图是mcs-51系列单片机的内部结构示意图。 1.2.2 mcs-51的引脚说明:mcs-51系列单片机中的8031、8051及8751均采用40pin封装的双列直接dip结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32

6、个i/o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明:mcs-51的引脚说明:mcs-51系列单片机中的8031、8051及8751均采用40pin封装的双列直接dip结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/o口,中断口线与p3口线复用。现在我们对这些引脚的功能加以说明:pin9:reset/vpd复位信号复用脚,当8051通电,时钟电路开始工作,在reset引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器pc指向0000h,p0-p3输出口全部为高电平,堆栈指针写入07h,其它专用寄

7、存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。然而,初始复位不改变ram(包括工作寄存器r0-r7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,reset/vpd还是一复用脚,vcc掉电其间,此脚可接上备用电源,以保证单片机内部ram的数据不丢失。pin30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ale会

8、跳过一个脉冲。如果单片机是eprom,在编程其间,将用于输入编程脉冲。pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,pc的16位地址数据将出现在p0和p2口上,外部程序存储器则把指令数据放到p0口上,由cpu读入并执行。pin31:ea/vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kb的程序存储器,当ea为高电平并且程序地址小于4kb时,读取内部程序存储器指令数据,而超过4kb地址则读取外部指令数据。如ea为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,ea端必须接地。在编程时,ea/vpp脚还需加上21v的编程电压

9、。二、课程设计分析设计及硬件接线图2.1 分析设计利用at89s51单片机来制作一个手动计数器,在at89s51单片机的p3.7管脚接一个轻触开关,作为手动计数的按钮;用单片机的p0.0p0.7接一个共阳数码管,作为0099计数的个位数显示;用单片机的p1.0p1.7接一个共阳数码管,作为0099计数的十位数显示;p2.7口接一个发光二极管作为计数按钮显示,p2.7口接一个发光二极管作为数据溢出标志。硬件电路图如下图所示。2.2 硬件接线图三、程序设计内容及框图3.1程序设计内容 (1)单片机对按键的识别的过程处理 (2)单片机对正确识别的按键进行计数,同时p2.7口驱动发光二极管进行闪烁显示

10、,计数满时,p2.0口驱动发光二极管显示溢出,又从零开始计数; (3)单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。如何拆开十位和个位我们可以把所计得的数值对10求余,即可个位数字,对10整除,即可得到十位数字了。 (4)通过查表方式,分别显示出个位和十位数字。 3.2程序框图 四、程序源代码清单#include unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90; /共阳极数码管显示代码unsigned

11、 char count; unsigned int z;void delay(int z) /延时程序 11unsigned char i,j; for(i=z;i0;i-) for(j=496;j0;j-); void main(void) count=0; /初始状态数码管显示00 p1=tablecount/10; p0=tablecount%10; while(1) if(p3_7=0) /读取p3.7口按钮状态 delay(10); /调用延时,防抖动 if(p3_7=0) /确定按钮按下 p2_7=0; /p2.7口发光二极管闪烁 delay(20); p2_7=1; count+

12、; /计数累加 if(count=100) /检查溢出 p2_0=0; /p2.0口二极管闪烁delay(2000);p2_0=1; count=0; /计数归零 p1=tablecount/10; /数码管显示十位数字 p0=tablecount%10; /数码管显示个位数字 while(p3_7=0); 五、上机调试运行结果及分析 最初开始调试时,发现数码管个位数字与十位数字颠倒,经分析发现将p1口和p0口的输出颠倒了;改正后,再次调试,功能演示正常,但个人感觉计数按钮显示二极管和溢出显示二极管闪烁过于短暂,经反复修改延时时间,终于得到较满意的显示效果。六、课程设计的经验教训总结通过这次课程设计,加强了我的分析、思考、解决问题的能力。同时在课程设计的过程中,通过对实验板的观察和软件程序的不断改进,深刻体会到了单片机的工作原理和程序开发的步骤过程。实践是检验真理的唯一标准,完成课程设计的基础上,我还尝试了其他的实验项目,如交通灯设计和报警器设计等。越学习越发现单片机的无穷魅力,这种兴趣比上理论课时强烈得多。但是,由于课设时间比较短暂,没有能够尝试更多的功能,颇为遗憾。同时,本次课设

温馨提示

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

评论

0/150

提交评论