北邮,信息工程,大二上,小学期,C语言,大作业,实验报告

北邮,信息工程,大二上,小学期,C语言,大作业,实验报告
北邮,信息工程,大二上,小学期,C语言,大作业,实验报告

北京邮电大学信息与通信工程学院10级小学期C程序设计实践

实验报告

题目:实验室物料管理系统

班级:班

姓名:

学号:

手机号:

邮箱:

一.功能描述:

1.基本功能:

(1)添加记录

能够添加一条或多条记录,记录包括物料类别、名称、型号、

价格、库存等数据。

(2)显示记录

显示当前所有记录。

(3)更新记录

能够修改已存在记录的信息,可按型号选择要更新的纪录并

且选择更新的方式。

(4)删除记录

实现删除指定型号记录的功能。

(5)查询记录

实现按型号查找的基本功能。

(6)保存文件

存储所有记录到文本文档wrecord.txt。

(7)读取文件

从rrecord.txt读入所有记录,同时能实现在读入后继续添

加记录并执行操作。

(8)统计总量

能实现将各类别记录的库存总量存入文本文件total.txt的

功能。

(9)排序

实现基本功能的按库存量顺序排序,并且存储到文件。

(10)退出系统

结束软件操作,释放内存后退出。

2.扩展功能:

(1)统计时加入借出量的统计,使物料管理更健全。

(2)进入时需要输入用户名和密码,通过区分采购员和教师给与

用户不同的功能使用权限,使程序的针对性更强。

(3)可以选择按照单价或型号进行查找,并给与用户随时退出到

主菜单的选项。

(4)可以选择按照库存量或单价进行排序,并将结果打印。二.数据结构描述:

struct info

{

int type_a;//类型,因为是1到5,所以采用int型变量

char name_b[10000];//名称

char model_c[10000];//型号,因为二者都可能是字符数字混合,所以采用char型变量

float price;//价格,有可能精确到分,所以选择float型变量,并且保留两位显示

int inside;//库存

int outside;//借出

struct info *next;

};

三.程序模块描述:

1.void buy(void);和void use(void);

分别对应两种权限的使用者:采购员和实验室老师。在屏幕上显示菜

单,通过输入0-X之间的数字调用相应的功能函数。

2.add()

在链表尚不存在的情况下,逐个输入物料记录信息,如类别、物料名

称、型号、数量等。(1)假设新创建链表时只增加库存数量而缺省地

保持借出数量为0;(2)申请内存空间,验证输入数据是否符合要求,

设置输入结束标志。

3.printlist()

显示当前链表中的所有记录,即每种物料的库存和借出情况。

4.update()

根据物料外借、归还、后续购买或报废等不同情况进行物料信息的更

新。例如,当外借物料时,需要根据借出的数量,减少库存数量而增

加外借数量;当归还物料时,增加库存而减少外借数量;当后续购买

库存已有的物料时,需要增加库存信息而保持外借数量不变;当报废

已借出的物料时,需要减少外借数量而保持库存信息不变。

5.delate()

删除指定型号的物料记录并释放该记录占用的内存空间。

6.find()

按型号查找并显示记录。并扩展为可以选择按照单价或型号进行查找。

7.save()

将物料信息保存到指定文件(wrecord.txt)中。

8.load()

从指定的文件(rrecord.txt)中读入所有物料记录。

9.quit()

结束软件操作,释放内存后退出。

10.s um()

统计各类别物料的库存数量并保存到文件total.txt中。

11.s ort()

根据库存数量进行排序。并扩展为可以选择按照库存或单价进行排序。

12.s truct info * search(struct info *p,char c[]);

找到符合条件的记录,并返回它的首地址,如没有符合项则返回NULL。

13.i nt login(void);

在进入功能界面前,输入用户名与密码,确定其使用权限,分别返回0或1以进入不同的界面。

我完成的模块主要是:除登录,显示,更新,退出外的其他功能. 1.添加记录

先新开一个结构体变量并初始化,输入其内容时判断这是不是输入的结尾,若不是,则讨论现在链表存在否,并分情况将之链上,同时通过全局变量*head,*p1,*p2定位、count++使得之后的函数都能正确的访问建好的链表。

2.菜单系统

用switch函数来实现不同功能的选择,同时在输入的值是无效时报错、清空键盘缓冲区并提示重新输入。因为有两类用户,所以设计两个界面。

3.删除记录

先通过遍历链表,找到要删除的记录,同时保存目标记录的前一条记录,如果遍历到结尾还没有,则重新初始化变量*p和*pre,重新再找;若找到,分情况讨论要删除的记录的位置,并且将其前后记录链起来(或将*head后移一个),并释放要删除节点的空间。在输入型号时设置了退出到主菜单的出口。

4.查询记录

与delate()的算法基本相同,只是不用定位目标记录的前一条记录,而且只要在找到后打印既可。同样设计了一个出口,供误选此功能的人退出。且通过switch函数可以选择查询的关键词。

5.保存文件

在遍历链表的同时使用fprintf函数将当下记录写入文件,循环条

件由全局计数器count确定,因此之前对链表中记录条数产生影响的操作都必须同时改变count的值。

6.读取文件

算法与save()基本相同,只是在每次读取类型时要先存入缓冲变量,待确定不是停止标记后再写入链表,而在写入时也要判断是否为第一条记录,算法参考add(),结尾时要将*p2的位置调整到和add()结束后一样的地方,即:

p2->next = p1;

这样才能保证读取后还能继续操作。

7.统计总量

遍历链表,同时统计各类型物料记录的库存总量和借出总量并存入数组sum1[5]和sum2[5],在结尾时用循环嵌套fprintf函数将结果存入文本文档total.txt。

8.排序

