实验报告太原理工
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原理工大学现代科技学院实验报告
实验一:LED灯控制系统设计
一、实验目的
学习掌握LED灯控制系统的设计方法
二、实验要求
利用89C51单片机来控制实验板上的8个LED灯,让这8个LED灯分成两组(高4位与低4位)交替闪烁。
三、请画出硬件电路原理图
根据实验要求和实验板现有电路画出LED灯控制系统的硬件电路原理图。
将硬件电路原理图画在下面的空白处,可手画,也可用软件画。
太原理工大学现代科技学院实验报告
四、画出程序的流程图 五、按照流程图编写程序(C 语言) …
…
……
……
……
……
……
…
装…
……
……
……
……
…
……
……
订…
……
……
…
……
……
……
……
…线
…
……
……
……
……
……
…
……
……
…
太原理工大学现代科技学院实验报告
六、验证所设计的系统
通过实验板验证所设计的系统是否达到要求
1.所设计的硬件电路是否符合设计要求?
2.所设计的程序是否符合设计要求?
3.如果所设计的系统没有达到要求,存在的问题是什么?是如何改正的?
七、你对本课程的实验有何好的建议?
太原理工大学现代科技学院实验报告
实验二:数码管显示控制系统设计
一、实验目的
1.了解按钮开关的原理;了解按钮开关输入电路的设计方法;掌握按钮开关的输入方法和编程方法。
2.了解七段数码管的原理;了解七段数码管输出电路的设计方法;
二、实验原理
1.按钮开关和按钮开关输入电路的原理
按钮开关的特点就是具有自动恢复的功能:按下按钮,电路接通;松开按钮,恢复电路的切断状态当把按钮作为电路的输入器件时,一般是将其连接到电源或地,如图1所示。
图1 按钮开关输入电路设计
按钮开关一般为开路状态,图(a)中按钮开关通过上拉电阻连接电源,使单片机的输入引脚保持高
电平;若按下按钮,单片机的输入引脚将变成低电平,松开按钮单片机的输入引脚将恢复高电平,此
操作可产生一个负脉冲信号。
反之,如图(b)所示,单片机的输入引脚保持为低电平。
若按下按钮,单
片机的输入引脚变成高电平;松开按钮,单片机的输入引脚恢复低电平,此操作可产生一个正脉冲信号。
2.七段LED数码管及其输出电路的原理
七段LED数码管是利用8个LED组合成的显示器,其中七个用于数字,可显示0~9这10个数字;一个用于显示小数点。
七段LED数码管可分为共阳极和共阴极两种。
图2中的虚线框内是七段LED数码管的结构,其中:图(a)为共阳极结构,图(b)为共阴极结构。
太原理工大学现代科技学院实验报告
图2 七段LED数码管的结构
在输出电路中,共阳极七段LED数码管的公共端接电源,阴极引脚连接限流电阻;共阴极七段LED数码管的公共端接地,阳极引脚接限流电阻。
3.“抖动”现象和“去抖动”函数
在实际操作按钮开关时,输入信号由高电平变为低电平或由低电平变为高电平的过程中,都会产生抖动现象。
所谓“抖动”,就是输出的电平信号呈现高低变化的波折。
这种“抖动”信号是一种噪声,必须消除。
可以用软件的方法来消除“抖动”:在读入第一个状态的输入信号时,执行20ms的延迟函数。
当
按下按钮的瞬间,程序执行debouncer函数,而这个函数就是一个延迟函数,内容如下:(这个函数就
是本次实验程序的子程序)
void debouncer(void) // “去抖动”函数开始
{ int i; // 声明变量
for (i=0; i<2400;i++) // 连续数2400次
} // “去抖动”函数结束
三、实验任务
利用89C51单片机控制实验板上一个数码管显示数字的递增、递减。
要求数码管初始显示为0;用两个按钮开关(PB1和PB2)分别控制这个数码管显示数字的递增功能和递减功能。
如实现数字递增可按一下按钮的开关PB1,数码管显示为1,再按一下显示为2,等等;当数码管显示为9时,再按一下PB1,数码管又显示数字0,等等,依次类推;按钮开关PB2同理。
四、请画出硬件电路原理图
太原理工大学现代科技学院实验报告
五、画出程序的流程图
六、写出程序(C语言)
程序设计提示:
根据电路原理和功能要求,首先将共阳极七段LED数码管的驱动信号存储为字符数组,即:Char code TAB[10] = { oxco,oxf9,oxa4,oxb0,ox99,
ox92,ox83,ox80,ox98};
主程序刚开始时,共阳极七段LED数码管显示0,也就是从数组中输出第一个数据。
然后判断PB1是否为0,若PB1=0,则输出下一个数据,若超过10个数据,则从第一个数据开始。
紧接着判断PB2是否为0,若PB2=0,则输出上一个数据;若显示的是第一个数据0,则输出第10个数据9。
程序的子程序参见上述的“去抖动”函数。
太原理工大学现代科技学院实验报告
七、验证所设计的系统
通过实验板验证所设计的系统是否达到要求:
1.所设计的硬件电路是否符合设计要求?
2.所设计的程序是否符合设计要求?
3.如果所设计的系统没有达到要求,存在的问题是什么?是如何改正的?
八、你对本课程的实验有何好的建议
太原理工大学现代科技学院实验报告。