实验一 实验环境及输入输出 实验报告
Logisim InputOutput 库实验报告

三、实验环境Logisim四、实验方法和步骤1、打开logisimPS:(可以通过file -->Prefernces --> International 帮助我们改成中文)2、Hex Digit Display(16进制数字显示)的使用在Logisim 中,Hex Digit Display(16进制数字显示)是一种数字显示组件,用于显示十六进制数字。
它通常用于显示数字的十六进制表示形式,例如0-9 和A-F。
Hex Digit Display 由一系列LED(发光二极管)组成的矩阵构成,每个LED 可以独立控制。
通过控制每个LED 的亮灭状态,可以在矩阵上显示所需的十六进制数字。
(1)Hex Digit Display(16进制数字显示)的属性(2)Hex Digit Display(16进制数字显示)的使用------ 显示自己的学号(后8位)16进制a.由于学号是十进制,所以需要转换为十六进制b.显示自己的学号(后8位)16进制3、LED Matrix(LED 点阵)的使用LED Matrix(LED 点阵)是一种数字显示组件,可以用于显示图形、字符或其他信息。
它由一系列LED(发光二极管)组成的矩阵构成,每个LED可以独立控制。
通过控制每个LED的亮灭状态,可以在矩阵上显示出所需的图案或字符。
(1)LED Matrix(LED 点阵)的属性(2)LED Matrix(LED 点阵)的使用a.LED Matrix(LED 点阵)(列)b.LED Matrix(LED 点阵)(行)4、Keyboard (键盘)和TTY(文本哑终端)的使用Keyboard(键盘)组件是一个模拟计算机键盘的输入设备。
你可以使用它来模拟按键输入,例如按下特定的键或释放键。
它可以连接到其他组件,如逻辑门或寄存器,以模拟键盘输入对电路的影响。
TTY(文本哑终端)组件是一个模拟计算机文本输出的设备,类似于显示器或终端。
嵌入式系统GPIO 输入输出实验报告

