C语言模拟时钟转动课程设计报告

C语言模拟时钟转动课程设计报告
C语言模拟时钟转动课程设计报告

《C语言程序设计》

题目:模拟时钟转动程序

班级:

组别:

组员:

指导教师:

目录

第一章课程设计的题目 (2)

1.1 C语言课程设计的题目 (2)

第二章课程设计的要求 (2)

2.1 C语言课程设计的要求 (2)

第三章课程设计的目的 (2)

3.1 C语言课程设计的目的 (2)

第四章课程设计的内容 (3)

4.1 C语言课程设计的程序清单和注释 (3)

第五章课程设计的运行结果 (7)

5.1 C语言课程设计的运行结果 (7)

第六章课程设计的结果分析 (8)

6.1 C语言课程设计的结果分析 (8)

第七章课程设计的心得体

会 (9)

7.1 C语言课程设计的心得体会 (9)

模拟时钟转动程序

第一章课程设计的题目

1.1 C语言课程设计的题目

本次为期两周的课程设计的题目为设计一个模拟时钟转动的程序。

第二章课程设计的要求

2.1 C语言课程设计的要求

能模拟机械钟表行走;要准确地利用数字显示日期和时间;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;数字式时钟的时间显示与指针式时钟显示一致;按任意键时程序退出。

第三章课程设计的目的

3.1 C语言课程设计的目的

加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。

第四章课程设计的内容

4.1 C语言课程设计的程序清单和注释

模拟时钟转动程序清单+注释

#include //包含窗口头文件

#include //头文件,包含了一些数学计算的函数

#define TWOPI (2*3.14159)

#define IDTIMER 1 //计时器ID

#define ANGLE TWOPI/360 //2PI

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam ); //回调函数

Int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow ) // 应用启动函数mian {

TCHAR szClassName[] = TEXT("analogCloc");

MSG msg; //定义消息

HWND hwnd; //窗口句柄

WNDCLASS wndclass; //系统支持结构,定义并初始化窗口结构 wndclass.cbClsExtra = 0; //窗口类无扩展

wndclass.cbWndExtra = 0; //窗口势力无扩展

wndclass.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH);

//窗口背景为白色

wndclass.hCursor = NULL;

wndclass.hIcon = NULL;

wndclass.hInstance = hInstance; //当前实例句柄 wndclass.lpfnWndProc = WindowProc; //关联到消息回调函数

wndclass.lpszClassName = szClassName;

wndclass.lpszMenuName = NULL; //窗口中无菜单

wndclass.style = CS_HREDRAW | CS_VREDRAW ; //窗口重绘风格

RegisterClass(&wndclass);

hwnd

CreateWindow(szClassName,TEXT("Clock"),WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,

CW_USEDEFAULT,CW_USEDEFAULT,

NULL, NULL, hInstance, NULL); //创建窗口

ShowWindow(hwnd,nCmdShow); //显示窗口

UpdateWindow(hwnd); //更新窗口,强制显示

while(GetMessage(&msg,NULL,0,0)) //函数GetMessage 是从调用线程的消息队列里取得一个消息并将其放于指定的结构

{

TranslateMessage(&msg); //消息处理

DispatchMessage(&msg); //消息派遣

}

return msg.wParam; //windows应用程序的消息循环形式

}

void setISOTROPIC(HDC hdc,int cxClient,int cyClient)

//设置映射模式,使之成为笛卡尔坐标系的映射模式

{

SetMapMode(hdc,MM_ISOTROPIC);

SetWindowExtEx(hdc,1000,1000,NULL); // 逻辑单位与设备单位比1/2

SetViewportExtEx(hdc,cxClient/2,-cyClient/2,NULL);

SetViewportOrgEx(hdc,cxClient/2,cyClient/2,NULL); //竖坐标向上为正,下为负

}

void drawClock(HDC hdc) // 画时钟圆盘

{

int x, y, radius; //以逻辑单位表示的窗口原点坐标

SelectObject(hdc,CreateSolidBrush(RGB(1,148,138)));//设置整个窗口线条颜色

for(int i=0;i<360;i+=6)

{

x = (int)(cos(TWOPI/360*i)*900); //cos函数,包含在math.h头文件利的函数

y = (int)(sin(TWOPI/360*i)*900);

radius = !(i%5)?40:10;

Ellipse(hdc,x-radius,y-radius,x+radius,y+radius);

// 把弧度制转换成坐标形式,Ellipse函数用来画圆

}

}

