单片机键盘输入课程设计

上传人:feng****heng 文档编号:209877589 上传时间:2023-05-15 格式:DOCX 页数:15 大小:165.29KB
收藏 版权申诉 举报 下载
单片机键盘输入课程设计_第1页
第1页 / 共15页
单片机键盘输入课程设计_第2页
第2页 / 共15页
单片机键盘输入课程设计_第3页
第3页 / 共15页
资源描述:

《单片机键盘输入课程设计》由会员分享,可在线阅读,更多相关《单片机键盘输入课程设计(15页珍藏版)》请在装配图网上搜索。

1、第1章 课程设计任务书2第2章设计目的5第3章设计原理与分析第4章所选元件清单?第5章 课程设计心得?第6章参考文献?第2章课程设计目的1. 掌握8255A编程原理。a. 掌握8255A可编程并行接口的工作原理及初始化方法,验证各种工作方式的功能。b. 掌握用Intel8255A扩展PC机并行接口的方式。c. 了解8255A工作在方式1时,利用应答信号控制数据传输的过程。2. 了解键盘电路的工作原理。本实验要求在实验台上,用并行接口实验卡PPI8255为PC机扩展可编程并行接口; 利用实验卡上的8位拨动开关提供输入数据,用8个LED指示灯显示输出结果;用单脉 冲按钮PI提供输入选通脉冲/STB

2、A模拟输入设备送数,用单脉冲按钮PO提供输出应答脉 冲/ACKA和/ACKB模拟输出设备取数。3. 掌握键盘接口电路的编程方法。设计人机界面接口,要求在微机屏幕上动态地显示当前实验的内容和实验的结果, 包括8255A的工作方式,输入的数据和输出的结果设计人机界面接口,要求在微机屏幕上,以菜单方式列出并行接口8255A原理实验 的内容,并根据实验内容设置好工作方式选择跳线开关,用户可以通过键盘选择实验的 内容。方式08255为方式0、A 口输入、B 口输出,可用无条件传送方式控制输入/出。方式1其它要求同方式0,改用查询方式控制输入/出,用中断方式也可以,通过读取C 口 的状态字来获取状态。方式

3、2使A 口既能接受开关状态又能控制LED指示灯显示;要求先接收A 口的开关数据, 可用查询方式控制输入/出。第3章设计原理与分析31、实验原理:1、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如所 读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。本实验例程采用的是行反转法。行反转法识别键闭合时,要将行线接一并行口,先让它工作于输出方式,将列线也 接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口往各行线上全部送 低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程 序对两

4、个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将 刚才读得的列线值从列线所接的并行端口输出,再读取行线上的输入值,那么,在闭合 键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对唯一的行线 值和列线值。2、程序设计时,要学会灵活地对8255A的各端口进行方式设置。可将各键对应的键 值(行线值、列线值)放在一个表中,将要显示的0F字符放在另一个表中,通过查表 来确定按下的是哪一个键并正确显示出来。3、利用实验箱上的8255A可编程并行接口芯片和矩阵键盘,编写程序,做到在键盘 上每按一个数字键(0F),用发光二极管将该代码显示出来。32、实验步骤:将键盘 R

5、L10 RL17 接 8255A 的 PB0PB7; KA10KA12 接 8255A 的 PA0PA2;PC0PC7接发光二极管的L1L8; 8255A芯片的片选信号8255CS接CS0。33、实验电路:以監畫畫s MS0SJ*S-iM*0_#=r35、程序接线图:图3-2程序框图键盘 RL10 接 8255A PB0键盘 RL11 接 8255A PB1键盘 RL12 接 8255A PB2键盘 RL13 接 8255A PB3键盘 RL14 接 8255A PB4键盘 RL15 接 8255A PB5键盘 RL16 接 8255A PB6键盘 RL17 接 8255A PB7键盘 KA1

6、0 接 8255A PA0键盘 KA12 接 8255A PA1键盘 KA12 接 8255A PA28键盘PC0发光二极管L1键盘PC1发光二极管 L2键盘PC2发光二极管 L3键盘PC3发光二极管L4键盘PC4发光二极管L5键盘PC5发光二极管L6键盘PC6发光二极管L7键盘PC7发光二极管L88255A芯片的片选信号8255CS接CS0 如图3-3所示:图3-3连程序线图36、参考程序:T8.ASMNAME t8 ;8255键盘实验PA EQU OCFAOHPB EQU PA+1PC0 EQU PB+1PCTL EQU PC0+1CSEG AT 4000HLJMP STARTCSEG A

