键盘及LED显示实验

上传人:pu****.1 文档编号:496664014 上传时间:2023-10-09 格式:DOCX 页数:13 大小:291.07KB
返回 下载 相关 举报
键盘及LED显示实验_第1页
第1页 / 共13页
键盘及LED显示实验_第2页
第2页 / 共13页
键盘及LED显示实验_第3页
第3页 / 共13页
键盘及LED显示实验_第4页
第4页 / 共13页
键盘及LED显示实验_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《键盘及LED显示实验》由会员分享,可在线阅读,更多相关《键盘及LED显示实验(13页珍藏版)》请在金锄头文库上搜索。

1、实验三键盘及LED显示实验一、实验内容利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INTO,INT1),单片机扫描键盘,并把按键输入的键码一位LED显小器显小出来。二、实验目的及要求(一)实验目的通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。(二)实验要求1 .学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。2 .该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个

2、性及创造力,独立操作完成实验内容,并写出实验报告。三、实验条件及要求计算机,C51语言编辑、调试仿真软件及实验箱50台套。四、实验相关知识点1 .C51编程、调试。2 .扩展8255芯片的原理及应用。3 .键盘扫描原理及应用。4 .LED显示器原理及应用。5 .外部中断的应用。五、实验说明6 实验仪提供了8位8段LED显示器,学生可选用任一位LED显示器,只要按地址输出相应的数据,就可以显示所需数码显示字形0123456789AbCdEF段码0xfc0x600xda0xf20)x660xb60(be0xe00xfe0xf60xee0x3e0x9c()x7a0x9e08e六、实验原理图1 / 9

3、DS29LG4041AHDS30LG4041AH123B45678SEGA(8255PB7)11SEGC(8255PB5)4SEGD(8255PB4)2SEGE(8255PB3)SEGH(8255PB0)3abcdefgdpafgben;E;dpdpdpd|dpGND4GND3GND2GND1SEGA11SEGB7SEGC4SEGD2SEGE1SEGH3JP42ded;gdpdpGND4GND3aU36D034D133D232D331D430D529D628D727RD5WR36DOPAOD1PA1D2PA2D3PA3D4PA4D5PA5D6PA6D7PA7RDPBOWRPB1AOPB2A1P

4、B3RESETPB4CSPB5PB6PB7PCOPC1PC2PC3PC4PC5PC6PC74PAO3PA12PA21PA34OPA439PA538PA637PA718PBO19PB12OPB221PB322PB423PB524PB625PB714CPCO15Xpc116PC217PC313XPC412XPC511PC61O乂PC71JP5623456781JP5323456781JP522345678lo_3DroTN-cocrcL_OTN6(PA7)JP411(8255PA6)2(8255PA5)3(8255PA4)5c(8255PA3)(8255PA2)6(8255PA1),7(8255P

5、AO),8JP9212,34D678(8255PC7)JP471(8255PC6)23(8255PC5)(8255PC4)4a(8255PC3)(8255PC2)6(8255PC1)7(8255PCO)8GND18255七、连线说明F4区:CS、AO、A1A3区:CS1、AO、A1B6区:JP56(PA口)F4区:JP41(C)B6区:JP53(PB口)F4区:JP42(B)B6区:JP52(PC口)F4区:JP47(A)A3区:JP51F4区:JP92(D)A3区:P1.6、P1.7A3区:INTO、INT1注:F4的D无法与INT0(P3.2)、INT1(P3.3)直接连接,所以使用P1口

6、桥接。八、实验参考流程图1.主程序流程图外部中断12.外中断服务程序流程图外部中断03.LED显示程序流程图Y九、C51语言参考源程序#includereg52.hunsignedcharKeyResult;unsignedcharbuffer8;bitbKey;/存放键值/显示缓冲区/是否有键按卜xdataunsignedcharP_8255_at_0xf003;/8255的控制口xdataunsignedcharPA_8255_at_0xf000;/8255的PAHxdataunsignedcharPB_8255_at_0xf001;/8255的PB口xdataunsignedcharPC

7、_8255_at_0xf002;/8255的PC口codeunsignedcharSEG_TAB=/段码0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x0;sbitbLine0=P3A2;sbitbLinel=P3A3;/延时1msvoidDelay1ms()unsignedchari;i=0;while(-i);/显示voidDisplay()unsignedchari=0x7f;unsignedcharj;for(j=0;j0;i-)bufferi=bufferi-1;buf

8、fer0=KeyResult;/扫描/段数据voidInt0Int()interrupt0unsignedchari=0x80;unsignedcharKeyResult0=0x0;EX0=0;P_8255=0x89;bLine0=0;/关外部中断0/PC口输入/P3.2作行输出while(i)if(PC_8255&i)=0)break;KeyResult0+;i=1;P_8255=0x80;PC_8255=0;/8255的PAPRPC口全作输出口bLine0=1;if(i)TH0=60;TL0=176;TR0=1;KeyResult=KeyResult0;IE0=0;EX0=1;/定时中断计

9、数器初值/定时50ms/清除中断/开外部中断0voidInt1Int()interrupt2unsignedchari=0x80;unsignedcharKeyResult0=8;EX1=0;P_8255=0x89;bLine1=0;while(i)if(PC_8255&i)=0)break;KeyResult0+;i=1;P_8255=0x80;PC_8255=0;bLine1=1;if(i)TH0=60;TL0=176;TR0=1;KeyResult=KeyResult0;IE1=0;EX1=1;/关外部中断0/PC口输入/P3.2作行输出/8255的PAPRPC口全作输出口/定时中断计数

10、器初值/定时50ms/清除中断/开外部中断0/50ms中断服务程序voidINT_Timer0(void)interrupt1if(KeyResult=8)&!bLine1)/ 有键按下,键值在KeyResult 中bKey=1;TR0=0;voidmain()chari;/ 没有键按下/ 定时器0:方式一bKey=0;TMOD=1;P_8255=0x80;PC_8255=0x0;/8255的PAPRPC口全作输出口ET0=1;EX0=1;EX1=1;IT0=1;IT1=1;EA=1;for(i=0;i8;i+)bufferi=0x10;/TR0=1;/bRefurbish=1;while(1)if(bKey)bKey=0;RefurbishData();Display();/开定时器0中断/开外部中断0/开外部中断1/边沿触发/边沿触发/允许中断/开定时器T0/调用显示十、实验实施步骤1仔细阅读实验内容及要求,编写C51源程序。2上机编辑、仿真调试源程序。3按要求接线。4在线调试源程序,观查运行结果。十一、实验心得此次实验要求我们利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED显示器显示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号