实验三键盘及LED显示实验 一、实验内容 利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED显示器显示出来。 二、实验目的及要求 (一)实验目的 通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。 (二)实验要求 1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。 2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。 三、实验条件及要求 计算机,C51语言编辑、调试仿真软件及实验箱50台套。 四、实验相关知识点 1.C51编程、调试。 2.扩展8255芯片的原理及应用。 3.键盘扫描原理及应用。 4.LED显示器原理及应用。
5.外部中断的应用。 五、实验说明 本实验仪提供了8位8段LED 显示器,学生可选用任一位LED 显示器,只要按地址输出相应的数据,就可以显示所需数码。 显示字形 1 2 3 4 5 6 7 8 9 A b C d E F 段 码 0xfc 0x60 0xda 0xf2 0x66 0xb6 0xbe 0xe0 0xfe 0xf6 0xee 0x3e 0x9c 0x7a 0x9e 0x8e 六、实验原理图 01e 1d 2dp 3 c 4g 56 b 78 9 a b c g d dp f 10a b f c g d e dp a 11GND3a b f c g d e dp 12 GND4 a b f c g d e dp GND1GND2DS29 LG4041AH 234 567 89A B C D E F e 1d 2dp 3 c 4g 56 b 78 9 a b c g d dp f 10a b f c g d e dp a 11GND3a b f c g d e dp 12 GND4 a b f c g d e dp GND1 GND2DS30 LG4041AH 1 2 3 4 5 6 7 8 JP4112345678 JP4712345678JP42 SEGA SEGB SEGC SEGD SEGE SEGG SEGF SEGH SEGA SEGB SEGC SEGD SEGE SEGG SEGF SEGH A C B 12345678 JP92D 5.1K R162 5.1K R163VCC VCC D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 U36 8255 D0D1D2D3D4D5D6D7WR RD RST A0A1PC5PC6PC7 PC2PC3PC4PC0PC1CS 12345678JP56 12345678JP53 12345678 JP52 PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7 (8255 PB7)(8255 PB6)(8255 PB5)(8255 PB4)(8255 PB3)(8255 PB2)(8255 PB1)(8255 PB0) (8255 PC7)(8255 PC6)(8255 PC5)(8255 PC4)(8255 PC3)(8255 PC2)(8255 PC1)(8255 PC0) (8255 PA0) (8255 PA1) (8255 PA2) (8255 PA3) (8255 PA4) (8255 PA5) (8255 PA6) (PA7) I N T 0(P 3.2) I N T 0(P 3.3) 七、连线说明
CPU键盘扫描实验 电路图如下: 要求按下s1键时,p3口的8位LED正向流水点亮;按下s2键时,p3口的8位LED反向流水点亮;按下s3键时,p3口的8位LED 熄灭;按下s4键时,p3口的8位LED闪烁。 程序代码: #include
} /*软件消抖延时*/ void delay1() { unsigned char i,j; for(i=0;i<100;i++) for(j=0;j<100;j++) ; } /*正转*/ void zheng() { int i; for(i=0;i<8;i++) {P3=tab[i]; delay0();} } /*反转*/ void fan() { int i; for(i=7;i>=0;i--) {P3=tab[i]; delay0();} } /*关闭*/ void close() { P3=0xff; } /*闪烁*/ void shan() { P3=0xff; delay0(); P3=0x00; delay0();
键盘扫描显示实验原理及分析报告 一、实验目的-------------------------------------------------------------1 二、实验要求-------------------------------------------------------------1 三、实验器材-------------------------------------------------------------1 四、实验电路-------------------------------------------------------------2 五、实验说明-------------------------------------------------------------2 六、实验框图-------------------------------------------------------------2 七、实验程序-------------------------------------------------------------3 八、键盘及LED显示电路---------------------------------------------14 九、心得体会------------------------------------------------------------- 15 十、参考文献--------------------------------------------------------------15
信息工程学院实验报告 课程名称:微机原理与接口技术 实验项目名称:键盘扫描及显示实验 实验时间: 班级: 姓名: 学号: 一、实 验 目 的 1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实 验 设 备 了解键盘扫描及数码显示的基本原理,熟悉 8255 的编程。 三、实 验 原 理 将 8255 单元与键盘及数码管显示单元连接,编写实验程序,扫描键盘输入,并将扫描结果送数码管显示。键盘采用 4×4 键盘,每个数码管显示值可为 0~F 共 16 个数。实验具体内容如下:将键盘进行编号,记作 0~F ,当按下其中一个按键时,将该按键对应的编号在一个数码管上显示出来,当再按下一个按键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近 6 次按下的按键编号。 键盘及数码管显示单元电路图如图 7-1 和 7-2 所示。8255 键盘及显示实验参考接线图如图 7-3 所示。 图 7-1 键盘及数码管显示单元 4×4 键盘矩阵电路图 成 绩: 指导老师(签名):
图 7-2 键盘及数码管显示单元 6 组数码管电路图 图 7-3 8255 键盘扫描及数码管显示实验线路图 四、实验内容与步骤 1. 实验接线图如图 7-3 所示,按图连接实验线路图。
图 7-4 8255 键盘扫描及数码管显示实验实物连接图 2.运行 Tdpit 集成操作软件,根据实验内容,编写实验程序,编译、链接。 图 7-5 8255 键盘扫描及数码管显示实验程序编辑界面 3. 运行程序,按下按键,观察数码管的显示,验证程序功能。 五、实验结果及分析: 1. 运行程序,按下按键,观察数码管的显示。
实验五键盘显示控制实验 一、实验目的 1、掌握8255控制键盘及显示电路的基本功能及编程方法 2、2、掌握一般键盘和显示电路的工作原理 二、实验内容 8255单元与键盘及数码管显示单元连接,扫描键盘输入,并将结果送数码管显示。键盘采用4*4键盘,每个数码管显示值可为0~F共16个数。具体实验内容为:将键盘警醒编号,记作0~F,当按下一个键时,将该键对应的编号在下一个数码管上显示出来。再按下一个键时,便将这个按键的编号在下一个数码管上显示出来,数码管上可以显示最近4次按下的按键编号。键盘与显示的字符的对应关系如下: 接线: PC7~PC0/8255 接行3~列0/4x4键盘 PA7~PA0/8255 接dp~a/led数码管 CS/8255 接Y1/IO地址 +5v 接S0/LED数码管 GND 接S3~S1/LED数码管 三、实验过程 1、设置8255C口键盘输入、A口为数码管段码输出 2、实验流程图如下图所示
N Y Y N 未找到 找到 程序代码如下图所示: ;*********************; ;* 键盘显示 8255LED *; ;*********************; ;********************; ;* 8255薄膜按键实验 *; ;********************; a8255 equ 288H ;8255 A 口 c8255 equ 28aH ;8255 C 口 k8255 equ 28bH ;8255控制口 data segment table1 dw 0770h,0B70h,0D70h,0E70h,07B0h,0BB0h,0DB0h,0EB0h dw 07D0h,0BD0h,0DD0h,0ED0h,07E0h,0BE0h,0DE0h,0EE0h ;键盘扫描码表 LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH DB 39h,5EH,79h,71h,0ffh ;LED 段码表, 开始 行线输出 是否有按键按下 列线输出 是否有按键按下 查找键码 查询键盘号 显示键盘号
实验矩阵键盘扫描实验 一、实验要求 利用4X4 16位键盘和一个7段LED构成简单的输入显示系统,实现键盘输入和LED 显示实验。 二、实验目的 1、理解矩阵键盘扫描的原理; 2、掌握矩阵键盘与51单片机接口的编程方法。 三、实验电路及连线 Proteus实验电路
1、主要知识点概述: 本实验阐述了键盘扫描原理,过程如下:首先扫描键盘,判断是否有键按下,再确定是哪一个键,计算键值,输出显示。 2、效果说明: 以数码管显示键盘的作用。点击相应按键显示相应的键值。 五、实验流程图
1、Proteus仿真 a、在Proteus中搭建和认识电路; b、建立实验程序并编译,加载hex文件,仿真; c、如不能正常工作,打开调试窗口进行调试 参考程序: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPTR,#TABLE ;将表头放入DPTR LCALL KEY ;调用键盘扫描程序 MOVC A,@A+DPTR ;查表后将键值送入ACC MOV P2,A ;将ACC值送入P0口 LJMP MAIN ;返回反复循环显示 KEY: LCALL KS ;调用检测按键子程序 JNZ K1 ;有键按下继续 LCALL DELAY2 ;无键按调用延时去抖 AJMP KEY ;返回继续检测按键 K1: LCALL DELAY2 LCALL DELAY2 ;有键按下延时去抖动 LCALL KS ;再调用检测按键程序 JNZ K2 ;确认有按下进行下一步 AJMP KEY ;无键按下返回继续检测 K2: MOV R2,#0EFH ;将扫描值送入R2暂存MOV R4,#00H ;将第一列值送入R4暂存 K3: MOV P1,R2 ;将R2的值送入P1口 L6: JB P1.0,L1 ;P1.0等于1跳转到L1 MOV A,#00H ;将第一行值送入ACC AJMP LK ;跳转到键值处理程序 L1: JB P1.1,L2 ;P1.1等于1跳转到L2 MOV A,#04H ;将第二行的行值送入ACC AJMP LK ;跳转到键值理程序进行键值处理 L2: JB P1.2,L3 ;P1.2等于1跳转到L3
汇编语言与接口技术实验报告 开课实验室:实验中心微机原理与接口技术实验室2014年12月1 日 学院计算机科 学教育软 件学院 年级、专 业、班姓名成绩 课程名称汇编语言 与接口技 术 实验项目 名称显示与键盘实验 指导老师 签名古鹏 一、实验要求 1.硬件实验十六八段数码管显示 利用实验仪提供的显示电路,动态显示一行数据. 2.硬件实验十七键盘扫描显示实验 在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。 实验程序可分成三个模块。 ①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。 ②显示模块:将显示单元的内容在显示器上动态显示。 ③主程序:调用键输入模块和显示模块。 二、实验目的 1. 硬件实验十六八段数码管显示 1.了解数码管动态显示的原理。 2.了解用总线方式控制数码管显示 2. 硬件实验十七键盘扫描显示实验 1、掌握键盘和显示器的接口方法和编程 方法。 2、掌握键盘扫描和LED八段码显示器的 工作原理。 三、实验电路及连线 1. 硬件实验十六八段数码管显示连线连接孔1 连接孔2 1 KEY/LED_CS CS0 位选通 信号 段码输 出 (0x004 数据总线
2. 硬件实验十七键盘扫描显示实验 连线连接孔1 连接孔2 1 KEY/LED_CS CS0 四、使用仪器、材料 计算机一台 Wave6000试验仪 五、实验程序、过程 1.硬件实验十六八段数码管显示 代码: OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 data segment LEDBuf db 6 dup(?) ; 显示缓冲 Num db 1 dup(?) ; 显示的数据 DelayT db 1 dup(?) LEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h data ends code segment assume cs:code, ds:data Delay proc near push ax ; 延时子程序 push cx
一、实验原理及电路 1、LCD显示器是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。因此,LCD的驱动控制归于对每个液晶单元通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使用光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。, 2、由于LCD已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且还自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示缓存的目的。 实验电路图 二、功能说明 设计并实现一4×4键盘的接口,键盘与1602显示单元连接,编写实验程序扫描键盘输入,并将扫描结果送1602显示,键盘采用4×4键盘。将键盘进行编号记作0—F当按下其中一个按键时将该按键对应的编号在一个1602显示出来,当按下下一个按键时便将这个按键的编号1602上显示出来 实验框图
四、实验代码 #include
实验三4*4键盘扫描显示控制 一、实验目的 实现一4×4键盘的接口,并在两个数码管上显示键盘所在的行与列。即将8255单元与键盘及数码管显示单元连接,编写实验程序扫描键盘输入,并将扫描结果送数码显示,键盘采用4×4键盘,每个数码管值可以为0到F,16个数。将键盘进行编号记作0—F当按下其中一个按键时将该按键对应的编号在一个数码管上显示出来,当按下下一个按键时便将这个按键的编号在下一个数码管上显示出来,且数码管上可以显示最近6次按下按键的编号。 二、实验要求 1、接口电路设计:根据所选题目和所用的接口电路芯片设计出完整的接口电路,并进行电路连接和调试。 2、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明。 三、实验电路
四、实验原理说明 图2 数码管引脚图 图1为AT89C51引脚图,说明如下: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址
本科实验报告课程名称:微机原理与接口技术 姓 名:张开桓 学 院:信息学院 系 : 控制系 专 业:自动化 学 号 : 3080104703 指导教师:齐杭丽 2010 年12 月15 H
专业:自动化(控制系) 姓名: 张开桓 学号: 3080104703 日期:2010/12/15 地点: 东4-606 课程名称: 微机原理与接口技术 指导老师: 齐杭丽 成 绩:____ 实脸名称:按键与显示实验实验类型:设汁型同组学生姓名: ____________________________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 1. 实验目的 ① 熟练运用keil 环境对硬件接口进行调试。 ② 掌握IO 扩展键盘的软硬件设计方法; ③ 掌握数字转换成显示段码的软件译码方法: ④ 掌握静态显示的原理和相关程序的编写。 ⑤ 掌握动态显示的原理和相关程序的编写; 2. 预习要求 ① 理解51单片机IO 实现独立式键盘扩展的工作原理。 ② 理解8段数码管静态显示的电路工作原理,采用静态显示有何优缺点: ③ 理解8段数码管动态显示的电路工作原理,采用动态显示有何优缺点: ④ 理解8段数码管静态显示的10控制方式及同步串行口控制方式如何实现软件设 计; 3. 实验设备 计算机 1台: ZDGDTH-1型8OC51实验开发系统 1套: 2号导线、8P 数据线 若干条。 4. 基础型实验内容 ①査询式键盘和静态显示实验 8个独立式键盘的电路如图2-1所示,串口扩展的6个静态数码管电路如图2-2所示。 设将P0 口连接到键盘接口,则如果有键按下,相应的口线输岀为低,否则输出为髙。单片 机通过读取接口的状态,判断按下什么键。有键按下后,要有一泄的延时,防止由于键盘抖 动而引起误操作。 溯沪乂唆实验报告 件实验三 按键与显示实验
单片机原理及应用 随堂实验报告 实验五按键与显示实验 学院计算机与电子信息学院 专业电子信息工程班级电信12 -1 班 姓名许锐佳学号 指导教师左敬龙 实验报告评分:_______
一、实验原理及电路 实验原理:单片机80c51的P2口接一矩阵键盘,P0和P3口接两个数码管,P1口通过接两个3-8译码器控制16个灯。刚开始时,电路处于扫描按键是否按下的状态,当有某个键按下时,在扫描函数作用下,会有一小段消抖时间,确定没抖动的情况下再次判断是否真的有按键按下,如果真的有按下,通过先检查行,再检查列的方法判断是哪个键按下,判断完后执行对应case后面的语句,即实现相应的功能。下图为实验原理电路图 (此时按下的是第10个按键): 二、功能说明 16个开关形成矩阵键盘,当按下第一个键时,数码管显示1,第一个led灯亮;当按下第二个键时,数码管显示2,第二个led灯亮;当按下第三个键时,数码管显
示3,第三个led灯亮···依次类推,按下第几号键,数码管显示对应号数,对应led灯亮。 三、实验框图: 四、实验代码 #include
#define uint unsigned int uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 ,0x7f,0x6f,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; uchar num; void delay(uchar time) { uchar i,j; for(i=0;i