真验四GPIO 输进真验之阳早格格创做一、真验手段1、不妨使用GPIO的输进模式读与开闭旗号.2、掌握GPIO相闭寄存器的用法战树坐.3、掌握用C谈话编写步调统造GPIO.二、真验环境PC机一台ADS 1.2集成开垦环境一套EasyARM2131教教真验仄台一套三、真验真质1.真验通过跳线JP8 连交,步调检测按键KEY1 的状态,统造蜂鸣器BEEP 的鸣喊.按下KEY1,蜂鸣器鸣喊,紧开后停止蜂鸣.(调通真验后,改为KEY3键举止输进).2.当检测到KEY1有按键输进时面明收光二极管LED4并统造蜂鸣器响,硬件延时后闭掉收光管并停止蜂鸣,而后循环那一历程曲到检测按键不输进.(键输进改为键KEY4,收光管改为LED6).3.分离真验三,当按下按键Key1时,开用跑马灯步调并统造蜂鸣器响,硬件延时后闭掉收光管并停止蜂鸣,而后循环那一历程曲到检测按键再次按下.四、真验本理当P0 心用于GPIO输进时(如按键输进),里面无上推电阻,需要加上推电阻,电路图拜睹图 4.2.举止 GPIO 输进真验时,先要树坐IODIR 使交心线成为输进办法,而后读与IOPIN 的值即可.图 4.2按键电路本理图真验通过跳线 JP8 连交,步调检测按键KEY1 的状态,统造蜂鸣器BEEP 的鸣喊.按下KEY1,蜂鸣器鸣喊,紧开后停止蜂鸣.正在那个真验中,需要将按键KEY1 输出心P0.16 设为输出心而蜂鸣器统造心P0.7 树坐为输出心.蜂鸣器电路如图 4.3所示,当跳线JP6 连交蜂鸣器时,P0.7 统造蜂鸣器,矮电通常蜂鸣器鸣喊.LED灯电路如图4.4所示,矮电通常灯明.图 4.3蜂鸣器统造电路图 4.4 LED 统造电路步调最先树坐管足连交寄存器PINSEL0 战PINSEL1,树坐P0.16 为输进,树坐为输出.而后检测端心P0.16 的电仄,对于举止相映的统造,过程图如图 4.5所示,真止步调睹步调浑单 4.1.图 4.5按键输进真验过程图五、真验步调、源代码及调试截止真质1真验步调①开用ADS1.2IDE集成开垦环境,采用ARM ExecutableImage for lpc2131工程模板修坐一个工程BEEP_key.②正在user组里编写主步调代码main.c.③采用DebugInFLASH死成目标,而后编译链交工程.④将EasyARM教教真验开垦仄台上的相映管足跳线短交.⑤采用Project->Debug,开用AXD举止JLINK仿真调试.⑥齐速运止步调,步调将会正在main.c的主函数中停止.如下图所示:⑦单打Context Variable图标按钮(大概者采用ProcessorViews->Variables)挨开变量瞅察窗心,通过此窗心不妨瞅察局部变量战局部变量.采用System Views->Debugger Internals 即可挨开LPC2000系列ARM7微统造器的片内中寄存器窗心.通过变量窗心不妨瞅察变量BEEP、KEY1等的值战ARM7微统造器的片内中寄存器窗心.如下图所示:⑧不妨单步运止步调,先按下Key1,瞅察IO0PIN寄存器的值,而后断开Key1,瞅察IO0PIN寄存器的值.不妨树坐/与消断面;大概者齐速运止步调,停止步调运止,瞅察变量的值,推断蜂鸣器统造是可精确.如下图所示:图4.6 已按下Key1时IO0PIN 的值图4.7 按下Key1时IO0PIN的值由上二图可知,当按下Key1时,IO0PIN寄存器的第16位由1形成0(F形成E),key1与P,按下Key1时,1形成0,寄存器值变更,蜂鸣器响,证明统造是精确的.局面形貌:按下KEY1,蜂鸣器鸣喊,紧开后停止蜂鸣.源代码:#include "config.h"const uint32 BEEP = 1 << 7; // P0.7 统造蜂鸣器const uint32 KEY1 = 1 << 16; // P0.16 连交KEY1(改为KEY3时,只需“const uint32 KEY1 = 1 << 16”改为“const uint32 KEY3 = 1 << 18”,其余稳定.)/***************************************************** **************************************** 函数称呼:main()** 函数功能:GPIO 输进真验尝试.** 检测按键KEY1.KEY1 按下,蜂鸣器蜂鸣,紧开后停止蜂鸣.** 跳线证明:把 JP8 的KEY1 跳线短交,JP11 连交蜂鸣器.****************************************************** *************************************/int main (void){ PINSEL0 = 0x00000000; // 所有管足连交GPIOPINSEL1 = 0x00000000;IO0DIR = BEEP; // 蜂鸣器统造心输出,其余输进while (1){ if ((IO0PIN & KEY1) == 0) IO0CLR = BEEP; // 如果KEY1 按下,蜂鸣器鸣喊else IO0SET = BEEP; // 紧开则停止蜂鸣}return 0;}真质二真验步调①开用ADS1.2IDE集成开垦环境,采用ARM ExecutableImage for lpc2131工程模板修坐一个工程BEEP_key.②正在user组里编写主步调代码main.c.③采用DebugInFLASH死成目标,而后编译链交工程.④将EasyARM教教真验开垦仄台上的相映管足跳线短交.⑤采用Project->Debug,开用AXD举止JLINK仿真调试.⑥齐速运止步调,步调将会正在main.c的主函数中停止.如下图所示:⑦单打Context Variable图标按钮(大概者采用Processor Views->Variables)挨开变量瞅察窗心,通过此窗心不妨瞅察局部变量战局部变量.采用System Views->Debugger Internals 即可挨开LPC2000系列ARM7微统造器的片内中寄存器窗心.通过变量窗心不妨瞅察变量BEEP、KEY1等局部变量、i 等当天变量战ARM7微统造器的片内中寄存器窗心.如下图所示:左图所示为ARM7微统造器的片内寄存器窗心.图4.9 当天变量图4.8 局部变量⑧不妨单步运止步调,先按下Key1,瞅察IO0PIN寄存器的值,而后断开Key1,瞅察IO0PIN寄存器的值.不妨树坐/与消断面;大概者齐速运止步调,停止步调运止,瞅察变量的值,推断蜂鸣器统造是可精确.如下图所示:.图已按下KEY1时IO0PIN的值图 4.11 按下KEY1后IO0PIN的值对于比图 4.10战4.11,创造按下KEY1后,IO0PIN寄存器的第16位由1形成0;而KEY,当按下时输进矮电仄,那证明KEY1的统造是精确的.上图所示为运止“IO0CLR = BEEP”后IO0PIN寄存器的值,与图4.10对于比,创造第8位由1形成0,BEEP对于应P,那证明BEEP的统造是对于的.局面形貌:当按下KEY1时,蜂鸣器鸣响,LED4明;当紧开KEY1后,蜂鸣器静音,LED4灭.源代码如下:#include "config.h"const uint32 BEEP = 1 << 7; // P0.7 统造蜂鸣器const uint32 KEY1 = 1 << 16; // P0.16 连交KEY1(改为KEY4按键时,只需把上句代码改为“const uint32 KEY4=1<<19”,其余稳定)const uint32 LEDS4= 1 << 21; // P1[21]统造LED4,矮电仄面明(改为LED6时,只需把上句代码改为“const uint32 LED6=1<<23”,其余稳定.)/***************************************************** ************************ 函数称呼:main()** 函数功能:GPIO 输进真验尝试.** 检测按键KEY1.KEY1 按下,蜂鸣器蜂鸣,紧开后停止蜂鸣.** 跳线证明:把 JP8 的KEY1 跳线短交,JP11 连交蜂鸣器.****************************************************** *************************************/int main (void){Uint32 i;PINSEL0 = 0x00000000; // 所有管足连交GPIOPINSEL1 = 0x00000000;IO0DIR = BEEP; // 蜂鸣器统造心输出0IO1DIR = LEDS4; // 树坐LED4灯明while (1){ if ((IO0PIN & KEY1) == 0)for(i=0; i<1000; i++); // 硬件延时{IO0CLR = BEEP; // 如果KEY1 按下,蜂鸣器鸣喊IO1DCLR = LEDS4; // 树坐LED4灯明}else{IO0SET = BEEP; // 紧开则停止蜂鸣IO1SET= LEDS4; // 树坐LED4灯灭}for(i=0; i<1000; i++); // 硬件延时}return 0;}真质三真验步调①开用ADS1.2IDE集成开垦环境,采用ARM ExecutableImage for lpc2131工程模板修坐一个工程BEEP_key.②正在user组里编写主步调代码main.c.③采用DebugInFLASH死成目标,而后编译链交工程.④将EasyARM教教真验开垦仄台上的相映管足跳线短交.⑤采用Project->Debug,开用AXD举止JLINK仿真调试.⑥齐速运止步调,步调将会正在main.c的主函数中停止.如下图所示:⑦单打Context Variable图标按钮(大概者采用ProcessorViews->Variables)挨开变量瞅察窗心,通过此窗心不妨瞅察局部变量战局部变量.采用System Views->Debugger Internals 即可挨开LPC2000系列ARM7微统造器的片内中寄存器窗心.通过变量窗心不妨瞅察变量BEEP、KEY1等的值战ARM7微统造器的片内中寄存器窗心.如下图所示:⑧不妨单步运止步调,先按下Key1,瞅察IO0PIN寄存器的值,而后断开Key1,瞅察IO0PIN寄存器的值.不妨树坐/与消断面;大概者齐速运止步调,停止步调运止,瞅察变量的值,推断蜂鸣器统造是可精确.如下图所示:1时IO0PIN的值1时IO0PIN 的值由上二图可知,当按下Key1时,IO0PIN寄存器的第16位由1形成0(F形成E),key1与P,按下Key1时,1形成0,寄存器值变更,蜂鸣器响,流火灯明,证明统造是精确的.局面形貌:当按下按键KEY1时,蜂鸣器鸣响,流火灯明;紧开后,蜂鸣器静音,流火灯灭.源代码如下:#include "config.h"const uint32 BEEP = 1 << 7; // P0.7 统造蜂鸣器const uint32 KEY = 1 << 16; // P0.16 连交KEY1const uint32 LEDS8 = 0xFF << 18; // P1[25:18]统造LED8~LED1,矮电仄面明void DelayNS(uint32 dly){ uint32 i;for(; dly>0; dly--){for(i=0; i<50000; i++);}}/***************************************************** **************************************** 函数称呼:liushuideng()** 函数功能:流火灯隐现真验.** 调试证明:连交跳线 JP12 至LED8~LED1.****************************************************** *************************************//* 流火灯格式,矮电仄面明,注意调用时间用了与反支配 */ const uint32 LED_TBL[] ={0x00, 0xFF, // 局部燃烧后,再局部面明0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // 依次逐个面明0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, // 依次逐个叠加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, // 依次逐个递减0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, // 二个靠拢后合并0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 // 从二边叠加后递减};int liushuideng(void){ uint8 i;PINSEL1 = 0x00000000; // 树坐管足连交GPIOIO1DIR = LEDS8; // 树坐LED 统造心为输出while (1){for (i=0; i<42; i++){ /* 流火灯格式隐现 */IO1SET = ~((LED_TBL[i]) << 18);DelayNS(20);IO1CLR = ((LED_TBL[i]) << 18);DelayNS(20);}}return 0;}//主函数int main(void){uint32 i;PINSEL0 = 0x00000000; // 所有管足连交GPIOPINSEL1 = 0x00000000;IO0DIR = BEEP; // 蜂鸣器统造心输出0while (1){ if ((IO0PIN & KEY) == 0){for(i=0; i<1000; i++); // 硬件延时{IO0CLR = BEEP; // 如果KEY 按下,蜂鸣器鸣喊liushuideng();}}else{IO0SET = BEEP; // 紧开则停止蜂鸣IO1SET= LEDS8;}for(i=0; i<100; i++); // 硬件延时}return 0;}六、思索题1、如果将P0.30树坐为GPIO输进模式,且管足悬空,那么读与P0.30得到的值是0仍旧1?大概者是不决定?当管足悬空时,该管足有大概是下电仄也有大概是矮电仄.读与IO0PIN的值本来不克不迭决定管教的值.偶尔管足是下电仄,读与到的纷歧定是下电仄.2、如果需要读与目前P0.7的输出值(不是管足上的电仄),怎么样真止?将该管足与一个LED连交,若LED明,则输出值为0,可则为1.。
实验报告

