行列式键盘单片机课程设计报告要点.pdf
《行列式键盘单片机课程设计报告要点.pdf》由会员分享,可在线阅读,更多相关《行列式键盘单片机课程设计报告要点.pdf(20页珍藏版)》请在三一文库上搜索。
1、单片机课程设计报告 课题名称行列式键盘 学生姓名 xx 所在班级 xx 学生学号 xx 指导教师 xx 二一五年一月 目录 第一章 课程简介 1 1.1 行列式键盘实现的功能. 1 1.2 技术指标 . 1 第二章 硬件设计 2 2.1 最小系统简介 . 2 2.1.1 主要管脚说明 . 2 2.2 晶振. 3 2.3 行列式键盘的电路介绍 4 2.4 共阳极数码管的介绍. 5 2.5 发光二极管的介绍. 6 第三章 软件设计 7 3.1 设计流程图 . 7 3.2 程序流程图 8 第四章 调试 9 4.1 硬件调试 . 9 4.1.1 电路电源调试 . 9 4.1.2 电路下载调试 . 9
2、4.2 软件调试 . 9 第五章 总结 . 10 5.1 课程设计总结 . 10 第六章 附录 . 12 附录 A 原理总图 12 附录 B 程序代码 13 附录 C 实物图 17 1 第一章课程简介 1.1 行列式键盘实现的功能 4*4 行列式键盘以 STC89C52 单片机为核心,主要由4*4 行列式键盘电路、 4 位 8 段数码管显示电路、 LED灯电路和数码管位驱动电路等组成,软件选用C语 言编程,简洁易懂。单片机将检测到的按键信号转换成数字量,由数码管显示 4*4 行列式键盘的行与列的数字信息。功能如下: 按下 S1键,数码管显示 11,LED灯亮第一个,同时蜂鸣器发出响声; 按下
3、S2键,数码管显示 12,LED灯亮第二个,同时蜂鸣器发出响声; 按下 S3键,数码管显示 13,LED灯亮第一个和第二个,同时蜂鸣器发出响 声;以此类推,按下按键,数码管显示按键的行列坐标数值,LED灯依照8421 编码规则进行亮灭,亮代表1,灭代表 0,表示 0-F 这 16 个数,同时伴随蜂鸣器 的响声; 行列式键盘控制系统可以提高效率,是进行按键操作管理的有效方法,它可 以提高系统准确性,有利于资源的节约,降低对操作者本身的要求。并能正确、 实时、高效地显示按键信息,以提高工作效率和资源利用率。 行列式键盘是当今使用最为广泛的键盘模式,该系统以N 个端口连接控制 N*N个按键,并通过单
4、片机,显示在LED数码管上。单片机控制键盘显示系统, 可以对不同的按键进行实时显示,其核心是单片机、 键盘矩阵电路和数码管显示 电路。该系统灵活性强,易于操作,可靠性高,应用广泛。 1.2 技术指标 使用四位八段数码管中的两位,4个 LED 发光二极管以及16 个 4*4 的行列式键盘。整 个电路使用 +5V 的直流电源,也可以用充电宝和笔记本电脑进行供电。 2 第二章硬件设计 2.1 最小系统简介 1 2 J16 EA 321 JP6Jumper 1 P1 0 2 P1 1 3 P1 2 4 P1 3 5 P1 4 6 MO SI P 15 7 MO SO P 16 8 SC K P1 7
5、9 R ESET 10 P3 0 11 P3 1 12 P3 2 13 P3 3 14 P3 4 15 P3 5 16 P3 6 17 P3 7 18 X 1 19 X 2 2021 P2 0 22 P2 1 23 P2 2 24 P2 3 25 P2 4 26 P2 5 27 P2 6 28 P2 7 29 PSEN 30 A LE 31 EA 32 P0 7 33 P0 6 34 P0 5 35 P0 4 36 P0 3 37 P0 2 38 P0 1 39 P0 0 40 AT1 U1 V CCV CC EA R12 10 K V CC S1 9+ C 8 R ESE T V CC +C
6、7 S1 8 R 14 10 K C 9C 10 Y 3 X 1X 2 图 2-1 最小系统 对 51 系列单片机来说 , 最小系统一般应该包括 : 单片机 STC89C52 、晶振电 路、复位电路。 STC89C52 是 STC公司生产的一种低功耗、高性能CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 STC89C52 使用经典的 MCS-51内核,但做了很 多的改进使得芯片具有传统51 单片机不具备的功能。 在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash , 使得 STC89C52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 2.
7、1.1 主要管脚说明 VCC (40 引脚):电源电压 VSS (20 引脚):接地 P0端口(P0.0P0.7,3932 引脚):P0口是一个漏极开路的8 位双向 I/O 口。作为输出端口,每个引脚能驱动8 个 TTL负载,对端口 P0写入“1”时,可 以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8 位 地址和 8 位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编 3 程时, P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要 求外接上拉电阻。 P1端口(P1.0P1.7,18 引脚): P1口是一个带内部上拉电阻的8 位双 向 I/
8、O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4 个 TTL输入。对 端口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。 P1 口作输入口使用时, 因为有内部上拉电阻, 那些被外部拉低的引脚会输出一个电 流。 此外,P1.0 和 P1.1 还可以作为定时器 / 计数器 2 的外部技术输入 (P1.0/T2 ) 和定时器 / 计数器 2 的触发输入( P1.1/T2EX),具体参见下表: 在对 Flash ROM编程和程序校验时, P1接收低 8 位地址。 P2端口(P2.0P2.7,2128引脚): P2口是一个带内部上拉电阻的8 位 双向 I/O 端口。P2的输
9、出缓冲器可以驱动 (吸收或输出电流方式) 4 个 TTL输入。 对端口写入 1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。 P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流。 在访问外部程序存储器和16位地址的外部数据存储器 (如执行 “MOVX DPTR” 指令)时, P2送出高 8 位地址。在访问 8 位地址的外部数据存储器 (如执行“MOVX R1 ”指令)时, P2口引脚上的内容(就是专用寄存器(SFR )区中的 P2寄存器 的内容),在整个访问期间不会改变。 在对 Flash ROM 编程和程序校验期间, P2也接收高位地址和一些控
10、制信号。 P3端口(P3.0P3.7,1017引脚): P3是一个带内部上拉电阻的8 位双 向 I/O 端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL输入。对 端口写入 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。 P3 做输入口使用时, 因为有内部的上拉电阻, 那些被外部信号拉低的引脚会输入一 个电流。 在对 Flash ROM编程或程序校验时, P3还接收一些控制信号。 P3口除作为一般 I/O 口外,还有其他一些复用功能。 2.2 晶振 C9 C10 Y 3 X 1X 2 图2-2 晶振 4 单片机系统里都有晶振, 在单片机系统里晶振作用非常大,全称叫
11、晶体振荡 器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟 频率越高,那么单片机运行速度就越快, 单片机的一切指令的执行都是建立在单 片机晶振提供的时钟频率。 通常一个系统共用一个晶振, 便于各部分保持同步。 有些通讯系统的基频和 射频使用不同的晶振,而通过电子调整频率的方法保持同步。STC89C52RC 使用 12MHz 的晶体振荡器作为振荡源。 2.3 行列式键盘的电路介绍 S1S2S3S4 S5S6S7S8 S9S10S11S12 S13S14S15S16 P30 P31 P32 P33 P34 P35 P36 P37 3 2 1 J4 Jumper 图 2-3 行
12、列式键盘 STC89C52单片机的并行口 P3接 4*4 矩阵键盘,以 P3.0P3.3 作行输入线, 以 P3.4P3.7 作列输出线; P3口输出按键信息,在数码管上显示每个按键的行 与列的序号。 P3口的低 4位控制行输入, 高4位控制列输入当没有按键按下时,P3.0P3.3 与 P3.4P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O 口线之间短 路。 判断有无按键按下的方法是: 第一步,置行线 P3.0P3.3为输入状态,从列线P3.4P3.7输出低电平, 读入行线数据,若某一行线为低电平,则该行线上有键闭合。 第二步,列线轮流输出低电平,从行线P3.0P3.3读入数据,若有
13、某一行 为低电平,则对应的列线上有键按下。 当确定了是哪一个按键按下后, 通过软件程序的设计, 返回键盘扫描的键值, 由 PO口输出给数码管显示。 5 2.4 共阳极数码管的介绍 a bf c g d e DPY 11 7 4 2 1 5 3 a b c d e f g 8 dp dp P00 P01 P02 P03 P04 P05 P06 P07 V C C 1 2 DS4 DS1 a bf c g d e DPY a b c d e f g dp dp V C C 9 DS3 a bf c g d e DPY a b c d e f g dp dp V C C 8 DS2 a bf c g
14、 d e DPY a b c d e f g dp dp V C C 6 DS1 in1 1 in2 2 in3 3 in4 4 in5 5 in6 6 in7 7 8 8 9 9 out7 10 out6 11 out5 12 out4 13 out3 14 out2 15 out1 16 U1 ULN2003 123 J6 Header 1 2 3 4 5 J? CON5 JP2/relay JP3/speak LS1 SPEAKER relay K1 VCC P20 P21 P22 P23 P24 P25 P26 VCC DS1 DS2 DS3 DS4 VCC VCC 图 2-4 共阳极
15、数码管及位驱动 这是一个四位八段的共阳极数码管,STC89C52的 P0.0P0.7为段输出 口,P2.0P2.3为位输出口。 使用 ULN2003 的 4 个输出口作为位驱动, 用来驱动 8 段数码管的 DS1DS4。该数码管内部有 8 个发光二极管,公共端由8 个发光二 极管的阳极并接而成,正常显示时公共端接高电平(VCC),各发光二极管是否点 亮取决于 a-dp 各引脚上是否是低电平。 LED数码管的外部有12个引脚,其中 6,8,9,12脚为公共端也称位选端,其 余 8 个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个 ) 必 须在这个数码管的段选端加上与数字显示数字对
16、应的8 位段选码 ( 也称字形码 ) , 在位选端加上高电平即可。 由于系统要显示的内容比较简单,显示量不多, 所以选用数码管既方便又经 济。 6 2.5 发光二极管的介绍 LED1LED2LED3LED4LED5LED6LED7LED8 123456789 J1 1K VCC P 1 0 P 1 1 P 1 2 P 1 3 P 1 4 P 1 5 P 1 6 P 1 7 JP1 Jumper 图 2-5 发光二极管 发光二极管简称 LED灯,是一种将电能转化为光能的特殊二极管。发光二极 管和普通的二极管一样,由一个PN结组成。具有单向导电性。当发光二极管工 作在正向偏置状态下, 且有一定大小
17、的电流通过发光二极管时。它就会发光。 光 的颜色视发光二极管的材料而定。发光二极管正向工作电压为1.5V 左右,正向 电流为 5-15mA.80C51引脚输出低电平可直接驱动LED 。 7 第三章软件设计 3.1 设计流程图 图 3-1 设计流程图 单片机将从程序中键盘按键初始化对应得到的值通过数码管显示行与列的 数值,通过 LED灯显示 0-F 的值并伴随蜂鸣器的响声。 4*4 键 盘 数码管显 示行与列 ULN20 03 STC89C52RC P2.0P2.3 P3.0P3.7 P0.0P0.7 P1.0P1.3 LED 灯 响 应 8 3.2 程序流程图 图 3.2 程序流程图 本程序对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 行列式 键盘 单片机 课程设计 报告 要点
链接地址:https://www.31doc.com/p-5212003.html