文档库 最新最全的文档下载
当前位置:文档库 › 用数码管显示的可调式数字钟Proteus仿真

用数码管显示的可调式数字钟Proteus仿真

用数码管显示的可调式数字钟Proteus仿真
用数码管显示的可调式数字钟Proteus仿真

仿真电路:

仿真程序:

#include

#include

#define uint unsigned int

#define uchar unsigned char

//------共阳极数码管段码---------

uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,

0x92,0x82,0xF8,0x80,0x90};

uchar dat[]={0,0,0xbf,0,0,0xbf,0,0};

uchar h,m,s,ms;

uchar scan_which;

uchar index;

uchar key_state;

//----------延时----------

void delay(uint t)

{

uint i;

while(t--)

for(i=0;i<120;i++); }

void hour()

{

if(++h>23)

h=0;

dat[0]=table[h/10];

dat[1]=table[h%10];

}

void min()

{

if(++m>59)

{

m=0;

hour();

}

dat[3]=table[m/10];

dat[4]=table[m%10]; }

void second()

{

if(++s>59)

{

s=0;

min();

}

dat[6]=table[s/10];

dat[7]=table[s%10];

}

void main()

{

IE=0x8a;

TMOD=0x11;

TCON=0x01;

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

h=17;

m=50;

s=ms=0;

dat[0]=table[h/10];

dat[1]=table[h%10];

dat[3]=table[m/10];

dat[4]=table[m%10];

dat[6]=table[s/10];

dat[7]=table[s%10];

scan_which=0xfe;

index=0;

TR0=1;

TR1=1;

key_state=0xfe;

while(1)

{

if(P1^key_state)

{

delay(10);

if(P1^key_state)

{

key_state=P1;

EA=0;

if((key_state & 0x01)==0)

hour();

else if((key_state & 0x02)==0)

{

m=(m+1)%60;

dat[3]=table[m/10];

dat[4]=table[m%10];

}

EA=1;

}

}

}

}

void T0_int() interrupt 1

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

P3=scan_which;

P0=~dat[index];

scan_which=_crol_(scan_which,1);

index=(index+1)%8;

}

void T1_int() interrupt 3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

if(++ms==20)

{

ms=0;

second();

}

}

单片机两位数码管计数设计1

目录 一、设计目的 (4) 二、设计要求 (4) 三、设计电路图 (4) 四、设计说明 (5) 1、数码管的显示原理 (5) 2、晶振的作用 (5) 五、参考程序框图: (6) 六、参考代码…………………………………………………7-9 七、设计时使用的主要参考书及手册 (9) 八、设计心得: (9)

两位数码管计数 一、设计目的: 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。 3. 学习51单片机内部计数器的使用和编程方法。 4. 学习使用数码管的显示原理以及应用。 二、设计要求: 按开关开始,在按开关停止计秒,计秒从0开始,讲到99,再从0开始计秒。按下复位键开关,数码管就会显示0. 三、设计电路连线:

四、设计说明: 1、数码管的显示原理: @单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码 管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。 @通常每个段笔画要串一个数百欧姆的降压电阻。 字形0123456789黑共阳0C00F90A40B09992820F880900FF 共阴FC60da F266B6BE E0FE F600 计时计算: fosc= 12MHz 则: (振荡周期)1Tc=1/12MHz (机器周期)1Tm=12Tc=12/12MHz=1 S 故选择方式1 工作可以得到: 则初值为:3CB0H 2、晶振的作用 晶振的作用是为系统提供基本的时钟信号。晶振两边的电容叫负载电容,单片机的晶振 工作于并联谐振状态,晶振的频率是在负载电容下测得的,能最大限度的保证频率值的误差。 也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易 造成谐振的不平衡,容易造成停振或者干脆不起振. 五、参考程序框图:

七段码数字钟课程设计讲解