实验报告一,实验目的:1、掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2、通过编程进一步理解和掌握运算符的确切含义和功能。
3、掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。
4、熟练掌握上机程序调试的方法。
5、通过上机编程进一步熟悉和掌握C语言集成开发环境。
二,实验内容:1、输入程序,观察输出结果,并对输出结果作出合理的解释。
/* e1.cpp */#include<stdio.h>void main(){float x;double y;x=213.82631;y=213.82631;printf("%-4.2f,%-6.2e\n",x,y);}输出结果:解释:“%-4.2f”指的是向左靠齐四位保留两位小数,因为x的值的有效数字个数大于四,所以输出结果是213.83;“%-6.2e”指的是向左靠齐六位保留两位有效小数数字,且只有一个整数,然后乘以十的n次方(n为整数部分的位数减一),所以输出结果为2.14+002。
2、按输出结果要求编写程序若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下输出格式和结果,请写出完整的程序。
要求输出结果如下:a=3□□□b=4□□□c=5x=1.20000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=51274□□□n=□□□128765c1=’a’□or□97(ASCII)c2=’b’□or□98(ASCII)提示:根据题目中变量的值定义合适的变量类型。
正确定义和使用printf函数中的格式控制字符串。
□表示空格。
源程序:#include<stdio.h>void main(){int a=3,b=4,c=5;float x=1.2,y=2.4,z=-3.6;long u=51274,n=128765;char c1='a',c2='b';printf("a=%-4db=%-4dc=%d\n",a,b,c);printf("x=%.5f,y=%.6f,z=%.6f\n",x,y,z);printf("x+y=%5.2f y+z=%.2f z+x=%.2f\n",x+y,y+z,z+x);printf("u=%-8ldn=%9ld\n",u,n);printf("c1=\'%c\' or %d(ASCII)\n",c1,c1);printf("c2=\'%c\' or %d(ASCII)\n",c2,c2);输出结果3、改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值,请不要删除源程序中的任何注释。
单片机IO开关输入输出实验报告

单片机实验报告
学院: 物电学院
专业: 电子科技与技术
班级: 2013级2班
学号: 201310530229
姓名: xxx
指导老师: xx
实验一 IO开关输入输出实验
1.实验目的
目的:学习单片机读取IO引脚状态的的方法。
2.试验环境及设备
EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
3.实验内容
ORG 0000H
LJMP MAIN
ORG 30H
MAIN: MOV P0,#0FFH
MOV A ,P0
SWAP A
MOV P0,A
NOP
SJMP MAIN
DEALY:MOV R7,#20H
D1:MOV R6,#0F0H
DJNZ R6,0
DJNZ R7,D1
RET
END
4.实验结果:
用导线将试验箱上的IO接口(I0~I8)与拨码开关输出端(K1~K8)相连,通过拨码开关来控制发光二极管。
运行程序,并使程序处于不断运行状态,开关都打开是,二极管全发光,关闭一些开关后,I0~I3上的开关开对应K4~K7的二极管灯亮,I4~I7上相对应的开光开对应K4~K7的二极管亮。
5.实验结论
在运行程序后,单片机实现了用输入与输出之间高地位的转换。
从键盘输入数据并显示实验报告

从键盘输入数据并显示实验报告一、实验目的与内容1、实验目的掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理,并在程序中设置错误出口。
2、实验内容编写程序,将键盘接收到的四位十六进制数按“Enter”回车键转化为二进制数,再显示在屏幕上, 按“空格键”结束!。
若输入的不是0-F间的数字,则显示出错信息,并要求重新输入。
二、实验设备(环境)1、实验设备(含芯片名称、功能简介)微型计算机一台2、实验环境TPC-ZK-II集成环境3、使用语言汇编语言三、实验原理(实验所用到的知识点及相关内容)1.在TPC-ZK-II集成环境下输入汇编程序,编译、连接,生成.exe文件。
2.按提示输入数据,在屏幕显示的运行结果中查看结果是否正确。
3.输入不同的数据,可得到不同的结果。
4、参考流程图四、实验步骤(包括步骤、代码、实验截图及其必要说明)编写程序,将键盘接收到的 4 位 16 进制数转换为等值的二进制数,再显示在荧光屏上。
分析:整个程序分为 3 个部分:键盘输入、转换、显示,可以分别用子程序来完成。
1. 输入。
输入可以利用字符串输入。
这时需要在主程序中先开辟一段输入缓冲区。
字符串输入 ( 0AH 功能 ),入口参数 DS : DX = 缓冲区的首地址,( DS :DX ) = 限制最多输入的字符数,功能号 AH = 0AH,类型号 21H。
出口参数 ( DS : DX+1 ) =实际键入的字符 ( 不含回车符 ),从( DS : DX+2 ) 开始顺序存放键入的字符串,回车符 0DH为串尾最后一字符。
实现功能:等待从键盘输入字符串,并存入设定的缓冲区内,同时回显字符串,光标随着移动,回车符使光标回到行首。
注意事项:应按要求先定义缓冲区,再调用。
数据缓冲区的设置如下:DATA SEGMENT ; 定义缓冲区MARK DB ?MESS DB 'input:$' ;输入字符串提示ERROR DB 0DH,0AH,'input error!',0DH,0AH,'$' ;输入错误提示DATA ENDS从键盘输入‘ ABCD ’, 回车,内存的存放结果 :子程序如下:INPUT PROCLEA DX, striMOV AH, 09H ; 调显示功能INT 21HLEA DX , maxMOV AH , 0AHINT 21H ; 调 0A输入功能RETINPUT ENDP2. 转换。
p1口输入输出实验报告

p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。
而在这个过程中,输入输出接口的设计和实现显得尤为重要。
本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。
一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。
p1口的原理是通过电信号的传输来实现与外部设备的交互。
具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。
二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。
将这些设备连接到计算机的p1口上。
2. 输入实验首先,我们进行输入实验。
在连接好设备后,我们可以通过键盘向计算机输入一些字符。
计算机会将这些字符接收并进行处理。
我们可以通过编写一个简单的程序来实现字符的显示和处理。
在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。
通过这个实验,我们可以验证p1口的输入功能是否正常工作。
3. 输出实验接下来,我们进行输出实验。
在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。
通过这个实验,我们可以验证p1口的输出功能是否正常工作。
4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。
- p1口的输出功能正常工作,可以控制打印机输出指定的内容。
三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。
通过本次实验,我们对p1口的原理和功能有了更深入的了解。
p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。
p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。
在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。
结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。
杭电单片机实验报告

单片机技术与应用实验报告实验名称:单片机技术与应用实验班级: 10062813 学号: 10061314 姓名:陆维俊指导老师:朱胜利实验一 P1口、P3口输入输出实验一.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二.实验代码P1口输出程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEH LOOP1: MOV P1,AACALL DELAYRL ACJNE A,#0FEH,LOOP1AJMP MAIN DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND P1口输入程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P1,#0FFHMOV A,p1MOV DPTR,#0F200HMOVX @DPTR,AAJMP MAINEND三.实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS四.心得体会这次实验让我了解了P1口和P3口作为普通I/O口的使用方法,并通过编程将P1口作为输入输出口进行简单的发光二极管的点亮和开关状态的读取,这在单片机学习中是及为基础的练习。
实验报告