void drawHands(HDC hdc,SYSTEMTIME *pst,BOOL hChange)

// draw hands函数负责绘制时钟的时针、分针和秒针的轮廓

{

int radius[3] = {500,700,850};

int angle[3];

angle[0] = pst->wHour*30+pst->wMinute/12*6;

angle[1] = pst->wMinute*6;

angle[2] = pst->wSecond*6;

for(int i=hChange?0:2;i<3;i++)

{

MoveToEx(hdc,0,0,NULL);

LineTo(hdc,(int)(radius[i]*cos(ANGLE*(90-angle[i]))),

(int)(radius[i]*sin(ANGLE*(90-angle[i]))));

}

}

LRESULT CALLBACK WindowProc(

HWND hwnd,

UINT message, // 消息标识符,标识某个特定的消息

WPARAM wParam,

LPARAM lParam

) //消息处理函数

{

TCHAR time[40];

PAINTSTRUCT ps;

HDC hdc;

static int cxClient, cyClient;

SYSTEMTIME st; //定义结构体变量

static SYSTEMTIME preSt;

BOOL hChange;

switch(message) //switch 语句一个case代表一种情况 {

case WM_CREATE: // 窗口创建事件

SetTimer(hwnd,IDTIMER,1000,NULL); //创建一个1000ms定时器

GetLocalTime(&st); //得到当前系统时间

wsprintf(time,TEXT("%d年%d

月%d日%d时%d分%d秒"),

//记录系统时间,包括年、月、日、时、分、

st.wYear,

st.wMonth,

st.wDay,

st.wHour,

st.wMinute,

st.wSecond);

SetWindowText(hwnd,time); // 设置当前时间为窗口title

preSt = st;

return 0;

case WM_SIZE:

cxClient = LOWORD(lParam);

cyClient = HIWORD(lParam);

return 0;

case WM_TIMER: //定时器到时,即是每隔一秒要重画下界面

GetLocalTime(&st); //每次都要获取当前时间

hChange = st.wHour!=preSt.wHour||st.wMinute!=preSt.wMinute;

hdc = GetDC(hwnd);

setISOTROPIC(hdc,cxClient,cyClient);

SelectObject(hdc,GetStockObject(WHITE_PEN));

drawHands(hdc,&preSt,hChange);

SelectObject(hdc,GetStockObject(BLACK_PEN));

drawHands(hdc,&st,TRUE);

ReleaseDC(hwnd,hdc);

wsprintf(time,TEXT("%d年%d月%d日%d时%d分%d秒"),

《数字逻辑》数字时钟课程设计报告资料

《数字逻辑》课程设计报告 题目数字时钟 学院(部)信息工程学院 专业计算机科学与技术 班级计算机一班 学生姓名 学号20132402 6 月29 日至 7 月 3 日共1 周 指导教师(签字)

题目 一.摘要: 钟表的数字化给人们的生产生活带来了极大的方便,并且极大的扩展了钟表原先的报时功能。诸如定时自动报有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常警、学校的按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯,甚至各种定时电气的自启用等。所现实的意义。本次数电课设我组设计的数字时钟是由石英晶体振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路和计时电路组成,石英晶体振荡器产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器在七段显示器上显示时间。 二.关键词: 校时计时报时分频石英晶体振荡器 三.技术要求: 1、有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能; 2、有计时功能,时钟不会在计时的时候停下。计时范围是0~99秒; 3、有闹铃功能,闹铃响的时间由使用者自己设置,闹铃时间至少一分钟; 4、要在七段显示器(共阴极6片)显示时间; 5、电子钟要准确正常地工作。 四、方案论证与选择: 钟表的是长期使用的器件,误差容易积累由此增大。所以要求分频器产生的秒脉冲要极其准确。而石英晶体产生的信号是非常稳定的,所以我们使用石英晶体产生的信号经过分频电路作为秒脉冲。秒脉冲信号经过6级计数器,分别得到“秒”、“分”、“时”的个位、十位的计时。由实际的要求,“秒”、“分”计数器为60进制的计数器,小时为24进制。由于74LS160十进制加法计数器易于理解使用,我们在设计各个计数器时都是由采用74LS160芯片级联构成。在计时部分,最小单位是0.01s,我们采用555多谐振荡器产生100HZ的信号作为秒脉冲进入一个4级计数器,计时范围是0~99秒。石英晶体

基于单片机的倒计时器(计数器)课程设计)

湖南文理学院课程设计报告 课程名称:单片机原理课程设计 学院:电信学院 专业班级:自动化07101 学生姓名: 指导老师: 完成时间: 报告成绩:

倒计时器设计

目录 目录 (1) 摘要 (3) ABSTRACT (4) 第一章设计要求与方案确定 (5) 1.1设计意义 (5) 1.2设计要求 (5) 1.3方案确定 (5) 第二章硬件电路 (6) 2.1单片机概述 (6) 2.1.1 单片机基础 (6) 2.1.2单片机与单片机系统 (7) 2.1.3 单片机的产生与发展 (7) 2.2MCS-51系列单片机介绍 (8) 2.2.1 80C51 芯片介绍 (8) 2.2.3 最小系统 (9) 2.2.4 定时与中断的概念 (10) 2.4LED显示电路设计与器件选择 (12) 2.4.1.LED显示器的选择 (13) 2.4.2LED驱动芯片选择 (13) 2.5按键电路设计 (13) 2.6蜂鸣器电路的设计 (14) 第三章倒计时器的设计 (15) 3.1倒计时器系统设计方案及框图 (15) 3.2程序设计 (15) 3.2.1主程序设计 (15) 3.2.2倒计时模块设计 (17) 3.2.3键盘扫描数码管显示程序 (17)

第四章倒计时器设计仿真 (18) 4.1设置倒计时初值 (18) 4.2开始倒计时 (18) 4.3倒计时结束并报警 (18) 总结 (20) 参考文献 (21) 致谢 (22) 附录1 倒计时器设计源程序 (23) 附录2 所用元器件清单 (23)

摘要 近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。在实时控制和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。为了简化电路,降低成本,采用以软件为主的的接口方法。 该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各种场所的控制设备。 【关键词】单片机;LED数码管显示器;倒计时;报警

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

数字时钟课程设计报告

《电子线路课程设计报告》 系另 1」: 机电与自动化学院 专业班级:电气及自动化技术1001 学生姓名:陈星涯 指导教师:梁宗善 i=r (课程设计时 间: 2012年1月3日——2012年1月13日) 华中科技大学武昌分校 1.课程设计目的................................................. 3页 2.课程设计题目描述和要求....................................... 3页 2.1课程设计题目............................................. 3页

2.2课程设计要求............................................. 3页 3. ......................................................................................................... 比较和选定设计的系统方案.................................................... 4页 3.1数字钟的构成............................................. 4页 4.单元电路设计及工作原理....................................... 5页 4.1时基电路................................................. 5页 a. 多谐振荡器的工作原理................................... 5页 4.2计数器................................................... 7页 a.中规模计数器组件介绍.................................. 7页 b.60 进制计数器 .......................................... 8页 C.12 翻1计数器........................................... 9页 4.3译码器................................................... 10页 4.4显示器................................................... 10页 4.5校时电路................................................. 11页 4.6定时控制电路............................................. 12页 4.7仿广播电台正点报时电路................................... 13页 5.调试过程及分析............................................... 14页 5.1显示器故障排查........................................... 14页 5.2计数器调试及分析......................................... 15页 5.3校时电路的调试........................................... 16页 5.4增加抗干扰电路........................................... 16页 5.5闹时电路的调试........................................... 17页 5.6仿广播电台整点报时电路调试............................... 17页 6.课程设计总结................................................. 17页 7.参考文献..................................................... 19页 8.附件一:电子时钟主体电路电路图............................... 20页 9.附件二:扩展电路电路图....................................... 21页 10.附件三:系统所需元器件清单 ................................ 22页 11.课程设计成绩.............................................. 23页 一、设计任务与目的 数字时钟是一种利用数字电路技术实现时、分、秒计时的装置,与传统的

篮球竞赛24秒计时器设计-

学号: 课程设计 题目 学院 专业 班级 姓名 指导教师

年月日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 篮球24秒记时器的设计与制作 初始条件: (1)具备显示24秒记时功能 (2)计时器为递减工作,间隔为1S (3)递减到0时发声光报警信号 (4)设置外部开关,控制计时器的清0,启动及暂停 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)设计任务及要求 (2)方案比较及认证 (3)系统框图,原理说明 (4)硬件原理,完整电路图,采用器件的功能说明 (5)调试记录及结果分析 (6)对成果的评价及改进方法 (7)总结(收获及体会) (8)参考资料 (9)附录:器件表,芯片资料 时间安排: 6月16日~6月19日:明确课题,收集资料,方案确定 6月19日~6月21日:整体设计,硬件电路调试 6月21日~6月24日;报告撰写,交设计报告,答辩 指导教师签名:2014年 6月日

前言 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。 在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机、还可以用来做为各种药丸,药片,胶囊在指定时间提醒用药等等,由此可见计时器在现代社会是何其重要的。 篮球作为一项全民健身项目,已有一定的历史。在中国,篮球很盛行,篮球比赛也日趋职业化。篮球比赛中有一项违例时间要用倒计时器,目前多数采用的是24秒制。有需要就会有市场,因此设计一款24秒计时器是非常有必要也非常有前景的。 该计时器要有递减计时及报警功能。因此符合比赛中违例判罚的需要。 在NBA比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。本课程设计的“篮球竞赛24秒计时器”,可用于篮球比赛中,用于对球员持球时间24秒限制。一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的犯规。 本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。 整个电路的设计借助于proteus仿真软件和数字逻辑电路相关理论知识,并在proteus下设计和进行仿真,得到了预期的结果。

数字时钟课程设计方案设计方案

课程设计题目名称:数字时钟 专业名称:电气工程及其自动化班级: ******** 学号: *******8 学生姓名: ******* 任课教师: *******

《电子技术课程设计》任务书

2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕:设计电路,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。 3.主要参考文献:⑴《电子技术课程设计指导》彭介华编,高等教育出版社,1997年10月 ⑵《数字电子技术》康华光编著高等教育出版社, 2001年 要求按国标GB 7714—87《文后参考文献著录规则》书写。 4.课程设计工作进度计划: 序号起迄日期工作内容 初步设想和资料查询,原理图的绘画 1 2015.11.18-2015.12.21 仿真调试,元件参数测定,实物的拼接与测试 2 2015.12.21-2016.1.8 叙写设计报告,总结本次设计,论文提交 3 2016.1.8-2016.1.18 主指导教师日期:年月日

摘要 数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。并且数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。报告围绕此次数字钟的设计进行介绍、总结,包含了设计的步骤,前期的准备,装配的过程。在实装时,采用了74LS90进行计数,用CD4060产生秒脉冲,CD4511进行数码管转换显示,还要考虑电路的校时、校分,每块芯片各设计为几进制等等,最后实现了数字钟设计所要求的各项功能:时钟显示功能;快速校准时间的功能。 关键字:数字时钟校时CD4511

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

数字电子时钟课程设计总结报告

《数字逻辑电路设计》课程设计 总结报告 题目:数字电子钟设计 指导教师: 设计人员: (学号): 班级:

日期:2018年12月

一.设计任务书 任务:数字电子钟设计 基本设计要求:仿真实现数字电子钟 1.要求能显示“时”“分”“秒” 2.时24小时,分60分钟,秒60。 3.能够校时,校分 电路在实验箱上实现 二.设计框图及整机概述 设计框图: 概述:数字电子时钟电路系统由秒信号发生器、校分校时电路、“时、分、秒”计数器和“时、分、秒”显示器组成。秒信号发生器将秒信号送入秒计时器,秒计时器为六十进制计数器,每计六十个数便发送分脉冲信号给分计数器,分计数器也为六十进制计数器,每计六十个数便发送时脉冲信号给时计数器,时计数器是二十四进制计数器。“时、分、秒”显示器将计数器输

出的状态显示出来。 三.各单元电路的设计方案及原理说明 1.六十进制计数器 计数器是对cp脉冲进行计数的时序逻辑电路。“分”和“秒” 的计数由六十进制计数器实现,74LS161为16进制计数器, 两片74LS161EP和ET恒为1,均工作在计数状态,当分个位 和秒个位计数器计到9(1001)时,CLOR端为高电平,经反 相器后使时位CLK端为低电平。当下一个计数输入脉冲到达后,个位记成0(0000),此时CLOR端跳回低电平,时位计数1。 计数器从0开始计数,当计入60个脉冲时,经与非门产生低 电平,立即将两片74LS161同时置零,得到60进制计数器。 2.二十四进制计数器 时的计数由二十四进制计数器实现,当计入24个脉冲的

时候,经与非门产生的低电平信号即将两片74LS161同时置零,得到二十四进制计数器。 3.显示电路 计数器输出的是8421BCD码,需译码器将其转为阿拉伯数字。 4.校时电路 利用校时电路截断分十位和时十位的直接计数通路,当校时电路中的开关截断时,其中的与非门一端接高电平,另一端接秒/分十位的进位输出端,若秒/分十位的进位输出端输出的是低电平,则分/时个位的CLK有低电平的信号输入,此时得到

电子时钟课程设计55026

. 单片机课程设计题目:电子时钟 班级: 姓名: 学号: 指导教师: 设计时间:

.

摘要 针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。设计的电子时钟通过数码管显示,并能通过按键的设计实现小时与分钟的调整。时间的启动与暂停等等。 关键字:数字时钟;单片机;定时计数器 .

1 引言 时钟,自他发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还可以进行时、分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可 .

单片机电子时钟课程设计报告

目录 1、引言·3 2、总体设计·4 3、详细设计·5 3.1硬件设计·5 3.2软件设计·10 4、实验结果分析·26 5、心得体会·27 6、参考文献·27

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机 AT89C51

1.引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

数字闹钟课程设计报告

数字电路实验课程设计报告 数字闹钟

第一部分设计任务 1.1设计任务 设计、制作一个带有校时功能、可定时起闹的数字闹钟。 1.2设计指标 1、有“时”、“分”十进制显示,“秒”使用分个位数码管上的DP点显 示。 2、计时以24小时为周期。(23:59→00:00) 3、具有校时电路,可进行分、时较对。 4、走时过程能按预设的定时时间(精确到小时)启动闹钟产生闹铃, 闹铃响时约3s。

第二部分设计方案 2.1总体设计方案说明 系统组成: 秒信号发生器:由LM555构成多谐振荡器 走时电路:计数器和与非门组成 校时电路:秒信号调节 闹钟电路:跳线的方法由计数器、译码器、组合逻辑电路、单稳态电路组成 显示电路:译码器数码管 模块结构与方框图

第三部分 电路设计与器件选择 3.1 秒信号发生器 3.1.1模块电路及参数计算 提供秒脉冲 取R1=1.5K,R2=2.4K C=220uF T≈1S 3.1.2工作原理和功能说明 3.1.3器件说明 内部电路组成: (1)分压器(3 个R) (2) 电压比较器 (A1、A2) (3)RS 触发器 (4)反相器 (5)晶体管T 1端GND 地 2端TR 低电平触发输入 3端UO 输出 4端RD 直接清0 5端CV 电压控制,不用 时经0.01 F 电容 接地 6端TH 高电平触发输入 7端D 三极管集电极 8端VCC 电源(4.5V~18V) C R T C R R T PL PH 2217.0)(7.0=+=z 11 H T f == C R R T T T PL PH )2(7.021+=+=

24秒计时器课程设计

电子课程设计篮球24秒计时器 班级:自动化092201H班 姓名:陈鹏飞 学号:200922060101

目录 序言 (3) 一、设计任务及要求 (3) 二、总体框图 (3) .......................................................................................................... .......................................................................................................... .......................................................................................................... 三、选择器件 (4) ........................................................................................................... .......................................................................................................... 四、功能模块 (8) 五、总体电路设计 (12) 六、参考文献 (14) 七、心得体会 (14)

序言 篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要 求进攻方在24秒内有一次投篮动作,否则视为违例。本人设计了一个篮球比赛计时器,可对比赛总时间和各方每次控球时间既是。该计时器采用按键操作,LED 显示,非常实用,此计时器也可作为其他球类比赛的计时器。 篮球24秒计时器 一、设计任务与要求 1. 有显示24秒的计时功能 2. 置外部操作开关,控制计时器的直接清零,起碇和暂停连续功能 3. 计时器喂24秒递减计时器,其间隔为1秒 4. 计时器递减计时到0时,数码显示器不能灭灯 应发出光电报警信 号 二、总体框图 二. 1秒脉冲发生器: 秒脉冲信号发生器需要产生一定精度和幅度的矩形波信号。实现这样矩形波的方法很多,可以由非门和石英振荡器构成,可由单稳态电路构成,可以由施密特触发器构成,也可以由555点哭构成等。 不同的电路队矩形波频率的精度要求不同,由此可以选用不同电路结构的脉冲信号发生器。本实验中由于脉冲信号作为计数器的计时脉冲,其精度直接影响计数器的精度,因此要求脉冲信号有比较高的精度。一般情况下,要做出一个精度比较高的 频率很低的振荡器有一定的难度 工程上解决这一问题的办法就是先做一个频率比较高的矩形波震荡器,然后将其输出信号通过计数器进行多级分项,就可以得到频率比较低 精度比较高的脉冲信号发生器,其精度取决于振荡 秒脉冲发生器 外部操作信号 译码/显示电路 24t 计数器 控制电路 报警电路

(完整版)数字电路课程设计--数字时钟

《数字时钟》技术报告 概要 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24 小时,显示满刻度为23 时59 分59 秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。 本设计中的数字时钟采用数字电路实现对“时” 、“分”、“秒” 的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555 震荡器,74LS90 及与非,异或等门集成芯片等。该电路具有计时和校时的功能。 在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。 实验证明该设计电路基本上能够符合设计要求! 一、系统结构。 (1)功能。此数字钟能显示“时、分、秒”的功能,它的计时周期是24 小时,最大能显示23 时59 分59 秒,并能对时间进行调整和校对,相对于机械式的手表其更为准确。 2)系统框图

