单片机完整实验报告设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
实验名称:矩阵键盘控制点阵的显示
专业班级:控制科学与工程学号:s2******* 学生姓名:李佛垚
指导教师:
2013年1月18日
目录
一、实验目的 (1)
二、实验内容 (1)
(一)扫描矩阵键盘读出键值。 (1)
(二)数码管显示键号。 (1)
(三)点阵显示不同按键需要输出的信息。(根据需要可以修改)。 (1)
三、实验设备及配套软件 (1)
四、实验原理 (2)
五、实验电路及功能说明 (2)
(一)STC89C52RC单片机主要性能 (2)
(二)矩阵键盘 (4)
1.连接线路图 (4)
2.矩阵键盘说明: (4)
(三)点阵 (5)
1.连接线路图 (5)
2.8x8点阵LED等效电路连接图: (5)
3.显示原理说明: (6)
(四)数码管 (6)
1.数码管连接线路图 (6)
2.动态显示原理 (6)
(五)XT100最小系统原理图 (7)
(六)实验结果分析 (8)
1.实物图 (8)
2.结果分析 (8)
六、软件设计流程图 (8)
(一)程序说明 (8)
(二)流程图 (9)
1.主程序流程图 (9)
2.键盘扫描程序流程图 (10)
(三)程序 (11)
七、实验中的问题与心得 (16)
一、实验目的
一般任何一个适用的系统都少不了键盘和显示这两个部分,键盘为使用者设定功能提供操作平台;显示反映出使用者设定功能的状态。在传统的设计中,一般都是把键盘模块和显示模块分开设计,这样结构清晰,软件设计简单,当I/O口不够用时,通常通过扩展I/O的方法来解决问题。以上做法有优点但同时也暴露了一个问题,它们都需要通过增加芯片来扩展I/O口。当硬件成本要求苛刻的情况下,这种设计理念就很难适应其要求,而本设计采用显示模块和键盘模块共用端口的方法,分时显示和按键扫描,很好的解决了这一矛盾。
二、实验内容
利用XT100开发板中的STC89C52单片机的P0口和P2口的分时复用以及单片机执行速度快和人的视觉反应有限的原理,通过对同一I/O端口分时作为键盘电路的输入端口和数码管以及点阵显示电路的输出及控制端口来实现I/O端口的公用。由于XT100开发板已经固化,P0口作为数码管的数据输出口同时还是点阵的数据输出口,P2口作为矩阵键盘和点阵的控制端口,在不用扩展I/O口和增加成本的基础上解决I/O不够用的问题。
实验具体内容:
(一)扫描矩阵键盘读出键值。
(二)数码管显示键号。
(三)点阵显示不同按键需要输出的信息。(根据需要可以修改)。
三、实验设备及配套软件
XT100学习开发板,Keil uVision软件,Microsoft Visual C++,STC_ISP_V483
四、实验原理
我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件(主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘模块共用端口以及不同显示共用端口的功能。在本实验中利用模拟的方式,通过不同的按键来显示不同的信息,达到实验的目的。
硬件原理框图如图1所示。
五、实验电路及功能说明
(一)STC89C52RC单片机主要性能
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意
选择,指令代码完全兼容传统8051.
2.工作电压:5.5V~
3.3V(5V单片机)/3.8V~2.0V(3V单片机)
3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作
频率可达48MHz
4.用户应用程序空间为8K字节
5.片上集成512字节RAM
6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,
P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无
需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
8.具有EEPROM功能
9.具有看门狗功能
10.共3个16位定时器/计数器。即定时器T0、T1、T2
11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可
由外部中断低电平触发中断方式唤醒
12.通用异步串行口(UART),还可用定时器软件实现多个UART
13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)
14.PDIP封装
15.STC89C52RC引脚图,如图2所示。
图2 STC89C552RC引脚图
(二)矩阵键盘
1.连接线路图如图3所示。
图3 矩阵键盘图
2.矩阵键盘说明:
键盘是人机对话不可缺少的组件之一,在按键比较少时,我们可以一个单片机I/O口接一个按键,但当按键需要很多,I/O资源又比较紧张时,使用矩阵式键盘无疑是最好的选择。其原理是初使化时我们先让P2口的低四位输出低电平,高四位输出高电平,即让P2口输出0xF0。扫描键盘的时候,我们读P2口,看P2是否还为0xF0,如果仍为0xF0,则表示没有按键按下;如果不0xF0,读P2口,说明有按键按下了,我们就可以读键码来识别到底是哪一个键按下了,识别的过程是这样的,初使化时我们让P2口的低四位输出低电平,高四位输出高电平,确认了真的有按键按下时,我们首先读P2口的高四位,然后P2口输出 0x0F,即让P2口的低四位输出高电平,高四位输出低电平,然后读P2口的低四位,最后我们把高四位读到的值与低四位读到的值做或运算就得到了该按键的键值。就可以知道是哪个键按下了。