目录 1 系统概述 (2) 1.1 数字钟的设计目的 (2) 1.2 基本内容及目标 (2) 2 方案论证 (3) 2.1 数字钟设计方案论证 (3) 2.2 数码管显示原理 (3) 2.3 控制任务要求 (4) 3 硬件设计 (4) 3.1 系统的原理方框图(略) (4) 3.2 主电路设计 (4) 3.3 I/O接点地址分配 (5) 3.4 编程元器件选型及地址分配 (6) 4 软件设计 (7) 4.1 主流程图 (7) 4.2 PLC梯形图 (8) 5 系统调试结果分析 (19) 设计心得 (20) 参考文献 (21)

1 系统概述 本设计共分五大章:第一章是系统概述,介绍了PLC系统概述和设计目的、设计内容以及实现的目标。第二章是方案论证,即数码管数字电子钟设计方案与工作原理介绍及应用。第三章是硬件设计,即数字电子钟的主电路设计及元器件的选型,进一步清楚的了解其内部结果和工作原理。第四章是软件设计,即数字电子钟的主流程及梯形图程序,第五章是系统调试,即硬件软件调试结果及结果分析等。设计心得即是本设计所取得的成果及其设计意义。针对本设计在制作过程所参考文献及资料的统一说明及介绍。 1.1 数字钟的设计目的 本系统采用计数器、显示器和校时电路组成。由LED数码管来显示PLC所输出的信号。总体方案设计由主体电路和扩展电路两大部分组成,其中主体电路完成数字钟的基本功能,扩展电路完成数字钟的扩展功能。 1.2 基本内容及目标 1.1.1 PLC控制系统的基本内容包括如下几点 (1) 选择用户输入、输出设备以及输出设备驱动的控制对象,这些设备属于一般的电气元件,选择方法请参考其他有关资料。 (2) PLC的选择:PLC是控制系统的核心部件,对于保证整个控制系统的技术经济性能指标起着重要作用。选择PLC,应包括机型、容量、I/O点数、电源模块以及特殊功能模块的选择等。 (3) 设计控制程序:主电路、梯形图、控制系统流程图等。控制程序是控制整个系统工作的软件,是保证系统工作正常、安全可靠的关键,因此控制程序的设计必须经过反复调试、修改,直到符合要求为止。 (4) 编制系统的技术文件:包括说明书、电气图及电气元件明细表等。传统的电气图,一般包括电气原理图、电器布置图及电气安装接线图。 1.1.2 设计的实现目标 本设计运用SIMEINS S7—200软件控制系统为基础,设计了PLC电子时钟的梯形图。学习PLC的最终目的是能把它应用到实际控制系统中去,若遇到实际的工业控制项目,需用PLC进行控制,应如何着手去设计一个控制系统。

基于DS1302的数码管显示数字钟

单片机原理课程设计 课题名称:基于DS1302的数码管显示数字钟 专业班级:电子信息工程 学生学号: 学生姓名: 指导教师: 设计时间:2010年6月21日--2010年6月25日

目录 摘要........................................................................................................................................................................ 1 设计任务和要求............................................................................................................................................ 2 方案论证........................................................................................................................................................ 3 系统硬件设计................................................................................................................................................ 3.1 系统总原理图 ................................................................................................................................ 3.2 元器件清单...................................................................................................................................... 3.3 PCB板图....................................................................................................................................... 3.4 Proteus仿真图 ............................................................................................................................... 3.5 分电路图及原理说明................................................................................................................... 3.5.1 主控部分(单片机MCS-51).............................................................................. 3.5.2 计时部分(实时时钟芯片DS1302).................................................................. 3.5.3 显示部分(共阳极数码管)................................................................................ 3.5.4 调时部分(按键)................................................................................................ 4系统软件设计................................................................................................................................................ 4.1 程序流程图..................................................................................................................................... 4.2 程序源代码........................................................................................................................................ 5心得体会........................................................................................................................................................ 6参考文献........................................................................................................................................................ 7结束语............................................................................................................................................................

数字时钟设计实验报告

电子课程设计题目:数字时钟

数字时钟设计实验报告 一、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图: 图一 数字时钟电路框图 译码器 译码器 译码器 时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制) 校 时 电 路 秒信号发生器