系统方框图 1 (3)系统组成。 1.秒发生器:由555 芯片和RC 组成的多谐振荡器,其555 上3 的输出频率由接入的电阻与电容决定。 2.校时模块:由74LS03 中的4 个与非门和相应的开关和电阻构成。 3.计数器:由74LS90 中的与非门、JK 触发器、或门构成相应芯片串接得到二十四、六十进制的计数器,再由74LS90 与74LS08 相连接而得到秒、分、时的进分别进位。 4.译码器:选用BCD 锁存译码器4511,接受74LS90 来的信号,转换为7 段的二进制数。

5.显示模块:由7 段数码管来起到显示作用,通过接受CD4511 的信号。本次选用的是共阴型的CD4511 。 二、各部分电路原理。 1.秒发生器:555 电路内部(图2-1)由运放和RS 触发器共同组成,其工作原理由8处接VCC ,C1 处当 Uco=2/3Vcc>u11 时运放输出为1,同理C2 也一样。最终如图3 接口就输出矩形波,而形成的秒脉冲。 图 2-2 555 功能表 2.校时模块:校时模块主要由74LS03中的4个与非门构成(图2-3),由其功能图看得出只要有一个输入端由H 到L 或者从L 到H 都会使输出端发生高低变化。因此通过开关的拨动产生高低信号从而对时、分处的计数器起到调数作用。