采用选择排序算法,沿着*head定位的链表遍历,找到库存最大的一条记录,并保存它前一条记录,用*newhead,*newp2来给这条记录赋予新的位置,再将它从旧链上拆下,前后再链起来,如此往复,直到全部排完。注意要将原来的*p2=*newp2,保证后面可以继续对排序后的链表进行操作。结尾打印既可。通过

switch函数可以选择排序关键词。

9.退出系统

循环释放内存空间,注意要先定位到下一条记录再释放。

四. 主要功能块流程图

五. 功能测试记录

1.

登录界面

2.采购员功能表

3.教师功能表

4.添加新纪录

5.更新记录

6.删除记录

7.查询记录

(1)按单价

(2)按型号

8.排序

(1)按价格

(2)按库存

六.调试中遇到的问题

在程序的调试过程中,我们处理了很多问题,例如在各组员完成函数设计的过程中,有许多知识要点是以前没有涉及的,需要我们边学习边完成程序设计,如按格式输入到文件;同时,在将各个组员完成的模块组合后我们发现调试过程中出现了许多由于组员没有及时沟通交流而产生的问题,例如各自定义的变量不一致,导致组合程序时,需要花费很大功夫统一变量,甚至将已经编好的函数弃置不用而重新再编;还有就是一些编程中的细节问题,例如少个等号少个分号,我们经常因为这一点小小的又不容易发现的东西影响程序的运行。

七.心得体会

通过这次小学期的C程序实践实验,我对C语言的程序设计和算法有了

新的认识和了解,对链表指针的运用也更加娴熟,通过用所学知识和组员一同完成程序实践,使我有了用C语言编写小程序的经验,增强了我编

写程序的能力。在设计实践的过程中,一次次的调试使我逐渐了解到编写程序的付出和辛苦,和极度需要的细心与毅力。这为期两周的编程实践对我以后的学习有很多的帮助。

北邮 通信网实验报告

北京邮电大学实验报告通信网理论基础实验报告 学院:信息与通信工程学院 班级:2013211124 学号: 姓名:

实验一 ErlangB公式计算器 一实验内容 编写Erlang B公式的图形界面计算器,实现给定任意两个变量求解第三个变量的功能: 1)给定到达的呼叫量a和中继线的数目s,求解系统的时间阻塞率B; 2)给定系统的时间阻塞率的要求B和到达的呼叫量a,求解中继线的数目s,以实现网络规划; 3)给定系统的时间阻塞率要求B以及中继线的数目s,判断该系统能支持的最大的呼叫量a。 二实验描述 1 实验思路 使用MA TLAB GUITOOL设计图形界面,通过单选按钮确定计算的变量,同时通过可编辑文本框输入其他两个已知变量的值,对于不同的变量,通过调用相应的函数进行求解并显示最终的结果。 2程序界面 3流程图 4主要的函数 符号规定如下: b(Blocking):阻塞率; a(BHT):到达呼叫量;

s(Lines):中继线数量。 1)已知到达呼叫量a及中继线数量s求阻塞率b 使用迭代算法提高程序效率 B s,a= a?B s?1,a s+a?B(s?1,a) 代码如下: function b = ErlangB_b(a,s) b =1; for i =1:s b = a * b /(i + a * b); end end 2)已知到达呼叫量a及阻塞率b求中继线数量s 考虑到s为正整数,因此采用数值逼近的方法。采用循环的方式,在每次循环中增加s的值,同时调用B s,a函数计算阻塞率并与已知阻塞率比较,当本次误差小于上次误差时,结束循环,得到s值。 代码如下: function s = ErlangB_s(a,b) s =1; Bs = ErlangB_b(a,s); err = abs(b-Bs); err_s = err; while(err_s <= err) err = err_s; s = s +1; Bs = ErlangB_b(a,s); err_s = abs(b - Bs); end s = s -1; end 3)已知阻塞率b及中继线数量s求到达呼叫量a 考虑到a为有理数,因此采用变步长逼近的方法。采用循环的方式,在每次循环中增加a的值(步长为s/2),同时调用B s,a函数计算阻塞率并与已知阻塞率比较,当本次误差小于预设阈值时,结束循环,得到a值。 代码如下: function a = ErlangB_a(b,s)

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴 北邮单片机实验报告简易电子琴 2014年小学期单片机设计实验报告题目:基于单片机的电子音乐发生器 班级:班内序号:实验组号:学生姓名:指导教师: 基于单片机的电子音乐发生器 实验摘要 此次本组制作的基于PIC单片机的电子音乐发生器是具有LCD显示屏提示的音乐简单演奏、播放、存储等功能的演示作品,拥有以下4种功能: 1.按键演奏:即“电子琴”功能,可以用键盘上的“1”到“A”键演奏从低音sol到高音do等11个音; 2.点歌功能:即按动“B”“C”键分别演奏两首乐曲(可以表现准确的音高和音长)。3.存储音乐功能:即按右下角“F存储”键,然后按键演奏并存储,随后按“E”键结束,之后按“D键”就可以播放存储的乐曲了; 4.液晶显示功能:即在开始时显示“hello!”,在点播时分别显示“song b”、“song c”,在存储时显示“saving”。 电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连接有喇叭、键盘、LCD液晶显示屏以及其他必要系统调节元件。软件设计中涉及PORTB\PORTC\PORTD\PORTE用作普通数字I/O脚功能。本实验用