7、T 4100HSTART: MOV 42H,#0FFH ;42H中放显示的字符码,初值为0FFHSTA1: MOV DPTR,#PCTL ;设置控制字,ABC 口工作于方式0;AC 口输出而B 口用于输入MOV A,#82HMOVX DPTR,ALINE: MOV DPTR,#PC0 ;将字符码从C 口输出显示MOV A,42HCPL AMOVX DPTR,AMOV DPTR,#PA ;从A 口输出全零到键盘的列线MOVX DPTR,AMOV DPTR,#PB ;从B 口读入键盘行线值MOVX A,DPTRMOV 40H,A ;行线值存于40H中CPL A ;取反后如为全零;表示没有键闭合,继

8、续扫描JZ LINEMOV R7,#10H ;有键按下,延时10MS去抖动DL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0MOV DPTR,#PCTL ;重置控制字,让A为输入,BC为输出MOV A,#90HMOVX DPTR,AMOV A,40HMOV DPTR,#PB ;刚才读入的行线值取出从B 口送出MOVX DPTR,AMOV DPTR,#PA ;从A 口读入列线值MOVX A,DPTRMOV 41H,A ;列线值存于41H中CPL A ;取反后如为全零JZ STA1 ;表示没有键按下MOV DPTR,#TABLE ;TABLE 表首地址送 DP

9、TRMOV R7,#18H ;R7中置计数值16MOV R6,#00H ;R6中放偏移量初值TT: MOVX A,DPTR ;从表中取键码前半段字节,行线值与实CJNE A,4OH,NN1 ;际输入的行线值相等吗?不等转NN1 INC DPTR ;相等,指针指向后半字节,即列线值MOVX A,DPTR ;列线值与实际输入的列线值CJNE A,41H,NN2 ;相等吗?不等转NN2MOV DPTR,#CHAR ;相等,CHAR表基址和R6中的偏移量MOV A,R6 ;取出相应的字符码MOVC A,A+DPTRMOV 42H,A ;字符码存于42HBBB: MOV DPTR,#PCTL ;重置控制

10、字,让AC为输出,B为输入MOV A,#82HMOVX DPTR,AAAA: MOV A,42H ;将字符码从C 口送到二极管显示MOV DPTR,#PC0CPL AMOVX DPTR,AMOV DPTR,#PA ;判断按下的键是否释放CLR AMOVX DPTR,AMOV DPTR,#PBMOVX A,DPTRCPL AJNZ AAA ;没释放转AAAMOV R5,#2 ;已释放则延时0.2秒,减少总线负担DEL1: MOV R4,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R4,DEL2DJNZ R5,DEL1JMP START ;转 START

11、NN1: INC DPTR ;指针指向后半字节即列线值NN2: INC DPTR ;指针指向下一键码前半字节即行线值INC R6 ;CHAR表偏移量加一DJNZ R7,TT ;计数值减一,不为零则转TT继续查找JMP BBBTABLE:DW 0FE06H,0FD06H,0FB06H,0F706H;TABLE 为键值表,每个键位占DW 0BF06H,07F06H,0FE05H,0FD05H;两个字节,第一个字节为行DW 0EF05H,0DF05H,0BF05H,07F05H ;线值,第二个为列线值DW 0FB03H,0F703H,0EF03H,0DF03H;CHAR: DB 00H,01H,02

12、H,03H,04H,05H,06H,07H,08H,09H ;字符码表DB 0AH,0BH,0CH,0DH,0EH,0FH,10H,llH,12H,13HDB 14H,15H,16H,17HEND第4章所选元件清单4.1元件清单:表4-1元件清单原件数量电源座178051IN40074100UF/16V1按键932.768KHZ112MHZ11UF电容5红色发光二极管5绿色发光二级管4数码管8DIP401DIP161DIP 82DIP20190139IN41484STC89C51 或 STC89C52174HC244 或 74LS2441MAX232124C02110K排阻4100电阻81K电

13、阻92K电阻110K电阻2单排针20.1UF电容215PF电容24.2程序实际接线数码管的不同笔段的组合构成了不同字符的字形。为了获得不同的字形,各笔段所 加的电平也不同,因此各个字形所形成的编码是不一样的。例如,对于共阳极数码管, 如果要显示字符2,则笔段a、b、g、e、d发光,对应的引脚为低电平;其余各笔段不发 光,对应的引脚为该电平。所以字符2的字形编码为如dp gfedcba=10100100B=A4H。 阴极数码管的字形编码与用阳极数码管的字形编码是逻辑“非”的关系。根据上述编码 方法可以得出数码管显示的字符与对应的字形编码的关系,如表4-2所示表4-2数码表的字形编码表第5章课程设

14、计心得初学时往往对P0 口、P2 口和P3 口的第二功能用法迷惑不解,认为第二功能和原功 能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是 自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微处理机外接RAM 或有外部I/O 口时,它们被用作第二功能,不能作为通用I/O 口使用,只要一微处理机 一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。 事实上不能作为通用I/O 口使用也并不是不能而是(使用者)不会将其作为 通用I/O 口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行 到这