EDA数字时钟课程设计报告

EDA技术及应用课程设计说明书 2013 届电子信息工程专业班级 题目数字时钟 学号 姓名 指导教师 二О一五年月日

一、基本原理 一个完整的时钟应由三部分组成:秒脉冲发生电路、计数显示部分和时钟调整部分。 秒脉冲发生电路原理:一个时钟的准确与否主要取决于秒脉冲的精确度。为了保证计时准确我们对系统时钟48MHz进行了48000000分频,从而得到1Hz的秒脉冲。 计数显示部分原理:显示部分是用数码管LED实现的,这里使用的是共阳极的数码管如图所示8个数码管,其中左边两个数码管用来显示时的个位和十位、中间的显示分的个位和十位、最右边两个显示分的个位和十位。 时钟调整部分原理:校时电路里定义key[0]、key[1]和k2、k3分别用于控制时钟的计时开始、清零和调整功能中的时的加1、分的加1处理,从而完成对现在的时间调整。本实验电路校时电路在此完成了暂停、清零、时调整和分调整。

二、硬件设计 芯片图: 图1 数字时钟原理图 程序的调试工作都是在电脑上完成的,通过程序的输入、原理图的建立、管脚分配、编译、仿真、再下载到芯片进行运行。

电路中采用共阳极连接的七段数码管,通过程序的控制扫描驱动来显示时钟的时-分-秒。

