MFC时钟日历设计

MFC时钟日历设计
MFC时钟日历设计

mfc课程设计报告

课程名称:计算机程序设计实训

题目:MFC时钟日历设计

说明:

1、报告中的第一、二、三项由学生在课程设计开始前填写,由指导教师指

导并确认签字。

2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩,并

填写成绩评定表。

3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律

按不及格处理。答辩小组成员应由2人及以上教师组成。答辩后学生根据答辩情况填写答辩记录表。

4、报告正文字数一般应不少于3000字,也可由指导教师根据本门课程设

计的情况另行规定。

5、平时表现成绩低于6分的学生,取消答辩资格,其该课程设计成绩按不

及格处理。

6、课程设计完成后,由指导教师根据完成情况写出总结。

7、此表格式为徐州师范大学物理与电子工程学院提供的基本格式,指导教

师可根据本门课程设计的特点及内容做适当的调整。

指导教师签字:

目录

摘要………………………………………………………………………………………II Abstract…………………………………………………………………………………... II 目录I

1 课题背景 (1)

1.1 背景、目的、意义、解决的主要问题及应达到的技术要求 (1)

2 设计方案简述 (2)

2.1 设计方案论证 (2)

2.1.1设计流程图 (2)

2.1.2 主要模块 (2)

3 详细设计 (3)

3.1 时钟的设计 (3)

3.1.1 时钟组件的绘制 (3)

3.2 日历的设计 (3)

3.2.1 添加日历对话框 (3)

3.2.2 日期的显示 (5)

4 设计结果及分析 (8)

4.1 设计结果 (8)

4.1.1 时钟界面的实现结果 (8)

4.1.2 日历的实现结果 (9)

5 总结10

5.1问题与调试 (10)

5.2 实验感想 (10)

参考文献11

附录主要程序代码 (12)

摘要

VisuslC++6.0提供了功能强大的MFC类库(MierosoftFoundationClass),MFC是一个很大的C++类层次结构。其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。时钟日期课程设计就是利用VisuslC++6.0的MFC来实现的,输入相应的代码后,不断地编译、调试、运行,最终出现正确现象。实验结果是一个时钟显示为主界面,日期为子对话框,显示与电脑同步的准确时间。

Abstract

VisuslC++6.0 provides a powerful MFC class library ( MierosoftFoundationClass ), MFC is a great C + + class hierarchy. The package a lot of classes and functions, many Windows program shared standard content can be accessed by the MFC class to offer, MFC category for these elements provide the user interface standard method, the programmer has to do is through a predefined interface to specific applications unique things in the contour, this will simplify programming work, greatly reducing the number of programmers to write code, to make programming easier. Clock date course design is the use of VisuslC++6.0 to achieve the MFC, corresponding to the input code, compile, debug, constantly running, ultimately correct phenomenon. The experimental results is a clock display interface, the date for the son of the dialog box, display and computer time synchronization accuracy.

1 课题背景

1.1 背景、目的、意义、解决的主要问题及应达到的技术要求

背景

学会使用MFC编程,学会VC++6.0的面向对象及相关知识

目的

实现时钟显示时间,日历显示日期功能

意义

学会用已学知识设计程序并实现功能

解决的主要问题

输入相应代码后,编译、调试、运行

技术要求

会使用VC++6.0设计程序

2 设计方案简述

2.1 设计方案论证

闹钟的时、分、秒数据的输入;当前时刻表盘时分秒针运2.1.1设计流程图

主框架窗口时钟

图2-1

2.1.2 主要模块

1、时钟

表盘的绘制、表盘的刻度,当前时刻表盘时分秒针运行的数据

2、添加日历对话框

菜单栏里面添加日历下拉菜单框

2、日期的显示

日历中日期的显示

3 详细设计

3.1 时钟的设计

3.1.1 时钟组件的绘制

1、打开 VC++6.0,新建一个 MFC AppWizard(exe),工程名称为shizhong。选择单

文档窗口,点击完成就可以创建成功。

2、添加WM_TIMER消息响应函数,加入Invalidate();//重绘窗口

该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘。

在 View 类中的 OnDraw( )中对表盘进行绘制,输入绘制代码。

3.2 日历的设计

3.2.1 添加日历对话框

1、选择“插入”-“资源”菜单,选中 Dialog,单击确定按钮,系统就可以自动为当前应用程序添加一个对话框。

2、设置对话框属性。在对话框模板的空白处右击鼠标,从弹出的快捷菜单中选择属性菜单项,然后对相应的参数进行设置。

