课程设计电阻测量(带程序版)

课程设计电阻测量(带程序版)
课程设计电阻测量(带程序版)

摘要

本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D 转换正常进行。A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。

关键词:单片机(AT89C52);电压;A/D转换;ADC0809

目录

设计要求 (1)

1、方案论证与对比 (1)

1.1方案一 (1)

1.2方案二 (1)

1.3方案对比与比较................................... 错误!未定义书签。

2、系统硬件电路的设计 (2)

2.1振荡电路模块 (2)

2.2A/D转换电路模块 (3)

2.2.1主要性能 (3)

2.2.2 ADC0809芯片的组成原理 (4)

2.2.3 ADC0809引脚功能 (4)

2.3主控芯片AT89C52模块 (5)

2.3.1主要功能特性 (6)

2.3.2 主要引脚功能 (6)

2.4显示控制电路的设计及原理 (8)

3、程序设计 (9)

3.1初始化程序 (9)

3.2主程序 (10)

3.3显示子程序 (10)

3.4A/D转换测量子程序 (11)

4、调试及性能分析 (11)

4.1调试与测试 (11)

4.2性能分析 (12)

5、元件清单 (13)

6、总结与思考及致谢.................................. 错误!未定义书签。参考文献. (13)

附一:原理图 (16)

附二:程序 (16)

设计要求

电阻测量(需要简单的外围检测电路,将电阻转换为电压) 测量100,1k,4.7k,10k,20k 的电阻阻值,由数码管显示。 测试:误差10%。

1、方案论证与对比

1.1方案一

利用单稳或电容充放电规律等,可以把被测电阻量的大小转换成脉冲的宽窄,即脉冲的宽度Tx 与Rx 成正比。只要把此脉冲和频率固定不变的方波(以下称为时钟脉冲)相与,便可以得到计数脉冲,将它送给数字显示器。如果时钟脉冲的频率等参数合适,便可实现测量电阻。计数控制电路输出的脉冲宽度Tx 应与Rx 成正比,其电路原理图及具体555单稳态触发器的构成及仿真如图1所示。

用555构成的单稳态电路在正常工作条件下输出脉冲的宽度Tx 与Rx 的函数关系是:

3ln ??=X X C R T

所产生的时间误差可能达到百分之十五,再加上其他原因产生的误差,测量是的时间延迟太大。

图1 方案一原理图

1.

方案二 用ADC0809

电阻测量,以一个1K 的电阻作为基准电阻。和被测电阻进行分

压,分压比例得出电阻比例。

555 单稳态电 路

A/D 转换 电路

译码-驱动-显示

电路

21R R =2

1V V

用ACD0809测量电阻时间误差为%10以下,分辨率高,输出能与TTL 电平兼容。其原理图如图2所示。

图2 方案二原理图

1.3方案对比与比较

由于课程设计的要求是电阻测量需要简单的外围检测电路,将电阻转换为电压,测量100,1k,4.7k,10k,20k 的电阻阻值,由数码管显示。测试:误差10%。通过比较以上两个方案,可知方案二相对来说比较适合。所以选用方案二作为实验方案。

2、系统硬件电路的设计

2.1 振荡电路模块

振荡电路通过这两个引脚外并接石英晶体振荡器和两只电容(电容和一般取33pF ),这样就构成一个稳定的自激振荡器。为单片机提供时钟信号。如图3所示。

图3. 振荡电路

简易外围电路

A/D 转换电路

译码-驱动-显示 电路

8051

XTAL1 XTAL2

C2

C1

2.2 A/D转换电路模块

ADC0809是采用逐次逼近式原理的A/D转换器。

ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,9电路图如图4所示。

图4 A/D转换电路原理图

2.2.1主要性能

1分辨率为8位二进制数。

2模拟输入电压范围0V—5V,对应A/D转换值为00H—FFH。

3每路A/D转换完成时间为100μs。

4允许输入4路模拟电压,通过具有锁存功能的4路模拟开关,可以分时进行4路A/D转换。

5工作频率为500kHz,输出与TTL电平兼容。

2.2.2 ADC0809芯片的组成原理