程序中的按键设定为K1暂停、K2清零、K3调时、K4调分元件清单: 三、数字时钟的Verilog实现 管脚的分配: 程序: module clock(clk,s1,,s2,key,dig,seg); //模块名clock input clk,s1,s2; //输入时钟 input[1:0]key; //输入按键 output[7:0]dig; //数码管选择输出引脚

大连理工大学数字电路课程设计报告:多功能数字时钟设计

大连理工大学本科实验报告题目:多功能数字时钟设计 课程名称:数字电路与系统课程设计 学院(系):信息与通信工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 完成日期:2014年7月16日 2014 年7 月16 日

题目:多功能数字时钟设计 1 设计要求 1) 具有“时”、“分”、“秒”及“模式”的十进制数字显示功能; 2) 具有手动校时、校分功能,并能快速调节、一键复位(复位时间12时00分00秒); 3) 具有整点报时功能,从00分00秒起,亮灯十秒钟; 4) 具有秒表功能(精确至百分之一秒),具有开关键,可暂停、可一键清零; 5) 具有闹钟功能,手动设置时间,并可快速调节,具有开关键,可一键复位(复位时间12时00分00秒),闹钟时间到亮灯十秒钟进行提醒; 6) 具有倒计时功能(精确至百分之一秒),可手动设置倒计时时间,若无输入,系统默认60秒倒计时,且具有开关键,计时时间到亮灯十秒钟进行提醒,可一键复位(复位时间默认60秒)。 2 设计分析及系统方案设计 2.1 模式选择模块:按键一进行模式选择,并利用数码管显示出当前模式。模式一:时钟显示功能;模式二:时钟调节功能;模式三:闹钟功能;模式四:秒表功能;模式五:倒计时功能。 2.2 数字钟的基本功能部分:包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。 具有复位按键1,在时钟模式下按下复位键后对时钟进行复位,复位时间12时00分00秒。 进入手动调时功能时,通过按键调节时间,每按下依次按键2,时钟时针加一,按下按键2一秒内未松手,时钟时针每秒钟加十;按键1对分针进行控制,原理与时针相同并通过译码器由七位数码管显示。 从00分00秒开始,数字钟进入整点报时功能(本设计中以一个LED灯代替蜂鸣器,进行报时),亮灯10秒钟进行提示。 2.3多功能数字钟的秒表功能部分:计时范围从00分00.00秒至59分59.99秒。可由复位键0异步清零,并由开关1控制计时开始与停止。 将DE2硬件中的50MHZ晶振经过分频获得周期为0.01秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示 2.4多功能数字钟的闹钟功能部分:进入闹钟功能模式后,通过按键2(设定小时)和按键1(设定分钟)设定闹钟时间,当按下按键一秒内未松手时,可进行快速设定时间。当时钟进入闹钟设定的时间(判断时钟的时信号时针,分针分别与闹钟设定的时信号时针、分针是否相等),则以LED灯连续亮10秒钟进行提示,并由开关0控制闹钟的开和关。 2.5 多功能数字钟的倒计时功能部分:可通过按键3(设定分针)和按键2(设定秒针)设定倒计时开始,当按下按键一秒内未松手时,可进行快速设定时间。当没有手动时间设定时,系统默认为60秒倒计时。倒计时的时钟与数字钟的时钟相同,每迎到一个1s时钟上升