单片机PORTB\D接收来自键盘输入的指令信息,由此确定LCD液晶屏幕显示以及喇叭播放内容,再通过PORTC\D\E输出声音或字幕信息。 关键字 单片机——microcontroller芯片——CMOS chip 音乐发生器——music generator 分频——fractional frequency 一、实验论证与比较 本设计的核心器件是单片机芯片和音频功放芯片。单片机采用以Microchip公司的PIC16F87X系列中的PIC16F877芯片为核心构建简单控制系统,它完全可以满足本设计功能的需要。此音乐发生器设计利用单片机的输入输出功能,当按下播放功能键时,单片机的输出功能使外部电路连接的喇叭和LCD液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。 在嵌入式系统设计中,扬声器等是常用的输出设备,它具有使用方便、价格便宜、电路接口简单等优点,因此,在嵌入式系统中被广泛使用。同时随着单片机的发展,其功能越来越强大,技术也越来越成熟,由此生产的音乐播放器越来越受到人们的喜爱。因此,在技术性操作、社会因素和经济方面都具有良好的可行性。我在实验中负责了全部软件设计,代码的编写,电路图的设计,以及部分硬件焊接。其中,困难的部分在于,理论上认为电子音乐发生器模拟真正乐器的仿真实现方法,与现实电路实现起来有着一定的差别,在长音、乐谱存储播放上,以及存储功能的代码

北邮数字电路综合实验报告

数字电路综合实验报告 简易智能密码锁 一、实验课题及任务要求 设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: 1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。通过密码设置确定键(BTN 键)进行锁定。 2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。 3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。闭锁状态下不能清除密码。 4、用点阵显示开锁和闭锁状态。 提高要求: 1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。 2、密码锁的密码位数(4~6 位)可调。

3、自拟其它功能。 二、系统设计 2.1系统总体框图 2.2逻辑流程图

2.3MDS图 2.4分块说明 程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。以下进行详细介绍。 1.键盘模块 本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。 键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。由此可确定按键位置。

北邮通电实验报告

实验3 集成乘法器幅度调制电路 信息与通信工程学院 2016211112班 苏晓玥杨宇宁 2016210349 2016210350

一.实验目的 1.通过实验了解振幅调制的工作原理。 2.掌握用MC1496来实现AM和DSB的方法,并研究已调波与调制信号,载波之间的关系。3.掌握用示波器测量调幅系数的方法。 二.实验准备 1.本实验时应具备的知识点 (1)幅度调制 (2)用模拟乘法器实现幅度调制 (3)MC1496四象限模拟相乘器 2.本实验时所用到的仪器 (1)③号实验板《调幅与功率放大器电路》 (2)示波器 (3)万用表 (4)直流稳压电源 (5)高频信号源 三.实验内容 1.模拟相乘调幅器的输入失调电压调节。 2.用示波器观察正常调幅波(AM)波形,并测量其调幅系数。 3.用示波器观察平衡调幅波(抑制载波的双边带波形DSB)波形。 四.实验波形记录、说明 1.DSB信号波形观察

2.DSB信号反相点观察 3.DSB信号波形与载波波形的相位比较 结论:在调制信号正半周期间,两者同相;负半周期间,两者反相。

4.AM正常波形观测 5.过调制时的AM波形观察(1)调制度为100%

(2)调制度大于100% (3)调制度为30% A=260.0mv B=140.0mv

五.实验结论 我们通过实验了解振幅调制的工作原理是:调幅调制就是用低频调制信号去控制高频振荡(载波)的幅度,使其成为带有低频信息的调幅波。目前由于集成电路的发展,集成模拟相乘器得到广泛的应用,为此本实验采用价格较低廉的MC1496集成模拟相乘器来实现调幅之功能。 DSB信号波形与载波波形的相位关系是:在调制信号正半周期间,两者同相;负半周期间,两者反相。 通过实验了解到了调制度的计算方法 六.课程心得体会 通过本次实验,我们了解了振幅调制的工作原理并掌握了实现AM和DSB的方法,学会计算调制度,具体见实验结论。我们对集成乘法器幅度调制电路有了更好的了解,对他有了更深入的认识,提高了对通信电子电路的兴趣。 和模电实验的单独进行,通电实验增强了团队配合的能力,两个人的有效分工提高了实验的效率,减少了一个人的独自苦恼。

北邮通信原理实验 基于SYSTEMVIEW通信原理实验报告

北京邮电大学实验报告 题目:基于SYSTEMVIEW通信原理实验报告 班级:2013211124 专业:信息工程 姓名:曹爽 成绩:

目录 实验一:抽样定理 (3) 一、实验目的 (3) 二、实验要求 (3) 三、实验原理 (3) 四、实验步骤和结果 (3) 五、实验总结和讨论 (9) 实验二:验证奈奎斯特第一准则 (10) 一、实验目的 (10) 二、实验要求 (10) 三、实验原理 (10) 四、实验步骤和结果 (10) 五、实验总结和讨论 (19) 实验三:16QAM的调制与解调 (20) 一、实验目的 (20) 二、实验要求 (20) 三、实验原理 (20) 四、实验步骤和结果 (21) 五、实验总结和讨论 (33) 心得体会和实验建议 (34)

实验一:抽样定理 一、 实验目的 1. 掌握抽样定理。 2. 通过时域频域波形分析系统性能。 二、 实验要求 改变抽样速率观察信号波形的变化。 三、 实验原理 一个频率限制在0f 的时间连续信号()m t ,如果以0 12S T f 的间隔进行等间隔均匀抽样,则()m t 将被所得到的抽样值完全还原确定。 四、 实验步骤和结果 1. 按照图1.4.1所示连接电路,其中三个信号源设置频率值分别为10Hz 、15Hz 、20Hz ,如图1.4.2所示。 图1.4.1 连接框图

图1.4.2 信号源设置,其余两个频率值设置分别为15和20 2.由于三个信号源最高频率为20Hz,根据奈奎斯特抽样定理,最低抽样频率应 为40Hz,才能恢复出原信号,所以设置抽样脉冲为40Hz,如图1.4.3。 图1.4.3 抽样脉冲设置 3.之后设置低通滤波器,设置数字低通滤波器为巴特沃斯滤波器(其他类型的 低通滤波器也可以,影响不大),截止频率设置为信号源最高频率值20Hz,如图1.4.4。

