硬件实验三按键与显示实验

合集下载

按键显示电路实验报告(3篇)

按键显示电路实验报告(3篇)

第1篇一、实验目的1. 熟悉按键电路的基本原理和设计方法。

2. 掌握按键电路的搭建和调试方法。

3. 了解按键电路在实际应用中的重要性。

4. 提高动手实践能力和电路分析能力。

二、实验原理按键显示电路是一种将按键输入转换为数字信号,并通过显示设备进行显示的电路。

本实验主要涉及以下原理:1. 按键原理:按键通过机械触点实现电路的通断,当按键被按下时,电路接通,产生一个低电平信号;当按键释放时,电路断开,产生一个高电平信号。

2. 译码电路:将按键输入的信号转换为相应的数字信号,以便后续处理。

3. 显示电路:将数字信号转换为可视化的信息,如LED灯、数码管等。

三、实验器材1. 电路板2. 按键3. 电阻4. LED灯5. 数码管6. 电源7. 基本工具四、实验步骤1. 按键电路搭建(1)根据电路原理图,在电路板上焊接按键、电阻、LED灯等元器件。

(2)连接电源,确保电路板供电正常。

2. 译码电路搭建(1)根据电路原理图,在电路板上焊接译码电路所需的元器件。

(2)连接译码电路与按键电路,确保信号传输正常。

3. 显示电路搭建(1)根据电路原理图,在电路板上焊接显示电路所需的元器件。

(2)连接显示电路与译码电路,确保信号传输正常。

4. 电路调试(1)检查电路连接是否正确,确保无短路、断路等问题。

(2)按下按键,观察LED灯或数码管显示是否正常。

(3)根据需要调整电路参数,如电阻阻值、电源电压等,以达到最佳显示效果。

五、实验结果与分析1. 实验结果通过实验,成功搭建了一个按键显示电路,按下按键后,LED灯或数码管能够正确显示数字信号。

2. 结果分析(1)按键电路能够正常工作,实现电路通断。

(2)译码电路能够将按键输入转换为相应的数字信号。

(3)显示电路能够将数字信号转换为可视化的信息。

六、实验总结1. 通过本次实验,掌握了按键电路的基本原理和设计方法。

2. 提高了动手实践能力和电路分析能力。

3. 了解了按键电路在实际应用中的重要性。

06 12864LCD显示计算器键盘按键实验

06 12864LCD显示计算器键盘按键实验

目录1 课程设计概述和要求 (1)1.1 课程设计要求与任务 (2)1.2 课程设计思路 (2)1.3 课程设计需要配置的环境 (3)2 系统设计 (3)2.1 设计框图 (3)2.2 元件解析 (3)2.2.1 LCD12864芯片……………………………………………………………42.2.2 AT89C51芯片 (5)2.2.3 其他部件 (6)2.2.4 电路分析 (7)3 软件设计 (12)3.1 程序流程图 (12)3.2 程序代码 (12)4 系统的仿真与调试 (13)4.1 硬件调试 (13)4.2 软件调试 (14)4.3 软硬件调试 (14)5 总结 (14)附录1:程序代码附录2:12864LCD显示计算器键盘按键实验Proteus仿真图1 课程设计概述和要求1.1 课程设计任务与要求设计任务:利用AT89C51单片机结合12864LCD显示器设计计算器键盘按键。

设计要求1:本设计实现一个12864LCD显示12864LCD显示器设计计算器键盘按键2.利用AT89C51控制整个电路来实现. 显示12864LCD显示器设计计算器键盘按键,系统主要包括硬件和软件两部分。

重点就是各部分硬件的连接设计以及程序的编写。

本章讲述的就是系统硬件的设计,其中包括各模块的器件选择和电路设计。

将计算器按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显示于12864LCD液晶显示屏上。

1.2 课程设计目的思路1、先把与题目有关的芯片资料找到,熟悉一下芯片资料2、把此程序的电路图看懂,了解一下它的实现原理,以及实现的功能。

3、分析一下此程序的各部分的功能,各零件的工作原理。

4、对程序进行调试,分析调试结果,观察并得出结论。

1.3 课程设计需要配置的环境1、一台主机,一台显示器2、Keil uVision3/Keil uVision4 应用程序软件3、ISIS 7 Professional 仿真软件4、老师交给的仿真电路图,及案例5、纸张,以及一些参考资料2 系统设计2.1.设计框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。

键盘及LED显示实验

键盘及LED显示实验

实验三键盘及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显示器,只要按地址输出相应的数据,就可以显示所需数码。

六、实验原理图P1口桥接。

八、实验参考流程图1.主程序流程图2.外中断服务程序流程图外部中断0 外部中断1定时器0中断程序,用于消抖动:3.LED显示程序流程图九、C51语言参考源程序#include "reg52.h"unsigned char KeyResult; //存放键值unsigned char buffer[8]; //显示缓冲区bit bKey; //是否有键按下xdata unsigned char P_8255 _at_ 0xf003; //8255的控制口xdata unsigned char PA_8255 _at_ 0xf000; //8255的PA口xdata unsigned char PB_8255 _at_ 0xf001; //8255的PB口xdata unsigned char PC_8255 _at_ 0xf002; //8255的PC口code unsigned char SEG_TAB[] = { //段码0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x0};sbit bLine0 = P3^2;sbit bLine1 = P3^3;//延时1msvoid Delay1ms(){unsigned char i;i = 0;while (--i);}//显示void Display(){unsigned char i = 0x7f;unsigned char j;for (j = 0; j < 8; j++){PA_8255 = i; //扫描PB_8255 = SEG_TAB[buffer[j]]; //段数据i = i / 2 + 0x80;Delay1ms();}}//更新显示缓冲区数据void RefurbishData(){char i;for (i = 7; i >0; i--)buffer[i] = buffer[i-1];buffer[0] = KeyResult;}void Int0Int() interrupt 0{unsigned char i = 0x80;unsigned char KeyResult0 = 0x0;EX0 = 0; //关外部中断0P_8255 = 0x89; //PC口输入bLine0 = 0; //P3.2作行输出while (i){if ((PC_8255 & i) == 0)break;KeyResult0++;i >>= 1;}P_8255 = 0x80; //8255的PA、PB、PC口全作输出口PC_8255 = 0;bLine0 = 1;if (i){TH0 = 60; //定时中断计数器初值TL0 = 176; //定时50msTR0 = 1;KeyResult = KeyResult0;}IE0 = 0; //清除中断EX0 = 1; //开外部中断0}void Int1Int() interrupt 2{unsigned char i = 0x80;unsigned char KeyResult0 = 8;EX1 = 0; //关外部中断0P_8255 = 0x89; //PC口输入bLine1 = 0; //P3.2作行输出while (i){if ((PC_8255 & i) == 0)break;KeyResult0++;i >>= 1;}P_8255 = 0x80; //8255的PA、PB、PC口全作输出口PC_8255 = 0;bLine1 = 1;if (i){TH0 = 60; //定时中断计数器初值TL0 = 176; //定时50msTR0 = 1;KeyResult = KeyResult0;}IE1 = 0; //清除中断EX1 = 1; //开外部中断0}//50ms中断服务程序void INT_Timer0(void) interrupt 1{if (((KeyResult < 8) && !bLine0) ||((KeyResult >= 8) && !bLine1)){bKey = 1; //有键按下,键值在KeyResult中}TR0 = 0;}void main(){char i;bKey = 0; //没有键按下TMOD = 1; //定时器0:方式一P_8255 = 0x80; //8255的PA、PB、PC口全作输出口PC_8255 = 0x0;ET0 = 1; //开定时器0中断EX0 = 1; //开外部中断0EX1 = 1; //开外部中断1IT0 = 1; //边沿触发IT1 = 1; //边沿触发EA = 1; //允许中断for (i = 0; i < 8; i++)buffer[i] = 0x10;// TR0 = 1; //开定时器T0// bRefurbish = 1;while (1){if (bKey){bKey = 0;RefurbishData();}Display(); //调用显示}}十、实验实施步骤1.仔细阅读实验内容及要求,编写C51源程序。

单片机系统实验实训报告

单片机系统实验实训报告

一、实验目的1. 熟悉单片机的基本结构和原理。

2. 掌握单片机的编程方法和调试技巧。

3. 培养单片机应用系统的设计能力。

4. 提高实际操作能力和团队协作精神。

二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。

- 掌握电路板焊接和调试方法。

2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。

- 掌握单片机GPIO端口的使用方法。

- 通过编程实现LED灯的流水效果。

3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。

- 掌握按键去抖动技术。

4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。

- 掌握LCD1602的初始化和显示控制方法。

5. 串口通信实验- 学习使用单片机串口进行通信。

- 掌握串口初始化和通信协议。

6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。

- 掌握传感器数据读取和温度湿度计算方法。

7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。

- 掌握按键输入、密码存储和匹配方法。

三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。

- 按照电路图焊接电路,确保电路连接正确。

- 上电测试,观察LED灯是否亮起,确认电路工作正常。

2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。

- 烧录程序到单片机,观察LED灯的流水效果。

3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。

- 烧录程序到单片机,测试按键控制功能。

4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。

- 烧录程序到单片机,观察LCD1602显示屏的显示效果。

嵌入式实验三 键盘检测控制实验

嵌入式实验三  键盘检测控制实验

2
ቤተ መጻሕፍቲ ባይዱ
嵌入式技术及应用 实验三
实验三 键盘实验
一、 实验目的 掌握单片机系统中矩阵键盘的编程控制方法,学会实时程序的调试技巧。
二、 实验原理 键盘是单片机应用中常用的输入设备,在应用系统中,操作人员可通过键盘
向系统输入指令、地址和数据,实现简单的人机通信。 键盘实际上是一组按键开关的集合,平时总是处于断开状态,当按下键时它
才闭合。按键在闭合和断开时,触点会存在抖动现象,抖动时间一般为 5-10ms, 如下图示:
键盘的处理主要涉及以下 3 个方面的内容: 按键的识别
所接 I/O 口线是高还是低电平(根据连接情况) 抖动的消除
硬件消抖 软件消抖(延时) 判断键值 独立式键盘 矩阵式键盘 实验板电路原理图如下:
1
嵌入式技术及应用 实验三
三、 实验内容 按下 16 个矩阵键盘依次在数码管上显示 1-16 的平方。如按下第一个显示 1,
第二个显示 4...
四、
实验步骤 1、 按实验内容要求在 µ Vision 中创建项目,编辑、调试、编译程序。 2、 将编译生成的目标码文件(后缀为.Hex)下载到实验板上。 3、 观察实验运行结果并记录。

单片机键盘显示实验报告

单片机键盘显示实验报告

单片机的键盘和显示实验报告㈠实验目的1.掌握单片机I/O的工作方式;2.掌握单片机以串行口方式0工作的LED显示;3.掌握键盘和LED显示的编程方法。

㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.电源一台㈢实验内容及要求实验硬件线路图见附图从线路图可见,8051单片机的P1口作为8个按键的输入端,构成独立式键盘。

四个LED显示器通过四个串/并移位寄存器74LS164接口至8051的串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示的段码数据,TXD则作为发送时钟来对显示数据进行移位操作。

编写一个计算器程序,当某一键按下时可执行相应的加、减、乘、除运算方式,在四个显示器上显示数学算式和最终计算结果。

注:①通过按键来选择加、减、乘、除四种运算方式。

②输入两个数字均为一位十进制数,可预先放在内存中。

㈣实验框图(见下页)㈤思考题1.当键盘采用中断方式时,硬件电路应怎样连接?P1.4~P1.7是键输出线,P1.0~P1.3是扫描输入线。

输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至8051的外部中断输入端。

2.74LS164移位寄存器的移位速率是多少?实验中要求计算的式子和结果之间相差一秒,移位寄存器的移位速率应该是每秒一位吧。

其实这个问题确实不知道怎么回答。