数字钟设计实验报告

湖南工业职业技术学院项目制作报告书 项目名称:新大屏幕数字钟制作 所属课程:数字电子技术 系别电气工程 专业班级电信S2009-2 学生姓名易延烽 学号16 项目指导老师李佳老师 电子邮箱 联系Q Q 571040889 2011-1-1

新大屏幕数字钟的制作 一.设计目的 a.熟悉集成电路的引脚安排. b.掌握各芯片的逻辑功能及使用方法. c.了解面包板结构及其接线方法. d.了解数字钟的组成及工作原理. e.熟悉数字钟的设计与制作. 二.设计要求 1.a.时间以24小时为一个周期,显示时,分,秒; b.有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; c.为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号. 2..制作要求 a.画出电路原理图(或仿真电路图); b.元器件及参数选择; c.电路仿真与调试; 3.制作要求自行装配和调试,并能发现问题和解决问题. 4.编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会. 三.设计原理及其框图 1.数字钟的构成 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.图(1)

. ⑴晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路. ⑵分频器电路 分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数.分频器实际上也就是计数器. ⑶时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个

课程设计--篮球竞赛24秒计时器

课程设计--篮球竞赛24秒计时器

一、课题名称 二、内容摘要 本设计主要是完成篮球竞赛24秒计时器,显示24秒倒计时功能,系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器全部显示为“0”;计时器为24秒递减计时,其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。 整个电路的设计借助于Multisim 10.0.1仿真软件和数字逻辑电路相关理论知识,并在Multisim 10.0.1下设计和进行仿真,得到了预期的结果。 关键字:计时器;数码显示器;Multisim 随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活不可缺少的一部分,特别是在各种竞技运动中,定时器成为检验运动员成绩的一个重要工具。在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。本课程设计的“篮球竞赛24秒计时器”,可用于篮球比赛中,用于对球员持球时间24秒限制。一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的犯规。 本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。

