- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口技术实验大全
1、I/O接口实验:
用某个端口的一个引脚连接小灯,一个引脚连接开关(也可以是另一个端口的引脚),通过开关开合通过MCU控制小灯亮暗。
用B口的19号引脚连接小灯,用E口的5号引脚连接开关,开关通过MCU控制小灯,开关向上拨,小灯亮,开关向下拨,小灯暗,放在主循环中,则形成开关随时开,小灯随时亮的效果。
C/C++语言设计:
#include include.h //包含总头文件
int main(void)
{
//(1)计算给出PORTB19、PORTE5的引脚控制寄存器地址
//POTB端口的引脚控制寄存器基地址为0x4004A000u(后缀u表示无符号数)
//POTE端口的引脚控制寄存器基地址为0x4004D000u(后缀u表示无符号数)
volatile uint_32 *portB_ptr = (uint_32*)0x4004A000u;
//PORTB19、PORTE5的引脚控制寄存器地址=基地址+偏移量
volatile uint_32 *portB_PCR_19 = portB_ptr + 19;
volatile uint_32 *portE_PCR_5 = portB_ptr + 5;
//(2)计算给出PORTB的数据方向寄存器、输出反转寄存器地址
//POTB端口(作为GPIO功能)的基地址为0x400FF040u
//POTE端口(作为GPIO功能)的基地址为0x400FF100u
volatile uint_32 *gpioB_ptr = (uint_32*)0x400FF040u;
//PORTB的数据方向寄存器地址=基地址+偏移量
volatile uint_32 *portB_PDDR=gpioB_ptr+5;
//PORTB的输出寄存器地址=基地址+偏移量
volatile uint_32 *portB_PDOR=gpioB_ptr+0;
//PORTB的数据输入寄存器地址=基地址+偏移量
volatile uint_32 *gpioE_ptr = (uint_32*)0x400FF100u;
volatile uint_32 *portE_PDDR=gpioE_ptr+5;
volatile uint_32 *portE_PDIR=gpioE_ptr+4;
//(3)设置PORTB19、PORTE5引脚为GPIO引脚,即令相应引脚控制寄存器的10-8位(MUX)字段为001
*portB_PCR_19=0
*portE_PCR_5=0
//(4)通过PORTB的方向寄存器,定义PORTE5为输入、PORTB19引脚输出
*portE_PDIR = ~(15); //初始化为低电平0
*portB_PDDR |= (119); //定义此引脚为输出引脚
for(;;)
{
if(BGET(5,*portE_PDI)==0){*portB_PDO= ~ (119);}
else {*portB_PDO|=(119);}
}
return 0;
}
2. TTL转USB串口通信实验
在演示实验的基础上,利用串口调试程序发送“1”,小灯亮,发送“0”,小灯暗。
小灯的连接是用 B 口的 9 号引脚和一个小灯接口连接。
#include?includes.h //包含总头文件
int?main(void)
{
//1.声明主函数使用的局部变量
?uint_32 run_counter; //主循环次数计数器
//2.关总中断
enter_critical(); // 进入临界区
//3.初始化模块
light_init(LIGHT_PORT, LIGHT_PIN_BLUE, LIGHT_ON); //蓝灯初始化
uart_init (UART_1,BUSCLK, 9600); //串口1、2使用总线时钟24000Khz
uart_send_string(UART_1, Hello Uart_1!\r\n);//串口发送初始化提示
//4.全局变量及主函数局部变量赋初值
run_counter = 0; // 运行计数器
//5.使能模块中断及总中断
您可能关注的文档
最近下载
- 2025江苏南京江北新区综合行政执法总队招聘编外执法人员14人笔试模拟试题及答案解析.docx VIP
- 2025入党积极分子发展对象培训考试题库100题含答案(完整版).docx VIP
- 人教版七年级数学上精品讲义精编.pdf VIP
- JTG D40-2002公路水泥混凝土路面设计规范(条文说明).doc VIP
- 风电站运行规程.pdf VIP
- 四年级语文上册1 观潮 任务单.doc VIP
- 2024年广告服务居间协议.docx VIP
- 疾控结核病防治知识题库 .pdf VIP
- 电影音乐欣赏知到智慧树期末考试答案题库2025年华南农业大学.docx VIP
- LabVIEW常用中英文词汇对照表.doc VIP
文档评论(0)