LED 显示用的段码与教科书所提供的不同,本实验采用如下段码:显示数符段码显示数符段码0BBH A DBH109H B F1H2EAH C B2H36BH D E9H459H E F2H573H F D2H否有否P1口置输入读P1口开 始显示“0000”是否有键按下?延迟消抖是否有键按下?是读键码加法运算减法运算除运算6F3H—40H70BH.04H8FBH┗┛A1H97BH┗┛1AH灭00H P DAH实验代码:ORG 0000HAJMP MAINORG 0030HMAIN:MOV 41H,#0BBH ;对几个存放地址进行初始化MOV 42H,#0BBHMOV 43H,#0BBHMOV 44H,#0BBHMOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示KEY:MOV R3,#08H;用来存放两个数据MOV R4,#02HMOV P1,#0FFH ;初始化P1口MOV A,P1 ;读取按键状态CPL A ;取正逻辑,高电平表示有键按下JZ KEY ;A=0时无键按下,重新扫描键盘LCALL DELAY1;消抖MOV A,P1 ;再次读取按键状态CPL AJZ KEY ;再次判别是否有键按下PUSH AKEY1:MOV A,P1CPL AANL A,#0FH ;判别按键释放JNZ KEY1 ;按键未释放,等待LCALL DELAY1;释放,延时去抖动POP AJB ACC.0,ADD1 ;K1按下转去ADD1JB ACC.1,SUB1 ;K1按下转去SUB1JB ACC.2,MUL1 ;K1按下转去MUL1JB ACC.3,DIV1 ;K1按下转去DIV1LJMP KEYADD1:LCALL BUFFER ;显示加数和被加数MOV 43H,#049HLCALL DISPLAY ;显示加号MOV A,R3ADD A,R4DA AMOV R3,A ;相加结果放入R6ANL A,#0FHMOV R4,A ;结果个位放入R7MOV A,R3SWAP A ;半字节交换,高四位放入低四位ANL A,#0FHMOV R3,A ;结果的高位放入R6LCALL L;显示缓存区设置LCALL DELAY2;延时一秒后显示LCALL DISPLAYLJMP KEYSUB1:LCALL BUFFER ;显示减数和被减数MOV 43H,#40HLCALL DISPLAY ;显示减号MOV A,R3CLR CY ;CY清零SUBB A,R4 ;做减法PUSH ARLC A ;带进位循环左移,最高位放入CYJC F ;判断最高位,若为1则跳转到负数ZHENG: POP AMOV R4,AMOV R3,#00H ;高位清零SJMP OUTFU:POP ACPL A ;取绝对值INC AMOV R4,AMOV R3,#11H ;显示负号OUT: LCALL L ;显示缓存区设置LCALL DELAY2 ;延时1s后显示LCALL DISPLAYLJMP KEYMUL1:LCALL BUFFER ;显示两位乘数MOV 43H,#99HLCALL DISPLAY ;显示乘号MOV A,R3MOV B,R4MUL AB ;结果放入AB,A中是低8位,B中是高8位MOV B,#0AHDIV AB ;十进制转换MOV R4,B ;结果个位放入R7MOV R3,A ;结果的十位放入R6LCALL LLCALL DELAY2LCALL DISPLAY ;延时1s后显示LJMP KEYDIV1:LCALL BUFFER ;显示除数和被除数MOV 43H,#62HLCALL DISPLAY ;显示除号MOV A,R3MOV B,R4DIV AB ;A除以BMOV R4,B ;余数放在R4中MOV R3,A ;商放在R3中MOV A,R4MOVC A,@A+DPTR ;调用段选号MOV 41H,A ;显示余数MOV A,R3MOVC A,@A+DPTRMOV 43H,A ;显示商MOV 42H,#00HMOV 44H,#00HLCALL DELAY2 ;延时1S后显示LCALL DISPLAYLJMP KEYBUFFER: MOV 41H,#22H ;显示初始化,在做计算之前显示两个操作数,显示等号MOV DPTR,#TABLMOV A,R4MOVC A,@A+DPTRMOV 42H,AMOV A,R3MOVC A,@A+DPTRMOV 44H,ARETDISPLAY:MOV R5,#04H;共四位需要显示MOV R0,#41HDISPLAY1:MOV A,@R0MOV SBUF,ADISPLAY2:JNB TI,DISPLAY2;是否传完了CLR TIINC R0DJNZ R5,DISPLAY1RETL:MOV A,R4MOVC A,@A+DPTRMOV 41H,A ;R4对应的段码MOV A,R3MOVC A,@A+DPTRMOV 42H,A ;R3对应的段码MOV 43H,#00HMOV 44H,#00HRETDELAY1: ;普通延时MOV R1,#20HDS1:MOV R2,#0FFHDS2:DJNZ R2,DS2DJNZ R1,DS1RETDELAY2:MOV R6,#14H ;定时1SMOV TMOD,#01HDS3:MOV TH0,#3CHMOV TL0,#0B0H ;50msSETB TR0LOOP:JNB TF0,LOOPCLR TF0CLR TR0DJNZ R6,DS3 ;1s到,中断返回RETTABL:DB 0BBH 09H 0EAH 6BH ;段码表DB 59H 73H 0F3H 0BHDB 0FBH 7BH 00H 0DBHDB 0F1H 0B2H 0E9H 0F2HDB 0D2H 40H实验结果及分析按键1:8+2= 结果:10按键2:8-2= 结果: 6按键3:8*2= 结果:16按键4:8/2= 结果:4从上面的结果可以看出,本次实验基本完成了实验要求。

按键控制液晶显示实验

按键控制液晶显示实验
}
}
if(jianshao==0)
{
delay(10);
if(jianshao==0)
{
if(k==1)
{
if(a==0)a=10;a--;
write_com(0xc0);delay(5);write_data(0x30+a);
}
if(k==0;b--;
write_com(0xc2);delay(5);write_data(0x30+b);
#define uint unsigned int
uchar code table1[]="0.00";
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcde=P2^2;
sbit shezhi=P3^4;
sbit zengjia=P3^5;
sbit jianshao=P3^6;
write_com(0x01);
write_com(0x38);
write_com(0x0f);
write_com(0x06);
}
void keyscan1()
{
if(zengjia==0)
{
delay(10);
if(zengjia==0)
{
if(k==1)
{
a++;if(a==10)a=0;
write_com(0xc0);delay(5);write_data(0x30+a);
}
}
}
void keyscan()
{
if(shezhi==0)
{
delay(10);
if(shezhi==0)

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。

二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。

2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。

通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。

三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,点亮LED灯。

2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将按键和LED灯与单片机相连。

(3)编写程序,实现按下按键控制LED灯亮灭。

3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将数码管与单片机相连。

(3)编写程序,将数字输出到数码管上显示。

4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,实现定时器功能。

四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。

2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。

3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。

通过程序设计,可以实现数码管显示不同的数字。

4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。

通过调节定时器的参数,可以实现不同的定时功能。

五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。

通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。

这些技能对于日常生活和工程设计都具有很大的实用性。

在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。

键盘显示实验报告

键盘显示实验报告

键盘显示实验报告键盘显示实验报告一、引言键盘是我们日常生活中常用的输入设备之一,它通过按下不同的按键来输入字符和命令。

在计算机科学领域,键盘显示是一项重要的实验,它涉及到了计算机硬件和软件的相互配合。

本文将介绍一个键盘显示实验的设计和结果分析。

二、实验设计1. 实验目的本实验的目的是通过键盘输入字符,并在计算机屏幕上进行显示。

通过这个实验,我们可以深入了解键盘的工作原理和计算机输入输出的基本知识。

2. 实验材料本实验所需的材料包括:计算机、键盘、显示器和相应的连接线。

3. 实验步骤(1) 将键盘与计算机通过连接线连接好。

(2) 打开计算机,并启动相应的键盘显示程序。

(3) 在键盘上按下不同的按键,观察计算机屏幕上的显示效果。

(4) 分析和记录实验结果。

三、实验结果在本次实验中,我们按下了键盘上的不同按键,并观察了计算机屏幕上的显示效果。

实验结果表明,键盘输入的字符能够准确地显示在屏幕上,并且显示的速度非常快。

四、结果分析1. 键盘工作原理键盘是一种输入设备,它通过按下不同的按键来输入字符和命令。

当我们按下键盘上的某个按键时,键盘会发送一个信号给计算机,计算机通过解读这个信号来确定我们按下的是哪个按键,并将相应的字符显示在屏幕上。

2. 计算机输入输出键盘显示实验涉及到了计算机的输入输出过程。

输入是指将外部信息传递给计算机的过程,而输出是指将计算机处理后的信息传递给外部的过程。

在本实验中,键盘是输入设备,它将我们按下的按键信息传递给计算机;而显示器是输出设备,它将计算机处理后的字符信息显示在屏幕上。

3. 键盘显示的应用键盘显示技术在计算机领域有着广泛的应用。

无论是在日常办公还是在专业领域,键盘输入都是必不可少的。

通过键盘,我们可以输入文字、命令、密码等信息,实现与计算机的交互。

键盘显示技术的发展也为计算机的普及和应用提供了方便。

五、实验总结通过本次键盘显示实验,我们深入了解了键盘的工作原理和计算机输入输出的基本知识。

单片机STM32实验报告

单片机STM32实验报告

实验报告课程名称:单片微机原理与车载系统学生姓名蒋昭立班级电科1601学号16401700119指导教师易吉良成绩2018年12 月17 日实验1 GPIO实验1.1 实验目的1)熟悉MDK开发环境;2)掌握STM32单片机的GPIO使用方法。

1.2 实验设备1)一台装有Keil和串口调试软件的计算机;2)一套STM32F103开发板;3)STlink硬件仿真器。

1.3 基本实验内容1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。

2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。

实现功能:3 个按钮(KEY_UP、KEY0和KEY1),来控制板上的2 个LED(DS0 和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制DS1,按一次亮,再按一次灭;KEY0 则同时控制DS0 和DS1,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。

参数mode 为0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。

当mode 为1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。

寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。

寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。

3)采用库函数方法实现按键输入实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第8章。

计算机硬件实训报告(共3篇)

计算机硬件实训报告(共3篇)

篇一:大学生计算机硬件实习报告计算机硬件实践报告实习内容:计算机组装与维护实习目的:通过计算机的组装,认识计算机的硬件和结构,了解计算机的整个组装过程和注意事项。

实习要求:识别计算机的各个部件,能自己动手组装一台计算机。

一. 识别部件:1.cpu (核心部件)主要功能:运算器,控制器。

cup就是通过这些引脚和计算机其他部件进行通信,传递数据,指令。

我们要先了解两个基本的概念,主板频率和倍频系数;通常我们常说的pentium ii 300,amd k6-2 300这些cpu的型号,其中最后一个数字300就是指cpu内部的工作频率是300mhz,而主板上的内存、控制芯片的工作频率是没有这么高的,所以就会出现主板频率和倍频系数,主板频率是指内存、控制芯片和cpu之间的总线的工作频率,倍频系数就是cpu的内部工作频率和主板频率的比值。

cpu的实际工作频率就决定于这两个参数。

有这样的公式: cpu的实际工作频率 = 主板频率×倍频系数通常主板频率都是一些固定的值,比如:60mhz、66mhz、75mhz、100mhz、133mhz等;倍频系数有1.5、2.0、2.5和3.0、4.0、4.5、5.0等,通过设置主板上的跳线就可以改变cpu的工作频率,人们常说的超频就是指改变这两个参数来使cpu 在较高的工作频率下运行,超频往往是以改变外频为主2.cpu风扇:cpu工作的时候要散发出大量的热量,如不及时散热,可能将cpu烧坏。

所以加上了风扇达到散热目的。

3.主板: 是计算机主顶内最重要的一个部件,其它设备都是通过它来联结工作的.4.内存条:是临时储存器,掉电后数据会消失。

5.硬盘: 通过读写记录各种信息,存储各类软件.程序和数据.既是输入设备,也是输出设备,但只能和计算机内存交换信息.包括存储盘片及驱动器。

特点储存量大。

6.软驱:平时可以插入软盘,用以存放数据。

7.光驱: 平时可以插入光盘,用以读数据.有耳机插孔:连接耳机或音箱,可输出audiocd音乐.音量控制:调整输出的cd音乐量大小.指示灯:显示光驱的运行状态.紧急出盒孔:用于断电或其他非正常状态下打开光盘托架.打开/关闭/停止健:控制光盘进出盒和停止audiocd播放.播放/跳道键:用于直接使用面板控制播放audiocd.8.电源:将ac交流电流转换成直流电压。

嵌入式系统实验三-按键中断实验

嵌入式系统实验三-按键中断实验

《嵌入式系统》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称按键中断实验二、实验目的通过实验掌握S3C2410X的中断控制寄存器的使用;通过实验掌握S3C2410X处理器的中断响应过程;通过实验掌握ARM处理器的中断方式和中断处理过程;通过实验掌握ARM处理器中断处理的软件编程方法。

三、实验内容编写程序,当用户在实验箱按下KEY1键或KEY2键时在中断服务子程序中将相关信息打印到串口中,显示在超级终端上。

四、实验原理在本实验平台的主板上设计了两个外部按键,电路原理图如下:EXINT0和EXINT1信号作为CPLD芯片的输入信号。

CPLD内部逻辑图:五、实验结果超级终端上显示以下信息:按下KEY1键或KEY2键,超级终端上显示以下信息。

六、练习题编写程序实现:按下KEY1或KEY2后点亮实验系统的LEDs一段时间后熄灭。

任务:按下KEY1键后LED1点亮一段时间后熄灭;按下KEY2键后点亮LED2一段时间后熄灭。

#define rCPLDIntControl (*(volatile unsigned char*)0x22600000)#define rCPLDIntStatus (*(volatile unsigned char*)0x22200000)#define rCPLDLEDADDR (*(volatile unsigned char*)0x21180000)void __irq int_int(void){unsigned char Status;int i;Status = rCPLDIntStatus;Status = ~(Status & 0x6);if(Status & 0x2){uart_printf(" Eint0 interrupt occurred.\n");rCPLDLEDADDR = (rCPLDLEDADDR | 0xFF )& 0xFE;for(i = 0; i < 100000; i++);rCPLDLEDADDR = rCPLDLEDADDR | 0xFF ;}else if(Status & 0x4){uart_printf(" EINT1 interrupt occurred.\n");rCPLDLEDADDR =(rCPLDLEDADDR | 0xFF) & 0xFD;for(i = 0; i < 100000; i++);rCPLDLEDADDR = rCPLDLEDADDR | 0xFF ;}rEINTPEND=(1<<9);ClearPending(BIT_EINT8_23);}。