北邮小学期简易密码锁实验报告

简易智能密码锁实验报告 一、实验要求: 设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: 1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上 显示所输入数字。通过密码设置确定键(BTN 键)进行锁定。 2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密 码,在数码管上显示“-”,提示已输入密码的位数。输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。 3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码, 恢复初始密码“0000”。 闭锁状态下不能清除密码。 4、用点阵显示开锁和闭锁状态。 提高要求: 1、输入密码数字由右向左依次显示,即:每输入一数字显示在 最右边的数码管上,同时将先前输入的所有数字向左移动一位。

2、密码锁的密码位数(4~6 位)可调。 二、系统设计: 1、设计思路:在数字电路设计中,自顶向下设计方法的主要思想是 对数字系统进行划分,将复杂的设计原理简化为相对简单的模块设计,不同的模块用来完成数字系统中某一部分的具体功能。 总体思路:

2、总体框图: 三、仿真波形及波形分析 1、键盘输入模块 图3-1 键盘输入仿真

在上图中,clkjp时钟控制jpcat,jpcat控制kbout从0111到1110变换,然后手动控制kbin来模拟键盘的案件,从jpout就能看到的键入的数字。 2、防抖 图3-2 防抖仿真 上图中可以看见,btn1只在上升沿才有用,而clear会持续到一个周期的最后才会完毕。

北邮微波实验报告整理版

北京邮电大学信息与通信工程学院 微波实验报告 班级:20112111xx 姓名:xxx 学号:20112103xx 指导老师:徐林娟 2014年6月

目录 实验二分支线匹配器 (1) 实验目的 (1) 实验原理 (1) 实验内容 (1) 实验步骤 (1) 单支节 (2) 双支节 (7) 实验三四分之一波长阻抗变换器 (12) 实验目的 (12) 实验原理 (12) 实验内容 (13) 实验步骤 (13) 纯电阻负载 (14) 复数负载 (19) 实验四功分器 (23) 实验目的 (23) 实验原理 (23) 实验内容 (24) 实验步骤 (24) 公分比为1.5 (25) 公分比为1(等功分器) (29) 心得体会 (32)

201121111x 班-xx 号-xx ——电磁场与微波技术实验报告 实验二 分支线匹配器 实验目的 1.熟悉支节匹配器的匹配原理 2.了解微带线的工作原理和实际应用 3.掌握Smith 图解法设计微带线匹配网络 实验原理 支节匹配器是在主传输线上并联适当的电纳(或者串联适当的电抗),用附加的反射来抵消主传输线上原来的反射波,以达到匹配的目的。 单支节匹配器,调谐时主要有两个可调参量:距离d 和由并联开路或短路短截线提供的电纳。匹配的基本思想是选择d ,使其在距离负载d 处向主线看去的导纳Y 是Y0+jB 形式。然后,此短截线的电纳选择为-jB ,根据该电纳值确定分支短截线的长度,这样就达到匹配条件。 双支节匹配器,通过增加一个支节,改进了单支节匹配器需要调节支节位置的不足,只需调节两个分支线长度,就能够达到匹配(但是双支节匹配不是对任意负载阻抗都能匹配的,即存在一个不能得到匹配的禁区)。 微带线是有介质εr (εr >1)和空气混合填充,基片上方是空气,导体带条和接地板之间是介质εr ,可以近似等效为均匀介质填充的传输线,等效介质电常数为 εe ,介于1和εr 之间,依赖于基片厚度H 和导体宽度W 。而微带线的特性阻抗与其等效介质电常数为εe 、基片厚度H 和导体宽度W 有关。 实验内容 已知:输入阻抗Z 75in ,负载阻抗Z (6435)l j ,特性阻抗0Z 75 ,介质基片 2.55r ,1H mm 。 假定负载在2GHz 时实现匹配,利用图解法设计微带线单支节和双支节匹配网络,假设双支节网络分支线与负载的距离114d ,两分支线之间的距离为21 8 d 。画出几种可能的电路图并且比较输入端反射系数幅度从1.8GHz 至2.2GHz 的变化。 实验步骤 1.根据已知计算出各参量,确定项目频率。 2.将归一化阻抗和负载阻抗所在位置分别标在Smith 圆上。 3.设计单枝节匹配网络,在图上确定分支线与负载的距离以及分支线的长度,根据给定的介质基片、特性阻抗和频率用TXLINE 计算微带线物理长度和宽度。此处应该注意电长度和实际长度的联系。 4.画出原理图,在用微带线画出基本的原理图时,注意还要把衬底添加到图中,将各部分的参数填入。注意微带 分支线处的不均匀性所引起的影响,选择适当的模型。 5.负载阻抗选择电阻和电感串联的形式,连接各端口,完成原理图,并且将项目的频率改为1.8—2.2GHz 。 6.添加矩形图,添加测量,点击分析,测量输入端的反射系数幅值。 7.同理设计双枝节匹配网络,重复上面的步骤。

北京邮电大学电路实验报告-(小彩灯)

北京邮电大学电路实验报告-(小彩灯)

电子电路综合实验报告课题名称:基于运算放大器的彩灯显示电路的设计与实现 姓名:班级:学号: 一、摘要: 运用运算放大器设计一个彩灯显示电路,通过迟滞电压比较器和反向积分器构成方波—三角波发生器,三角波送入比较器与一系列直流电平比较,比较器输出端会分别输出高电平和低电平,从而顺序点亮或熄灭接在比较器输出端的发光管。 关键字: 模拟电路,高低电平,运算放大器,振荡,比较 二、设计任务要求: 利用运算放大器LM324设计一个彩灯显示电路,让排成一排的5个红色发光二极管(R1~R5)重复地依次点亮再依次熄灭(全灭→R1→R1R2→R1R2R3→R1R2R3R4→R1R2R3R4R5→R1R2R3R4→R1R2R3→R1R2→R1→全灭),同时让排成一排的6个绿色发光二极管(G1~G6)单光