3、添加和布局控件。一旦对话框资源被打开或者是创建,就会出现对话框编辑器,通过它我们就可以对对话框进行编辑。添加月历控件并调整大小。

图3-1

4、创建对话框类

在对话框资源模板的空白处双击鼠标,弹出创建一个新类的对话框。在 Name 框中输入用户定义的类名。在这里一般以“C”字母开始,单击 OK 按钮,一个基于对话框资源模板的对话框类就创建好了。

5、在程序中使用对话框

1)在项目工作区窗口选择ResourceView页面,双击资源Menu项中的IDR_MAINFRAME,则就会出现菜单编辑器。在菜单的空白处添加一个菜单项。

2)在菜单的空位置处双击鼠标左键,则会出现他的属性对话,在标题框中输入“设置[&G]”

3)用鼠标将新添加的菜单项拖到“文件”和“编辑”之间。。

4)单击“设置”菜单项下方的空位置,在属性对话框中,输入“日期[&M]”在 ID 框中输入该菜单的资源标识:ID_TEST_DLG,然后单击属性对话框右上角的关闭按钮。

图3-2

5)选择“查看”-“建立类向导”菜单命令,则出现 MFC ClassWizard对话框,并自动切换到 Message Map 页面。从 Class name 列表中选择 CMainFrame,在 IDs 列表中选择 ID_TEST_DLG。然后在 Message框中选择 COMMAND 消息。

称。系统的默认名称是 OntestDlg。该函数是对菜单项 ID_TEST_DLG 的映射,也就是说,当在应用程序运行时,用户选择“对话框”,则该函数 OntestDlg 别调用,执行该函数的代码。

7)单击 OK 按钮,在 ClassWizard 的 Member function 列表中将列出新增加的成员函数。选择此函数,单击 Edit Code 按钮,在此成员数中添加下面的代码:

void CMainFrame::OnTestDlg()

{

CFirstDlg dlg;//定义对话框类对象

dlg.DoModal();//显示对话框

}

8)OnTestDlg 函数的实现文件MainFrm.cpp 的前面添加CFirstDlg在类#include "MainFrm.h"包含语句,即#include "FirstDlg.h"

3.2.2 日期的显示

1、在月历对话框下面加入编辑框和静态框,并分别设置ID号

ID号为

2、设置月历控件属性为CMonthCalCtrl 类

图3-3

3、在月历类函数中声明变量CTime tm=CTime::GetCurrentTime();并加入代码m_nDay=tm.GetDay();

m_nMonth=tm.GetMonth();

m_nYear=tm.GetYear();

Csecond::Csecond(CWnd* pParent /*=NULL*/)

: CDialog(Csecond::IDD, pParent)

{ CTime tm=CTime::GetCurrentTime();

//{{AFX_DATA_INIT(Csecond)

m_nDay=tm.GetDay();

m_nMonth=tm.GetMonth();

m_nYear=tm.GetYear();

//}}AFX_DATA_INIT

}

图3-4

4 设计结果及分析

4.1 设计结果

4.1.1 时钟界面的实现结果

时钟实现时、分、秒指针转动,显示正确时刻

图4-1

4.1.2 日历的实现结果

点击下拉菜单的“日期”

图4-2

日历显示正确日期,点击确定按钮则返回时钟主界面;点击其他日期,红框跳到指定日期,蓝框显示当前正确日期

图4-3

5 总结

5.1问题与调试

1)开始设计的时候,绘制的表盘会因为对话框的变化而编写成为椭圆。采用的纠正方法是,首先分别获取窗体的长和宽,然后去两者之间的较小的一个的一半作为表盘的半径这样就避免了这样的问题的发生。

2)在对于画笔和画刷的使用上,也经过了一定的过程。开始的时候,定义使用的画笔只能画出一种颜

5.2 实验感想

由于之前做项目的时候实验的是 VB,对面向对象的程序设计有了一定的了解,并且还学过 C++的课程,对类和对象也有一定的了解。但是经过一段时间的学习,还是发现 VC 和其他变成语言还是有很大的差距的,曾经一段时间自己很迷糊,根本对VC 就无从下手。但是经过看参考书,逐渐对 VC 有了认识,并一步步的深入了解。借此次课程设计的机会,加深了自己对计算机编程的兴趣,当然也趁此机会学习了VC 的编程。

参考文献

