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个LE
2、D指示灯显示输出结果;用单脉冲按钮PI提供输入选通脉冲/STBA模拟输入设备送数,用单脉冲按钮PO提供输出应答脉冲/ACKA和/ACKB模拟输出设备取数。3 掌握键盘接口电路的编程方法。 设计人机界面接口,要求在微机屏幕上动态地显示当前实验的内容和实验的结果,包括8255A的工作方式,输入的数据和输出的结果 设计人机界面接口,要求在微机屏幕上,以菜单方式列出并行接口8255A原理实验的内容,并根据实验内容设置好工作方式选择跳线开关,用户可以通过键盘选择实验的内容。方式0 8255为方式0、A口输入、B口输出 ,可用无条件传送方式控制输入/出。方式1 其它要求同方式0,改用查询方式控制输入/出,
3、用中断方式也可以,通过读取C口的状态字来获取状态。 方式2 使A口既能接受开关状态又能控制LED指示灯显示;要求先接收A口的开关数据,可用查询方式控制输入/出。 第3章设计原理与分析3.1、实验原理:1、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如所读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。本实验例程采用的是行反转法。行反转法识别键闭合时,要将行线接一并行口,先让它工作于输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线值,如此时有某键
4、被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对唯一的行线值和列线值。2、程序设计时,要学会灵活地对8255A的各端口进行方式设置。可将各键对应的键值(行线值、列线值)放在一个表中,将要显示的0F字符放在另一个表中,通过查表来确定按下的是哪一个键并正确显示出来。3、利用实验箱上的8255A可编程并行接口芯片和矩阵键盘,编写程序,做到在键盘上每按一个数字键(0F),用发光二极管将该代码
5、显示出来。3.2、实验步骤:将键盘RL10RL17接8255A的PB0PB7;KA10KA12接8255A的PA0PA2;PC0PC7接发光二极管的L1L8;8255A芯片的片选信号8255CS接CS0。3.3、实验电路: 图3-1实验电路图3.4、程序框图:图3-2程序框图3.5、程序接线图:键盘 RL10接 8255A PB0键盘 RL11接 8255A PB1键盘 RL12接 8255A PB2键盘 RL13接 8255A PB3键盘 RL14接 8255A PB4键盘 RL15接 8255A PB5键盘 RL16接 8255A PB6键盘 RL17接 8255A PB7键盘KA10接
6、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 连程序线图3.6、参考程序: T8.ASM NAME t8 ;8255键盘实验 PA EQU 0CFA0H PB EQU PA+1 PC0 EQU PB+1 PCTL EQU PC0+1 CSEG AT 4000H LJ
7、MP START CSEG AT 4100H START: MOV 42H,#0FFH ;42H中放显示的字符码,初值为0FFH STA1: MOV DPTR,#PCTL ;设置控制字,ABC口工作于方式0 ;AC口输出而B口用于输入 MOV A,#82H MOVX DPTR,A LINE: MOV DPTR,#PC0 ;将字符码从C口输出显示 MOV A,42H CPL A MOVX DPTR,A MOV DPTR,#PA ;从A口输出全零到键盘的列线 MOVX DPTR,A MOV DPTR,#PB ;从B口读入键盘行线值 MOVX A,DPTR MOV 40H,A ;行线值存于40H中
8、CPL A ;取反后如为全零 ;表示没有键闭合,继续扫描 JZ LINE MOV R7,#10H ;有键按下,延时10MS去抖动 DL0: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL0 MOV DPTR,#PCTL ;重置控制字,让A为输入,BC为输出 MOV A,#90H MOVX DPTR,A MOV A,40H MOV DPTR,#PB ;刚才读入的行线值取出从B口送出 MOVX DPTR,A MOV DPTR,#PA ;从A口读入列线值 MOVX A,DPTR MOV 41H,A ;列线值存于41H中 CPL A ;取反后如为全零 JZ STA1
9、;表示没有键按下 MOV DPTR,#TABLE ;TABLE表首地址送DPTR MOV R7,#18H ;R7中置计数值16 MOV R6,#00H ;R6中放偏移量初值 TT: MOVX A,DPTR ;从表中取键码前半段字节,行线值与实 CJNE A,40H,NN1 ;际输入的行线值相等吗?不等转NN1 INC DPTR ;相等,指针指向后半字节,即列线值 MOVX A,DPTR ;列线值与实际输入的列线值 CJNE A,41H,NN2 ;相等吗?不等转NN2 MOV DPTR,#CHAR ;相等,CHAR表基址和R6中的偏移量 MOV A,R6 ;取出相应的字符码 MOVC A,A+D
10、PTR MOV 42H,A ;字符码存于42H BBB: MOV DPTR,#PCTL ;重置控制字,让AC为输出,B为输入 MOV A,#82H MOVX DPTR,A AAA: MOV A,42H ;将字符码从C口送到二极管显示 MOV DPTR,#PC0 CPL A MOVX DPTR,A MOV DPTR,#PA ;判断按下的键是否释放 CLR A MOVX DPTR,A MOV DPTR,#PB MOVX A,DPTR CPL A JNZ AAA ;没释放转AAA MOV R5,#2 ;已释放则延时0.2秒,减少总线负担 DEL1: MOV R4,#200 DEL2: MOV R3,
11、#126 DEL3: DJNZ R3,DEL3 DJNZ R4,DEL2 DJNZ R5,DEL1 JMP START ;转START NN1: INC DPTR ;指针指向后半字节即列线值 NN2: INC DPTR ;指针指向下一键码前半字节即行线值 INC R6 ;CHAR表偏移量加一 DJNZ R7,TT ;计数值减一,不为零则转TT继续查找 JMP BBB TABLE: DW 0FE06H,0FD06H,0FB06H,0F706H;TABLE为键值表,每个键位占 DW 0BF06H,07F06H,0FE05H,0FD05H; 两个字节,第一个字节为行 DW 0EF05H,0DF05H
12、,0BF05H,07F05H ;线值,第二个为列线值 DW 0FB03H,0F703H,0EF03H,0DF03H; CHAR: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ;字符码表 DB 0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,13H DB 14H,15H,16H,17H END第4章所选元件清单4.1元件清单:表4-1元件清单原件数量电源座178051IN40074100UF/16V1按键932.768KHZ112MHZ 11UF电容5红色发光二极管 5绿色发光二级管4数码管8DIP40 1DIP16 1DIP 8
13、2DIP20 190139IN41484STC89C51或STC89C52 174HC244或74LS2441MAX232 124CO2110K排阻 4100电阻81K电阻 92K 电阻110K 电阻2单排针20.1UF电容 215PF电容 24.2 程序实际接线数码管的不同笔段的组合构成了不同字符的字形。为了获得不同的字形,各笔段所加的电平也不同,因此各个字形所形成的编码是不一样的。例如,对于共阳极数码管,如果要显示字符2,则笔段a、b、g、e、d发光,对应的引脚为低电平;其余各笔段不发光,对应的引脚为该电平。所以字符2的字形编码为如 dp gfedcba=10100100B=A4H。阴极数
14、码管的字形编码与用阳极数码管的字形编码是逻辑“非”的关系。根据上述编码方法可以得出数码管显示的字符与对应的字形编码的关系,如表4-2所示表4-2 数码表的字形编码表第5章课程设计心得 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微处理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上不
15、能作为通用I/O口使用也并不是不能而是(使用者)不会将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。通过这次单片机课设,我更加清晰的认识了到了单片机内的引脚。单片机的40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; (用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的
16、响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。) 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, I/O线 :80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 5. P3口第二功能 P30 RXD 串行输入口 、P31 TXD 串行输出口、P32 INT0 外部中断0(低电平有效)、 P33 INT1 外部中断1(低电平有效) 、P34 T0 定时计数器0 、P35 T1 定时计数器1 、P36 WR 外部数据存储器写选通(低电
17、平有效) 、P37 RD 外部数据存储器读选通(低电平有效) 第6章参考文献1 苏金明.周建斌. 用VB.NET和VC#.NET开发交互式CAD系统M. 北京:电子工业出版社.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
18、.7 梅丽凤. 单片机原理与接口实验M. 北京:清华大学出版社.2006.8 张毅刚. 单片机原理与应用M. 北京:高等教育出版社.2007.9 张毅刚. MCS-51单片机应用设计M. 哈尔滨:哈尔滨工业大学出版社.2008.10 方立友. 微机原理与汇编语言实用教程M. 北京:清华大学出版社.2007.2.11 陈兴祥. MC7705芯片对单片机的动态掉电保护J. 宁夏机械.2002.(3). 12 田志华. 电池供电单片机的低功耗设计J. 宁夏机械.2002.(4). 13 李学军. 如何用MCS-51单片机扩展串口进行通讯J. 宁夏机械.2003.(2). 14 李海涛. 关于如何提高
19、单片机系统可靠性的探讨J. 宁夏机械.2005.(3). 15 高彦波.李岩.毕晓燕. PC与单片机之间的远距离并行通讯卡J. 电站设备自动化.2001.(3). 16 李艳红. 单片机I/O口不宜用作直接驱动出口J. 电站设备自动化,2003,(2). 17 彭同明.杨少华. “单片机原理及应用”课程改革的分析J. 武汉电力职业技术学院学报.2004.(1). 18 宋青松.张旭东.王立贤.眭众国. MCS96系列单片机与IBM-PC系列微机之间通讯的实现J. 电站设备自动化.2001.(1). 19 顾勇.李强. 基于MC68HC908单片机的伸缩自动门控制系统J. 通信与广播电视.200
20、3.(4). 20 桂绍勇.彭同明.何新洲. 基于MEGA103单片机的数控系统研制J. 武汉电力职业技术学院学报.2005.(4). 21 李占芳.黄嘉兴. 面向煤炭应用型人才的单片机课程教学改革探索J. 价值工程.2011.(7). 22 石明江.顾亚雄.张禾. 单片机原理与应用课程教学改革与实践J. 计算机教育.2011.(6). 23 翟永前.蒋芳芳. 基于MSP430单片机的智能数字电压表设计J. 化工自动化及仪表.2011.(3). 24 许 超.吴新杰.张丹. 基于Proteus和Keil的单片机课程教学改革J. 辽宁大学学报(自然科学版).2011.(1). 25 李林. 基于
21、单片机的野外作业移动库房安防系统设计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.西安:西安
22、电子科技大学出版社.1999.32 田闯. 直流电源屏电池单片机监测系统J. 西铁科技.2001.(1). 本文是通过网络收集的资料,如有侵权请告知,我会第一时间处理。本店专业 提供 豆丁网 道客巴巴 百度文库 智客(21ask) 文档在线 网站的原始文档下载服务。收费标准:1、 豆丁网: 按照豆丁网原价的50%收取,不收手续费。2、 道客巴巴:按照道客巴巴网站原价的90%收取,不收手续费。3、 百度文库:所有文档,无论多少积分,统一收取1元,不收手续费。4、 智客网: 按照智客网的原价收取,手续费1元。(智客网站 每次充值最少是20元)5、 文档在线:所有文档,无论多少积分,统一收取5元,不
23、收手续费(文档在线网站,每次充值至少20元)。关于发货:(5分钟内完成)1、 通过旺旺发送。2、 通过QQ发送。3、 通过邮箱发送。联系方式:1、 QQ:16405228812、 旺旺:mx5976516613、 邮箱:16405228814、 手机:15018530036(限短信)注意事项:1、 所有文档一经售出概不退款。2、 大家购买时,请按实际的价格选择合适的宝贝数量。否则不予发货。谢谢配合。3、 拍下宝贝时,务必备注清楚文档网站链接地址(或者文档的完整名称)以及邮箱地址。4、 店主在线时再拍,以防止不能及时的给您发货。您有任何疑问,请联系我!欢迎大家前来咨询!营业时间 早上10:30-01:00 第 16 页 共 16 页