三角波振荡电路可以采用如图2-28所示电路,这是一种常见的由集成运算放大器构成的方波和三角波发生器电路,图2-28中运放A1接成迟滞电压比较器,A2接成反相输入式积分器,积分器的输入电压取自迟滞电压比较器的输出,迟滞电压比较器的输入信号来自积分器的输出。假设迟滞电压比较器输出U o1初始值为高电平,该高电平经过积分器在U o2端得到线性下降的输出信号,此线性下降的信号又反馈至迟滞电压比较器的输入端,当其下降至比较器的下门限电压U th-时,比较器的输出发生跳变,由高电平跳变为低电平,该低电平经过积分器在U o2端得到线性上升的输出信号,此线性上升的信号又反馈至迟

滞电压比较器的输入端,当其上升至比较器的上门限电压U th+时,比较器的输出发生跳变,由低电平跳变为高电平,此后,不断重复上述过程,从而在迟滞电压比较器的输出端U o1得到方波信号,在反向积分器的输出端U o2得到三角波信号。假设稳压管反向击穿时的稳定电压为U Z,正向导通电压为U D,由理论分析可知,该电路方波和三角波的输出幅度分别为: 式(5)中R P2为电位器R P动头2端对地电阻,R P1为电位器1端对地的电阻。 由上述各式可知,该电路输出方波的幅度由稳压管的稳压值和正向导通电压决定,三角波的输 出幅度决定于稳压管的稳压值和正向导通电压以及反馈比R1/R f,而振荡频率与稳压管的稳压值和正向导通电压无关,因此,通过调换具有不同稳压值和正向 导通电压的稳压管可以成比例地改变方波和三角波的幅度而不改变振荡频率。 电位器的滑动比R P2/R P1和积分器的积分时间常数R2C的改变只影响振荡频率而 不影响振荡幅度,而反馈比R1/R f的改变会使振荡频率和振荡幅度同时发生变化。因此,一般用改变积分时间常数的方法进行频段的转换,用调节电位器滑动头 的位置来进行频段内的频率调节。

北京邮电大学数字电路实验报告

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:QuartusII原理图输入 法设计与实现 学院:北京邮电大学 班级: 姓名: 学号:

一.实验名称和实验任务要求 实验名称:QuartusII原理图输入法设计与实现 实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。 ⑵掌握QuartusII图形模块单元的生成与调用; ⑶熟悉实验板的使用。 实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑 门设计实现一个半加器,生成新的半加器图像模 块。 ⑵用实验内容(1)中生成的半加器模块以及逻辑门 实现一个全加器,仿真验证其功能,并能下载到实 验板上进行测试,要求用拨码开关设定输入信号, 发光二级管显示输出信号。 ⑶用3线—8线译码器(74L138)和逻辑门实现要求 的函数:CBA F+ C + =,仿真验证其 + B C B A A A B C 功能,,并能下载到实验板上进行测试,要求用拨 码开关设定输入信号,发光二级管显示输出信号。二.设计思路和过程 半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。 a表示加数,b表示被加数,s表示半加和, co表示向高位的进位。

⑵由数字电路与逻辑设计理论知识可知 b a s ⊕=;b a co ?= 选择两个逻辑门:异或门和与门。a,b 为异 或门和与门的输入,S 为异或门的输出,C 为与门的输出。 (3)利用QuartusII 仿真实现其逻辑功能, 并生成新的半加器图形模块单元。 (4)下载到电路板,并检验是否正确。 全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构 成。全加器有三个输入值a,b,ci ,两个输 出值s,co :a 为被加数,b 为加数,ci 为低 位向高位的进位。 ⑵全加器的逻辑表达式为: c b a s ⊕⊕= b a ci b a co ?+?⊕=)( ⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。 用3线—8线译码器(74L138)和逻辑门设计实现函数 CBA A B C A B C A B C F +++= 设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块

北邮《现代通信技术》实验报告一

现代通信技术实验报告 班级: 2012211110 学号: 2012210299 姓名:未可知

在学习现代通信技术实验课上,老师提到的一个词“通信人”警醒了我,尽管当初填报志愿时选择了通信工程最终也如愿以偿,进入大三,身边的同学忙着保研、考研、出国、找工作,似乎大家都为了分数在不懈奋斗。作为一个北邮通信工程的大三学生,我也不断地问自己想要学习的是什么,找寻真正感兴趣的是什么,通信这个行业如此之大,我到底适合什么。本学期,现代通信技术这本书让我了解到各种通信技术的发展和规划,也让我对“通信人”的工作有了更深刻的认识。 一、通信知识的储备 《现代通信技术》第一页指出,人与人之间通过听觉、视觉、嗅觉、触觉等感官,感知现实世界而获取信息,并通过通信来传递信息。所谓信息,是客观事物状态和运动特征的一种普遍形式,客观世界中大量地存在、产生和传递着以这些方式表示出来的各种各样的信息。信息的目的是用来“消除不可靠的因素”,它是物质运动规律总和。因此,我们通信人的任务就是利用有线、无线等形式来将信息从信源传递到信宿,在传输过程中保证通信的有效性和可靠性。 而具体来讲,要实现信息传递,通信网是必需的通信体系,其中通信网分层的结构形式需要不同的支撑技术,包括业务网技术,向用户提供电话、电报、数据、图像等各种电信业务的网络;介入与传送网技术,实现信息由一个点传递到另一个点或一些点的功能。对此,我们通信工程专业学习课程的安排让我们一步步打下基础,建立起知识储备。 知识树如下: 如知识树所述,通信工程课程体系可以大致分为一下6类基础:

数学基础:工科数学分析,线性代数,复变函数,概率论基础,随机过程; 电路基础:电路分析,模拟电子技术,数字逻辑电路,通信电子电路; 场与波基础:电磁场与电磁波,微波技术,射频与天线; 计算机应用能力:C 语言程序设计,微机原理与接口技术,计算机网络,数据结构,面向对象程序设计,实时嵌入式系统 信号处理类课程:信号与系统,信号处理,图像处理,DSP 原理及应用; 通信类课程:通信原理,现代通信技术,信息论基础,移动通信,光纤通信等。 从大一开始学习的工科数学分析,大学物理,大学计算机基础等课程为基础类课程,旨在培养我们的语言能力,数学基础,物理基础,计算机能力,然后逐步加大难度,细化课程,方向逐渐明朗详细。同时,课程中加入了各种实验,锻炼了我们的动手能力。 二、通信知识的小小应用 实验课上老师说过,以我们所学的知识已经可以制作简单通信的手机的草图了,我对此跃跃欲试。经过思考和调研,以下是我对于简单手机设计的原理框图和思考结果。 一部手机的结构包括接收机、发射机、中央控制模块、电源和人机界面部分,如下图 手机结构设计图 电路部分包括射频和逻辑音频电路部分,射频电路包括从天线到接收机的解调输出,与发射的I/O 调制到功率放大器输出的电路。其中,射频接收电路完成接收信号的滤波、信号放大、解调等功能;射频发射电路完成语音基带信号的调制、变频、功率放大等功能。要用到的超外差接收机、混频器、鉴相器等在《通信电子电路》书本中的知识。逻辑音频包括从接收解调到接收音频输出、送话器电路到发射I/O 调制器及逻辑电路部分的中央处理单元、数字语音处理及各种存储器电路。由核心控制模块CPU 、EEPROM 、 FLASH 、SRAM 等部分组成,一个基本 天线 接收机 发射机 频率合成 电源 逻 辑 音 频 人 机 交 互

北邮小学期电子秤实验报告

2015年小学期单片机设计实验报告 题目:计价电子秤 班级:20 班内序号: 实验组号: 学生姓名: 指导教师:

计价电子秤 ——2013211119班曾霜霜实验摘要 本次我们制作的是基于压力传感器的既可显示重物质量又可输入单价计算总价的计价电子秤。整个系统中,微控制器采用了Microchip公司的PIC16F877A,软件设计中涉及PORTA0作为模拟量输入端;用PORTB作为数字量输入端,连接键盘输入重物的单价;PORTA1-3作为数字输出端口连接液晶屏使能端,PORTC作为数字输出端口连接液晶屏,最终显示重物的种类,单价和总价。 概括的说,本实验是通过压力传感器形变后产生的模拟信号经过数模转换、量化、显示获得重物质量,然后输入单价后进行乘法运算的过程。 A b s t r a c t In this experiment, we made a denominated electronic scale based on the pressure sensor, which can automatically display the weight of the heavy, input the unit price and even calculate the total price of the heavy. Throughout the system, the production of the Microchip cord--PIC16F877A is used as the microcontroller. Software design involves PORTA0 as simulation input port, the analog signal to the microcontroller and digital to analog conversion, as a digital enable output port to control the screen with PORTA1-PORTA3, using PORTB as the digital input port, connect the 4*4 keyboard input weight unit, PORTC as the digital output port is connected with the LCD screen, display the weight categories, unit price and total value. In summary, this experiment was carried out by the analog signal generated by the pressure sensor deformation after digital to analog conversion, quantization to get the weight display quality, and then enter the unit price after the multiplication process.

北邮arduino实验报告

电子电路综合实验设计 实验名称: 基于 Arduino 的电压有效值测量电路设计与实现 学院: 班级: 学号: 姓名: 班内序号:

实验 基于Arduino 的电压有效值测量电路设计与实现 一. 摘要 Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。 关键字:半波整流整流滤波 Arduino最小系统读取电压有效值 二. 实验目的 1、熟悉Arduino 最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标通过分析计算确定电路形式和元器件参数; 4、画出电路原理图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino 系统编程方法。 三. 实验任务及设计要求 设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。 1、基本要求 (1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁; (2)电源部分稳定输出5V 工作电压,用于系统供电; (3)设计峰值半波整流电路,技术指标要求如下:

北邮通信原理实验报告

北京邮电大学通信原理实验报告 学院:信息与通信工程学院班级: 姓名: 姓名:

实验一:双边带抑制载波调幅(DSB-SC AM ) 一、实验目的 1、了解DSB-SC AM 信号的产生以及相干解调的原理和实现方法。 2、了解DSB-SC AM 信号波形以及振幅频谱特点,并掌握其测量方法。 3、了解在发送DSB-SC AM 信号加导频分量的条件下,收端用锁相环提取载波的原理及其实现方法。 4、掌握锁相环的同步带和捕捉带的测量方法,掌握锁相环提取载波的调试方法。 二、实验原理 DSB 信号的时域表达式为 ()()cos DSB c s t m t t ω= 频域表达式为 1 ()[()()]2 DSB c c S M M ωωωωω=-++ 其波形和频谱如下图所示 DSB-SC AM 信号的产生及相干解调原理框图如下图所示

将均值为零的模拟基带信号m(t)与正弦载波c(t)相乘得到DSB—SC AM信号,其频谱不包含离散的载波分量。 DSB—SC AM信号的解调只能采用相干解调。为了能在接收端获取载波,一种方法是在发送端加导频,如上图所示。收端可用锁相环来提取导频信号作为恢复载波。此锁相环必须是窄带锁相,仅用来跟踪导频信号。 在锁相环锁定时,VCO输出信号sin2πf c t+φ与输入的导频信号cos2πf c t 的频率相同,但二者的相位差为φ+90°,其中很小。锁相环中乘法器的两个 输入信号分别为发来的信号s(t)(已调信号加导频)与锁相环中VCO的输出信号,二者相乘得到 A C m t cos2πf c t+A p cos2πf c t?sin2πf c t+φ =A c 2 m t sinφ+sin4πf c t+φ+ A p 2 sinφ+sin4πf c t+φ 在锁相环中的LPF带宽窄,能通过A p 2 sinφ分量,滤除m(t)的频率分量及四倍频载频分量,因为很小,所以约等于。LPF的输出以负反馈的方式控制VCO,使其保持在锁相状态。锁定后的VCO输出信号sin2πf c t+φ经90度移相后,以cos2πf c t+φ作为相干解调的恢复载波,它与输入的导频信号cos2πf c t 同频,几乎同相。 相干解调是将发来的信号s(t)与恢复载波相乘,再经过低通滤波后输出模拟基带信号 A C m t cos2πf c t+A p cos2πf c t?cos2πf c t+φ =A c 2 m t cosφ+cos4πf c t+φ+ A p 2 cosφ+cos4πf c t+φ 经过低通滤波可以滤除四倍载频分量,而A p 2 cosφ是直流分量,可以通过隔直

北邮大二下小学期机器狗实习报告

北京邮电大学实习报告

1.焊接工艺 1.1 焊接工艺的基本知识 焊接是使金属连接的一种方法,也称作熔接、镕接,是一种以加热、高温或者高压的方式接合金属或其他热塑性材料如塑料的制造工艺及技术。焊接通过下列三种途径达成接合的目的: 1,、加热欲接合之工件使之局部熔化形成熔池,熔池冷却凝固后便接合,必要时可加入熔填物辅助 2、单独加热熔点较低的焊料,无需熔化工件本身,借焊料的毛细作用连接工件(如软钎焊、硬焊) 3、在相当于或低于工件熔点的温度下辅以高压、叠合挤塑或振动等使两工件间相互渗透接合(如锻焊、固态焊接) 依具体的焊接工艺,焊接可细分为气焊、电阻焊、电弧焊、感应焊接及激光焊接等其他特殊焊接。 焊接的能量来源有很多种,包括气体焰、电弧、激光、电子束、摩擦和超声波等。除了在工厂中使用外,焊接还可以在多种环境下进行,如野外、水下和太空。无论在何处,焊接都可能给操作者带来危险,所以在进行焊接时必须采取适当的防护措施。焊接给人体可能造成的伤害包括烧伤、触电、视力损害、吸入有毒气体、紫外线照射过度等。 它利用加热手段,在两种金属的接触面,通过焊接材料的原子或分子的相互扩散作用,使两种金属间形成一种永久的牢固结合。利用焊接的方法进行连接而形成的接点叫焊点。我们实验中主要是PCB板的焊接。 PCB板焊接工艺从大类上可以分为机器焊接和手工焊接。机器焊接不是我们学习的重点,仅作了解,机器焊接可使用波峰焊机来进行。 1.2 焊接工具、焊料、焊剂的类别与作用 如左下图为手工焊接的基本工具示意图,主要工具和材料是电烙铁、镊子、螺丝刀、钳子等。本实验采用的烙铁为内热式。

如右上图为焊接材料分类示意图,焊接材料分为焊料和焊剂,焊料主要是焊锡(内含助焊剂),焊剂主要是助焊剂和阻焊剂。 下面以列表的形式给出各项材料的作用。 1.3焊接方法 手工焊接方法: 1、准备施焊,检查焊件、焊锡丝、烙铁,保持焊件和烙铁头的干净,并对烙铁进行预热; 2、加热焊件,用烙铁头加热焊件各部分,加热时不要施压; 3、熔化焊料,焊锡丝从烙铁对面接触焊件,将焊丝至于焊点,是焊料融化并润湿焊点; 4、移开焊锡,当融化的焊料在焊点上堆积一定量后,移开锡丝; 5、移开烙铁,当焊锡完全润湿后,迅速移开烙铁,在焊锡凝固前保持焊件为静止状态。 本次实习采用的焊接方法示意图如下:

北邮c++小学期实验报告

面向对象程序设计与实践 c++实验总结报告 实验一简单C++程序设计 1.猜价格游戏 编写C++程序完成以下功能: (1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数); (2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示; (3)直到猜对为止,并给出提示。 题目1-1总结: 1)本题需要随机生成整数,我开始只使用rand(),即price=rand();来生成随机整数 但这样只是一个伪随机函数,每一次重新打开程序生成的数都是一致的。 因此加入时间随机种子:srand((unsigned)time(NULL)) 2)个人改进1:定义最大值最小值,在每次猜测数字时显示应猜的数字范围,作为提示。 想到这个是因为有一次猜了很多遍都没猜到,一时突然忘记猜到什么范围,然后往前翻猜过的数字和大小感觉相当麻烦,所以就添上了应猜范围,方便再一次猜数。 3)个人改进2:本来有一个判断条件判断生成的随机数是不是1~1000范围内,而后更进为

