第十三组单片机最小系统实验报告 下载本文

开始 否 是否有键按下 是 是否是抖动 是 扫描键盘,确定按键 按照键盘子程序中的数码管字符通过P1相应输出 键盘控制数码管流程图

4、实验遇到的问题:我们在做键盘实验时,曾经遇到了这个问题:键盘的第1、2、4排键是好的,而第三排键却出现了问题,失灵了。我们仔仔细细检查了好多遍,没发现任何问题,可就是不行。最后我们发现问题又是出现在仿真器上,换了仿真器后,所有问题都解决了。

5、小结:这个实验让我们第一次接触到用单片机来控制某个器件。这让我们联想到所有用按键来控制某个操作的工作原理(软件跟硬件相结合来控制某个操作)。至少软件编程是一样的(用到JNB P3.7,SIGNAL)。

四、蜂鸣器

1、实验原理:通过我们送给蜂鸣器高低变化的电平使蜂鸣器振动,从而发声。

2、实验原理图:

9

BUZ1BUZZERQ7RST2N1711P2.6蜂鸣器

3、实验流程图:

开始 P2.6口送低电平 延时一段时间用来控制发声频率 P2.6口送高电平 延时一段时间用来控制发声频率 蜂鸣器驱动流程图

4、小结:本实验较为简单,实验过程中基本没有遇到什么问题。但这个实验告诉我们如何用单片机来控制声音的发出,这个意义很大。

10

五、时钟电路

1、功能: ATMEL89C51控制6位数码管,数码管分别显示时、分、秒。键盘进行时间的调整。

2、设计原理:

时钟显示的基本单位是秒,第一步就是编写精确的秒延时程序。使用定时器和中断可编写出较准确的秒延时。

选用定时器T0的第一模式工作 。先赋定时器的计数初值,MOV TL0,#0B0H ,MOV TH0, #3CH ,每次的定时时间为50毫秒。开放中断,启动定时器。中断二十次即可得到一秒的时间。每秒的延时达到,秒计数加一。当秒计数器计数满60,分计数加一,秒计时清零。当秒计数器计数满60,时计数加一,分计时清零。

连接P3.7口的按键进行调时。当有按键按下后, P3.7口被拉成低电平。单片机扫描到低电平并进行分析。如果是按键长按,则是让需要进行调时的数码管闪动,轻按是让计数器加一。

3、实验流程图:

开始 计数器赋初值,进入工作模式一 是 否 时数是否到24 用计时器产生20ms的延时,并利用中断产生一秒钟的计时 时分秒清零 利用加一子程序使秒数加一 否 秒数是否到60 否 时数加一,分秒清零 是 分数是否到60 是 时钟流程图(不分数加一,秒数清零 含调时间)

11

4、小结:本实验主要涉及到软件的应用,体现了软件对硬件电路的不可替代的作用,在设计过程中,我们也体会到了软件硬件不分家的道理,也让我们小组增强了对软件编程的重视。从此以后,我们组分成两部分,一部分专攻硬件焊接,另一部分专攻软件编程。只有这样在比赛时我们才能拿出好软件支撑的好板子。

六、片外RAM

1、片外RAM原理:片外RAM及单片机的片外扩展,进行片外扩展可以扩大单片机的容量的,最大可以达到64KB,而单片机的片外扩展一般只能有P0、P2口来实现,分别提供高八位和低八位地址,片外扩展的地址范围在0000H~~~7FFFH.。本次试验所做的片外扩展,我们使用的是P0口,P0口传送低八位的地址及传送数据,这必然用到了分时复用,才会是地址与数据的传输不发生冲突。

2、实验要求:就是实现数据从单片机传输到片外RAM,再由片外RAM传回单片机并且能够在数码管上显示信息。

3、实验原理图:

A02A15A26A39A412A515A616A719Q0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7OELE347813141718111P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7GNDALEP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.71112131516171819D0D1D2U4D3D4D5D6D7A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14CEWEOE10Q09Q18Q27Q36Q45Q54Q63Q725P2.024P2.121P2.223P2.32P2.426P2.51P2.620GND27P3.622P3.7U374HC373P2.5片外扩展62256

4、实验过程流程图:

12