文档库 最新最全的文档下载
当前位置:文档库 › 跑马灯及万年历的课程设计实验报告

跑马灯及万年历的课程设计实验报告

跑马灯及万年历的课程设计实验报告
跑马灯及万年历的课程设计实验报告

摘要

微机控制系统的操作实验,以Proteus和Keil仿真软件为核心来构建。通过上述两个软件完成跑马灯及万年历的设计仿真。

跑马灯以AT89C51单片机、LED灯等构成,具有对8个LED按照一定规律点亮的功能。万年历以PIC16F877A单片机、DS1302时钟芯片和LMG12641BSIR液晶显示器构成,能够完成年、月、日,以及时间的显示.

本实验以软件为核心,通过配置硬件设备,简单方便的完成微机控制系统的实验,通过软件仿真,减少了对硬件设施的要求.且本实验能够培养学生的综合分析能力.对学生的能力成长有很重要的意义.

关键词: PROTEUS; KEIL ; 单片机; 跑马灯; 万年历

Abstract

Microcomputer to control the operation of the system experiment, Proteus and Keil, simulation software as the core build. Marquee and the calendar of the above two software to complete design and simulation.

Marquee of AT89C51 microcontroller, LED lights with 8 LEDs light up according to certain laws of the function. The calendar PIC16F877A MCU, DS1302 clock chip and liquid crystal display LMG12641BSIR structure, able to complete the year, month, date, and time display.

In this study, the core software, configure hardware devices, a simple and convenient to complete the experiments of the microcomputer control system, through software emulation, and reduced requirements for hardware facilities. And this experiment is to cultivate students' comprehensive analysis capabilities. On the student's ability to grow there are a very important significance.

Keywords: PROTEUS; KEIL ; SCM; Marquee; Calendar

目录

摘要 (Ⅰ)

Abstract (Ⅱ)

第一章课题说明 (1)

1.1功能要求 (1)

1.1.1 跑马灯的实验功能要求 (1)

1.1.2 万年历的实验功能要求 (1)

1.2 proteus及keil软件的相关说明 (1)

1.2.1 proteus软件的介绍 (1)

1.2.2 keil软件的介绍 (2)

第二章方案设计 (3)

2.1跑马灯方案设计 (3)

2.1.1 跑马灯方案一 (3)

2.1.2 跑马灯方案二 (3)

2.1.3 跑马灯方案选择 (3)

2.2 万年历方案设计 (3)

2.2.1 万年历方案一 (3)

2.2.2 万年历方案二 (4)

2.2.3 万年历方案选择 (4)

第三章基于proteus的仿真实验 (5)

3.1 基础性实验——跑马灯设计 (5)

3.1.1 跑马灯的硬件设计 (5)

3.1.2 跑马灯的软件设计 (8)

3.2 设计性实验——万年历设计 (12)

3.2.1 万年历的硬件设计 (12)

3.2.2 万年历软件设计 (13)

3.2.3 调试与仿真 (15)

参考文献 (16)

附录 (17)

跑马灯程序清单 (17)

万年历程序清单 (18)

第一章课题说明

本实验是基于proteus的单片机微机控制系统实验,其中涉及到两个软件,proteus 和keil,并要求完成两个仿真实验,一是跑马灯的实验,一是万年历的实验。

1.1功能要求

1.1.1 跑马灯的实验功能要求

(1)利用proteus完成跑马灯的设计仿真。

(2)利用keil完成跑马灯的程序设计

(3)跑马灯具有按照一定规律点亮8个LED的功能。

1.1.2 万年历的实验功能要求

(1)利用proteus完成万年历的设计仿真。

(2)利用keil完成万年历程序的设计。

(3)万年历具有显示年、月、日以及时间的功能。

1.2 proteus及keil软件的相关说明

1.2.1 proteus软件的介绍

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。

Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真

革命性的特点

1.互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI 器件,部分IIC器件。

2.仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

1.2.2 keil软件的介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

第二章方案设计

2.1跑马灯方案设计

2.1.1 跑马灯方案一

单片机:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V 的超低压工作,而且与MCS-51系列单片机完全兼容。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。

2.1.2 跑马灯方案二

单片机:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间。

2.1.3 跑马灯方案选择

由于本实验功能要求简单,单片机功能要求不高,在价格上89C51更低,且也能很好的完成本实验所需的要求,故选择89C51单片机。LED灯能很好的完成灯的闪烁功能。且寿命长,在高频工作中不易损坏。

2.2 万年历方案设计

2.2.1 万年历方案一

单片机:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

显示模块:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,但在万年历的设计中需要用到大量的LED数码管,造成电路复杂,链接困难。

时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。

2.2.2 万年历方案二

单片机:采用PIC16F877A,具有Flash Program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速的进行程序除错与开发。

显示模块:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见。

时钟芯片:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM 做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。