具体设计要求如图5所示,它是由地址锁存器、4路模拟开关、8位逐次A/D转换器和三态锁存输出缓冲器构成。由3位地址输入线ADDRA、ADDRB、ADDRC决定4路模拟输入中的1路进8位A/D转换器,A/D转换值进入三态锁存输出缓冲器暂存,在CPU发来输出允许控制信号OE后,三态门打开,经DB7—DB0进入CPU总线,完成一次A/D转换全过程。

图5A/D转换电路原路图

2.2.3 ADC0809引脚功能

ADC0809采用28引脚的封装,双列直插式。A/D转换由集成电路ADC0809完成。ADC0809具有8路模拟输入端口,地址线(23—25脚—即C,B,A,)可决定对哪一路模拟输入作A/D转换。22脚为地址锁存控制(ALE),当输入为高电平时,对地址信号进行锁存。6脚为测试控制(START),当输入一个2us宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志(EOC),当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制(OE),当OE脚为高电平时,A/D转换数据从该端口输出。10脚为ADC0809的时钟输入端(CLOCK),利用单片机30脚的六分频晶振频率再通过14024二分频得到1MHz时钟。单片机的P1、P3.0—P3.3端口作

为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数据读入用,P2端口用作ADC0809的A/D转换控制。

2.3 主控芯片AT89C52模块

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口。3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

如图6所示为AT89C52管脚图。

图6AT89C52管脚图

2.3.1主要功能特性

·与MCS—51产品指令和引脚完全兼容

·8k字节可重擦写Flash闪速存储器

·1000次擦写周期

·全静态操作:0Hz—24MHz

·三级加密程序存储器

·32个可编程I/O口线

·低功耗空闲和掉电模式

·3个16位定时/计数器

·可编程串行UART通道

2.3.2 主要引脚功能

VCC : 电源

GND: 地

P0 口:P0口是一组8 位漏极开路型双向I/O口,也即地址/数据总线复用口。

P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。

P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @R I)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P1口和P2口的第二功能如下表1所示。

表1 P0和P1口的第二功能

引脚号功能特性

P1.0 T2(定时/计数器2外部计数脉冲输入),时钟输出

P1.1 T2EX(定时/计数2捕获/重载触发和方向控制)

P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3口输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。具体功能如表2所示:

表2 P3口的第二功能

端口引脚第二功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2外中断0

P3.3外中断1

P3.4T0(定时/计数器0)

P3.5T1(定时/计数器1)

P3.6外部数据存储器写选通

P3.7外部数据存储器读选通RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash 编程期间,EA也接收12伏VPP电压。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

2.4 显示控制电路的设计及原理

显示子程序采用动态扫描法实现4位数码管的数值显示。测量所得的A/D转换数据放70H—77H内存单元中,测量数据在显示时须经过转换成为十进制BCD码放在78H—7BH单元中,其中7B存放通道标志数。寄存器R3用作8路循环控制,R0用作显示数据地址指针。

本系统显示部分采用4位数码管动态扫描显示。

动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个数码管轮流点亮。本系统采用4位共阴极数码管,COM端接接P20—P23端,8个笔划段a-h分别按顺序接P07—P00,轮流给P20—P23口低电平,使各个数码管轮流点亮。

在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

显示控制电路由图7的8255芯片和图8的数码管显示电路两部分组成

图7 8255芯片

图8数码管显示电路

3、程序设计

3.1 初始化程序

void Init()

{

ST = 0;

OE = 0;

a8255_CON=0x81;

PB=0xff;

PA=0xff;

}

3.2主程序

void main()

{

uchar I=0,J=0;

uint RRR=0;

Init();

while (1)

{

Get_Resistance();

If(RRR==0)RRR=R_T; //计算平均值

else

if(J==30){R=RRR;RRR=0;J=0;} //J为 30个平均值《可改》 else J++;

Display();

}

}

3.3显示子程序

void Display()

{

uchar A;

uint B=10000;

for(A=0x02;A<=0X40;A<<=1)

{

if(R/B)

{ if(A!=0X02)Delay(150); PB=0XFF;

PA=0XFF;

PB=LED_CODE[(R%(B*10))/(B)]; PA=~A;

}B/=10;

}

}

3.4 A/D 转换测量子程序

uchar Ad_Cover() {

uchar AD_DATA; ST = 0;

ST = 1; //启动AD 转换

ST = 0;

while (EOC==0)CLK = ~CLK; OE = 1; AD_DATA = P0; OE = 0;

return AD_DATA; }

