- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验五走马灯实验
CITE-T-VC系列套件
一、实验目的
学会CC2530的I/O端口的配置和使用
3
1
2
学会如何使用单片机I/O控制外部设备。
二、实验设备
三、实验相关知识介绍(1)
相关寄存器介绍
三、实验相关知识介绍(2)
P0SEL:端口0功能选择
位
名称
复位
R/W
描述
7:0
SELP0
0X00
R/W
P0.7到P0.0功能选择
0:通用I/O1:外设功能
P0DIR:端口0方向
位
名称
复位
R/W
描述
7:0
DIRP0
0X00
R/W
P0.7到P0.0的I/O方向
0:输入1:输出
三、实验相关知识介绍(3)
P0INP:端口0输入模式
位
名称
复位
R/W
描述
7:0
MDP0
0X00
R/W
P0.7到P0.0的I/O输入模式
0:上拉/下拉1:三态
四、实验内容
使用定时器1定时控制四个灯轮流闪烁。采用查询的方式等待定时时间的到达。
查询定时器中断状
态位。若置位则时间到
五、程序流程图
系统初始化
调用第一个灯闪烁函数
调用第二个灯闪烁函数
调用第三个灯闪烁函数
调用第四个灯闪烁函数
六、实验参考程序(1)
Led.c参考程序
voidPortInit(void){
P0SEL=~0x0F;//设置P0.0~P0.3为通用I/O
P0DIR=~0x01;//设置P0.0为输入
P0DIR|=0x0E;//P0.1~P0.3为输出
P0INP|=0x01;//设置P0.0为三态
P2SEL=~0x01;//设置P2.0为通用I/O
P2DIR|=0x01;//设置P2.0为输出
}
voidFlashLED1(void){
LED1=ON;//LED1亮
Delay500();//延时500ms
LED1=OFF;//LED1灭
Delay500();//延时500ms
}
端口初始化函数
控制LED1
闪烁函数
六、实验参考程序(2)
LED走马灯函数
主函数
voidLed(void){
while(1){
FlashLED1();//LED1闪烁 FlashLED2();//LED2闪烁 FlashLED3();//LED3闪烁 FlashLED4();//LED4闪烁
}
}
voidmain(void){
SystemInit();//系统初始化
Led();//控制灯轮流闪烁
}
Led.c参考程序(续)
七、实验步骤
1
2
3
4
八、实验现象
查询定时器中断状
态位。若置位则时间到
九、实验题
这个实验题的程序保存在实验题-基础实验-实验5-实验题1的文件夹中,可以直接打开
这个文件中的工程文件,将程序下载到无线模块,观察实验现象。
将Led()函数修改为:
voidLed(void){
while(1){
FlashLED1();/*第1个灯闪烁*/FlashLED2();/*第2个灯闪烁*/
FlashLED3();/*第3个灯闪烁*/FlashLED4();/*第4个灯闪烁*/
FlashLED3();/*第3个灯闪烁*/FlashLED2();/*第2个灯闪烁*/
}
}
点击保存、全部编译,然后将程序下载到模块并运行程序,观察实验结果。
文档评论(0)