2.2.3 万年历方案选择

综上述方案所述,对于万年历的电路设计方案选定:采用PIC16F877A为主控系统;DS1302提供时钟; 采用LCD液晶显示屏作为显示模块。

第三章基于proteus的仿真实验

3.1 基础性实验——跑马灯设计

设计8个led在AT89C51单片机的P1口按照一定的规律点亮,并且具体介绍proteus 和keil软件的操作步骤。

3.1.1 跑马灯的硬件设计

Proteus ISIS 的工作界面是一种标准的windows界面,如图3—1所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

图3—1 proteus ISIS 的工作界面

首先点击启动界面区域中的对象选择按钮“P”来打开对话框,从元件库中拾取所

图3—2 器件选择窗口

在对话框的搜索栏中键入所需的元器件型号,比如本实验所需的单片机型号为AT89C51,可以直接键入。在中间的搜寻结果中找到该器件,双击该器件或是单击右下角的OK按钮可以添加该器件。通过多次的添加把实验所需的元器件全部集齐。则可以开始连线操作。

元器件的摆放与连线操作,用鼠标左键选择元器件,可以摆放在图中框内的任意位置,并且可以很方便的进行拖拽,同时也可以改变元器件的方向。元器件的连线也十分方便,事实上proteus具有自动布线的功能,只需要选择连线的起点与终点就可以完成元器件间引脚的链接,同时也具有总线设置的功能。可以更好的完成布线操作。本实验的布线结果如图3—3所示,该工程由一块AT89C51单片机,8个led灯及简单的时钟电路构成,外部晶振为12MHz,其中电源与接地操作只需点击按钮,选择电源(POWER)和接地(GROUND)。

元器件中的参数可以进行修改。如电容大小,晶振的频率。只要双击该器件,在弹出的窗口中修改相应的参数即可。如晶振参数的修改,双击晶振,在弹出的窗口中找到frequency 项,在其中填入12MHz。Component Reference 项是晶振在图中的代号,默认

为X1,该项可以任意命名。依次对各元器件进行参数的设置。

图3—3 跑马灯布线图

修改好各个元器件的参数后,就可以将程序(hex文件)载入单片机了。首先双击单片机,会弹出一个窗口,如图3—4所示:

图3—4 添加文件程序

添加完程序后,单击OK按钮,返回到布线界面,可以开始仿真测试了。

仿真测试需要通过进程控制按钮进行。其从左到右依次是运行、步进、暂停、停止。单击按钮来进行仿真运行,效果如图3—5所示,可以从图中直接观察到各元器件引脚高低电平的转换元器件引脚边的各色方块分别代表高低或未知电平,红色代表高电平、蓝色代表低电平、灰色代表未知电平。观察完结果可以点击来停止运行。

图3—5 运行成功效果图

3.1.2 跑马灯的软件设计

KEIL 可以编辑、编译汇编语言、C语言,生成可以与Proteus联调的hex文件。本次试验,主要使用KEIL来开发用于Proteus中的单片机运行程序。

KEIL软件的操作界面包括标题栏、下拉菜单、快捷工具条按钮、项目窗口、文件编辑窗口、输出窗口及状态栏等如图3—6所示:

图3—6 KEIL操作界面

用KEIL软件开发项目流程,单击按钮,选择下拉选项中的选项。会弹出一个窗口,如图3—7所示:

图3—7新建项目窗口

输入文件名后,点击保存,会弹出选择单片机类型的窗口如图2—8所示;本实验,选择的是AT89C51,选定后单击OK按钮。

图3—8 单片机选择界面

自此,整个工程已经初步建立,下面开始创建源文件并将其加入到工程中。

首先点击按钮,在其下拉选项中选择选项,得到文件窗口,并重新命名,若程序为C语言则重命名文件后缀为.C,若程序为汇编语言则重命名文件后缀为.asm。编辑好的源文件如图3—9所示;

图3—9 源文件编辑窗口

右键点击右图的project栏下的target 1按钮,在其下拉选项中选择options for target 选项,弹出如图3—10所示的窗口;在其栏中的打上钩。这样在调试时,就可以生成hex的文件了。

图3—10 工程设置窗口。

设置好后,就可以进行编译、链接、调试了。即按钮。编译通过后如

图3—11所示:

图3—11 编译通过窗口

自此,生成名为“跑马灯.hex”的文件。可以载入pruteus中进行仿真,跑马灯软件设计全部完成。

3.2 设计性实验——万年历设计

电子万年历具有显示年、月、日、周日、时、分、秒的功能,由时钟芯片提供时钟功能。3.2.1 万年历的硬件设计

本电路是以PIC16F877A为主控系统,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,时钟芯片采用DS1302,其内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示模块采用LGM12641BS1R液晶显示器。其硬件如电路图3—12所示:

图3—12 万年历硬件电路

3.2.2 万年历软件设计

电子万年历的系统软件设计程序由主程序和子程序组成,子程序包括键盘操作初始化、LCD操作初始化、显示空白表格、显示固定字符等。主程序起结合调用的功能。如图3—13所示,是源程序编译通过的窗口。

图3—13 万年历的程序编译通过

程序流程图如图3—14所示:

图3—14 程序流程图

3.2.3 调试与仿真

将keil软件生成的“万年历.HEX”文件载入到PIC16F877A单片机中,按下键,过几秒,可以看到LCD液晶显示器上显示出年、月、日及时间。效果如图3—14所示,可以看见系统按照编写的程序运行,而且还可以通过proteus的图形显示功能形象直观的看到高低电平的实时变化。可以单击来停止程序。

图3—14 仿真效果图

参考文献

[1]PROTEUS VSM help[Z].Lbcenter Elcetronicsltd,2002.

[2]Keil.Embedded Development tools[EB/OL].https://www.wendangku.net/doc/da5059308.html,.

[3]谭浩强. C程序设计(第二版). 北京:清华大学出版社,1999.

[4]沙春芳. PROTEUS VSM 在单片机仿真中的应用[J]. 现代电子技术,2004,(24).

[5]马正强. 单片机虚拟实验室的建立. 单片机的嵌入式系统应用,2005,(3).

[6]陈景初. 单片机应用系统设计与实践[M],北京:北京航空航天大学出版

社.

[7]何立民. MCS-51系列单片机应用系列设计[M].北京:航空航天大学出版

社.

[8]刘守义.单片机应用技术[M].成都:西安电子科技大学出版社.2002.

[9] 马家辰. MCS-51单片机原理与接口技术[M],哈尔滨:哈尔滨工业大学出

版社.

[10]周润景,张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真[M].北京:

北京航空航天大学出版社,2006.

[11]路勇 . 电子电路实验及仿真[M].北京:清华大学出版社,北方交通大学

出版社,2004.

[12]李东生. EDA仿真与虚拟仪器技术[M].北京:高等教育出版社,2004.

[13]周润景,张丽娜、刘印群. PROTEUS入门实用教程[M].北京:机械共同出

版社,2007.

附录跑马灯程序清单

#include

#include

void delay1s(void)

{

unsigned char a,b,c;

for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_();

}

//main

void main(void)

{

unsigned char n;

//循环

while(1)

{

//闪烁5次

for(n = 0; n < 5; n ++)

{

P1 = 0X00;

delay1s();

P1 = 0XFF;

delay1s();

}

//左流水

for(n = 0; n < 9; n ++)

{

P1 = ~(0X00|(1 << n));

delay1s();

}

//右流水

for(n = 0; n < 9; n ++)

{

delay1s();

}

}

}

数字电子课设:万年历的设计

编号 北京工商大学 数字电子技术基础 《万年历的设计》 姓名 学院 班级 学号 设计时间

一、设计目的 1、熟悉集成电路的引脚安排 2、掌握芯片的逻辑功能及使用方法 3、了解数字电子钟及万年历的组成及工作原理 4、熟悉数字电子钟及万年历的设计与制作 5、熟悉multisim电子电路设计及仿真软件的应用 二、设计思路 1、设计60进制秒计数器芯片 2、设计24进制时计数器芯片 3、设计31进制天计数器芯片 4、设计12机制月计数器芯片 5、设计7进制周计数器芯片 6、设计闰年平年不同月份不同进制逻辑 三、设计过程 1、Tr_min and s 60进制计数器芯片: “秒”、“分”电路都六十进制,它由一级十进制计数器和一级六进制计数器组成,六十进制计数器的设计图如下,采用四个片74ls161N串联而成,低位芯片的抚慰信号作为下级输入信号,串接起来构成“秒”、“分”计数器芯片。

2、Tr_hour24进制计数器芯片: 24进制计数器芯片的设计图如下,时计数电路由两片74ls161串联组成。当时个位计数为4,十位计数为2时,两片74ls160N复零,从而构成24进制计数。 3、Tr_day天计数器芯片: 采用两片74ls160N和一片74ls151N串联而成,天计数器的进制受到月计数器反馈M、N影响和年计数器反馈R4的影响,在M、N不收到反馈信息的时候,天计数器为28进制,电路设计图如下:

4、Tr_week周计数器芯片: 周计数器由一块74ls161N构成一个七进制计数器,原理与秒、分、时计数器相似,电路设计图如下 5、Tr_month月计数器芯片: 采用两片74160N和两片74HC151D_2V串联而成,月计数器的反馈信息M、N影响

组成原理课程设计跑马灯

信息与电气工程学院 《计算机组成原理》课程设计报告