【1】 VC++深入详解孙鑫,余安萍电子工业出版社【2】 Visual C++教程郑阿奇,丁有和机械工业出版社【3】 Visual C++程序设计技巧与实例徐福中国铁道出版社

附录

绘制时钟代码如下:

1、添加头文件”math.h”

2、Cpen Pen1(PS_SOLID,2,RGB(255,0,0));

Cpen *pOldPen=(CPen*)pDC->SelectObject(&Pen);

Static const double pi=3.141592635;

//得到客户区的矩形

CRect rect;

GetClientRect(&rect);

//得到表盘中央位置,即圆心

intx0=rec.Width()/2;

int y0 = rect.Height() / 2;

//得到半径

int r = (x0 > y0 ? y0 : x0);

pDC->Ellipse(CRect(x0-r,y0-r,x0+r,y0+r));

//画最外侧的椭圆

Cpen Pen1(PS_DOT,2,RGB(255,0,0));

pDC->SelectObject(Pen1);

pDC->Ellipse(CRect(x0-r+3,y0-r+3,x0+r-3,y0+r-3));

//画最外侧椭圆

CPenPen2(PS_DOT,2,RGB(0,255,0));

pDC -> SelectObject(Pen2);

pDC->Ellipse(CRect(x0-r+6,y0-r+6,x0+r-6,y0+r-6));

//画最外侧的椭圆

pDC->Ellipse(CRect(x0-r+35,y0-r+35,x0+r-35,y0+r-35)); CPen Pen3(PS_SOLID,3,RGB(0,0,255));

pDC -> SelectObject(Pen3);

//将要在循环中重复的计算提取出来,减少时间复杂度double rate = (double)(2.0 * pi / 60.0);

double halfPi=pi/2;

int zoomR=r-20;

//绘制表盘

//zoomR 及对zoomR

进行加或减操作主要是用来控制距离圆心的距离

pDC->SetBkMode(TRANSPARENT);

for(int mark=1;mark<=60;mark++)

{

int positionX = (int)(zoomR * sin(rate * mark)+ x0);

int positionY = (int)(-zoomR * sin(rate * mark +halfPi)+ y0); if(mark % 5 ==0)

{

char number[2];

itoa(mark/5,number,10);//按照十进制转换

pDC -> TextOut(positionX-5,positionY-5,number);

}

else

{

//绘制刻度

pDC ->SetPixel(positionX,positionY,RGB(200,100,0));

pDC ->Ellipse(positionX-2,positionY-2,positionX+2,positionY+2); }

}

CTime time = CTime::GetCurrentTime();

int hour = time.GetHour();

int minute = time.GetMinute();

int second = time.GetSecond();

//绘制秒数指针

CPen secondPen(PS_SOLID,3,RGB(200,0,0));

pDC -> SelectObject(secondPen);

pDC -> MoveTo(CPoint(x0,y0));

int secondX = (int)((zoomR-25) * sin(rate * second)+ x0);

int secondY = (int)(-(zoomR-25) * sin(rate * second +halfPi)+ y0); pDC -> LineTo(CPoint(secondX,secondY));

//绘制分钟数指针

CPen minutePen(PS_SOLID,7,RGB(0,255,0));

pDC -> SelectObject(minutePen);

pDC -> MoveTo(CPoint(x0,y0));

int minuteX = (int)((zoomR-70) * sin(rate * minute)+ x0);

int minuteY = (int)(-(zoomR-70) * sin(rate * minute +halfPi)+ y0); pDC -> LineTo(CPoint(minuteX,minuteY));

//绘制小时数指针*/

double hourRate=(double)(2.0*pi/12.0);

if(hour > 12)

{

hour -= 12;

}

CPen hourPen(PS_SOLID,10,RGB(0,0,255));

pDC -> SelectObject(hourPen);

pDC -> MoveTo(CPoint(x0,y0));

int hourX = (int)((zoomR-140) * sin(hourRate * hour )+ x0);

int hourY = (int)(-(zoomR-140) * sin(hourRate * hour +

halfPi)+ y0);

pDC -> LineTo(CPoint(hourX,hourY));

答辩记录表

MFC课程设计报告一个简单的计算器应用程序样本