键盘扫描显示实验报告

键盘扫描显示实验报告

一、实验目的1. 理解键盘扫描的基本原理,掌握键盘扫描的方法。

2. 掌握数码管显示的基本原理,实现键盘扫描信息的实时显示。

3. 熟悉8255并行接口芯片在键盘扫描和数码管显示中的应用。

二、实验原理1. 键盘扫描原理:键盘扫描是指通过硬件电路对键盘按键进行检测,并将按键信息转换为可识别的数字信号的过程。

本实验采用行列式键盘,通过扫描键盘的行线和列线,判断按键是否被按下。

2. 数码管显示原理:数码管是一种用来显示数字和字符的显示器,由多个发光二极管(LED)组成。

本实验采用七段数码管,通过控制各个段(A、B、C、D、E、F、G)的亮灭,显示相应的数字或字符。

3. 8255并行接口芯片:8255是一款通用的并行接口芯片,具有三个8位并行I/O口(PA、PB、PC),可用于键盘扫描和数码管显示的控制。

三、实验设备1. 实验平台:PC机、8255并行接口芯片、行列式键盘、七段数码管、面包板、导线等。

2. 软件环境:汇编语言编程软件、仿真软件等。

四、实验步骤1. 硬件连接:将8255并行接口芯片、行列式键盘、七段数码管连接到实验平台上,按照电路图进行连线。

2. 编写程序:使用汇编语言编写键盘扫描和数码管显示的程序。

(1)初始化8255并行接口芯片:设置PA口为输出端口,PB口为输出端口,PC口为输入端口。

(2)扫描键盘:通过PC口读取键盘的行线状态,判断是否有按键被按下。

若检测到按键被按下,读取对应的列线状态,确定按键的位置。

(3)数码管显示:根据按键的位置,控制数码管的段(A、B、C、D、E、F、G)的亮灭,显示相应的数字。

3. 仿真调试:使用仿真软件对程序进行调试,确保程序能够正确扫描键盘和显示数字。

五、实验结果与分析1. 实验结果:成功实现了键盘扫描和数码管显示的功能。

当按下键盘上的任意按键时,数码管上会显示对应的数字。

2. 分析:(1)键盘扫描部分:通过读取PC口的行线状态,判断是否有按键被按下。

当检测到按键被按下时,读取PB口的列线状态,确定按键的位置。

嵌入式实验3按键实验(中断方式)

嵌入式实验3按键实验(中断方式)

河南机电高等专科学校《嵌入式系统开发》课程实验报告系部:电子通信工程系班级:电信1##姓名: ######学号: 120######实验三按键实验(中断方式)一.实验简介在实验一的基础上,使用按键控制流水灯。

二.实验目的熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。

三.实验内容实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及方向。

下载代码到目标板,查看运行结果。

四.实验设备硬件部分:PC计算机(宿主机)、STM32实验板。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤1在实验一代码的基础上,编写中断初始化代码2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序3编写中断服务程序4编译代码,下载到实验板5.单步调试6记录实验过程,撰写实验报告六.实验结果及测试中断方式的按键式实验,是通过配置外部中断寄存器和中断嵌套(NVIC)控制器来实现按键按下控制LED灯亮灭。

通过按键中断打断主函数,执行LED1取反一次。

主函数初始化中断配置和LED配置,点亮LED1后一直等待中断,每中断一次,LED1取反一次。

int main(void){LED_GPIO_Config();LED1_ON;CLI();SEI();EXTI_PA0_Config();while(1){}}中断嵌套控制寄存器的配置为中断嵌套分组1;抢占优先级0;响应优先级0 代码如下:void NVIC_Configuration(void){NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}外部中断按键的配置源码如下:配置PA0位中断线,并使能AFIO时钟void EXTI_PA0_Config(void){GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);NVIC_Configuration();GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);}产生中断后程序进入中断服务子程序,将LED1取反,并软件清除标志位,中断服务子程序如下:void EXTI0_IRQHandler(void){if(EXTI_GetITStatus(EXTI_Line0) != RESET){LED1_TOGGLE;EXTI_ClearITPendingBit(EXTI_Line0);}}七.实验总结通过这次实验,课程知识的实用性很强,因此实验就显得非常重要,刚开始做实验的时候,由于自己的理论知识基础不好,在实验过程遇到了许多的难题,也使我感到理论知识的重要性。

数码管显示按键键号实验 单片机实验报告

数码管显示按键键号实验 单片机实验报告

数码管显示按键键号实验单片机实验报告数码管显示按键键号实验一.实验目的1.熟悉数码管的功能和使用。

2.熟悉延时子程序的编写和使用。

3.熟悉独立按键的使用和编程方法。

二.实验仪器计算机、Keil 编程环境、普中下载软件、单片机开发实验仪。

三.实验原理与内容P0 口做输出口,接一个共阳极数码管,要求循环显示。

共阳极数码管字形表同上一实验。

独立按键为 K1;K8 接 P2 口。

四 .实验线路及原理五五 .注意事项 1.安装实验仪时,先接通讯串口线,再开电源开关。

2.实验过程中,在进行接插线操作时,必须先关闭电源。

六 .实验步骤1、主机连线说明:JP10单片机 0 P0 口(8 8 位)JP3共阳极数码管JP11单片机 2 P2 口(8 8 位)JP58 8 个独立按键七 .实验步骤1.打开 Keil 编程软件编写程序,并进行汇编产生 HE_ 文件。