4、系统调试与分析

4.1 硬件调试

硬件调试时可以检查印制板和外围电路是否有断路或短路问题,在检查无误的情况下,通过外围电路接入一个被测电阻,检查数码管显示是否正常,若不正常,用万用表检查出电路的问题所在,并纠正电路的焊接问题。

为了测量的精准度,用万用表选择KΩ1的基准电阻,尽量使基准电阻接近KΩ1,减少测量的误差。

4.2 软件调试

将用keil编译产生的HEX文件下载到单片机开发板中,通过外围电路接入一个已知的被测电阻,看数码管上的显示数值是否接近已知的电阻值,若不对,则反复调试程序,直到正确为止。

4.3 性能分析

1.误差W=

0|2

1 |

R R

R-

?100%,如表3所示。

2.误差分析

AD的分辨率只有八位,分辨率小,所以测量小电阻的时候误差小,随着测量电阻的变大误差变大。

表3 误差分析

电阻理想阻值R(K) 万用表测量值

R0(K)

模拟测量值R1(K) 误差w

1 0.99 0.995 0.5%

4.7 4.61 4.565 0.98%

0.47 0.461 0.462 0.22%

5、元件清单

元件名称类型或量程数量

芯片AT89C52 1片

芯片8255 1片

芯片ADC0809 1片

杜邦线2根

万用表1个

电阻1K、4.7K、0.47K 各一个

电源线供电电源线1根

数码管HS310361K 2个

6、总结与思考及致谢

这次单片机课程设计意义非同一般,把我从单深入的理论编程到硬件软件综合实现一个使用的电路。通过这学期的单片机的学习,知道了单片机在实际应用中占据很重要的作用,也了解单片机本身的功能,用编程控制;也了解了单片机的一些扩展功能。通过这次设计,我更深入地了解到单片机的使用原理和功能。

为期两周的设计中,我看到很多同学都很努力,很认真,我也不敢懈怠。虽说两周的时间有点仓促,但老师和同学们夜以继日在解决问题,我做电阻测量的设计中也遇到些许问题,但通过他人的指点,并查阅很多有价值的书籍,我从中认识了不少。也增强了自己发现问题解决问题的能力。还有在编程的时候要仔细,要实现一个完整的功能就要考虑全面,在测试程序的时候要善于发现错误,而且可能是一些小问题,比如说把立即数和地址混用,这是很常见的。

两周的设计完满结束了,经过自己的努力和同学的帮忙终于有了成果,特别离不开指导老师方智文的悉心教导,我受益匪浅,相信他的工作作风和知识筑成都是我们学习榜样,给我很大的启迪。感谢这些老师不畏辛劳,热心精心的指导。在这里向他们说声谢谢,你们辛苦了。

参考文献

[1] 张鑫. 《单片微机原理与应用》.[M] 北京.电子工业出版社.2008

[2] 楼然苗.李光飞. 《单片机课程设计指导》. [M]北京.航空航天大学出版社. 2007

[3] 长洪润.刘秀英. 《单片机应用设计200例(上、下)》. [M] 北京.航空航天大学出版社.2006

[4] 张毅刚.《新编MCS—51单片机应用设计(第3版)》.[M]哈尔滨工业大学出版社.2008

[5] 马静.《单片机原理与应用》. [M] 实践教学指导书中国计量出版社. 2003

附一:原理图

附二:程序

#include

#define uchar unsigned char

#define uint unsigned int

sbit ST = P2 ^ 7;

sbit EOC = P3 ^ 4;

sbit OE = P2 ^ 3;

sbit CLK = P2 ^ 0;

xdata uchar PA _at_ 0xD1FF, PB _at_ 0xD2FF, PC _at_ 0xD5FF, a8255_CON _at_ 0xD7FF;

uint R=0,R_T;

uchar code LED_CODE[]= {0xA0, 0xBB, 0x62, 0x2A, 0x39, 0x2C, 0x24,

0xBA, 0x20, 0x28};

void Init()

{

ST = 0;

OE = 0;

a8255_CON=0x81;

PB=0xff;

PA=0xff;

}

uchar Ad_Cover()

{

uchar AD_DATA;

ST = 0;

ST = 1;

ST = 0;

while (EOC==0)CLK = ~CLK;

OE = 1;

AD_DATA = P0;

OE = 0;

return AD_DATA;

}

