资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
单片机原理及应用 单片机人机接口设计 第 1 页 共 6页 一、实验目的 1. 掌握单片机简单人机交互接口电路的设计方法。 2. 进一步熟悉 C8051F020 单片机 I/O 口交叉开关设置和 I/O 端口的使用。 3. 掌握独立式按键和 LED 显示接口电路和程序设计方法。 二、实验内容 1. C8051F020 单片机按键( 3个)和 LED( 4 个)显示接口电路设计、制作与调试。 2. 用按键输入脉冲,在 P1 口按 16 进制计数方式点亮发光二极管 。其中一个按键为加法计数键,一个按键为减法计数键,最后一个为清零键。 三、实验说明 通过本实验,掌握单片机简单人机交互接口电路的设计、制作和调 试方法和程序设计方法。进一步熟悉 C8051F020 单片机的 I/O 口交叉开关和 振荡器 及配置使用;熟悉 C语言的模块化程序设计方法。 必须用模块化方法进行 C语言程序设计。 四、实验仪器和设备 PC机、 Keil uVision2 软件, C8051F020 单片机, EC3 在线仿真器。 五、实验原理 1. LED 显示接口电路 V D DR图 5 LED 接口电路 2. 独立式按键接口电路 VD DK 1K 2K 3R图 6 独立式按键电路 单片机原理及应用 单片机人机接口设计 第 2 页 共 6页 3. 程序流程图: N Y 七、实验源代码: #include #include #define NO_KEY 0xFF #define CLEAR 0x0A #define UP 0x0B #define DOWN 0x0C sbit key0=P10; sbit key1=P11; sbit key2=P12; unsigned char code led16=0xFF,0xFE,0xFD,0xFC,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF3,0xF2,0xF1,0xF0;/设定显示字数组共 16 位 void Delay() /延时函数 调用相应函数,获得按键的输入 编写各个模块 延时函数 用于扫描输入的信号 的函数 设定消除抖动的函数 设置独立式按键,定义端口 进入主函数,进行初始化设置 通过对按键的扫描,进行相应的加减清零计数 将运算结果赋值给指定端口 P5 判断输入的截止函数 有按键输入 ? 单片机原理及应用 单片机人机接口设计 第 3 页 共 6页 unsigned int i; for(i=0;i15) keycount=0; /如果 keydata 是加法,就将 keycount 做加法运算 break; case DOWN : if(keycount=0) keycount=15;else keycount-; /如果 keydata 是减法,就将 keycount 做减法运算 break; P5=ledkeycount; /输出,将数组中的对应 keycount 赋值给 P5 Keyoff(); /停止输入 七、 实验结果: 通过 P1 端口与外电路板的连接实现用三个按键分别控制 4 盏 LDE 灯的显示的功能。按键 0、 1、 2 分别控制 LDE 灯显示 所译码的加、减、清零,(详细见下表)符合实验设计的要求。 LED 灯与按键调试的显示表 单片机原理及应用 单片机人机接口设计 第 6 页 共 6页 按键 0(清零) LED0 LED1 LED2 LED3 按键 1(加法) 按键 2(减法) 1 0 0 0 0 X X 0 0 0 0 1 X=1,完成加法功能,若为1,则由上往下跳转状态; X=0则不变化 X=1,完成减法功能,若为1 则由下往上跳转状态; X=0则不变化 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 八、 实验总结: 通过这次实验,我们掌握了单片机简单人机交互接口电路的设计方法;更加进一步熟悉 C8051F020 单片机 I/O 口交叉开关设置和 I/O 端口的使用;同时掌握独立式按键和 LED 显示接口电路和程序设计方法。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号