四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 ?振荡器: 通常用555定时器与RC构成的多谐振荡器,经过调整输出1000Hz 脉冲。 ?分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz标准秒脉冲。其电路图如下: 图二秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 ?60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下:

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

PLC_30秒倒计时钟-七段码译码指令

实训题目:三十秒钟倒计时钟——七段码译码指令 一、实训目的 1. 掌握PLC的基本逻辑指令; 2. 训练PLC编程的思想和方法; 3. 应用PLC技术将继电接触器控制系统改造为PLC控制系统; 4. 掌握七段码译码指令SEGD。 二、实训器材 1.可编程控制器1台(FX2N型); 2.按钮开关2个常开; 3.实训控制台; 4.计算机1台(已安装编程软件); 5.数码显示器2个; 6.连接导线若干。 三、实训内容与指导 1. 控制要求:将三十秒钟倒计时钟改造为PLC控制系统。 2. I/O分配:根据系统控制要求,确定PLC的I/O(输入输出口)。 3. 系统接线:根据系统控制要求和I/O点分配,画出电动机的系统接线图。 4. 程序设计:根据控制要求,设计梯形图程序。 5. 系统调试: (1)输入程序:通过计算机梯形图正确输入PLC中。 (2)静态调试:按PLC的I/O接线图正确连接好输入设备,进行PLC的模拟静态调 试,观察PLC的输出指示灯是否按要求指示,否则,检查并修改程 序,直至指示正确。 (3)动态调试:按PLC的I/O接线图正确连接好输出设备,进行系统的空载调试, 设计一个三十秒钟倒计时钟。接通控制开关,两个数码管分别显示 “2”、“9”,即“29”。随后每隔1s,显示数字减1,减到“0”、“0” 时,返回“29”继续1s减1,断开控制开关停止显示。否则,检查 电路或修改程序,直至符合控制要求。 (4)修改、打印并保存程序:动态调试正确后,练习删除、复制、粘贴、删除连线、 绘制连线、程序传送、监视程序、设备注释等操作,最 后,打印程序(指令表及梯形图)并保存程序。 四、实训报告 1. 实训总结 实训之前,先要认清自己是否弄懂了“算数运算的四则运算指令”。然后通过加减乘除指令和七段码译码指令把所要的结果算出来,这就需要一定的理论基础知识以及听课的认真

用数码管显示的可调式数字钟Proteus仿真

仿真电路: 仿真程序: #include #include #define uint unsigned int #define uchar unsigned char //------共阳极数码管段码--------- uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90}; uchar dat[]={0,0,0xbf,0,0,0xbf,0,0}; uchar h,m,s,ms; uchar scan_which; uchar index; uchar key_state; //----------延时----------

void delay(uint t) { uint i; while(t--) for(i=0;i<120;i++); } void hour() { if(++h>23) h=0; dat[0]=table[h/10]; dat[1]=table[h%10]; } void min() { if(++m>59) { m=0; hour(); } dat[3]=table[m/10]; dat[4]=table[m%10]; } void second() { if(++s>59) { s=0; min(); } dat[6]=table[s/10]; dat[7]=table[s%10]; }

void main() { IE=0x8a; TMOD=0x11; TCON=0x01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; h=17; m=50; s=ms=0; dat[0]=table[h/10]; dat[1]=table[h%10]; dat[3]=table[m/10]; dat[4]=table[m%10]; dat[6]=table[s/10]; dat[7]=table[s%10]; scan_which=0xfe; index=0; TR0=1; TR1=1; key_state=0xfe; while(1) { if(P1^key_state) { delay(10); if(P1^key_state) { key_state=P1; EA=0; if((key_state & 0x01)==0) hour();

6位7段数码管时钟显示汇编程序

ORG 0000H AJMP MAIN ORG 000BH AJMP IT0P ORG 0040H MAIN: ;主程序 MOV P0,#0FFH ;数码管初始状态都是8 < MOV P1,#0FFH ;选中所有的数码管 MOV SP,#60H MOV TMOD,#01H MOV IE,#82H MOV 30H,#14H ;存放定时循环次数单元20次 MOV 40H,#00H ;存放时的数据单元 MOV 41H,#00H ;存放分的数据单元 MOV 42H,#00H ;存放秒的数据单元 、 MOV TH0,#3CH

MOV TL0,#0B0H ;定时50ms*20 SETB TR0 LOOP: ACALL DISPLAY ;调用显示子程序 AJMP LOOP DISPLAY: ;数码管显示子程序SECONDGE: SETB & MOV A,42H ANL A,#0FH ACALL SEG ACALL DELAY1MS CLR SECONDSHI:SETB MOV A,42H SWAP A @ ANL A,#0FH ACALL SEG ACALL DELAY1MS CLR MINUTEGE: SETB MOV A,41H ANL A,#0FH ACALL SEG { ACALL DELAY1MS CLR MINUTESHI:SETB MOV A,41H SWAP A ANL A,#0FH ACALL SEG ACALL DELAY1MS ! CLR HOURGE: SETB MOV A,40H ANL A,#0FH ACALL SEG ACALL DELAY1MS CLR HOURSHI: SETB —

LED七段数码管数字钟1

《微机原理综合实验》 课程设计 学院:机电学院 班级: 12机械师 姓名:周汉斌 学号: 2012095644010 指导老师:覃孟扬

目录 一、设计任务书.................................. 错误!未定义书签。 二、设计题目 (3) 三、设计方案 (3) 四、硬件原理 (3) 1.七段数码管显示 (3) 2.键盘扫描显示 (5) 3.8253计数器和8259中断 (5) 4.硬件连接 (6) 五、程序流程图及程序清单 (6) 1.七段数码管显示 (8) 2. 键盘扫描显示 (9) 3.定时器设计 (12) 4.总程序设计 (15) 六、调试过程及结果 (29) 七、设计总结和体会 (30) 八、参考文献 (31)

一、设计题目 LED七段数码管数字钟: 1.设计并完成LED七段数码管数字钟电路。 2.数字钟显示格式为:HH:MM:SS。 3.具有通过键盘能够调整时、分、秒的功能。 二、设计方案 本设计采用LAB6000伟福仿真实验箱,利用4MHz脉冲信号源和多级分频电路产生脉冲信号,4MHz脉冲信号经过F/64分频后得到62.5KHz脉冲信号,将脉冲信号传递给8253定时器,定时器每0.000016秒中断一次,在中断服务程序中对中断次数进行计数,0.000016秒计数62500次就是1秒,然后在对秒计数得到分和小时值,并送入显示缓冲区,用总线方式控制数码管显示。同时,利用实验箱提供的键盘扫描电路和显示电路来调整时、分、秒。 三、硬件原理 1.七段数码管显示 图1. 七段数码管 七段数码管的字型代码表如下表:

显示字形g f e d c b a 段码 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 5bh 3 1 0 0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 9 1 1 0 1 1 1 1 6fh A 1 1 1 0 1 1 1 77h B 1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h D 1 0 1 1 1 1 0 5eh E 1 1 1 1 0 0 1 79h F 1 1 1 0 0 0 1 71h 表1. 段数码管的字型代码表 图2. 八段数码LED显示电路 实验箱提供了6位八段数码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。将KEY/LED CS接到CS0上,则实验箱中八位段码输出地址为08004H,位码输出地址为08002H。

两位数码管显示

课程设计说明书 课程名称:《单片机技术》 设计题目:两位数码管显示设计 学院:电子信息与电气工程学院 学生姓名: 学号: 专业班级: 指导教师: 2014年6 月13日

课程设计任务书

两位数码管显示 摘要:两位数码管显示设计是基于AT89S52单片机的两位数码显示系统,通过AT89S52进行控制,利用汇编语言编写两位数码管循环扫描动态显示的专用程序来实现两位数码管动态显示系统。系统主要由电源模块、复位模块、外部时钟电路模块、数码管显示模块构成。电源电路通过桥堆2W10和三端稳压器7805将交流电压变为5V的直流电压。复位电路由电容与按键的并联来实现。时钟通过外部12M的晶振来控制。两位数码管显示由两个共阳极的三极管进行驱动。将汇编语言编写的两位数码管动态显示程序写入单片机,使数码管相应段点亮,同时利用人眼的视觉暂留的特性和数码管的余辉效应,在扫描频率足够高时,人眼无法感觉数码管的变化,从而实现数码管的动态显示。 关键词:AT89S52;两位数码管;7805;2W10;动态显示

目录 1.设计背景 (1) 1.1单片机的应用背景 (1) 1.2共阳极数码管的显示方法 (1) 1.3共阳极数码管的驱动设计 (1) 2.设计方案 (1) 2.1方案一:共阳极数码管静态显示 (1) 2.2方案二:共阳极数码管动态显示 (2) 2.3数码管静态与动态显示的优缺点比较 (3) 3.方案实施 (3) 3.1电源电路设计 (3) 3.2复位及震荡电路 (4) 3.3单片机接口 (4) 3.4软件设计 (4) 3.5调试仿真 (6) 4.结果与结论 (7) 4.1设计结果 (7) 4.2设计结论 (7) 5.收获与致谢 (7) 6.参考文献 (8) 7.附件 (8)

数字电路课程设计——数字钟

四川工业科技学院 电子信息工程学院课程设计专业名称:电子信息工程 课程名称:数字电路课程设计 课题名称:自动节能灯设计 设计人员:蔡志荷 指导教师:廖俊东 2018年1月10日

《模拟电子技术课程设计》任务书 一、课题名称:数字钟的设计 二、技术指标: (1)掌握数字钟的设计、组装和调试方法。 (2)熟练使用proteus仿真软件。 (3)熟悉各元件的作用以及注意事项。 三、要求: (1)设画出总体设计框图,以说明数字钟由哪些相对独立的功能模块组成,标出各个模块之间互相联系。 (2)设计各个功能模块的电路图,加上原理说明。 (3)选择合适的元器件,设计、选择合适的输入信号和输出 方式,确保电路正确性。 指导教师:廖俊东 学生:蔡志荷 电子信息工程学院 2018年1月10日

课程设计报告书评阅页 课题名称:数字钟的设计 班级:15级电子信息工程4班 姓名:蔡志荷 2018年1月10日指导教师评语: 考核成绩:指导教师签名: 20 年月

目录 摘要 (1) 第1章设计任务与要求 (2) 1.1 设计指标数字钟简介 (2) 1.2 具体要求 (2) 1.3 设计要求 (3) 第2章元件清单及主要器件介绍 (4) 2.1 元件清单 (4) 2.2 主要器件介绍 (4) 2.2.1 74LS90计数 (4) 2.2.2 74LS47 (5) 2.2.3 七段数码显示器 (7) 第3章设计原理与电路 (8) 3.1 计时电路 (8) 3.1.1 计秒、计分电路 (8) 3.1.2 计时电路 (10) 3.2 校时电路 (11) 3.2.1 报时锁存信号 (13) 3.2.2 报时 (13) 第4章仿真结果及误差分析 (15) 4.1 实验结果 (15) 4.2 实时分析 (15) 第5章设计总结 (16) 参考文献 (17)

电子钟四位数码管电路原理图

程序: #include #define uchar unsigned char #define uint unsigned int uchar num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar t,s=0,m=11,h=0,qian=0,bai=0,shi=0,ge=0,s0=0,m0=0,h0=0,qian0=0,bai0=0,shi0=0,ge0=0,n1=0; sbit key1=P1^0; //功能 sbit key2=P1^1; //加一 sbit key3=P1^2; //减一 sbit key4=P1^3; //查看秒数 bit mm=0; sbit beep=P2^3; uint a; void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay(uint i) { uint j; for(;i>0;i--) for(j>19;j>0;j--);

} /*void clock() { for(a=0;a<=50;a++) { beep=1; delay_1ms(200); beep=0; delay_1ms(200); } }*/ void timer () interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==20) { s++;t=0; if(s==60) { m++;s=0; if(m==60) { h++;m=0; if(h==24) h=0; } } } } void display(uchar h,uchar m,uchar s) { qian=h/10; bai=h%10; shi=m/10; ge=m%10; P0=num[qian]; P2=0xef; delay_1ms(2); P0=0xff; P0=num[bai];

简易数字钟的设计

第三单元简易数字钟的设计 数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无需机械传动等优点。因而得到了广泛的应用。小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数字电子钟,数字钟到处可见。 在数字电路的学习中,已经学习过用计数器芯片搭建数字钟。51单片机内部集成了定时器/计数器,这为构建数字钟带来了方便。在本单元中,学习如何用51单片机来构建一个功能数字钟。 【任务要求】 在6个数码管上显示时、分、秒,共6位数字。 通过单片机内部定时器控制走时,走时准确。 系统有四个按键,功能分别是调整时间,加,减,确定。在按下调整键时候,显示“时”的两位数码管以1 Hz 频率闪烁。如果再次按下调整键,则“分”开始闪 烁,“时”恢复正常显示,依次循环,直到按下确定键,恢复正常的显示。在数码 管闪烁的时候,按下加或者减键可以调整相应的显示内容。按键支持短按和长按, 即短按时,所修改的数字每次增加1或者减小1,长按时候以一定速率连续增加或 者减少10。 【学习知识点】 数码管的原理,驱动程序的实现。 51单片机内部定时器的原理及应用 独立按键的原理及程序的实现。 【内容安排】 第一节:数码管显示原理及应用实现 第二节:独立按键检测原理及应用实现 第三节:计时的原理及实现 第四节:基于定时器的程序改进 第五节:数字钟的构建

第一节数码管显示原理及应用实现 1.1 数码管显示原理 数字钟要把时间显示到数字显示装置上,常用的数字显示装置有数码管、液晶、LED、CRT显示器等。在单片机系统设计中,LED数码管是最基本的显示装置。在数字钟的设计中我们用数码管对中的小时、分和表来进行显示。 LED数码管能显示各种数字或符号,由于它具有显示清晰、亮度高、寿命长、价格低廉等特点,因此使用非常广泛。图1.1是几个数码管的图片:a图为单位数码管, b图为双位数码管,c图为四位数码管。 a 单位数码管 b 双位数码管 c 四位数码管 图1.1 数码管图片 那么数码管是如何的工作呢?还记得我们小时候玩过的“火柴棒游戏”吗,几根火柴组合起来,可以拼成各种各样的图形,数码管实际上就是利用这个原理做成的。 图1.2 单个数码管引脚标号,共阴和共阳的内部连接图

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”

一、设计题目和要求 (3) 二、设计目的 (4) 三、设计内容 (5) 四、课程设计心得体会 (21) 五、参考文献 (22) 六、课程设计指导教师评审标准及成绩评定 (23) 七、附件 (24)

一、设计题目和要求: 题目三:秒表 应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个“复位”键,按下“复位”键后,秒表从0开始计时。 任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。

1.进一步掌握AT89C51单片机的结构和工作原理; 2.掌握单片机的接口技术及外围芯片的工作原理及控制方法; 3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法; 4.掌握PROTEUS仿真软件的使用方法; 5.掌握LED数码管原理及使用方法。 6.掌握定时器、外部中断的设置和编程原理。 7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。

了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。 AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能:

四位数码管显示的数字钟设计与实现

四位数码管显示的数字钟设计与实现 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ 时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。 数字钟的工作原理 晶体振荡器电路晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。图3-2所示电路通过cmos非门构成的输出为方波的数字式晶体振荡电路,这个电路中,cmos非门u1与晶体、电容和电阻构成晶体振荡器电路,u2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容c1、c2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。 由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。晶体XTAL 的频率选为32768HZ。该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数。从有关手册中,可查得C1、C2均为30pF。当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施。由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10M。较高的反馈电阻有利于提高振荡频率的稳定性。非门电路可选74HC00。 #include #define uchar unsigned char uchar code shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};//0 1 2 3 4 5 6 7 8 9 0

PLC课程设计_七段码数字钟

电气控制与 PLC 课程设计 题 目: 七段码数字钟 院系名称: 电气工程学院 专业班级: XXXXXXXXXX 学生姓名: XXXXXX 学 号: XXXXXXXXXXXX 指导教师: XXXXXX

目录 1 系统概述 (1) 1.1 设计目的 (1) 1.2 控制任务 (1) 1.3 实现目标 (1) 2 方案论证 (2) 2.1 控制方案选择 (2) 2.2 数码管显示原理 (2) 3 硬件设计 (5) 3.1 系统的原理方框图 (5) 3.2 主电路 (5) 3.3 I/O分配 (6) 3.4 I/O接线图 (7) 3.5 元器件选型 (8) 4 软件设计 (8) 4.1 程序流程图 (8) 4.2 梯形图 (10) 5 系统调试 (15) 设计心得 (16) 参考文献 (17) 附录 (18)

1 系统概述 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 1.1 设计目的 通过设计与实践,制作出具有准确显示小时、分、秒的数字钟,且可以校时。 1.2 控制任务 电子钟显示的内容通常有月、日、星期、时、分、秒等。本系统只显示时、分、秒 ,采用七段显示器显示各位数字 ,显示数值的范围如表1-1所示。表格括号中的数字表示显示的数字范围。 表1-1 电子钟显示内容与数值 (1)由PLC控制的大型数字电子钟由6个7段L E D发光管组成。 (2)左边两个数码管显示0~23小时,中间两个数码管显示00~60分,后边两个发光二极管显示秒(即每秒闪烁一次)。 (3)显示时、分、秒。 (4)时、分、秒中间间隔的“:”用LED灯(24V)实现,并保持一直亮着的状态。 (5)开始状态时,显示为00:00:00,启动以后开始计时。 1.3 实现目标 1.进行总体设计规划,合理分配I/O点,并绘出电气控制线路的原理草图。 2.绘制电气原理图,计算并选择电器元件。 3.编写PLC软件清单并进行模拟调试。 4.编写课程设计说明书。

用数码管(8位)显示的数字时钟程序

用数码管(8位)显示的数字时钟程序 用数码管(8位)显示的数字时钟,由于是在开发板上写的程序,所以51单片机的一些I/O口设定并不完全一样,以下程序仅供参考 #include sbit dula=P2^6; //段选锁存器 sbit wela=P2^7; //位选锁存器 sbit key1=P3^2; //INT0 选择键 sbit key2=P3^4; //T0 时间增加 sbit key3=P3^6; //S4 时间减少 char a=0,hour=0,minute=0,seconed=0; char h1,h2,m1,m2,s1,s2; char num=0; char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(char z) { char x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display_hour(char h) //显示小时 { h1=h/10; h2=h%10; wela=1; P0=0xfe; //1111 1110 wela=0; P0=0xff; dula=1; P0=table[h1]; dula=0; delay(5); wela=1; P0=0xfd; //1111 1101 wela=0; P0=0xff; dula=1; P0=table[h2];

delay(5); } void display_minute(char m) //显示分钟{ m1=m/10; m2=m%10; wela=1; P0=0xf7; //1111 0111 wela=0; P0=0xff; dula=1; P0=table[m1]; dula=0; delay(5); wela=1; P0=0xef; //1110 1111 wela=0; P0=0xff; dula=1; P0=table[m2]; dula=0; delay(5); } void display_seconed(char s) //显示秒{ s1=s/10; s2=s%10; wela=1; P0=0xbf; //1011 1111 wela=0; P0=0xff; dula=1; P0=table[s1]; dula=0; delay(5); wela=1; P0=0x7f; //0111 1111

相关文档
相关文档 最新文档