(1)流程图(2)源程序ORG 0000HLJMP MAIN; 初始地址 0000H 跳转 MAI 程序 ORG 0030HMAIN:MOV SP,#60H; 赋值 SP=60H MOV A,P2;A=P2 CJNE A,#0FFH,LP3 ;ane;FFH 跳转 LP3LJMP LP1; 跳转 LP1 LP2:LCALL DEY10; 调用 DEY10 延时子程序MOV A,P2; 赋值 A=P2 CJNE A,#0FFH,LP3 ;Ane;FFH 时跳转 LP3 LJMP LP1; 跳转 LP1 LP3:MOV R3,#1;R3=1MOV R2,#8;R2=8 LP4:RRC A;A 带进位循环右移JNC LP5; 无进位跳转 LP5 INC R3;R3 加一 DJNZ R2,LP4;R2 减一ne;0 转跳转 LP4 LJMP LP1; 跳转 LP1 LP5:MOV A,P2;A=P2CJNE A,#0FFH,LP5 ;Ane;FFH 跳转 LCALL DISPLAY ; 调用LP1:LJMP MAIN; 跳转 DISPLAY:MOV A,R3 MOV DPTR,#500H ; 将数组首地址赋给数据指针寄存器 MOVC A,@A+DPTR ; 根据 R3 的值取第几个数据 MOV P0,A ;P0=A RET DEY10: MOV R6,#20__MOV R7,#0 DEY11: DJNZR7,DEY11DJNZR6,DEY11; 执行256 _____20__次后返回调用处RETdey1: MOV R5,#40DEYY1:LCALL DEY10; 调用延时子程序 DEY10DJNZ R5,DEYY1;256 _____20__ _____40RET; 返回调用处ORG 500H; 数组从 500H 开始存储 TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH END 2.点击普中下载软件,检查设置是否正确,然后下载到实验仪的单片机中。

实验三按键与显示实验

实验三按键与显示实验

.实验报告课程名称: 微机原理与接口设计 指导老师: 齐杭丽 成绩: 实验名称: 实验三 按键与显示实验 实验类型: 设计型 同组学生姓名:_________1. 实验目的① 熟练运用keil 环境对硬件接口进行调试。

② 掌握IO 扩展键盘的软硬件设计方法;③ 掌握数字转换成显示段码的软件译码方法; ④ 掌握静态显示的原理和相关程序的编写。

⑤ 掌握动态显示的原理和相关程序的编写; 2. 预习要求① 理解51单片机IO 实现独立式键盘扩展的工作原理。

② 理解8段数码管静态显示的电路工作原理,采用静态显示有何优缺点; ③ 理解8段数码管动态显示的电路工作原理,采用动态显示有何优缺点;④ 理解8段数码管静态显示的IO 控制方式及同步串行口控制方式如何实现软件设计; 3. 实验设备计算机 1台; ZDGDTH-1型80C51实验开发系统 1套; 2号导线 、8P 数据线 若干条。

4. 基础型实验内容① 查询式键盘和静态显示实验8个独立式键盘的电路如图2-1所示,串口扩展的6个静态数码管电路如图2-2所示。

设将P0口连接到键盘接口,则如果有键按下,相应的口线输出为低,否则输出为高。

单片机通过读取接口的状态,判断按下什么键。

有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。

8个按键的键值从右至左为0~7。

实验例程是查询按键操作,并将按下的键值在6个静态数码管上显示出来。

6个静态数码管与6片74LS164(串变并移位寄存器)连接,与单片机通过IO 口连接,实现串行静态显示的控制。

电路图:装 订 线R9BK E Y 0BK E Y 1BK E Y 2BK E Y 3BK E Y 4BK E Y 5BK E Y 6BK E Y 7B12345678JD2BK0-7R10B 10k *8R11B R12B R13B R14B R15B R16B P 9BK0P 10BK1P 11BK2P 12BK3P 13BK4P 14BK5P 15BK6P 16BK7VCC专业: 光电信息工程 姓名: 李俊杰 学号: 3071102719 日期: 2009.12.14地点: 东四606.图2-1 8个独立式按键电路图2-2 6位静态数码管显示接口电路DBUF EQU 30HDAT EQU P3.0CLK EQU P3.1ORG 0000HL0: MOV P1, #0FFHL1: MOV A, P1CJNE A, #0FFH,KEYPUTSJMP L1KEYPUT: CJNE A,#0FEH,NEXT1SJMP K0NEXT1: CJNE A,#0FDH,NEXT2SJMP K1……K0: MOV B,#00HLCALL DISPLJMP L0K1: MOV B,#01HLCALL DISPLJMP L0……LJMP L0DISP: MOV DBUF, BMOV DBUF+1,BMOV DBUF+2,BMOV DBUF+3,BMOV DBUF+4,BMOV DBUF+5,BMOV R0,#DBUFMOV DPTR,#TABMOV R2,#06HDP0: MOV A,@R0MOVC A,@A+DPTRMOV R3,#08HDP1: RLC AMOV DAT,CCLR CLKSETB CLKDJNZ R3,DP1INC R0DJNZ R2,DP0RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH ; 0,1,2,3,4,5DB 7DH,07H,7FH,6FH,77H,7CH ; 6,7,8, 9,A,BDB 58H,5EH,79H,71H,00H,40H ; C,D,E,F, ,-END②动态显示实验6位动态数码管显示的接口电路设计如图2-3所示,假设P0口输出显示的段码,P2口输出位码,用8P数据线将80C51/C8051F020MCU模块的JD0(P0口)、JD2(P2口)分别与A7区的JD1A7、JD2A7相连;A7区的电源短路帽JD5A7打到右端。

按键功能实验报告总结(3篇)

按键功能实验报告总结(3篇)

第1篇一、实验背景按键作为电子设备中常见的输入装置,其功能丰富,应用广泛。

本实验旨在通过设计和实现一系列按键功能,加深对按键工作原理的理解,并提高电子设计实践能力。

二、实验目的1. 掌握按键的基本原理和电路设计方法。

2. 熟悉按键在不同应用场景下的功能实现。

3. 培养电子设计实践能力,提高问题解决能力。

三、实验内容1. 实验器材:51单片机最小核心电路、按键、LED灯、电阻、电容、面包板等。

2. 实验内容:(1)单按键控制LED灯闪烁(2)按键控制LED灯点亮与熄灭(3)按键控制LED灯亮度调节(4)按键实现数字时钟调整(5)按键实现多功能计数器(6)按键实现密码输入与验证四、实验步骤1. 根据实验要求,设计电路图,并选择合适的元器件。

2. 使用面包板搭建实验电路,包括单片机、按键、LED灯、电阻、电容等。

3. 编写程序,实现按键功能。

4. 对程序进行调试,确保按键功能正常。

5. 实验完成后,撰写实验报告。

五、实验结果与分析1. 单按键控制LED灯闪烁实验结果:按下按键,LED灯闪烁;松开按键,LED灯停止闪烁。

分析:本实验通过单片机定时器实现LED灯的闪烁。

当按键按下时,定时器开始计时;当定时器达到设定时间后,LED灯点亮;定时器继续计时,当达到设定时间后,LED灯熄灭。

如此循环,实现LED灯的闪烁。

2. 按键控制LED灯点亮与熄灭实验结果:按下按键,LED灯点亮;再次按下按键,LED灯熄灭。

分析:本实验通过单片机的I/O口控制LED灯的点亮与熄灭。

当按键按下时,单片机将I/O口置为高电平,LED灯点亮;当按键再次按下时,单片机将I/O口置为低电平,LED灯熄灭。

3. 按键控制LED灯亮度调节实验结果:按下按键,LED灯亮度逐渐增加;松开按键,LED灯亮度保持不变。

分析:本实验通过单片机的PWM(脉宽调制)功能实现LED灯亮度的调节。

当按键按下时,单片机调整PWM占空比,使LED灯亮度逐渐增加;松开按键后,PWM占空比保持不变,LED灯亮度保持不变。

实验三 键盘扫描

实验三  键盘扫描

实验三键盘扫描&8位7段码管显示实验一实验目的1.进一步熟悉用Quartus II开发SOPC的基本流程。

2.进一步掌握PIO外设的使用方法。

3.熟悉对PIO的更复杂的操作过程。

4.掌握驱动8位七段码管的方法。

二硬件需求1.EDA/SOPC实验箱一台。

三实验原理实验中要用到4×4键盘,系统需要完成4×4键盘的扫描,确定有键按下后需要获取其键值,根据预先存放的键值表,逐个进行对比,从而进行按键的识别,并将相应的按键值进行显示。

键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,首先输出4列中的第一列为低电平,其它列为高电平,然后读取行值;然后再输出4列中的第二列为低电平,读取行值,依此类推,不断循环。

系统在读取行值的时候会自动判断,如果读进来的行值全部为高电平,则说明没有按键按下,否则如果读进来的行值发现不全为高电平,则说明键盘整列中必定有至少一个按键按下,读取此时的行值和当前的列值,即可判断到当前的按键位置。

获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。

8位七段码管的显示是在程序中定时扫描显示的,为了使显示的过程简化,可以在程序中开辟8个存储区,用于存放8个七段码管对应值,然后每按下按键一次,则相应的值出现在最右边的七段码管上,原先的显示的值依次左移。

为了完成键盘的扫描和七段码管的正确显示,必须在原来CPU模块的基础上再加入一个定时器模块,用以产生周期性中断,在中断服务程序中完成键盘的扫描以及七段码管的扫描。

四实验内容本实验要完成的内容是设计一个CPU模块,该CPU需要加入一个定时器模块,用以产生周期性中断进行键盘扫描和七段码管的扫描显示。

实验要求能够在按下按键时获取其键值,然后在8个七段码管上正确显示按下的键值,每按键一次,原先显示的值整体左移,新的键值出现在8个七段码管的最右边。

Basys3实验指导手册

Basys3实验指导手册

Basys3实验指导手册1. 引言Basys3是一款基于Xilinx Artix-7 FPGA的开辟板,它提供了丰富的硬件资源和接口,适合于学习和开辟数字电路和嵌入式系统。

本实验指导手册旨在匡助初学者快速上手Basys3开辟板,并通过一系列实验匡助他们熟悉FPGA开辟流程和基本的数字电路设计。

2. 实验准备2.1 Basys3开辟板2.2 Vivado设计套件2.3 计算机2.4 USB A to micro-B线缆3. 实验一:LED控制3.1 实验目的通过编写Verilog代码,控制Basys3开辟板上的LED灯实现不同的闪烁模式。

3.2 实验步骤3.2.1 创建新工程3.2.2 添加约束文件3.2.3 编写Verilog代码3.2.4 综合、实现和生成比特流文件3.2.5 下载比特流文件到Basys3开辟板3.3 实验结果实验结果应包括不同频率和模式下的LED闪烁效果。

4. 实验二:七段数码管显示4.1 实验目的通过编写Verilog代码,控制Basys3开辟板上的七段数码管显示不同的数字。

4.2 实验步骤4.2.1 创建新工程4.2.2 添加约束文件4.2.3 编写Verilog代码4.2.4 综合、实现和生成比特流文件4.2.5 下载比特流文件到Basys3开辟板4.3 实验结果实验结果应包括数码管显示不同数字的效果。

5. 实验三:按键输入和输出5.1 实验目的通过编写Verilog代码,实现Basys3开辟板上按键输入和LED输出的控制。

5.2 实验步骤5.2.1 创建新工程5.2.2 添加约束文件5.2.3 编写Verilog代码5.2.4 综合、实现和生成比特流文件5.2.5 下载比特流文件到Basys3开辟板5.3 实验结果实验结果应包括按下不同按键时,LED灯的亮灭效果。

6. 实验四:PWM信号发生器6.1 实验目的通过编写Verilog代码,实现Basys3开辟板上的PWM信号发生器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科实验报告课程名称:微机原理与接口技术姓名:张开桓学院:信息学院系:控制系专业:自动化学号: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 口连接到键盘接口,则如果有键按下,相应的口线输岀为低,否则输出为髙。

单片 机通过读取接口的状态,判断按下什么键。

有键按下后,要有一泄的延时,防止由于键盘抖 动而引起误操作。

溯沪乂唆实验报告 件实验三 按键与显示实验8个按键的键值从右至左分别为0〜7。

实验例程是查询按键操作,并将按下的键值在6 个静态数码管上显示出来。

6个静态数码管与6片74LS164 (串转井移位寄存器)连接,通 过10 口与单片机连接,实现串行静态显示的控制。

用8P 数拯线将80C51/C8051F020MCU 模块的JD1 (P1 口)与查询式键盘模块JD1C7相 连。

在实验箱右上角的扩展区中插入静态串行显示模块,用二号导线将80C51/C8051F020MCU 模块的P3.0 (RXD)、P3. 1 (TXD)分别与静态数码显示模块的DIN 、CLK 相连:将A7区的电 源短路帽JD5A7打到右端。

在Keil 环境连续运行该程序,观察实验结果。

