单片机完整实验报告设计.doc
- 文档编号:1259305
- 上传时间:2022-10-19
- 格式:DOC
- 页数:18
- 大小:1.85MB
单片机完整实验报告设计.doc
《单片机完整实验报告设计.doc》由会员分享,可在线阅读,更多相关《单片机完整实验报告设计.doc(18页珍藏版)》请在冰豆网上搜索。
矩阵键盘控制点阵显示实验报告
实验报告
实验名称:
矩阵键盘控制点阵的显示
专业班级:
控制科学与工程学号:
s20100394
学生姓名:
李佛垚
指导教师:
2013年1月18日
I
目录
一、实验目的 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学习开发板,KeiluVision软件,MicrosoftVisualC++,STC_ISP_V483
16
四、实验原理
我们知道微控制器的运行速度快,人的视觉灵敏度有限,同时显示器件(主要是发光二极管,数码管)具有余光效应,所以我们可以充分利用以上特点,合理分配显示和键盘扫描的时间,就可以实现显示模块和键盘模块共用端口以及不同显示共用端口的功能。
在本实验中利用模拟的方式,通过不同的按键来显示不同的信息,达到实验的目的。
硬件原理框图如图1所示。
单片机STC89C52RC
4X4矩阵键盘输入
4位数码管显示
8X8点阵显示模块
图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路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
12.通用异步串行口(UART),还可用定时器软件实现多个UART
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
14.PDIP封装
15.STC89C52RC引脚图,如图2所示。
图2STC89C552RC引脚图
(二)矩阵键盘
1.连接线路图如图3所示。
图3矩阵键盘图
2.矩阵键盘说明:
键盘是人机对话不可缺少的组件之一,在按键比较少时,我们可以一个单片机I/O口接一个按键,但当按键需要很多,I/O资源又比较紧张时,使用矩阵式键盘无疑是最好的选择。
其原理是初使化时我们先让P2口的低四位输出低电平,高四位输出高电平,即让P2口输出0xF0。
扫描键盘的时候,我们读P2口,看P2是否还为0xF0,如果仍为0xF0,则表示没有按键按下;如果不0xF0,读P2口,说明有按键按下了,我们就可以读键码来识别到底是哪一个键按下了,识别的过程是这样的,初使化时我们让P2口的低四位输出低电平,高四位输出高电平,确认了真的有按键按下时,我们首先读P2口的高四位,然后P2口输出0x0F,即让P2口的低四位输出高电平,高四位输出低电平,然后读P2口的低四位,最后我们把高四位读到的值与低四位读到的值做或运算就得到了该按键的键值。
就可以知道是哪个键按下了。
(三)点阵
1.连接线路图如图4所示。
图4点阵连接图
2.8x8点阵LED等效电路连接图,如图5所示。
图5点阵等效电路图
3.显示原理说明:
点阵LED扫描法介绍
点阵LED一般采用扫描式显示,实际运用分为三种方式:
(1)点扫描;
(2)行扫描;
(3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
在本实验的点阵是8x8共阳极,所采用的是列扫描方法。
所有行的数据由P0口输出,每一列由P2口动态扫描,并且有1K的排阻所接的驱动电路。
(四)数码管
1.数码管连接线路图,如图6所示。
图6数码管连接线路图
2.动态显示原理
数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。
(五)XT100最小系统原理图,如图7所示。
图7最小系统原理图
(六)实验结果分析
1.实物图
图8实物图
2.结果分析
矩阵键盘的扫描过程中没有延时确认按键,因为具体实物中按键的动作是比较慢的,不会出现有“假按”的现象,另一方面是由于整个程序是顺序执行的,要求整个程序要快速的顺序执行,如果太多延时会影响程序的实时性。
在点阵的显示中,会出现“阴影”这是由于扫描时需等待P0口完成数据的输出,经过适当延时可以得到很好的解决。
六、软件设计流程图
(一)程序说明
在键盘扫描的过程中需要用到P2口,因此为了在点阵显示中不影响到点阵,必须在键盘扫描完后的时间内初始化,同理,在数码管显示中用到了P0口作为数据输出口,因此在程序中也要对P0口初始化,这样在点阵的显示中需要用到P0与P2口才不受影响,同时在点阵和数码管的动态扫描过程中要合理划分好时间,以免影响到各自显示亮度。
(二)流程图
1.主程序流程图,如图9所示。
开始
键盘扫描
P2口初始化
读取键值
数码管显示
P0口初始化
选取图像信息
点阵显示
返回
图9流程图
2.键盘扫描程序流程图,如图10所示。
开始
P2口低四位置低电平
读取P2口的高四位
判断高四位全为1?
否
是
保存P2口高四位
P2口高四位置低电平
判断低四位全为1?
读取P2口的低四位
P2口初始化
否
保存P2口低四位
组合键值
返回
是
图10键盘扫秒流程图
(三)程序
#include
unsignedcharcodeface1[8]={0x0,0x80,0x80,0xFF,0x88,0x88,0x80,0x0};
unsignedcharcodeface2[8]={0x0,0x2,0x2,0xFE,0xA,0x12,0x22,0x0};
unsignedcharcodeface3[8]={0x40,0x24,0x54,0x5C,0x77,0x54,0x44,0x0};
unsignedcharcodeface4[8]={0x40,0x24,0x14,0x7C,0x57,0x74,0x4,0x0};
unsignedcharcodeface5[8]={0x0,0x8,0xC,0xFA,0x81,0xFA,0xC,0x8};
unsignedcharcodeface6[8]={0x10,0x30,0x5F,0x81,0x5F,0x30,0x10,0x0};
unsignedcharcodeface7[8]={0x8,0x14,0x22,0x77,0x14,0x14,0xF4,0xFC};
unsignedcharcodeface8[8]={0xFC,0xF4,0x14,0x14,0x77,0x22,0x14,0x8};
unsignedcharcodeface9[8]={0x9,0xE,0xFE,0x89,0xFA,0x2C,0x48,0x80};
unsignedcharcodeface10[8]={0x12,0x34,0x5F,0x91,0x7F,0x70,0x90,0x0};
unsignedcharcodeface11[8]={0x88,0x54,0x22,0x77,0x1C,0xF4,0xFE,0x1};
unsignedcharcodeface12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 完整 实验 报告 设计