77范文网 - 专业文章范例文档资料分享平台

单片机实验报告(3)

来源:网络收集 时间:2018-12-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验四 矩阵键盘扫描实验 自我完成实验

1、实验要求

D1~D8 八个发光二极管构成彩色旋转灯,D9~D13 为档位指示灯,一档旋转速度最慢(周期 1s,D13 亮),二档较快(周期 0.8s,D12 亮),三档更快(周期 0.6s,D11 亮),四档再快(周期 0.4s,D10 亮),五档最快(周期 0.2s,D10 亮)。四个按键 KEY0-KEY1于设定旋转方向为顺时针旋转或者逆时针旋转,KEY2-KEY3 用于增快或则减慢旋转速度。

2、编程思路

按键扫描的方式可以采用前面示例程序中的方法:线反转法或行扫描法。可以用汇编语言 实现,也可以用 C 语言实现。建议如前面示例所示,汇编采用行扫描法,C 语言用线反法。 程序控制流程是:首先初始化设置默认运行参数,然后读取按键,识别键码,并根据键码 的不同执行运行参数调整,最后根据当前的运行参数执行发光二极管 D1-D8 的轮流旋转。

速度的控制通过控制调用延时程序的次数来决定,假设延时程序的延时长度为 5ms。延时 程序可以按如下方式实现(假设晶振频率为 12MHz): void delays() {

uchar t,ms;

ms=5; //延时 5ms

while(ms--) for(t=0;t<120;t++); }

或者采用内嵌汇编来实现: void delays() {

#pragma asm

MOV R2,#50 //;5ms 延时程序 DL1:MOV R1,#48

DL2:DJNZ R1,DL2 // ;内循环 100us NOP

DJNZ R2,DL1 //;中循环 10ms #pragma endasm }

旋转彩灯线反转法 C 语言程序控制流程图

(1)主控流程图 (2)键盘扫描子程序 Keyscan 流程图

旋转彩灯行扫描法汇编控制流程图

3、实验步骤

① 根据上述实验内容,参考 1.2.2,在 Proteus 环境下建立图 3.11 所示原理图,并将其 保存为 keyscan_self.DSN 文件。

② 根据(2)和(3)编写控制源程序,将其保存为 keyscan_self.asm 或 keyscan_self.c。 ③ 将源程序添加到 U1 中,并构造(build)该程序。 ④ 执行仿真过程观察秒表程序功能是否正确。

4、源程序

#include\#include\

#define uchar unsigned char #define uint unsigned int sbit g0=P0^4;

uchar code T_TABLE[]={200,160,120,80,40};//周期值表 uchar code key_code[]={0x22,0x12,0x21,0x11};

void delay()//延时5ms { uchar t,ms; ms=5; while(ms--) for(t=0;t<120;t++); }

void main() { int aa=0xfe; uint dir=1; uint speed=0; int temp,temp2,keycode; int j,key; g0=0; while(1) { P3=0x30; temp=P3; if((temp&0x30)!=0x30)//按键检测 { delay(); delay();

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机实验报告(3)在线全文阅读。

单片机实验报告(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/366285.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: