预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机课程设计报告 设计题目:频率可调方波发生器 专业班级:生物医学工程09班 组长:李建华 组员:梁国锋,赖水兵,郭万劲,李建华 2010年06月16日 摘要 本实验是基于PHILIPSAT89C51单片机所设计的,可以实现键位与数字动态显示的一 种频率可调方波发生器。通过键盘键入(10HZ-9999HZ)随机频率,使用七段数码管显示,每 一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入,然后数码管显示 输入的数值,方波发生器输出以数码管显示的数值为频率的方波。 关键词:单片机七段数码管键盘电路频率可调方波发生器 一、目的和功能 1.1目的: 设计一种频率范围限定且可调的方波发生器,志在产生特定频率的方波。 1.2功能: 假设键盘是4*4的键盘,当键盘输入范围在10hz-9999hz的数字,单片机控制数码管显 示该数值,并把该数值当做方波发生器的输入频率,单片机控制该方波发生器以该数值作为 频率显示方波,从而得到我们想要频率的方波。 二、硬件设计 2.1硬件设计思想 键盘的数字和键位关系固定,通过键盘输入产生频率,通过LED数码管显示出来,每 一个数码管对应一个键位。基本设备是基于PHILIPSAT89C51单片机,外围设备采用的是4 个七段数码管,PHILIPSAT89C51单片机,1个OSCILLOSCOPE方波发生器,16个Button, 若干电阻,电源电池。 2.2部分硬件方案论述 2.2.1七段数码管扫描显示方式的方案比较 方案一:静态显示方式:静态显示方式是指当显示器显示某一字符时,七段数码管的 每段发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一 个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的 情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新 子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源 较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将 增加。 方案二:动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫 描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中 的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电 流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度, 又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态 扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。动态 显示器的优点是节省硬件资源,成本较低。但在控制系统运行过程中,要保证显示器正常显 示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效 率,同时显示亮度较静态显示器低。 由于PHILIPSAT89C51单片机本身提供的I/O口有限,因此我们选择方案二——动态 扫描方式。扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的约1ms, 但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮, 但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电 能,节省了I/O口。 2.2.2键盘连接方式方案比较 方案一:独立式键盘 一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接mega16的I/O 口。独立式键盘每一按键都需要一根I/O线,占用mega16的硬件资源较多。因此独立式键 盘只适合按键较少的场合。键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的 代码。特点:使用方便、结构复杂、成本高。 方案二:矩阵式键盘 我们采用4×4矩阵式键盘,键盘的行线X0~X3通过电阻接+5V,当键盘没有键闭合时, 所有的行线和列线断开,行线X0~X3均呈高电平。当键盘上某一键闭合时,该键所对应的 行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机 的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余 三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、 X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为 低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1 为低电平,其余列线为高电平,用同样的方法