随机生成整数对1000取余得到0~999整数,再+1得到1~1000的整数。 实验二类与对象 1.矩形 编写C++程序完成以下功能: (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标; (4)观察矩形对象以及Point类成员的构造函数与析构函数的调用; (5)计算其面积,并输出。

题目2-1总结: 1)这一题是第一次用到class类的题目,开始并不明白为何要定义class,然后还需要区分 public和private。而后来去图书馆借了书看到c++最大特色就是可以封装,定义私有属性和公有函数,以确保有些函数和参数不会被轻易访问到,降低错误率。

北邮-电子电路综合设计实验(函数信号发生器)报告

电子电路综合设计实验报告 实验1 函数信号发生器的设计与实现 姓名:------ 学号:---------- 班内序号:--

一. 实验名称: 函数信号发生器的设计与调试 二.实验摘要: 采用运放组成的积分电路产生方波-三角波,可得到比较理想的方波和三角波。根据所需振荡频率的高低和对方波前后沿陡度的要求以及对所需方波、三角波的幅度可以确定合适的运放以及稳压管的型号、所需电阻的大小和电容的值。三角波-正弦波的转换是利用差分放大器来完成的,选取合适的滑动变阻器来调节三角波的幅度以及电路的对称性。同时利用隔直电容、滤波电容来改善输出正弦波的波形。 关键词: 方波三角波正弦波频率可调 三、设计任务要求 1.基本要求: (1)输出频率能在1-10KHz范围内连续可调,无明显失真; (2)方波输出电压Uopp=12V,上升、下降沿小于10us,占空比可调范围30%-70%; (3)三角波Uopp=8V; (4)正弦波Uopp错误!未找到引用源。1V. (5)设计该电路的电源电路(不要求实际搭建) 2.提高要求: (1)正弦波、三角波和方波输出波形的峰峰值Uopp均可在1V-10V内连续可调。 (2)三种输出波形的输出端口的输出阻抗小于100Ω。 (3)三种波形从同一端口输出,并能够显示当前输出信号的种类、大小和频率 (4)用CPLD设计DDS信号源 (5)其他函数信号发生器的设计方案 四、设计思路以及总体结构框图 本课题中函数发生器结构组成如下所示:由比较器和积分器组成方波—三角波产生电