设计一个简单的计算器应用程序 一、设计目标与内容 1.了解Windows编程的基础知识, 掌握MFC应用程序的基本知识; 2.基本掌握面向对象程序设计的基本思路和方法; 3.掌握用VC++开发应用程序的的一般步骤和方法; 4.能够利用所学的基本知识,设计一个简单的计算器应用程序, 实现基本的加、减、乘、除、求平方根, 求倒数等基本运算( 必须实现的功能) , 实现求角度的正弦、余弦、正切等基本运算、实现求指数、自然对数、常见对数等基本运算( 这部分功能选做) 。 5.在程序中注意处理数据和运算符的输入, 计算结果的显示。二,设计要求 1.用VC++进行编码, 实现应用程序的功能。注重编码质量, 代码要有适当的注释; 2.提交设计报告一份( 课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献) 。

一个简单的计算器应用程序 总体设计 能够利用所学的基本知识,设计一个简单的计算器应用程序, 实现基本的加、减、乘、除、求平方根, 求倒数等基本运算( 必须实现的功能) , 实现求角度的正弦、余弦、正切等基本运算、实现求指数、自然对数、常见对数等基本运算( 这部分功能选做) 。在程序中注意处理数据和运算符的输入, 计算结果的显示。 详细设计 ◆新建工程Counter 新建工程, 选择对话框应用程序。 ◆程序运行主界面

图2-1 在对话框内添加相应的控件, 分别给编辑框添加三个变量m_N1,m_N2和m_Result。 然后添加一个组合框, 在里面添加十二个单选按钮设置第一个单选按钮为组, 如图 图2-2 然后给对话框类添加一个int变量Operator用来作相应运算时的标记。 给控件添加相应的函数 1、给单选按钮添加相应的函数 void CCounterDlg::OnRadio1() { Operator=1; } void CCounterDlg::OnRadio2()

大三机械课程设计说明书

机械设计课程设计 计算说明书 设计题目:带式输送机的传动装置设计 任务序号 2-3 专业班 学号 设计者 指导教师

目录 一、课程设计任务 ............................................................................... - 3 - 二、传动装置总体设计 ....................................................................... - 4 - 三、传动件设计 ................................................................................... - 8 - 四、装配草图设计 ............................................................................. - 18 - 五、轴的计算与校核 ......................................................................... - 20 - 六、轴承基本额定寿命计算 ............................................................. - 27 - 七、键的挤压强度校核计算 ............................................................. - 29 - 八、箱体结构的设计 ......................................................................... - 30 - 九、设计小结...................................................................................... - 32 - 附件一.................................................................................................. - 33 -

单片机课程设计-万年历、数字时钟

单片机课程设计-万年历、数字时钟 采用MAX7221可以极大的节省I/O口线,同时DS1302时钟芯片可以提供精确的时间信息 汇编语言程序编写 DSRST BIT P1.0 DSCLK BIT P1.1 DSIO BIT P2.2 DIN BIT P2.5 CS BIT P2.6 CLK BIT P2.7 D158 EQU 30H D70 EQU 31H ADDRESS EQU 32h CONTENT EQU 33h COMMAND EQU 34h SECOND equ 35h MINITE equ 36h HOUR equ 37h ORG 0000H LJMP MAIN ORG 0030H MAIN: LCALL INTI7221 LCALL INTI1302

LOOP: LCALL READ1302 LCALL CONVERT LCALL DELAY LCALL DISPLAY LCALL DELAY SJMP LOOP ;DS1302初始化 INTI1302:MOV ADDRESS, #8EH MOV CONTENT, #00H LCALL SENT_BYTE MOV ADDRESS, #90H MOV CONTENT, #0A7H ;慢充电寄存器LCALL SENT_BYTE READ1302: MOV ADDRESS, #81h LCALL REV_BYTE MOV SECOND, A MOV ADDRESS, #83h LCALL REV_BYTE MOV MINITE, A MOV ADDRESS, #85h LCALL REV_BYTE MOV HOUR, A RET SENT_BYTE: CLR DSRST CLR C NOP CLR DSCLK NOP SETB DSRST MOV A, ADDRESS MOV R3, #2 MOV R2, #8 LOOP0: RRC A MOV DSIO, C SETB DSCLK NOP CLR DSCLK DJNZ R2, LOOP0 MOV A, CONTENT MOV R2, #8 DJNZ R3, LOOP0 CLR DSRST RET

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

简单计算器设计报告