三、设计内容及要求 1.2.1基本要求 (1)显示24秒计时功能。 (2)控制计时器直接清零、启动、暂停/连续功能。 (3)计时器为24秒递减计时器。 (4)递减计时到零时,显示器不能灭灯,同时发出光电报警信号。 1.2.2 设计任务及目标 (1)根据原理图分析各单元电路的功能; (2)熟悉电路中所用到的各集成块的管脚及其功能; (3)进行电路的装接、调试,直到电路能达到规定的设计要求; (4)写出完整、详细的课程设计报告。 四、方案论证及比较 本设计的核心部分是要设计一、 个24s倒计数器,并且对计数结果进行实时显示,同时要实现设计任务中提 到的各种控制要求,因此该系统包括秒脉冲发生电路,计数器电路,译码显示电路,控制电路和电路报警电路5部分。其中,计数器电路和控制电路时系统的主要部分。计数器电路完成24s倒计时功能,而控制电路具有直接控制计

C语言模拟时钟转动课程设计报告

《C语言程序设计》 课 程 设 计 报 告 题目:模拟时钟转动程序 班级: 组别: 组员: 指导教师:

目录 第一章课程设计的题目 (2) 1.1 C语言课程设计的题目 (2) 第二章课程设计的要求 (2) 2.1 C语言课程设计的要求 (2) 第三章课程设计的目的 (2) 3.1 C语言课程设计的目的 (2) 第四章课程设计的内容 (3) 4.1 C语言课程设计的程序清单和注释 (3) 第五章课程设计的运行结果 (7) 5.1 C语言课程设计的运行结果 (7) 第六章课程设计的结果分析 (8) 6.1 C语言课程设计的结果分析 (8) 第七章课程设计的心得体