路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。 图4-1 函数信号发生器的总体框图 五.分块电路和总体电路的设计 (1)方波——三角波产生电路 图5-1 方波-三角波产生电路

北邮程序设计实验报告

程序设计实践 设 计 报 告 课题名称:邮件客户端学生姓名: 班级: 2 班内序号:16 学号: 2 日期:2014.6.4

1.课题概述 1.1课题目标和主要内容 本课题主要通过MFC的方式,利用SOCKET以及SMTP相关知识,来实现邮件(可携带附件)的定向发送,借此来复习和巩固C++编程的基本思想;学习SOCKET以及SMTP的相关知识,了解复杂网络应用程序的设计方法,并独立完成一个网络应用。 1.2系统的主要功能 1.邮件的发送(不携带附件) 2.邮件的发送(携带附件) 3.邮件接收 2. 系统设计 2.1 系统总体框架 程序的功能由MyEmailClientDlg.cpp,SMTP.cpp,MailMessage.cpp,Base64.cpp, MIMECode.cpp,MIMEContentAgent.cpp,MIMEMessage.cpp,AppOctetStream.cpp, MyEmailClient.cpp,StdAfx.cpp,TextPlain.cpp来实现。其中MIMECode.cpp, MIMEContentAgent.cpp,MIMEMessage.cpp, AppOctetStream.cpp, TextPlain.cpp来对MIME 协议进行封装,Base64.cpp来对Base64编码进行封装,SMTP.cpp是对SMTP协议进行封装,MailMessage.cpp是利用MIME协议对邮件内容的一个处理,最终通过MyEmailClientDlg.cpp 来实现邮件的发送的功能。 2.2 系统详细设计 [1] 模块划分图及描述 协议模块:包括网络应用程序中的各种协议,包括STMP协议,MIME协议等。 处理模块:主要实现对数据的进行编码以及解码。 实现模块:主要内容为邮件发送的具体步骤,相关按钮操作。 [2] 类关系图及描述 协议类:CSMTP, CTEXTPlai, CMIMECode,C MIMEContentAgent,C MIMEMessage, CAppOctetStream, CTextPlain.主要为协议中信息处理的中作用 编码类:Base64, MailMessage.主要为对邮件信息的处理

北邮小学期AVR单片机电子琴实验报告

小学期AVR单片机实验报告实验题目:基于ATmega16L单片机的电子琴设计 学生姓名:学渣 班级:2012XXXXXX 班内序号:XX 学号:2012XXXXXX 日期:2014年9月30日 同组同学:学渣

目录: 一、实验介绍 (3) 1.1实验课题名称 (3) 1.2实验平台 (3) 1.3实验课题关键字..............................3 1.4实验摘要 (3) 二、小组分工 (3) 三、基本题目训练——流水灯与数码管秒表计时器 (3) 3.1实现功能 (3) 3.2程序代码分析 (4) 3.3实验结果图片 (7) 四、有关发声的基础知识 (7) 五、电子琴的设计与测试 (9) 5.1设计过程 (9) 5.2实验所需元器件 (9) 5.3实验程序主要流程图 (10) 5.4实验原理及原理图 (10) 5.4.1实验原理 (10) 5.4.2原理图 (11) 5.5各个模块的设计与讲解 (11) 5.6程序源代码及程序分析 (14) 5.7实验结果..................................... ..24 六、排错过程............................ . (26) 七、心得体会 (29) 八、参考文献 (32) 九、意见与建议 (33)

一、实验介绍: 1.1实验课题名称:基于ATmega16L单片机的电子琴设计 1.2实验平台:本实验所用平台为AVR Studio 4 1.3实验课题关键字: ATmega16L型单片机电子琴键盘按键 LCD液晶显示屏 1.4实验摘要: 本实验设计的电子琴拥有可视化操作界面,能实现即时弹奏音乐、音乐播放、音乐变速、音乐变调,并可以进行任意长度录音(通过按键记录音阶)等功能 二、小组分工: ●XXX负责电路硬件的连接和报告的撰写 ●XXX负责程序代码的编写 ●XXX负责资料的收集整理和查阅 三、基本题目训练——流水灯与数码管秒表计时器 3.1功能:八盏LED二极管按顺序依次循环点亮,实现流水灯的效果,同时两只数码管分别代表秒和十分之一秒,进行秒表计时,配有

相关文档
最新文档