本期实验:
模拟工厂里的产品扫描计数器:
实验二,在16位简单计数器的基础上,拓展为32计数,即个计数单元。本期目的:不是简单地通过增加变量来拓展计数器的容量,而是要通过编程来判断变量1和变量2的状态来整合成一个完整的32位计数器。
:选用51单片机实验板上的S2和S3键。其中S2用于模拟代替扫描开关,当有产品经过时,会使S2送出低电平(本程序中是用手按下S2来模拟)S2每按一下,便会使数码管上的计数器加一,达到一亿的时候全部清零,重新计数。
S3用于对计数手动清零。
注释:由于我们的51单片机是16位的计数器,所以它的程序设计里的变量 也只能使用int的类型变量,也就是 值为。这一期我们在上一期的基础上,利用编程的方法,将我们现有的单片机拓展到32位的计数,也就是能够达到一亿以内的计数了,这基本上能够满足大部分的计数需求了。学会这种方法后,再只要添加变量和对变量的分析就可以实现任何数据的计数了。
实验步骤:
1,首先打开上次收藏的“c51代码生成器”在线编译器网页。只要按照图一里面的步骤搭建就都可以完成(不清楚的可以后台留言咨询)。
拼接顺序:如图一图二图三所示
2,搭建好的积木点击保存并复制代码。
3,打开keil编译器软件,在文本框里粘贴,生成hex文件。
4,打开烧录软件,找到刚刚的hex文件,下载到单片机。
实验效果:如图四所示
实验解释及编程思路:
我们知道单片机最常用的功能之一就是检测端口的输入状态和改变其他端口的高低电平输出状态。所以,我们可以让单片机高频扫描我们指定的某一端口,检测它是否有低电平出现,每来一次低电平计数器加一,并且实时用数码管显示出来。实际应用中我们根据不同的产品使用不同的传感器,传感器输出的电平信号被送到单片机的端口完成我们信号的采集。
这里我们用S2按键模拟代替扫描开关,当有产品经过时,会使S2送出低电平(本程序中是用手按下S2来模拟)S2每按一下,便会使数码管上的计数器加一。S3用于对计数清零。
图一综合拼接图上半部分
图二综合拼接图下半部分
图三综合拼接全面图核心部分
00:21图四视频效果图
附:
转载请注明地址:http://www.abmjc.com/zcmbjc/1812.html