简单计算器设计报告 045 一、基本功能描述 通过文本编辑框实现基本整数的加减乘除运算 二、设计思路 如下图是整个程序进行的流程图,基本方法是在ItemText文本编辑框输入字符,程序对字符进行判断,若输入不是数字则提示错误。输入正常时,通过下拉框ComboBox_InsertString 选择相应运算符。点击等号IDC_OK,即可得出运算结果。操作简便,算法简单。 三、软件设计 1、设计步骤 打开Microsoft Visual C++ 6.0,在文件中点击新建,在弹出框内选择MFC AppWizard[exe]工程,输入工程名zhoutong及其所在位置,点击确定 1

将弹出MFC AppWizard-step 1对话框,选择基本对话框,点击完成 MFC AppWizard就建立了一个基于对话窗口的程序框架

四、主要程序分析 1、字符判定函数 BOOL IsInt(TCHAR*str) { int i=atoi(str); TCHAR strtemp[256]; wsprintf(strtemp,"%i",i); if(strcmp(str,strtemp)!=0) { return FALSE; } Else { return TRUE; } } 该函数通过atoi把文本编辑框读取的字符转换为数字,再通过wsprintf把转换数字转换为字符,通过strcmp比较原字符和转换得来的字符。如相同返回true,不通则返回false. 3、运算符选择程序 BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { HWND hwndComboOP=GetDlgItem(hwnd,IDC_COMBOOP); ComboBox_InsertString(hwndComboOP,-1,TEXT("+")); ComboBox_InsertString(hwndComboOP,-1,TEXT("-")); ComboBox_InsertString(hwndComboOP,-1,TEXT("*")); ComboBox_InsertString(hwndComboOP,-1,TEXT("/")); return TRUE; } 3

大三课程设计模板

编号: 审定成绩: 重庆邮电大学 物联网工程课程设计(报告)设计题目:行走过程中的加速度测试节点设计 学院名称:自动化学院 学生姓名:张三 专业:物联网工程 班级:0000 学号:0000 指导教师:李四 填表时间:2015 年11 月 重庆邮电大学教务处制

一、题目:行走过程中的加速度测试节点设计 二、设计任务: 运用所学传感器技术、计算机网络和物联网工程等方面的知识,设计基于三轴加速度传感器的测试节点,获取行走过程中的手臂或小腿加速度,完成数字量输入或模拟量输入的硬件设计和低功耗无线通信协议软件设计等工作。具体任务如下: 三、设计要求: 1.画出加速度测试节点的结构图。 2.选择低功耗无线通信芯片和三轴加速度传感器,设计硬件电路。 3.开发完成zigbee协议,完成与上位机的通信。 4.画出程序流程图并编写调试代码。 四、参考资料: 1. 李朝青.《单片机原理及接口技术》(简明修订版).北京航空航天大学出版社,1998年. 2. 胡向东.《传感技术》.重庆大学出版社,2006年第1版. 3. 谭浩强.《C语言程序设计》.北京:清华大学出版社,2002年. 4. 谢希仁.《计算机网络》.北京:电子工业出版社,2003年.

摘要 一级标题使用三号宋体、二级标题使用四号宋体,正文使用小四宋体。正文用小四字体,中文为宋体,英文为Times New Roman,行距要求统一,推荐1.5倍行距。 关键词:小四字体,宋体,Times New Roman

目录 1 系统方案 (1) 1.1 传感器网络概述 (1) 1.2 系统结构 (1) 参考文献 (2)

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

可视化编程MFC计算器

// cacuDlg.cpp : implementation file // #include "stdafx.h" #include "cacu.h" #include "cacuDlg.h" #include "math.h" #include "cstring" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg)

太原理工大学热动大三锅炉课程设计

太原理工大学 热能 与动力

《锅炉原理》 课程设计示例说明

课程设计示例 1.设计任务书 2. 原始资料 锅炉型式:带有屏式过热器的汽包锅炉 额定蒸发量:D=220t/h 过热器温度:t=540℃ 过热器压力:p gr=100kgf/cm2(表压) 给水温度:t gs=215℃ 热空气温度:t rk=400℃ 排烟温度:θ=130℃ 冷空气温度:t lk=30℃ 设计煤种:某无烟煤,成分如下, C y=63%,H y=1.938%,O y=2.16%,N y=0.555%,S y=0.62%,A y=22.017%,W y=9.71%, Q y d=22558kJ/kg 制粉系统:本锅炉采用钢球磨煤机中间贮仓式热风送粉系统 锅炉给定参数: 给水温度:t gs=215℃,锅炉负荷:D=220t/h,过热蒸汽压力:p gr=100kgf/cm2(表压),过热蒸汽温度:t gr=540℃汽包工作压力:p=112 kgf/cm2(绝对) 3.改烧煤种的元素分析数据校核和煤种判别 3.1 改烧煤种数据 C y=66.70%,H y=3.20%,O y=2.10%,N y=1.25%,S y=2.47%,A y=17.97%,W y=6.31%, V r=9.41%,Q y d=25191kJ/kg t1=1190℃,t2=1340℃,t3=1450℃,K km=1.6 3.2 元素成分校核

C y+H y+O y+N y+S y+A y+W y=66.7+3.2+2.1+1.25+2.47+17.97+6.31=100.00%, 元素分析正确。 3.3 发热量计算 应用基低位发热量 Q y dw′=339C y+1030H y-109(O y-S y-25W y 3.4 煤种判别 V r=?<10%,煤种为无烟煤 S y zs=4187S y/ Q y dw A y zs=4187A y/ Q y dw W y zs=4187W y/ Q y dw 4.锅炉结构特性(见结构计算书) 5.锅炉汽水系统(见任务书)(附) 6.燃烧产物和锅炉热平衡计算 6.1 理论空气量和理论烟气容积 6.2 空气平衡表

dsp时钟日历课程设计

课程设计说明书(本科) 题目: 时钟日历 姓名: 专业: 电子信息工程 班级: 09级一班 2012年 6 月

目录 摘要 (1) 一、硬件设计 (1) 1、硬件方案设计 (1) 2、单元电路设计 (2) 3、电路原理图 (5) 4、硬件调试 (6) 二、软件设计 (6) 1、系统分析 (6) 2、软件系统设计 (7) 3、软件代码实现 (9) 4、软件调试 (24) 四、课程设计体会总结 (24) 五、参考文献 (24)

时钟日历 摘要:课程设计的主要目的是用tms320f2812芯片为核心控制部件,设计一个能用LCD液 晶显示屏显示当前年,月,日,时,分,秒以及星期的具有电子时钟功能的万年历。 ⑴学习并了解ICETEK-F2812-A板及教学实验箱的使用; ⑵学习DSP芯片的I/O端口的控制方法; ⑶熟悉字模的简单构建和使用; ⑷熟悉Emulator方式下的程序调试规程,并最终能够熟练掌握在DSP软硬件环境下 的程序开发流程;能够对现有器件进行简单地编程,实现各种简单地显示控制。 关键词:dsp 时钟日历 一、硬件设计 1、硬件方案设计 本系统以TMS2812为核心控制部件,利用软件编程,通过DS1302进行时钟控制,使用12864 LCD液晶显示器进行时钟显示,能实现题目的基本要求,尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等。总体框图如图1所示。 GND +5V ADD PWM4 PWM3 VSS PWM2 V0 IOPA7 IOPA6 IOPA5 REST IOPA4 IOPA3 OSCBYP TXAL1 TXAL2 IOPB0- IOPB7 E CS1 CS2 R/W RS DB0-DB7 RST I/O SCLK VCC1/VCC2 X1/X2 GND 复位电路 OSCBYP为高电平。采 用内部振荡 双电源 32768hz 10K DS1302

android简单计算器课程设计.

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

MFC计算器编程课程设计实践报告

中南大学本科生课程设计(实践)设计报告(程序设计基础) 题目MFC编程科学计算器学生学号1104120502 学生姓名郭斌繁 指导教师蔡旭晖 学院交通运输工程学院专业班级交通运输类1205班 计算机基础教学实验中心 2013 年 7 月 1 日

程序设计(C++)实践报告 1.引言 C++语言的主要特点表现在两个方面,一是全面兼容C 语言,二是支持面向对象的程序: (1) C++是一个更好的C,它保持了C 语言的优点,大多数的C 程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。 (2) C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。 (3) C++集成环境不仅支持C++程序的编译和调试,而且也支持C 程序的编译和调试。通常,C++程序环境约定:当源程序文件的扩展名为c.时,则为C 程序;而当源程序文件的扩展名为cpp.时,则为C++程序。 (4) C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误。 次课程设计主要在运算过程中,如果通过计算器来完成,就会减少计算量,该程序即可以在简单计算器键面下进行简单运算,也可以在科学计算器键面下进行高级的科学计算。并且可以分别计算弧度、角度的三角函数的计算等较为复杂的运算。 (1).设计目标 利用MFC程序开发工具设计一款可以进行简单计算及部分科学计算的计算器。在设计当中将综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。通过此设计进一步提高自己的动手能力,并能使自己清楚的知道开发一个应用程序的思想、方法和流程。 (2).选题分析 此次实践所选题目中除了简单的加减乘除运算程序之外还包括了余弦函数、双曲余弦函数、度分秒的转换和X的y次方及y次根号下x的运算程序。除去四

课程设计心得体会3篇

课程设计心得体会3篇 课程设计的理论产生于对课程设计实践的考察。下面是为大家带来的课程设计心得体会,希望可以帮助大家。 课程设计心得体会范文1:机械设计课程设计心得体会 经过一个月的努力,我终于将机械设计课程设计做完了。在这次作业过程中,我遇到了许多困难,一遍又一遍的计算,一次又一次的设计方案修改这都暴露出了前期我在这方面的知识欠缺和经验不足。刚开始在机构设计时,由于对Matlab软件的基本操作和编程掌握得还可以,不到半天就将所有需要使用的程序调试好了。可是我从不同的机架位置得出了不同的结果,令我非常苦恼。后来在钱老师的指导下,我找到了问题所在之处,将之解决了。 同时我还对四连杆机构的运动分析有了更进一步的了解。在传动系统的设计时,面对功率大,传动比也大的情况,我一时不知道到底该采用何种减速装置。最初我选用带传动和蜗杆齿轮减速器,经过计算,发现蜗轮尺寸过大,所以只能从头再来。这次我吸取了盲目计算的教训,在动笔之前,先征求了钱老师的意见,然后决定采用带传动和二级圆柱齿轮减速器,也就是我的最终设计方案。至于画装配图和零件图,由于前期计算比较充分,整个过程用时不到一周,在此期间,我还得到了许多同学和老师的帮助。在此我要向他们表示最诚挚的谢意。整个作业过程中,我遇到的最大,最痛苦的事是最后的文档。一来自己没有电脑,用起来很不方便;最可恶的是在此期间,一种电脑病毒"Word杀手"四处泛滥,将我辛辛苦苦打了几天的文档全部毁了。那么多的公式,

那么多文字就这样在片刻消失了,当时我真是痛苦得要命。 尽管这次作业的时间是漫长的,过程是曲折的,但我的收获还是很大的。不仅仅掌握了四连杆执行机构和带传动以及齿轮,蜗杆传动机构的设计步骤与方法;也不仅仅对制图有了更进一步的掌握;Matlab和Auto CAD ,Word这些仅仅是工具软件,熟练掌握也是必需的。对我来说,收获最大的是方法和能力。那些分析和解决问题的方法与能力。在整个过程中,我发现像我们这些学生最最缺少的是经验,没有感性的认识,空有理论知识,有些东西很可能与实际脱节。总体来说,我觉得做这种类型的作业对我们的帮助还是很大的,它需要我们将学过的相关知识都系统地联系起来,从中暴露出自身的不足,以待改进。有时候,一个人的力量是有限的,合众人智慧,我相信我们的作品会更完美! 课程设计心得体会范文2: 三周半的机械课程设计结束了,说是三周半,实则两周半,第一周因连续有三门课程要考试,因而无暇搞设计,两周半的时间紧迫,于是不得不晚上和周末抽时间来继续搞设计,时间抓的紧也很充实。 作为一名机械设计制造及自动化大三的学生,我觉得能做这样的课程设计是十分有意义。在已度过的两年半大学生活里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去面对现实中的各种机械设计?如何把我们所学到的专业基础理论知识用到实践中去呢?我想做类似的大作业就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅了很多次设计书和指导书。为了让自己的设计更加完善,更加符合工

日历时钟单片机课程设计

单片机课程设计 ——日历时钟与键盘显示程序设计 姓名:管曌 学号:3081109003 班级:J通信0801 指导老师:熊书明

日历时钟与键盘显示程序设计 一、设计目的 (1)能在LED显示器上实现正常的时分秒计时 (2)能通过键盘输入当前时间,并从该时间开始计时 (3)有校时、校分功能 (4)有报时功能,通过指示灯表示 (5)有闹时功能,闹时时间可以设定,通过指示灯表示 二、设计内容 该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。 三、MCS-51单片机系统简介 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。 四、设计方案

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

MFC课程设计报告—模拟计算器

计算机MFC课程设计报告 ——模拟计算器 姓名: 学号:02011227 联系电话: 指导教师: 东南大学机械工程学院 2012年10月14日

模拟计算器 摘要 摘要内容:以课本简单计算器为基础,首先实现了加、减、乘、除、求倒数和平方根的混合运算,并能进行清屏及倒退操作,然后自行完善了书中未能实现的乘、除运算的连续操作,最后自行设计并完成了lg、ln 、sin、cos、^、.、pi、e八个按钮控件的消息映射及程序代码的添加和修改。从中学会了制作简单的基于对话框的小工具、掌握了常用控件的使用、明白了消息映射及消息处理、提高了VC++编程水平。 关键词:四则运算小数点计算器 Analog calculator Abstract Content of abstract: Simple calculator in textbooks as the foundation, first realized the addition, subtraction, multiplication, division, and reciprocal and square root of the mixed operation, and can clear screen and reverse operation, and then to improve the book failed to realize the multiplication, division operation of continuous operation, and finally to be designed and completed the eight button control news mapping and program code to add and modify. Learnt how to make simple dialog-based small tools, mastered the use of commonly used controls, see news mapping and information processing, improve the level of programming.

大三下期课程表

湖南文理学院芙蓉学院2015~2016学年度春(夏)季学期程表 专业:机械设计制造及其自动化班级:机自1302 39人星期一星期二星期三星期四星期五 1 . 2 节数控技术 46+8(7-14) T2-D201 王良 液压与气压传动 54+8(7-14,16-18)三节连上 T1-B102 陈克飞 塑料成型工艺及模具设计 32+4(7-14,16-18) T2-D201 陈克飞 液压与气压传动 54+8(7-14,16-18) T2-D201 陈克飞 数控技术 46+8(10-12)T2-D101 王良 塑料成型工艺及模具设计 32+4(13-14,16-18)T2-D101陈克飞 3 . 4 节 机械优化设计 32+4(7-14,16-18) T2-D101 罗佑新 机械优化设计 32+4(7-11) T2-D101 罗佑新 机械制造装备设计 54+4(7-14,16-18) T1-A602 李玲芳 微机原理与接口技术 54+12(12-14,16-17) T2-D101 陈丹 5 . 6 节微机原理与接口技术 54+12(7-14,16-18) T2-D101 陈丹 微机原理与接口技术 54+12(7-14,16-18) T2-D101 陈丹 数控技术 46+8(7-14)三节连上 T2-D201 王良 机械制造装备设计 54+4(7-14,16-18)三节连上 T2-D101 李玲芳 7 . 8 节 9 . 10 节大学生职业发展与就业指导 12(2-7) T2-D301 曾炜光 备注:1、第8-9节:19:00-20:40。机械制造技术课程设计1-2周机械楼502杨继荣生产实习3-6周数控技术课程设计15周机械楼机房李志刚

日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)

