下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 systick秒表的实现一、实验目的学会编写中断程序学会应用lm3s9b92 的 systick 系统时钟节拍计数器。二、实验设备计算机、 lm3s9b92开发板、 usb a型公口转mini b 型 5pin 数据线 1 条三、实验原理systick 是一个简单的系统时钟节拍计数器,它属于arm cortex-m3内核嵌套向量中断控制器 nvic里的一个功能单元, 而非片内外设。 systick 常用于操作系统 (如:c/os -ii、 freertos等)的系统节拍定时。由于 systick 是属于 arm cortex-m3内核里的一个功能单元,因此使用systick 作为操作系统
2、节拍定时,使得操作系统代码在不同厂家的arm cortex-m3 内核芯片上都能够方便地进行移植。当然,在不采用操作系统的场合下systick完全可以作为一般的定时/计数器来使用。systick 是一个 24位的计数器,采用倒计时方式。systick 设定初值并使能后,每经过1个系统时钟周期,计数值就减1。计数到 0时, systick 计数器自动重装初值并继续运行,同时申请中断,以通知系统下一步做何动作。四、实验要求应用 systick系统时钟节拍计数器进行计时,实现秒表功能。开发板上的按键sw1起秒表的起始和停止作用,按下sw1键,表示秒表的启动,开始计时,再按下sw1键,则表示秒表的停止
3、。秒表时间的显示,可以采用led1 灯的闪烁方式,或者直接显示在液晶屏上。五、实验代码#include systeminit.h #include / 定义led #define led_periph sysctl_periph_gpiof #define led_port gpio_portf_base #define led_pin gpio_pin_3 #define key_periph sysctl_periph_gpioj #define key_port gpio_portj_base #define key_pin gpio_pin_7 unsigned char count=
4、0; unsigned char flag=0; void led(unsigned int n) / 根据 n 值控制 led闪烁次数 while(n0) gpiopinwrite(led_port, led_pin, 0 xff); / 点亮led sysctldelay(150 * (thesysclock / 3000); / 延时约150ms gpiopinwrite(led_port, led_pin, 0 x00); / 熄灭led sysctldelay(850 * (thesysclock / 3000); / 延时约850ms n=n-1; int main(void) /
5、jtagwait( ); / 防止jtag 失效,重要!clockinit( ); / 时钟初始化:晶振,16mhz sysctlperienable(led_periph); / 使能led 所在的gpio 端口gpiopintypeout(led_port, led_pin); / 设置led 所在的管脚为输出sysctlperienable(key_periph); / 使能key 所在的gpio 端口gpiopintypein(key_port, key_pin); / 设置key 所在管脚为输入systickperiodset(8000 * (thesysclock / 3000);
6、 / 设置systick 计数器的周期值systickintenable( ); / 使能systick 中断gpiointtypeset(key_port, key_pin, gpio_low_level); / 设置key 管脚的中断类型gpiopinintenable(key_port, key_pin); / 使能key 所在管脚的中断intenable(int_gpioj); / 使能gpioj 端口中断intmasterenable( ); / 使能处理器中断for (;) / systick 计数器的中断服务函数void systick_isr(void) count+; / 计
7、数器加 1 return; / gpioj 的中断服务函数void gpio_port_j_isr(void) unsigned char ucval; unsigned long ulstatus; intmasterdisable( ); / 关闭中断ulstatus = gpiopinintstatus(key_port, true); / 读取中断状态gpiopinintclear(key_port, ulstatus); / 清除中断状态,重要if (ulstatus & key_pin) / 如果key 的中断状态有效 if(flag=0) systickenable( ); / 使能systick 计数器flag=1; sysctldelay(50 * (thesysclock / 3000); else if(flag=1) systickdisable( ); / 关闭systick 计数器flag=0; led(count); / 闪烁 led count=0; / 计数置零sysctldelay(10 * (thesysclock / 3000); intm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6.1《大堰河-我的保姆》课件统编版高二语文选择性必修下册
- 2026年商务函件格式模板集
- 2025年事业单位招聘考试综合类专业能力测试试卷(计算机类)-操作系统原理与
- 2025年事业单位旅游类专业招聘考试综合能力测试试卷及答案训练
- 2025-2030中国石斑鱼市场未来发展预测及投资风险分析研究报告版
- 2025-2030中国枕头行业发展趋势及发展前景研究报告
- 2026年人工智能算法服务协议
- 2025新公务员考试题目与答案
- 2026冷冻冷藏设备行业竞争态势与投资评估研究报告
- 医学检验技术核心考点测试卷 2025 年
- 2025年中国科学技术大学网络信息中心劳务派遣岗位招聘4人(公共基础知识)综合能力测试题附答案解析
- AIGC短视频策划与制作:AIGC短视频生成教学课件
- 肺结核合并肺心病护理查房
- 雨课堂在线学堂《西方哲学-从古希腊哲学到晚近欧陆哲学》单元考核测试答案
- 2025社会工作员考试(社会工作实务)仿真试题及答案
- 稽留流产的宣教
- 2025年考研生物化学与分子生物学真题解析试卷(含答案)
- 公寓承包装修合同范本
- 【化学】九年级化学化学图像题汇编专项训练100(附答案)
- 助产技术操作规范及考核评分标准
- 风场升压站围墙施工方案
评论
0/150
提交评论