计算机学院软件工程专业 4 班____组、学号3111006219 姓名党杰协作者__________ 教师评定____________实验题目基于实验箱的数字逻辑实验实验报告基本门电路及门电路综合实验一、实验目的1. 了解基本门电路的主要用途以及验证它们的逻辑功能。
2. 熟悉数字电路实验箱的使用方法。
3. 掌握利用基本门电路来实现具体电路的方法。
二、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
2. 器件:74HC00、74HC02、74HC04、74HC08、74HC32、74HC86。
三、实验结果和数据处理表2-1 74HC00(与非)输入输出状态输入端输出端YA B LED(亮/灭)逻辑状态0 0 亮 10 1 亮 11 0 亮 11 1 灭0表2-2 74HC02(或非)输入输出状态输入端输出端YA B LED(亮/灭)逻辑状态0 0 亮 10 1 灭01 0 灭01 1 灭0表2-3 74HC04(非)输入输出状态输入端输出端YA LED (亮/灭)逻辑状态0 亮 1 1灭表2-7 举重比赛裁判表决电路输入输出状态(方案一)输入端 输出端A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 111 表2-8 举重比赛裁判表决电路输入输出状态(方案二)输入端 输出端A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 11 11组合逻辑电路一、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
2. 器件:74HC148、74HC138、74HC153、74HC85、74HC283、74HC4511、4数字共阴极八段显示数码管LN3461Ax 。
二、实验结果和数据处理表2-11 74HC148(8-3编码器)输入/输出状态控制 十进制数字信号输入 二进制数码输出 状态输出EI 0I1I 2I 3I 4I 5I 6I 7I2A 1A 0A GS EO 1 X X X X X X X X 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 X X X X X X X 0 0 0 0 0 1 0XXXXXX111控制十进制数字信号输入二进制数码输出状态输出EI0A GS EOA0I1I2I3I4I5I6I7I2A10 X X X X X 0 1 1 0 1 0 0 10 X X X X 0 1 1 1 0 1 1 0 10 X X X 0 1 1 1 1 1 0 0 0 10 X X 0 1 1 1 1 1 1 0 1 0 10 X 0 1 1 1 1 1 1 1 1 0 0 10 0 1 1 1 1 1 1 1 1 1 1 0 1注:X为任意状态表2-12 74HC138(3-8译码器)输入/输出状态使能输入数据输入译码输出E2E E3A2A1A00Y1Y2Y3Y4Y5Y6Y7Y 11 X X X X X 1 1 1 1 1 1 1 1 X 1 X X X X 1 1 1 1 1 1 1 1 X X 0 X X X 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0表2-13 74 HC153(数据选择器)输入/输出状态选择输入数据输入输出使能输入输出S1S01I01I11I21I3E11YX X X X X X 1 00 0 0 X X X 0 00 0 1 X X X 0 11 0 X X 0 X 0 01 0 X X 1 X 0 10 1 X 0 X X 0 00 1 X 1 X X 0 11 1 X X X 0 0 01 1 X X X 1 0 1注:X为任意状态表2-16 74HC4511(数码显示管)输入/输出状态使能输入数据输入译码输出显示字形LTBILE D C B A 0 X X X X X X 8 1 0 X X X X X 无 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 2 1 1 0 0 0 1 1 3 1 1 0 0 1 0 0 4 1 1 0 0 1 0 1 5 1 1 0 0 1 1 0 6 1 1 0 0 1 1 1 7 1 1 0 1 0 0 0 8 1 1 0 1 0 0 1 9 1 1 0 1 0 1 0 无 1 1 0 1 0 1 1 无 1 1 0 1 1 0 0 无 1 1 0 1 1 0 1 无 1 1 0 1 1 1 0 无 111111无时序逻辑电路一、实验仪器及器件1. DIGILOGIC-2011数字逻辑及系统实验箱。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXX大学软件类实验报告
课程名称:C语言程序设计学号:
姓名:
班级:
指导教师:
开课学期:
学院:
XXX大学教务处
3.C中的数据类型及数据运算;
四、实验过程及内容:(运行结果请抓图到对应题目的下方)
1. 启动Visual C++ 6.0
单击:开始→程序→Microsoft Visual Studio6.0→Microsoft Visual C++6.0
2. 熟悉Visual C++ 6.0界面(略)
3. 调试示例,在屏幕上显示一个短句“Nice to meet you!”。
源程序(有错误的程序)
4. 编写程序,在屏幕上显示如下3行文字:
How are you!
Welcome to the c language world!
Everyone has been waiting for.
编写好相应程序,经调试正确后,把代码现在下面。
5. 有一个正方形,边长为a,a的值从键盘输入,L表示周长,Area表示面积,请编程计算正方形的周长和面积。
要求:数据的输入输出要有相应的提示信息。
部分参考源代码如下:
输入格式为:3
输出格式为:a=3,L=12,Area=9
6. 有一个长方形,长为a,宽为b,a、b的值从键盘输入,L表示周长,Area表示面积,请编程计算长方形的周长和面积。
要求:数据的输入输出要有相应的提示信息。
输入格式为:3 4
输出格式为:14,12
则上面程序输出结果是:
7. 输入并运行以下程序。
若运行时从键盘上输入a~z间的任意小写字母符。
输入:a
则上面程序输出结果是:
8. 输入并运行以下程序。
若运行时从键盘上输入123445216750↙则程序运行结果是什么?
9. 输入并运行以下程序,并分析程序的功能。
五、实验小结。