一、课程设计的目的 《计算机组成原理》课程设计是与课程配套开设的实践环节。通过本课程设计,使学生进一步的理解计算机组成原理课程讲授的相关内容,包括计算机的各大部件及工作原理,计算机对机器语言的支持和理解方法,计算机整机工作原理和控制方法,以及CU设计的基本方法等等,进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风、良好的工程素质及团队协作精神,为今后的工作打下基础。 二、课程设计的内容 基于DAIS-CMH+实验台,设计并实现一个能够支持5至10条机器指令的微程序结构CU,并利用该指令系统的指令编写机器指令程序,通过调试观察模型机执行机器指令程序的过程和结构,验证CU设计的正确性。 三、课程设计的要求 (1)认真阅读模型机设计说明,了解设计内容,做好设计准备。 (2)完成模型机的硬件电路连接,绘制硬件结构框图。 (3)完成指令的微操作序列分析,画出微程序流程图,根据微指令格式,填写码点,编写微程序,完成微程序结构的CU设计。 (4)设计并编写机器指令测试程序。 (5)能够熟练的运用调试方法,修正微程序设计中存在的问题,验证机器指令执行的正确性。 (6)根据设计的实施过程,认真完成课程设计报告。 四、模型机设计总结 4.1 硬件结构框图与主要硬件模块说明

图1 实验台硬件布局图 ①缓冲输入模块: 控制信号 SW-B,控制输入信号从开关部件输入到总线。 注意:总线没有锁存能力,如果该信号关闭,则数据立刻丢失,总线上数据变为FFH。 ②地址总线模块:控制信号LDAR,控制数据(地址信号)从总线打入地址寄存器(AR)。 ③内存模块:控制信号 WR,内存的读/写控制信号,配合控制信号CE,内存的片选信号,对内存进行读/写操作。CE = 1,WR = 1,进行内存写操作;CE = 1, WR = 0, 进行内存读操作。 ④锁存输出模块:控制信号 LDED,控制数据从总线打入输出模块的锁存器,通过LED灯进行显示。 ⑤寄存器组:两组控制信号,控制数据从总线输入Ri的控制信号- LDR0,LDR1和LDR2;控制数据从寄存器Ri送到总线上的控制信号R0-B,R1-B,R2-B。 ⑥数据总线模块,这个模块没有控制信号,就是个显示模块,显示当前总线上的数据情况。

跑马灯课程设计报告

课程设计报告 课题名称基于AT89S51的跑马灯设计 系别机电系 专业 班级 学号 学生姓名 指导教师 完成日期2010年月 教务处制 基于AT89S51的跑马灯设计 一、设计任务与要求 1.设计任务 选择采用AT89S51、74LS245、ULN2803、LED等器件,使用汇编语言实现各种跑马灯动态显示效果设计。 2.设计要求 实现16个LED的全亮、全灭、交错显示、流水灯显示等。可结合灯的排布以及程序设计实现各种跑马灯动态显示效果。三个输入按键,按键S2时,LED 灯亮点依次流动;按键S3时,依次点亮LED灯;按键S4时,LED灯交错点亮。 3.设计目的 通过本课程设计掌握单片机系统设计思路和基本步骤;掌握LED驱动电路、延时程序和按键处理程序设计。能熟练使用Wave6000软件、编程器或下载线。熟悉Keil、PROTEUS、Protel99se等相关软件的使用。 二、方案设计与论证 在日常生活中,我们总是花样百出的流水灯光,随着电子技术的飞速发展,人们对灯的花样要求也就更多,如全亮、全灭、交错显示、流水灯显示等。因此,跑马灯得到了广泛的应用。 一个由单片机控制的较简单的数字钟由电源电路、控制电路、驱动电路、显示电路4部分组成。