会 (9) 7.1 C语言课程设计的心得体会 (9) 模拟时钟转动程序 第一章课程设计的题目 1.1 C语言课程设计的题目 本次为期两周的课程设计的题目为设计一个模拟时钟转动的程序。 第二章课程设计的要求 2.1 C语言课程设计的要求 能模拟机械钟表行走;要准确地利用数字显示日期和时间;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;数字式时钟的时间显示与指针式时钟显示一致;按任意键时程序退出。

第三章课程设计的目的 3.1 C语言课程设计的目的 加深对讲授内容的理解,尤其是一些语法规定。通过课程设计,自然地、熟练地掌握。熟悉所用的计算机系统的操作方法,也就是熟悉语言程序开发的环境。学会上机调试程序。 第四章课程设计的内容 4.1 C语言课程设计的程序清单和注释 模拟时钟转动程序清单+注释 #include //包含窗口头文件 #include //头文件,包含了一些数学计算的函数 #define TWOPI (2*3.14159) #define IDTIMER 1 //计时器ID #define ANGLE TWOPI/360 //2PI LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam ); //回调函数 Int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow ) // 应用启动函数mian { TCHAR szClassName[] = TEXT("analogCloc"); MSG msg; //定义消息 HWND hwnd; //窗口句柄 WNDCLASS wndclass; //系统支持结构,定义并初始化窗口结构 wndclass.cbClsExtra = 0; //窗口类无扩展 wndclass.cbWndExtra = 0; //窗口势力无扩展 wndclass.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH); //窗口背景为白色 wndclass.hCursor = NULL;

相关文档
最新文档