EDA课程设计

发布 2022-09-30 20:06:28 阅读 3997

单片机秒表设计。

专业:电子信息工程。

班级: 电信一班。

姓名: 袁飞祥。

指导教师:王全。

学号: 11100540129

eda课程任务设计。

题目:秒表的设计。

一实验设计目的。

本次设计的目的就是通过实践深入了解单片机原理,了解eda技术,并掌握硬件描述语言的设方法和思路。通过学习结合电子电路的设计知识理论联系实际,掌握所学的课程和基本单元电路的综合设计应用。通过对秒表实验的设计,巩固和综合运用所学知识,提高分析、解决eda技术实际问题的独立工作能力。

二系统设计要求和任务。

设计要求。1、计时范围:0~59分59.59秒,整数四位数和小数两位数显示;

2、计时精度10毫。

3、复位按钮,计时器清零,并做好下次及时准备;

4、可以对三个对象(a、b)计时,具有启/停控制。

5、设开始、停止a、停止b、显示a、显示b、复位按钮。

设计任务。了解8051芯片的的工作原理和工作方式,使用该芯片对led数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、60秒、倒计时清零等功能,精确到0.1秒。

要求选用定时器的工作方式,画出使用单片机控制led数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。

三课程设计内容提要。

本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、led数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有四个开关按键:

其中key2按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key1按键按下去时数码管清零,复位为“00.0”,key3按键按下去时数码管复位为“60.0”(用于倒计时),key4按键按下去则是数码管开始“逐渐自减”倒计时。

四设计思路及描述。

该课程设计要求进行计时并在数码管上显示时间,则可利用mcs-51系列单片机的芯片at89c52的p3.4,p3.5,p3.

6,p3.7作为按键的入口;定时器t0作为每0.1秒减一的定时器;定时器t1作为每0.

1秒加一的定时器。其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。方框图:

秒表设计导向图。

五系统硬件方案设计。

单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、i\o接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和i\o接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。

在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个led指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。

六实验源程序。

#include <>

#include <>

#define uchar unsigned char

#define uint unsigned int

uchar keycount=0;

sbit k3 = p3^6;

sbit k4 = p3^7;

sbit beep = p2^3蜂鸣器。

uchar code cdis1stopwatch 0 "}

uchar code cdis2[ ]

uchar code cdis3[ ]

uchar code cdis5[ ]

uchar code cdis6[ ]

uchar code cdis7[ ]

uchar code cdis8

sbit lcd_rs = p3^5

/sbit lcd_rw = p2^1;

sbit lcd_en = p3^4;

#define delaynop();

uchar display

uchar display2

延时函数。void delay(uint num)//延时函数。

while( -num );

蜂鸣器响一声。

void beep()

unsigned char y;

for (y=0;y<180;y++)

beep=1关闭蜂鸣器。

延时函数1void delay1(int ms)

unsigned char n;

while(ms--)

检查lcd忙状态。

lcd_busy为1时,忙,等待。

lcd-busy为0时,闲,可写指令与数据。

bit lcd_busy()

bit result;

lcd_rs = 0;

// lcd_rw = 1;

lcd_en = 1;

delaynop();

result = bit)(p0&0x80);

lcd_en = 0;

return(result);

写指令数据到lcd

rs=l,rw=l,e=高脉冲,d0-d7=指令码。

void lcd_wcmd(uchar cmd)

/ while(lcd_busy())

lcd_rs = 0;

/ lcd_rw = 0;

lcd_en = 0;

_nop_()

_nop_()

p0 = cmd;

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...