预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机课程设计 实验报告 专业班级:通信0901 组员:邓朋超 廖海君 刘晓龙 指导老师:杨迎泽实验内容及规定 1、实验内容 用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。再增长一个“暂停”按键和一个“快加”按键(每10ms快速加一)。按键说明:按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。 2、实验规定 了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到0.1秒。 规定选用定期器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完毕软件部分,最后调试秒表起动、停止、清零功能。 课题研究目的和意义及介绍 1、目的意义 通过本次课程设计加深对单片机课程的全面结识复习和掌握,对单片机课程的应用进一步的了解。 掌握定期器、外部中断的设立和编程原理。 通过本次课程设计可以将单片机软硬件结合起来,对程序进行编辑,校验。 该实验通过单片机的定期器/计数器定期和计数原理,设计简朴的计时器系统,拥有对的的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义0.0 2、单片机的简朴介绍 AT89C51是一种低功耗、高性能的片内具有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。 重要性能: 与MCS-51微控制器产品系列兼容。 片内有4KB可在线反复编程的快闪擦写存储器 存储数据保存时间为2023 宽工作电压范围:Vcc可为2.7V到6V 全静态工作:可从0Hz至16MHz 程序存储器具有3级加密保护 128*8位内部RAM 32条可编程I/O线 两个16位定期器/计数器 中断结构具有5个中断源和2个优先级 可编程全双工串行通道 空闲状态维持低功耗和掉电状态保存存储内容 3、实验仪器 集成电路芯片8032,七段数码管,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE6000) 三、设计思绪及描述 该实验规定进行计时并在数码管上显示时间,则可运用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定期器T0作为每秒加一的定期器;定期器T1作为“快加”键的定期器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。 方框图如下图: 图3数字秒表设计导向图 四、硬件设计 1、接口电路 运用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间的值(可正记时,也可倒计时),并通过输出显示在数码管上。 如图: 图4。1秒表系统连线图 p0.0—p0.7相应了两个接数码管的A,B,C,D,E,F,G和小数点位,p2.6接显示个位数的数码管的3、8引角,p2.7则接十位数的。p3.6、p3.7分别接按键。 2、硬件连线图 图4.2数字秒表程序硬件电路连线图 五、软件设计 1、数字秒表工作流程图 图5数字秒表工作整体流程图 2、用51单片机实现数字秒表工作源程序 OUTBITEQU08002H;位控制口 OUTSEGEQU08004H;段控制口 LSECEQU31H; SECEQU32H; MINEQU33H; FLAGBIT20H.0;位定义 KEY1BITP3.6; KEY2BITP3.7; ORG0000H; LJMPSTART;初始程序入口地址 ORG000BH; LJMPTIMER0;加一子程序入口地址 ORG0060H START:LCALLINITIAL;调用启动LCM子程序进行初始化 LOOP