15、条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系 统的崩溃。通过这次单片机课设,我更加清晰的认识了到了单片机内的引脚。单片机的40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。1. 电源:VCC -芯片电源,接+5V;VSS -接地端;(用万用表测试单片机引脚电压一般为0v或者5v,这是标准 的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v 之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持 在0v或者5vo )2. 时钟:XTAL1、XTAL2 -晶体振荡电路反相输入端和输出端。3.

16、 控制线:控制线共有4根,4. I/O 线:(l)80C51共有4个8位并行I/O端口: PO、Pl、P2、P3 口,共32个引脚。P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)5. P3 口第二功能P30 RXD串行输入口、P31 TXD串行输出口、P32 INT0外部中断0 (低电平有效)、 P33 INT1外部中断1 (低电平有效)、P34 T0定时计数器0、P35 T1定时计数器1、 P36 WR外部数据存储器写选通(低电平有效)、P37 RD外部数据存储器读选通(低电 平有效)第6章参考文献1 苏金明周建斌.用VB.NET和VC#.NET开发交互式CAD系统M.

17、北京:电子工业 出版社.2004.2 普悠玛.VB.NET程序设计示例导学M.北京:科海电子出版社.2003.3 李万红段恒勇.VB.NET实用培训教程M.北京:清华大学出版社.2002.4 李万红梁靓.VB.NET程序设计入门M.北京:清华大学出版社.2002.5 刘斌文.精通Visual Basic.NET中文版M.北京:机械工业出版社.2004.6 李英顺.单片机原理与应用M.北京:中国水利水电出版社.2010.3.7 梅丽凤.单片机原理与接口实验M.北京:清华大学出版社.2006.8 张毅刚.单片机原理与应用M.北京:高等教育出版社.2007.9 张毅刚.MCS-51单片机应用设计M.

18、哈尔滨:哈尔滨工业大学出版社.2008.10 方立友微机原理与汇编语言实用教程M.北京:清华大学出版社.2007.2.11 陈兴祥.MC7705芯片对单片机的动态掉电保护J.宁夏机械.2002.(3).12 田志华.电池供电单片机的低功耗设计J.宁夏机械.2002.(4).13 李学军.如何用MCS-51单片机扩展串口进行通讯J.宁夏机械.2003.(2).14 李海涛.关于如何提高单片机系统可靠性的探讨J.宁夏机械.2005.(3).15 高彦波.李岩.毕晓燕.PC与单片机之间的远距离并行通讯卡J.电站设备自动 化.2001.(3).16 李艳红.单片机I/O 口不宜用作直接驱动出口 J.电

19、站设备自动化,2003,(2).17 彭同明杨少华.“单片机原理及应用”课程改革的分析J.武汉电力职业技术学 院学报.2004.(1).18 宋青松张旭东王立贤眭众国.MCS96系列单片机与IBM-PC系列微机之间通讯 的实现J.电站设备自动化.2001.(1).19 顾勇.李强.基于MC68HC908单片机的伸缩自动门控制系统J.通信与广播电 视.2003.(4).20 桂绍勇彭同明何新洲.基于MEGA103单片机的数控系统研制J.武汉电力职业 技术学院学报.2005.(4).21 李占芳.黄嘉兴面向煤炭应用型人才的单片机课程教学改革探索J.价值工 程.2011.(7).22 石明江.顾亚雄

20、.张禾单片机原理与应用课程教学改革与实践J.计算机教 育.2011.(6).23 翟永前蒋芳芳.基于MSP430单片机的智能数字电压表设计J.化工自动化及仪 表.2011.(3).24 许超吴新杰.张丹.基于Proteus和Keil的单片机课程教学改革J.辽宁大学学报(自然科学版).2011.(1).25 李林.基于单片机的野外作业移动库房安防系统设计J.工矿自化.2011.(4).26 李林王心刚.FPGA与单片机在RLC测量系统设计中的应用J.化工自动化及仪 表.2011.(3).27 李玮华.杨秦建.基于单片机的多轴运动数控系统跟随误差补偿器的设计J.机 床与液压.2011.(4).28 陈堂敏.刘焕平主编.单片机原理与应用M.北京:北京理工大学出版社.2007.29 沈美明温动蝉编著.IBM-PC汇编语言程序设计M.北京:清华大学出社.1994.30 张仰森等编.微型计算机常用软硬件技术速查手册M.北京:北京希望电脑公司.1994.31 江修汗等编.计算机控制原理与应用M.西安:西安电子科技大学出版社.1999.32 田闯.直流电源屏电池单片机监测系统J.西铁科技.2001.(1).

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!