图2-1 8个独立式按键电路电路图:XCCa6O 二5 仝JD2B£ddddddd vccRRI6B7RI5B } AR 口 ------RI3B J ------- l AH12B !RUB : •>RIOB J 1R9B 【 'i KO-7CQ 工 H r iHcc s101^84UJ益NNN2NN■ c I <I < I < I c■ cKO KI K2 K3 K4 K5 K6 K7(a源程序:DBUF EQU30HDAT EQU P3. 0CLK EQU P3. 1ORG OOOOHLO: MOV Pl, #OFFHLI: MOV A, PlCJNE A, #OFFH, KEYPUTSJMP LIKEYPUT: CJNE A, #OFEH, NEXT1SJMP KONEXT1: CJNE A, #OFDH, NEXT2SJMP KINEXT2: CJNE A, #OFBH, NEXT3SJMP K2NEXT3: CJNE A, #0F7H, NEXT4SJMP K3NEXT4: CJNE A, #OEFH, NEXT5SJMP K4NEXT5: CJNE A, #ODFH, NEXT6SJMP K5NEXT6: CJNE A, #OBFH, NEXT?SJMP K6NEXT?: SJMP K7KO: MOV B, #OOHLCALL DISPLJMP LOKI: MOV B, #O1HLCALL DISPLJMP LOK2: MOV B, #02HLCALL DISPLJMP LOK3: MOV B, #03HLCALL DISPLJMP LOK4: MOV B, #O4HLCALL DISPLJMP LOK5: MOV B, #05HLCALL DISPLJMP LOK6: MOV B, #06HLCALL DISPLJMP LOK7: MOV B, #07HLCALL DISPLJMPDISP: MOVMOVMOVMOVMOVMOVMOVMOVMOVDPO: MOVMOVCMOVDPI: RLCMOVCLRSETBDJNZINCDJNZRETB: DB 3FH, 06H,5BH, 4FH, 66H, 6DH ; 0,1,2, 3,4,5DB 7DH, 07H,7FH, 6FH, 77H, 7CH ; 6, 7, 8, 9, A, BDB 58H, 5EH,79H, 71H, OOH, 40H ; C, D, E, F,结果:按前述要求连接硬件电路,并在K“1上并运行该程序。

然后.按动独立键盘上的按键,按下KEY0-KEY7中的每个键时,即在六位静态数码管上显示该键键值,直到按下下一个键。

②动态显示实验6位动态数码管显示的接口电路设计如图2-3所示,假设P0 口输出显示的段码,P2 口输岀位码,用8P 数据线将80C51/C8051F020MCU 模块的JDO (P0 口)、JD2 (P2口)分别与A7区的JD1A7.LO DBUF, B DBUF+1, B DBUF+2, B DBUF+3, B DBUF+4, B DBUF+5,B RO, #DBUF DPTR, #TAB R2, #06H A, ©ROA, ©A+DPTR R3, #08HADAT, C CLKCLKR3, DPI ROJD2A7相连;A7区的电源短路帽JD5A7打到右端。

在Keil环境连续运行该程序, 观察实验结果。

8劝询细JMBLM IMJD1A4JD2A4图2・3 6位动态数码管显示接口电路流程图如下:源程序:DBUFTEMPORGLJMPORGDISP:MOVMOVMOVMOVMOVMOVMOVMOVMOVMOVDPOO: MOVMOVCMOVINCINCDJNZEQU 30HEQU 40H0000HDISP0100H30H, #831H, #632H, #133H, #834H, #635H, #1RO, #DBUFR1,#TEMPR2,#6DPTR, #SEGTABA, ©ROA, ©A+DPTR@R1,AR1ROR2, DPOODISPO: MOV RO, #TEMPMOV Rl,#6MOV R2,#lDP01: MOV A, ©ROMOV PO, AMOV A, R2MOV P2,AACALL DELAYMOV A, R2RL AMOV R2, AINC RODJNZ Rl, DPO1SJMP DISPOSEGTAB:DB 3FH, 06H, 5BH ;0,1,2DB 4FH, 66H, 6DH ;3,4,5DB 7DH, 07H, 7FH ;6, 7, &DB 6FH, 77H, 7CH ;9, A,BDB 58H, 5EH, 7BH ;C, D,EDB 71H, OOH, 40H ;F,, -DELAY: MOV R4, #03HAA1: MOV R5, #OFFHAA: NOPNOPDJNZ R5, AADJNZ R4,AA1RETEND结果:按要求连接硬件电路并在Keil±运行上述源程序,此时,动态数码管上显示数字“168168”。

5. 设计型实验内容①在最后一个数码管上依次显示a、b、•…f各段,每段显示时间为100ms,用TO泄时器实现;源程序:DBUF EQU 30HORG 0000HLJMP DISPORG 0100HDISP:MOV DBUF, #01HMOV R1,#O1HMOV R2, #6DP: MOV A, DBUFMOV PO,AMOV A, R1MOV P2,AACALL DELAYMOV A, DBUFRL AMOV DBUF, ADJNZ R2,DPSJMP DISPDELAY: MOV TMOD, #01HMOV R3,#2LOOP: MOV THO, #3CHMOV TLO,#OBOHSETB TROJNB TFO, $CLR TFODJNZ R3, LOOPRETEND硬件电路连接:用8P数拯线将80C51/C8051F020MCU模块的JDO (P0 口)、JD2 (P2 口)分别与A7区的JD1A7、JD2A7相连:A7区的电源短路帽JD5A7打到右端。

结果:连接好电路并在Ke订上运行程序,则最后一个动态数码管的边缘各段(即对应 a. b、c、d. e、f各段)依顺时针方向依次点亮,在该数码管上形成了一个运动着的小边框。

与预期通过动态数码管显示所要实现的功能相符,实验成功。

②分别指左IO控制动态扫描显示模块或静态显示模块电路,画岀流程并设计程序实现数码管显示自己的学号后六位号码;动态显示学号流程图:动态数码管显示学号后六位流程图HJJO# 创AOK : IWH£O 存诃AOK : Avnaa 一'目:HOP 4H00 'HH aaya。

:H9Z “H匹'H89 aa46 - H32 卫収4HJ9 aaaz/9 - HJZ “HZO W aa*'£ - Hd9 'H99 “Hdb aa乙ro : H99 'H90 'H范9Q:9vioasodsia dKfsioda“Q zxfaDNIAOKTHAA: NOPAvinaV^d辺XV“Od 0肠純l#勿9#刘dKSI# 也ooaa 盘OY刃ja+v矽純o肠X 9V103S#为丄da9#盘drai# ‘门jaaa# 也I# 4H9£o#血X蚩£££#诫0#如££# 4H0£AOK11VJVAOKAOKAOKAOK :iodaAOKAOKAOK :OdSiazxfaDNIDNIAOKDAOKAOK :00daAOKAOKAOKAOKAOKAOKAOKAOKAOKAOK:dsia HOOIO OHOdsia MiHOOOO OHOHOP DOH dKHlHOC noa jaga :岀討粼NOPDJNZ R5, AADJNZ R4, AA1RETEND硬件电路连接:用8P数据线将80C51/C8051F020MCU模块的JDO (P0 口)、JD2 (P2 口)分别与A7区的JD1A7、JD2A7相连;A7区的电源短路帽JD5A7打到右端。

相关文档
最新文档