1. 控制电路 控制电路时整个电路的核心,主要由单片机 来完成。AT89S51单片机的管脚图如图(1)所示。 单片机执行指令是在时钟脉冲控制下进行的,因 此,单片机必须外接振荡器构成时钟电路才能正 常工作。另外,还应该在单片机的RES端外接电 阻电容构成复位电路,当单片机运行错误时可以 给一个复位信号使其复位。 单片机的对接口电路的控制是由软件向单片 机的I/O口(即P0~P3口)来实现的。AT89S51 单片机内部由两个定时/计数器,可以用其中一个 定时/计数器来对时间进行计数,而另一个可以对 显示器的显示延时进行定时并通过中断把相应的 数据通过I/O 口送给显示器显示。同时,通过对图1 A T89S51管脚图 外部按键的状态判断来进行时间的调整。 2. 显示电路 作为显示电路,采用16个LED灯来进行显示,实现全亮、全灭、交错显示、流水灯显示等。 3. 驱动电路 由于单片机的I/O口输出电流比较弱,不够驱动一位LED数码管,因此,必须在I/O 口和LED数码管之间接一驱动器和限流电阻来驱动LED数码管。 4. 电源电路 由于外部的干扰如电压、电流的波动可能造成直流电源的不稳定,因此,可在电源两端接上滤波器来降低外部干扰对电源造成的影响。 三、单元电路设计 1.时钟电路 单片机执行指令是在时钟脉冲控制下进行的,因此时钟信号时单片机的基本工作条件。可以通过测量第30脚ALE是否有输出时钟脉冲的六分频信号来判断时钟信号是否正常。 时钟可以由内部和外部两种方式产生,本设计采用内部方式。如图(2)所示,在XTAL1和XTAL2引脚上外接定时元件。定时元件通常采用振荡器和电容组成的并联谐振电路。X1为振荡器,C1、C2为电容。振荡器的振荡频率主要取决于晶体,电容对振荡频率由微调作用。外接晶体振荡器时,电容值可选在30pF左右。 图2 内部时钟电路图3 电源滤波电路2.电源电路 如图(3)所示,为了提高电源的稳定,由两个电容并联连接电源两极构成电源滤波电路。C4电容值比较大,用于滤低频;C5容值比较小,用于滤高频。 3.复位电路 一个时钟周期为振荡周期的2倍,6个时钟周期构成一个机器周期,即12个时钟周期构成一个机器周期。在RES引脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。如时钟频率为12MHz,则有效的复位信号至少应保持2μs以上。 复位电路可以有两种方式:上电复位电路和外部按键复位电路。图(4)所示为单片机的上电复位电路。在上电瞬间,因为电容两端的电压不能突变,RST引脚上电位与Vcc相同。随着电容器充电过程的进行,RST引脚上的电位逐渐下降。只要适当选择C和R的数值,即可顺利实现复位操作。

电子万年历课程设计报告

课程:创新与综合课程设计 电子与电气工程系 实践教学环节说明书 题目名称电子万年历 院(系)电子与电气工程学院 专业电子信息工程 班级119411 学号1109635010 学生姓名11 指导教师q1 起止日期13周周一~14周周五

电子万年历 一.设计目的 设计一个具有报时功能、停电正常运行(来电无需校时)、带有年月日、时分秒及星期显示的电子日历。 二.方案设计 硬件控制电路主要用了AT89S52芯片处理器、LCD1602显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式s=v-1 +〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+ d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。 三.系统的设计框图 本系统以AT89S52单片机为核心,结合时钟芯片DS1302,LCD1602,键盘等外围器件,实现电子万年历的一系列功能,并通过液晶屏和按键控制完成人机交互的功能。系统总体设计框图如图(1)所示

微机原理课程设计跑马灯

微机原理课程设计走马灯 运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。 设计电路图如图所示:

源代码 DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA START :MOV AX,DATA MOV DS,AX MOV AL,10010000B OUT 96H,AL A0: IN AL,90H NOT AL MOV BL,AL OUT 92H,AL CMP AL,1 JNZ A3

A2: MOV DL,AL ;第一个开关实现从上至下的流水 OUT 92H,AL IN AL,90H NOT AL CMP AL,BL JNZ A0 MOV CX,50000 A1: LOOP A1 MOV AL,DL ROL AL,1 JMP A2 A3: CMP AL,2 ; 实现第二个开关从下至上的流水 JNZ A6 MOV AL,80H A5: MOV DL,AL OUT 92H,AL MOV CX,50000 A4: LOOP A4 IN AL,90H NOT AL CMP AL,BL JNZ A0

ROR AL,1 JMP A5 A6: CMP AL,4 ;第三个开关实现相隔的两个灯自上而下流水 JNZ A9 MOV AL, 05H A8: MOV DL,AL OUT 92H,AL MOV CX,20000 A7: LOOP A7 IN AL,90H NOT AL CMP AL,BL JNZ A0 MOV AL,DL ROL AL,1 JMP A8 A9: CMP AL,8 ;第四个开关实现相隔的两个灯从下而上流水 JNZ A12 MOV AL,0A0H

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

虚拟仪器课程设计跑马灯

河北北方学院 虚拟仪器原理与应用 课程设计 课程设计名称:基于labview的计算器设计 专业班级:电子信息工程技术3班 学号: 3 学生姓名:马洪印 成绩: 签名: 2016年12月22日 一、引言: 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。

