云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 西电ARM单片机实验报告

西电ARM单片机实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/25 14:03:55

*((u8*)0x20006000)=seg7table[18]; delay(8000); *((u8*)0x20007000)=0x3e; *((u8*)0x20006000)=seg7table[19]; delay(8000); }

}/****************************************************************************/ /* Function name : 循环延时子程序 */ /* Description : 循环 'time' 次 */ /* Return type :void */ /* Argument : 循环延时计数器 */ /****************************************************************************/ void Delay(int time) { int i; int delayLoopCount=10000; for(;time>0;time--); for(i=0;i

结果:在六个数码管上依次显示“HELLO”,可分辨出轮流显示。

3.在六个数码管上依次显示“HELLO”,分辨不出轮流显示。步骤同上。 程序如下(相对于步骤2,此处仅将Delay的延时从10000调至1):

void Test3_Seg7(void) { *((u8*)0x20007000)=0x00; for(;;) { *((u8*)0x20007000)=0x2f; *((u8*)0x20006000)=seg7table[16]; delay(1); *((u8*)0x20007000)=0x37; *((u8*)0x20006000)=seg7table[17]; delay(1); *((u8*)0x20007000)=0x3b; *((u8*)0x20006000)=seg7table[18]; delay(1); *((u8*)0x20007000)=0x3d; *((u8*)0x20006000)=seg7table[18]; delay(1); *((u8*)0x20007000)=0x3e; *((u8*)0x20006000)=seg7table[19]; delay(1); }

}

结果:在六个数码管上依次显示“HELLO”,不可分辨出轮流显示。

*4.在每个数码管上递增显示0-9。步骤同上。 程序如下:

/****************************************************************************/ /*文件名称: LEDSEG7.C */

/*实验现象: 数码管依次显示出0、1,2、??9、a、b、C、d、E、F */ /****************************************************************************/

void Test4_Seg7(void) { int i; for(;;) { *((u8*)0x20007000)=0x3e; for(i=0;i<0x0a;i++) { *((u8*)0x20006000)=seg7table[i]; delay(3000); } *((u8*)0x20007000)=0x3d; for(i=0;i<0x0a;i++) { *((u8*)0x20006000)=seg7table[i]; delay(3000); } *((u8*)0x20007000)=0x37; for(i=0;i<0x0a;i++) { *((u8*)0x20006000)=seg7table[i]; delay(3000); } *((u8*)0x20007000)=0x2f; for(i=0;i<0x0a;i++) { *((u8*)0x20006000)=seg7table[i]; delay(3000); }

*((u8*)0x20007000)=0x1f; for(i=0;i<0x0a;i++) { *((u8*)0x20006000)=seg7table[i]; delay(3000); } }

}/****************************************************************************/ /* Function name : 循环延时子程序 */ /* Description : 循环 'time' 次 */ /* Return type :void */ /* Argument : 循环延时计数器 */ /****************************************************************************/ void Delay(int time) { int i; int delayLoopCount=1000; for(;time>0;time--); for(i=0;i

结果:在每个数码管上递增显示0-9。

五、实验分析及总结

本实验中,数码管采用共阳极类型,所以是给0亮,操作时,先给地址0x20007000的某位给0,让指定的某位亮,然后给地址0x20006000送入编码好的数据,即seg7table,以此来实现让数码管显示指定的数。

实验二 键盘输入实验

一、实验目的

1、学习键盘驱动原理;

2、掌握通过CPU的I/O扩展键盘的方法。

二、实验仪器

JXARM9-2440教学实验箱、ADT1000仿真器和ADT IDE集成开发环境、PC机、串口连接线。

三、实验原理

1.键盘实现方案

1)采用专门的芯片实现键盘扫描 2)采用软件实现键盘扫描

2.软键盘实现方案 当开关打开时,通过处理器的I/O 口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的I/O 口的输入将被拉低到逻辑0。

3.按键抖动

开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的1或者0。尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。当触点闭合时,其弹起就像一个球。弹起效果将产生如下图所示的好几个脉冲。弹起的持续时间通常将维持在5ms~30ms 之间。

4.矩阵键盘电路

1)一个瞬时接触开关(按钮)放置在每一行与每一列的交叉点。每一行由一个输出端口的一位驱动,每一列由一个电阻器上拉且供给输入端口一位。

2)键盘扫描过程就是让微处理器按有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。

搜索更多关于: 西电ARM单片机实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

*((u8*)0x20006000)=seg7table[18]; delay(8000); *((u8*)0x20007000)=0x3e; *((u8*)0x20006000)=seg7table[19]; delay(8000); } }/****************************************************************************/ /* Function name : 循环延时子程序 */ /* Description : 循环 'time' 次 */ /* Return type :void

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com