;山东科技大学信电通信07-1 lfj 作品lifaji@https://www.360docs.net/doc/ad5088178.html, 方案一:

方案二:

采用方案二。模块图

; ------------------------- 按键说明-------------------------;--------------------------1键——进入可调状态-------------------------; -------------------------2键——结束返回-------------------------; -------------------------3键——秒加1/日加1 -------------------------; -------------------------4键——分加1/月加1 -------------------------; -------------------------5键——显示24小时制/时加1/年加1-------------------------; -------------------------6键——显示12小时制-------------------------; -------------------------7键——可调时间-------------------------; -------------------------8键——可调日期-------------------------CLK BIT P1.6 ;时钟信号端 DISP BIT P1.7 ;串出锁存端 DBUF EQU 30H ;秒的最低位地址 LED BIT P1.1 CHANGE2 BIT 21H ;加12的标志位 AD1 EQU 40H ;秒 AD2 EQU 41H ;分 AD3 EQU 42H ;时 AD4 EQU 43H ;天 AD5 EQU 44H ;月 AD6 EQU 45H ;年 ; 初始化存储单元结束 ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口 LJMP INT ORG 0030H MAIN: MOV R0,#AD1 MOV R7,#06H LOOP0: MOV A,#00H MOV @R0,A INC R0 DJNZ R7,LOOP0 ;R0~R7清零 MOV AD1,#37H MOV AD2,#22H MOV AD3,#0CH MOV AD4,#08H MOV AD5,#08H MOV AD6,#08H ;初始化时间为12:34:56,日期为08年08月08日 MOV IE,#82H ;允许T0中断

最新单片机简易计算器课程设计

单片机简易计算器课 程设计

引言 说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本任务是个简易的两位数的四则运算,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识、专业技能分析和解决问题全面系统的锻炼。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台

相关文档
最新文档