彩灯由于其丰富的灯光色彩,低廉的造价以及控制简単等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。 本次课程设计是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计的跑马灯。虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。美国国家仪器公司(National Instrunents Corpotion ,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。 过去40年的时间里,美国国家仪器公司(NI)通过虚拟仪器技术为测试测量和自动化领域带来了一场革新:虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。 本次设计的跑马灯是利用虚拟仪器技术而完成的,跑马灯是一种生活中比较常见的装饰,本文主要通过labv i ew来设计了一个相对简单的对跑马灯的控制,实現了其有规律的亮灭,带来一定的观赏效果。 本文主要是实现了跑马灯的单个流水闪烁、双路同步流水闪烁、四路同步流水闪烁、全体同步闪烁,以此循环。本程序并控制闪烁的间隔时间,使其运行更具可观性。 二、前面板设计: 前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中控件主要是滑动杆,显示器主要是文本显示。 在前面板设计过程中主要设计了12个显示灯, 并让其方形围成一圈,显示程序通行结果。前面板还包括一个文本显示控件和水平指针滑动杆,文本显示控件用于显示滑动杆的刻度值即跑马灯的延时,通过改变滑动杆刻度调节跑马灯每

单片机课程设计—万年历[1]

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结报告 设计题目:电子万年历 学生姓名: 系别: 专业: 班级: 学号: 指导教师: 2011年12月16日

设计题目: 电子万年历 设计任务与要求: 1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能 方案比较: 方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用 AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现 功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通 过按键盘开关实现对时间、日期的调整。 方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源 电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对 时间、日期的操作。 两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功 能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说 要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的 应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具 有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时 器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。 对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

单片机课程设计报告-跑马灯

单片机课程设计报告-跑马灯

武汉纺织大学 单 片 机 课 程 设 计 报 告 设计课题:跑马灯 指导教师:刘丰

姓名:颜珊曹坤 班级:应电092 一、设计任务 利用单片机制作让LED灯依次闪烁时间间隔为0.5S二次后时间加快为 0.2S并循环闪烁的跑马灯. 二、设计要求 (1)采用单片机STC89C52来控制,下载器由芯片MAX232来对程序的下载。 (2)LED灯的闪烁间隔时间为0.5S-0.25S-1S,每循环两圈更改闪烁速度。 (3)供电采用USB方口的方式。 三、方案设计与论证 跑马灯电路的组成方框图为: 四,主要元件介绍 (1)单片机STC89C52引脚介绍 stc89c52的内核和AT51系列单片机一样,故引脚也相同: 1~8:I/OP1口(P1.0~P1.7); 9:复位脚(RST/Vpd);

10~17:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD)主要是此引脚; 18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss); 21~28:I/OP2口(P2.0~P2.7); 29:-PSEN; 30:ALE/-PROG; 31:-EA/Vpp 32~39:I/OP0口(P0.7~P0.0); 40:+5V电源。 注:引脚功能前加“-”,说明其是低电平有效。如P3.2=-INT0。 (2)MAX232介绍 MAX232芯片是美信公司专门为电脑的RS-2 32标准串口设计的接口电路,使用+5v单电源供电。

电子万年历课程设计

烟台南山学院单片机课程设计题目电子万年历 姓名: 所在学院:烟台南山学院 所学专业:自动化 班级: 学号: 指导教师: 完成时间:

摘要 单片机作为当今领域应用广泛的电子器件,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,日期,调整时间,日期,从而到达学习、设计、开发软、硬件的能力。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本设计由单片机AT89C51芯片和LED数码管为核心,运用DS1302时钟芯片,辅以必要的电路,构成了一个单片机电子时钟。

1 绪论 (1) 2 总体方案设计与论证 (2) 2.1数字时钟方案 (2) 2.2显示方案 (3) 3 硬件系统的方案设计 (4) 3.1 系统框图 (4) 3.2 单片机的选择 (4) 3.3 时钟电路DS1302 (7) 3.4 时钟电路及复位电路 (9) 3.5 驱动电路 (9) 3.6 显示电路 (10) 3.7 按键接口 (11) 4 软件系统设计 (12) 4.1 时间信息获取程序 (12) 4.2 显示程序 (12) 5 系统调试 (13) 5.1 系统调试 (13) 5.2 时钟显示 (13) 5.3 DS1302的调试 (13) 5.4 按键电路调试 (13) 6 总结 (14) 参考文献 (15) 附录:系统程序 (16)

单片机闪烁灯跑马灯控制课程设计

闪烁灯跑马灯控制系统 河南工院

第1 章概述 1.1设计的目的及意义?????????????????????..3 1.2单片机的概述与应用????????????????????..3 第2 章设计原理??????????.. ??????????????4 2.1设计要求与基本思路??????.??????????????4 2.2设计方案选择?????.??????????????????5 2.3设计框图??????????. ?????????????5 第3 章硬件电路设计???????.. ??????????????7 3.1时钟电路???????????????????????.?.7 3.2扩展电路????????????????????????..8 第4 章程序设计???????????????????????9 4.1程序设计思路与流程图??..???????????????? (9) 4.2程序清单与代码???????????????????.?..?11 4.3程序调试??????????????????????.?.?12 第 5 章原件明细表????????????????????13 总结???????????????????????????????14 参考文献15

