




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 58 选择性必修3 第九单元 第49讲 植物细胞工程
- 52 选择性必修2 第八单元 第43讲 生态系统的结构及其稳定性
- 出租车公司股权转让与车辆更新协议
- 买文具教学设计课件
- 湘美教学一年级下册课件
- 2024-2025学年安徽省蚌埠市高一下学期第六次联考政治试题及答案
- 家用纺织品市场推广中的情感化营销策略考核试卷
- 音乐教育中的乐器制作教学评估体系构建考核试卷
- 冷库泄漏处理考核试卷
- 身韵在舞蹈创作中的运用考核试卷
- 江苏省南京市六校联合体2024-2025学年高一下学期期末调研测试历史试题(含答案)
- 2025年法律职业资格考试民法专项练习卷:合同法真题解析及试题
- 玻尿酸介绍课件
- 2025至2030年中国电子束曝光系统行业市场研究分析及发展前景研判报告
- 2025中国心肌病综合管理指南要点解读课件
- 技术中心人员管理制度
- 2025年形势与政策课程期末考试复习试卷及答案
- 财产独立性专项审计报告模板3(清算审计报告模板)
- 2025年中考英语答题技巧与模式专题11阅读七选五(学生版+解析)
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- 16J914-1 公用建筑卫生间
评论
0/150
提交评论