void Get_Resistance()

{ float c;

uchar TEMP;

TEMP=Ad_Cover();

c=(float)(256-TEMP);

c = 1000.000*(c/(float)TEMP);

R_T=(unsigned int)c;

}

void Delay(uint CNT)

{

while(CNT--);

}

void Display()

{

uchar A;

uint B=10000;

for(A=0x02;A<=0X40;A<<=1)

{

if(R/B)

{ if(A!=0X02)Delay(150);

PB=0XFF;

PA=0XFF;

PB=LED_CODE[(R%(B*10))/(B)];

PA=~A;

课程设计报告模板)

课程设计报告模板()

————————————————————————————————作者: ————————————————————————————————日期: ?

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

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

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书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进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

网络程序课程设计报告模版

《高级网络程序设计》 课程设计报告 题目FTP文件传输协议学号11102410 姓名倪福柱 计算机网络工程教研室 2015年01月12 日

目录 一、实验目的……………………………………………………… 二、实验内容和要求……………………………………………….. 1、实验内容…………………………………………………….. 2、具体要求…………………………………………………….. 三、需要完成的的内容………………………………………………………… 1.FTP系统模型……………………………………………………………. 2. 系统功能设计…………………………………………………………… 2.1总体设计…………………………………………………………... 2.2系统实现…………………………………………………………… 四、具体实现步骤……………………………………………………………….. 1. FTPClient用户界面的实现………………………………………………. 2. FTPClient控制连接的实现………………………………………………. 3. FTPClient数据传输连接的实现…………………………………………. 3.1下载文件操作……………………………………………………….. 3.1下载文件操作……………………………………………………….. 3.3显示服务器的路径………………………………………………….. 3.4进入服务器更改路径……………………………………………….. 4. FTPServer控制连接的实现……………………………………………… 5. FTPServer数据传输线程的实现………………………………………… 5.1读取本地文件下载给客户端………………………………………… 5.2接收客户端的上传的文件…………………………………………… 5.3获取服务器本地系统路径…………………………………………… 五、实验结果……………………………………………………………………. 六、实验心得…………………………………………………………………….

Java课程设计小游戏

《高级语言程序设计》课程设计报告 1、程序设计说明书 【设计题目】 雷霆行动游戏程序 【问题描述】 雷霆行动是一款供大家休闲娱乐的小游戏,游戏通过鼠标控制我方飞机hero的移动,达到躲闪敌机的目的;利用鼠标键发射子弹和导弹,达到击毁敌机的目的,摧毁敌机有积分。此游戏为闯关积分类小游戏。 【软件功能】 1.按鼠标左键,游戏开始。 2.利用鼠标移动控制hero自由移动,闪躲敌方子弹。 3.利用鼠标左键发射子弹,实现打中敌方飞机的功能;利用鼠标右键释放导弹,实现摧毁大量敌 机的功能,击中一个敌方飞机积一分。 4.hero碰到对方子弹会消耗生命,消耗生命的多少,依据子弹的不同而不同。 5.一关之后会进入下一关。 6.游戏右上角红色的进度条表示hero的生命,当红色全部消失之后,游戏结束,显示死亡。 7.游戏结束后,可重新开始,同1。 【算法思想】 1.创建游戏主界面,确定窗口的坐标。 2.设计游戏开始界面显示信息及信息坐标。 3.设置游戏进行中的信息,hero的移动、释放子弹和导弹,达到击毁敌机的目的。 4.处理游戏进行中的子弹、大爆、爆炸、敌机消失和存在的条件。 5.设置进入下一关的条件。 6.设计游戏结束界面显示信息及信息坐标。 7.处理游戏重新开始满足的条件。 8.装载图像。 9.对游戏进行调试和改进,使这个游戏更加完善。 【类的设计】 本程序共有七个类: 1.MainPanel 属性:BBv为子弹数组,EEv为敌机数组,BOMBv为爆炸数组,EBv为敌机子弹数组,DBv 为大爆数组,E-num为敌机数量,E-max敌机最大数,E-vel为敌机速度,E-mov为敌机 横移几率,E-hit为敌机开火几率,Sum为击毁敌机数量,hero-hp为hero生命,back至 db-2均为图片,tracker为媒体跟踪器,y为背景滚动变量,seq为hero的动画变量,isfire 为hero开火,isblast为是否发爆,blastnum为大爆的数量,blastc为控制大爆,f、ff、s、 ss均为游戏界面上显示的信息; 方法:MainPanel(Game)构造方法,paint(Graphics)建立游戏开始界面如显示的文字,run()控制对象移动,BBmove(int,int)子弹的移动方法,DBmove(int,int)大爆的移动方法, mouseDragged(MouseEvent) 鼠标的拖拽用来保证hero不出界,mouseMoved(MouseEvent) 鼠标的移动用来控制hero移动,mousePressed(MouseEvent) 鼠标按键在组件上按下时调 用,重新开始游戏,mouseClicked(MouseEvent)鼠标按键在组件上单击(按下并释放) 时调用,释放子弹,mouseReleased(MouseEvent)鼠标按钮在组件上释放时调用, mouseEntered(MouseEvent)鼠标进入组件上调用,mouseExited(MouseEvent)鼠标离开组 件时调用;

程序设计基础课程设计

设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15

1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。

数电课程设计-温度计实验报告(提交版)

一、设计项目名称 温度采集显示系统硬件与软件设计 二、设计内容及要求 1,根据设计要求,完成对单路温度进行测量,并用数码管显示当前温度值系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。 要求: (1)原理图中元件电气图形符号符合国家标准; (2)整体布局合理,注标规范、明确、美观,不产生歧义。 (3)列出完整的元件清单(标号、型号及大小、封装形式、数量) (4) 图纸幅面为A4。 (4)布局、布线规范合理,满足电磁兼容性要求。 (5)在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。 2.编写并调试驱动程序。 功能要求: (1)温度范围0-100℃。 (2)温度分辨率±1℃。 (3)选择合适的温度传感器。 3.撰写设计报告。 提示:可借助“单片机实验电路板”实现或验证软件、硬件系统的可靠性。 温度传感器 摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器 实现对温度的测试与控制得到更快的开发,随着时代的进步和发展,单 片机技术已经普及到我们生活,工作,科研,各个领域。一种数字式温 度计以数字温度传感器DS18B20作感温元件,它以单总线的连接方式, 使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传 感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了 传统的温度测量方法,利用单片机STC89C52对传感器进行控制。这样

易于智能化控制。 关键词:数字测温;温度传感器DS18B20;单片机STC89C52; 一.概述 传感器从功能上可分为雷达传感器、电阻式传感器、电阻应变式传感器、压阻式传感器、热电阻传感器、温度传感器、光敏传感器、湿度传感器、生物传感器、位移传感器、压力传感器、超声波测距离传感器等,本文所研究的是温度传感器。 温度传感器是最早开发,应用最广泛的一类传感器。温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有半导体。温度传感器是温度测量仪表的核心部分,品种繁多。 随着科学技术的发展,测温系统已经被广泛应用于社会生产、生活的各个领域,在工业、环境监测、医疗、家庭多方面均有应用。从而使得现代温度传感器的发展。微型化、集成化、数字化正成为发展的一个重要方向。 二.硬件设计 1.DS18B20 DS1820 单线数字温度计特性 ? 独特的单线接口仅需一个端口引脚进行通讯 ? 简单的多点分布应用 ? 无需外部器件 ? 可通过数据线供电 ? 零待机功耗 ? 测温范围-55~+125℃,以 0.5℃递增 ? 温度以 9 位数字量读出 ? 温度数字量转换时间 200ms (典型值) ? 用户可定义的非易失性温度报警设置 ? 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 ? 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 DS1820温度传感器外观图(a )和引脚图(b ) ①引脚1接地 ②引脚2数字信号输入/输出 ③引脚3接高电平5V 高电平

程序设计报告模板

北京化工大学计算机科学与技术专业2014程序设计实训报告 题目:个人记账软件 专业:计算机科学与技术 班级:计科1305 指导教师:江志英

2014程序设计实训任务书

目录 2014程序设计实训任务书...................................... 错误!未定义书签。目录..................................................... 错误!未定义书签。第一章需求分析.............................................. 错误!未定义书签。 引言............................................... 错误!未定义书签。 任务概述........................................... 错误!未定义书签。 数据描述........................................... 错误!未定义书签。 功能需求........................................... 错误!未定义书签。 运行需求........................................... 错误!未定义书签。 任务计划........................................... 错误!未定义书签。第二章概要设计.............................................. 错误!未定义书签。 总体设计........................................... 错误!未定义书签。 面向对象设计....................................... 错误!未定义书签。 运行界面设计....................................... 错误!未定义书签。第三章详细设计.............................................. 错误!未定义书签。 ........................................................ 错误!未定义书签。第四章测试分析............................................. 错误!未定义书签。第五章用户手册(可选)..................................... 错误!未定义书签。第六章课程设计总结.......................................... 错误!未定义书签。附录:程序代码(仅电子版需要、纸质版不需要)................. 错误!未定义书签。

三子棋小游戏课程设计

三子棋小游戏课程设计 计算机学院计算机科学与技术专业《程序设计综合课程设计》报告 (2011/2012学年第一学期) 学生姓名: 学生班级: 学生学号: 指导教师: 2012年01月04日 三 子 棋 小 游 戏 目录 第一章程序设计的目的和要求 1 1.1课程设计的目的 ......1 1.2课程设计的要求 1 第二章课程设计任务内容 3 2.1课程设计题目 3 2.2课程设计介绍 3 第三章详细设计说明 ..4 3.1 流程逻 辑............................................................ .4 3.2 限制条 件 (5)

3.3 运行结 果 (5) 3.4 实验过 程 (8) 第四章实验总结及特色 11 4.1调试结果及截图 11 第五章课程设计心得及体会 13 附录? 参考文献 15 附录? 程序代码 16 第一章课程设计目的和要求 目的 通过此次课程设计,进一步加深对C++语言和运用的了解,将理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。 巩固已经学习过的C++理论知识;进一步学习程序设计、程序调试的能力。 进一步学习面向对象编程的知识和程序调试的能力; 增强Visual C++编程环境的应用能力 掌握并且熟练应用《C++程序设计》中所学知识,并学会运用。 掌握函数功能的划分方法,并运用此方法解决问题。学会程序测试方案的制定,并且实现程序的测试。 通过此次实践,积累经验,提高分析和解决问题的能力。 第二节要求 课程设计需要从整体来考虑,在大的方向下来考虑小的模块,在继续分工。作到最小化,可执行化。

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

图书管理程序课程设计报告模板

北京理工大学珠海学院课程设计说明书 _2011_—_2012_学年第_2_学期 题目: 图书管理程序 学院:计算机学院 专业班级: 11计算机科学与技术X班 学号: XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX 学生姓名:xx XX 指导教师: XXX 成绩: 时间: XXXX 年 X 月 xX 日

北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第 2 学期 学生姓名: XXXXX 专业班级: XX计算机科学与技术XX 班 指导教师: XXXXX 工作部门:计算机学院 一、课程设计题目 图书管理程序 二、课程设计内容 使用文本命令行界面;用文件保存图书馆里的图书信息;能实现图书信息的增、删、改、查等功能。 三、进度安排 (1)1-2学时,选定题目、分析需求、理解需求; (2)3-4学时,程序设计,定义数据类型、数据处理方式; (3)5-10学时,编写程序、调试、测试; (4)11-12学时,编写设计报告; (5)13-16学时,答辩。 四、基本要求 (1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分) (4)建立文件操作类、界面显示类及相关接口类,用文件读写实现。 (5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。

课程负责人签名: XXXX年 X月 XX日

课程设计分工安排

课程设计成绩评定表

图书管理程序 摘要 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢? 科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。 关键词:图书管理系统工程信息管理系统 VC++

计算机图形学课程设计——扫雷游戏程序设计

计算机图形学课程设计——扫雷游戏程序设计

《计算机图形学》课程设计报告 VC++扫雷游戏的程序设计 专业班级: 小组成员:

指导老师: 日期:2012年12月24日 1、需求分析 本课程设计实现类似于Windows XP操作系统自带的扫雷游戏。该设计以V isual C++ 6.0为开发环境, Windows 7/XP为程序运行平台。在程序设计中,把整个雷区看成一个二维数组,把雷方块定义为具有所在雷区二维数组的行和列、当前状态、方块属性、历史状态的结构体,采用了MFC机制解决问题的方法。整个游戏程序包括了布雷、扫雷过程和结果三个阶段,在处理鼠标响应事件中伴随着GDI绘图。程序通过调试运行,实现简单的设计目标,满足扫雷游戏初学者的需要。 通过本课程设计,以便更好的巩固计算机图形学相关知识,掌握课程设计基本的方法和技巧,同时增加同学之间的团队合作精神以及培养分析问题、解决问题的能力。 2.总体设计 2.1 功能概述 扫雷游戏的游戏界面如图1所示。在这个界面中,由众多面积均等的小方块所组成的区域称之为雷区,雷区的大小由用户设置的游戏等级决定。

图1 游戏开始时,系统会在雷区中随机布下若干个地雷。安放地雷的小方块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非雷方块中填充一些数字。某一个具体数字表示与其紧邻的8个方块 中有多少雷方块。玩家可以根据这些信息去判断是否可以鼠标点击方块, 并把认为是地雷的方块打上标识。当玩家将所有地雷找出后,其余的非雷方块区域都已打开,此时游戏结束。在游戏过程中,一旦错误地打开了雷方块则立即失败,游戏结束。 游戏规则总结: ●开始:按左键开始游戏,按按钮或菜单重新开始。 ●左键:按下时,是雷则结束,非雷则显示数字。 ●数字:代表此数字周围一圈八格中雷的个数。 ●右键:奇次按下表示雷,偶数按下表示对上次的否定。 ●结束:左键按到雷结束,找出全部雷结束。 在游戏开始后,雷区上方有两个计数器。右边的计数器显示用户扫

程序设计基础课程设计

1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。

2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

Web程序设计课程设计报告模板

Web程序设计课程设计报告课程设计题目:某电子杂志网站 姓名:肖琴霞 专业:软件工程(国际教育) 班级:10211133 学号:1021113321 指导教师:吴光明 2013 年 3 月 10 日

一、设计目的 《Web应用开发课程设计》是实践性教学环节之一,是《Web程序设计》课程的辅助教学课程。通过课程设计,使学生掌握Web网站的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握软件开发的基本概念、原理和技术,将理论与实际相结合,应用现有的开发工具,规范、科学地完成一个完整地应用软件的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正使得计算机被广泛的应用于信息管理系统。计算机的最大好处在于利用它能够进行信息管理和查询。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。制作电子杂志网站可以方便读者阅读,且可以扩大读者的视野以及提高阅历。 二、设计解决方案 问题解决方案: 经过分析,我们决定利用ASP编程,使用Dreamweaver MX作前端开发工具,利用SQLServer2000作后台数据库管理,数据库驱动使用ADO。 前台功能模块:系统主界面与登录程序设计,杂志查询及订阅,读者服务模块,杂志分类设计等。 后台功能模块:管理主界面与登录程序设计,最新杂志信息管理模块,杂志订阅管理模块,在留言管理模块设计等。后台管理的建立,使管理员可以通过后台很容易的对杂志城进行管理,比如:对最畅销杂志,公告和杂志城注册用户进行添加,删除等管理工作,还可以对读者在线留言的处理。 三、电子杂志网需求分析 3.1 需求分析 需求分析是整个设计过程的基础,最困难、最消耗时间的一步。它的最终结果是提供

《贪吃蛇游戏课程设计》报告

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。 3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量}food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面 void GamePlay();//玩游戏的具体过程void GameOver();//游戏结束 void PrScore();//输出成绩 (2)主函数main( ) 主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序 void main()//主函数 { Init();//图形驱动 DrawK();//开始画面

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份

数电课程设计

一、数字电子钟 1.设计目得 (1)培养数字电路得设计能力。 (2)掌握数字电子钟得设计、组装与调试方法。 2.设计内容及要求 (1)设计一个数字电子钟电路。要求: ①按24小时制直接显示“时”、“分”、“秒”。 ②当电路发生走时误差时具有校时功能。 ③具有整点报时功能,报时音响为4低1高,即在59分51秒、53秒、55秒、57秒输出500Hz信号,在59分59秒时输出1000 Hz信号,音响持续时间为1秒,最后一响结束时刻正好为整点。 (2)用中小规模集成电路组成电子钟,并在实验仪上进行组装、调试。 (3)画出各单元电路图、整机逻辑框图与逻辑电路图,写出设计、实验总结报告。 (4)选作部分:①闹钟系统。②日历系统。 3.数字电子钟基本原理及设计方法 数字电子钟得逻辑框图如图1411所示。它由振荡器、分频器、计数器、译码器、显示器、校时电路与整点报时电路组成。振荡器产生得脉冲信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器显示时间。有得数字电子钟还加有定时响铃、日历显示等其它功能,需增加相应得辅助电路。 图1411 数字电子钟得基本逻辑框图 (1)振荡分频电路 振荡器就是数字电子钟内部用来产生时间标准“秒”信号得电路。构成振荡器得电路很多,图1412(a)就是RC环形多谐振荡器,其振荡周期T≈2、2RC。作为时钟,最主要得就是走时准确,这就要求振荡器得频率稳定。要得到频率稳定得信号,需要采用石英晶体振荡器。石英晶体振荡器电路如图1412(b)所示,这种电路得振荡频率只取决于石英晶体本身得固有频率。 图1412 振荡器

(a)RC环形多谐振荡器 (b)石英晶体多谐振荡器 由于石英晶体振荡器产生得频率很高,要得到秒信号,需采用分频电路。例如,振荡器输出4 MHz信号,先经过4分频变成1 MHz,再经过6次10分频计数器,便可得到1Hz得方波信号作为秒脉冲。 (2)计数器 把秒脉冲信号送入秒计数器个位得CP输入端,经过6级计数器,分别得到“秒”个位、十位,“分”个位、十位,以及“时”个位、十位得计时。“秒”、“分”计数器为60进制,“时”计数器为24进制。 24进制计数器如图1413所示。当“时”个位计数器输入端CP来到第10个触发脉冲时,该计数器归零,进位端Q D5向“时”十位计数器输出进位信号。当第24个“时”脉冲(来自“分”计数器输出得进位信号)到来时,十位计数器得状态为0010,个位计数器得状态位0100,此时“时”十位计数器得Q B6与“时”个位计数器得Q C5输出为1。两者相与后送到两计数器得清零端R0A与R0B,通过74LS90内部得R0A与R0B与非后清零,完成24进制计数。同理可构成60进制计数器。 CP 来自分计数器 的进位信号 图1413 24进制计数器 (3)译码显示电路 译码驱动器采用8421 BCD码七段译码驱动器74LS48,显示器采用共阴极数七段数码显示器,有关74LS48与七段显示器得使用方法前面已经作了介绍,这里不再赘述。 (4)校时电路 当数字电子钟出现走时误差时,需要对时间进行校准。实现校时电路得方法很多,如图1414所示电路即可作为时计数器或分计数器得校时电路。 图1414 校时电路 现设用该电路作为分计数器得校时电路,图中采用RS触发器作为无抖动开关。通过开关K得接入位置,可以选择就是将“1 Hz信号”还就是将“来自秒计数器得进位信号”送至分计数器得CP端。当开关K置于B端时,RS触发器得输出、,“来自秒计数器得进位信号”被送至分计数器得CP端,分计数器正常工作;需要校正分计数器时,将开关K置于A端,这时RS触发器得输出、,“1 Hz信号”被送至分计数器得CP端,分计数器在“1Hz信号”得作用下快速计数,直至正确得时间,再将开关K置于B端,达到了校准时间得目得。 (5)整点报时电路 电路得设计要求在差10 s为整点时开始每隔1 s鸣叫一次,每次持续时间为1 s,共鸣叫5次,前4次为低音500 Hz,最后一次为高音1 kHz。因为分计数器与秒计数器从59分51秒计数到59分59秒得过程中,只有秒个位计数器计数,分十位、分个位、秒十位计数器得状态不变,分别为Q D4Q C4Q B4Q A4=0101,Q D3Q C3Q B3Q A3=1001,Q D2Q C2Q B2Q A2=0101,所以Q C4=Q A4=Q D3=Q A3=Q C2=Q A2=1不变。设Y1=Q C4Q A4Q D3Q A3Q C2Q A2,又因为在51、53、55、57秒时Q A1=1,Q D1=0,输出500Hz信号f2;59秒时Q A1=1,Q D1=1,输出1kHz信号f1,由此可写出整点报时电路得逻辑表达式为:

相关文档
最新文档