第1 章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8 个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1 秒,如此循环,紧急情况下,控制P3.1 进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O 接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70 年代推出单片机以来,作为微型计算机的一个分支,单片机经过30 多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等 (1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

多功能电子万年历课程设计

课程设计(论文) 题目名称多功能电子万年历课程设计 课程名称单片机原理及应用 2012年6月18 日

摘要 本设计基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 关键词:AT89C51;电子万年历; DS1302

目录 1 绪论 (1) 1.1课题研究的背景 (1) 1.2课题的研究目的与意义 (1) 1.3课题解决的主要内容 (1) 2 系统的总体设计 (1) 2.1系统方案构思 (2) 2.2系统硬件框图 (2) 3 系统硬件的设计 (3) 3.1.1 器件的选用 (3) 3.1.2 AT89C51单片机 (3) 3.1.3单片机的选择 (6) 3.1.4 显示电路 (7) 3.1.5 ds1302时钟电路 (11) 4 系统软件的设计 (14) 4.1 算法设计、流程图、主程序 (14) 4.2 从1302读取日期和时间程序 (15) 5 系统仿真 (16) 5.1仿真环境PROTEUS (16) 5.2用PROTEUS ISIS对电子万年历的硬件电路设计 (16) 5.3用PROTEUS ISIS进行电子万年历的仿真测试 (20) 结论 (23) 致谢 (24) 参考文献 (25) 附录 (26) 附录1 (26)

PROTEUS 跑马灯 单片机课程设计

微型计算机技术课程设计报告 专业:通信工程 班级:xxxxxxxxx 姓名:XXX 学号:xxxxxxx 指导教师:XX 时间:xxx 通信与电子信息工程学院

8255扩展 一、课设目的、内容; 1.目的:为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。 (1).通过本设计,使学生综合运用《微型计算机技术》、《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。 (2).学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。 (3).了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。 2.内容:8155或8255扩展用8155或8255扩展IO实现16个LED的跑马灯,提供多种跑马灯运行模式 二、问题分析、方案的提出、设计思路及原因; 本次课程设计的题目是8255的扩展,利用AT89C52驱动扩展8255数据输出口来实现16个LED跑马灯的显示。但是在80C52系列单片机中,有四个8位I/O 端口,但真正能够提供给用户使用的只有P1口,因为P0口和P2口通常需要用来传送外部存储器的地址和数据,P3口也需要使用它的第二功能。因此,单片机提供给用户的I/O接口线并不多,对于复杂的一些的应用系统都应该进行I/O 口的扩展。8255具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB 口和PC口.而8255又有多种运行模式,而这些操作模式完全由控制寄存器的控制字决定。利用8255的控制字模式来定义8255输出口的个数,驱动所需的LED 灯的个数,实现课题目的。 在仿真实验中,两个按键分别控制跑马灯的顺序显示、跳跃显示两种运行方式,顺序显示分别是一个、两个、四个、八个LED灯依次亮。跳跃显示分别是一个、两个、四个LED灯跳跃显示

课程设计万年历的设计52503328

课程设计万年历的设计52503328

兰州理工大学 计算机与通信学院 2014年秋季学期 面向对象课程设计 题目:万年历的设计

序言 《面向对象的程序设计》是计算机专业一门重要的专业基础课。此次课程设计的目的是以面向对象程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++语言程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题、解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握面向对象的程序设计方法。 (6)进一步掌握在集成环境下如何调试程序、修改程序和程序的测试。

目录 摘要 (2) 第一章系统总体设计 (3) 一.理论说明 (3) 二.流程图说明 (4) 1.总体流程说明图 (4) 2.部分流程说明图 (4) 第二章系统详细设计 (7) 一.主要组成部分 (7) 二.源程序 (9) 第三章系统测试 (34) 四软件使用说明书 (40) 一.系统运行环境 (40) 二.系统操作提示 (40) 总结 (41) 参考文献 (42) 致谢 (42)

嵌入式系统课程设计 跑马灯报告

嵌入式系统 课程设计报告 学部 专业 学号 姓名 指导教师 日期 一、实验内容

设计msp430单片机程序并焊接电路板,利用msp430单片机芯片实现对跑马灯、按键识别及数码显示这三大模块的控制 二、实验目的 1.熟悉电路原理图,了解单片机芯片与各大模块间的控制关系 2.增强看图和动手设计能力,为将来从事这个专业及相关知识奠定基础 3.在焊接的同时,理解源程序是如何实现相应功能的 三、实验设备及器材清单 实验设备:电烙铁、烙铁架、尖嘴钳、斜口钳、镊子、万用表等 器材清单: 模块元器件名称单位(个/块) 电源 78051 AMS11171 电容10V100u3 二极管IN40071 104电容2 晶振32768Hz1 33电容2 8MHz2跑马灯发光二极管8 100欧电阻8 74LS5731 104电容2 键盘按键8 10K电阻9 104电容3 103电容1 HD74HC212数码显示7段数码显示(共阴极)1 24脚插座1 74HC1641 14脚插座1复位电路二极管IN40071 电容10V100u1 按键1 10K电阻1 14脚下载口1电路板1 MSP430F149芯片及插座1 四、硬件电路框图

五、程序清单 跑马灯程序#include #define uchar unsigned char #define uint unsigned int int main( void ) { void delay( ); WDTCTL = WDTPW + WDTHOLD; unsigned char i=0,j=0; P2DIR=0XFF; P2SEL=0X00; while(1) { for(i=0;i<10;i++) { P2OUT=0XFF; delay(50); P2OUT=0X00; delay(50); } for(j=0;j<10;j++) { P2OUT=0X55;

Java万年历课程设计报告

Java课程设计 设计题目:万年历 系别:计算机科学与工程学院 专业:信息管理与信息系统 学号: 1100340116 姓名:岑少兵 指导教师:汪华澄 时间: 2013-6-29

目录 摘要 (3) 系统功能结构图 (3) 1 系统模块设计 (4) 1.1 需求设计 (4) 1.2 开发和运行环境 (4) 1.3 功能设计 (4) 2 万年历详细设计思路 (4) 2.1 程序设计思路 (5) 2.2 程序运行主界面 (5) 2.3 流程图 (6) 3 各模块功能实现及代码说明 (6) 3.1 MainFramel类 (6) 3.2 Lunar类 (14) 3.3 national类 (22) 3.4 SetClock类 (26) 4 小结 (34) 5 参考文献 (34)

基于Myeclipse的万年历 摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。 系统功能结构图:主要描述系统要实现的各个模块的功能。

1系统模块设计 1.1需求分析 本程序的要求为:1.使用图形用户界面 2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间 5.能够添加闹钟 1.2 开发和运行环境 开发工具:Myeclipse 运行环境: windows 7 1.3功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过 (2)提供年份、月份的下拉形式菜单来选择年份和月份。 (3)通过Lunar类实现农历日期。 (4)通过national类实现世界时间。 (5)能以月历形式显示日期与星期。 (6)通过SetClock类来实现闹钟功能。 (7)通过点击世界时间按钮查询世界时间 (8)通过点击闹钟按钮设置闹钟 (9)显示系统当前时间和日期。 (10)显示作者信息。 2万年历详细设计思路 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,

跑马灯设计方案EDA课程设计方案

第一章设计内容与设计方案 1.1课程设计内容 控制8个LED进行花样性显示。 设计4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮LED;s3,从中见到两边逐个点亮LED。 4种模式循环切换,复位键(rst)控制系统的运行停止。数码管显示模式编号。 可预置彩灯变换速度,4档快、稍快、中速、慢速,默认工作为中速。 1.2设计方案 在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,以及平时实验的具体操作内容,利用硬件描述语言HDL,EDA软件QuartusⅡ和硬件平台cycloneⅡFPGA进行一个简单的电子系统设计,本次课程设计采用Verilog HDL硬件描述语言编写控制程序,应用Quartus Ⅱ软件实现仿真测试。采用FPGA芯片对LED灯进行控制,使其达到流水跑马灯显示的效果,LED灯采用共阳极接法,当给它一个低电平时,LED点亮,我们利用移位寄存器使各输出口循环输出高低电平,达到控制的目的。

2.1设计原理及设计流程 本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。 跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:第一种显示是从左向右逐个点亮LED。第二种显示:从右向左逐个点亮LED。第三种显示:从两边向中间逐个点亮LED。第四种显示:从中间到两边逐个点亮LED。四种显示模式循环切换,并带有一位复位键控制系统的运行停止。为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯的点亮,我们将LED灯采用共阳极接法,当给于低电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可,比如:如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。为了达到四种显示模式循环切换的目的,可以将以上的所有赋值语句以顺序语句的形式置于进程中,这样在完成了一种显示方式后就会自动进入下一种设定好的显示模式,如此反复循环。当需要程序复位时,只需按下rst键即可,程序不管走都那里,执行那条语句,只要确定复位键按下时,程序立刻返回到程序执行语句的第一步,程序接着进行新的循环点亮。

单片机电子万年历课程设计

单片机课程设计 姓名:吕长明 学号:021 专业班级:机电四班

一、单片机原理及应用简介 随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A 转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统、万年历电子表等。 二、系统硬件设计 8052 是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图图1: 图1 8052引脚 ~ P0口8位双向口线(在引脚的39~32号端子)。 ~ P1口8位双向口线(在引脚的1~8号端子)。 ~ P2口8位双向口线(在引脚的21~28号端子)。 ~ P2口8位双向口线(在引脚的10~17号端子)。 8052芯片管脚说明: VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表1所示: 表1 特殊功能口 P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。一般情况下,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用

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