ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:36.25KB ,
资源ID:13868621      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13868621.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统原理及应用课程设计样本Word格式.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统原理及应用课程设计样本Word格式.docx

1、 优 良 中 及格 不及格 2月25日一课程设计目的经过该课程设计将嵌入式系统原理及应用课程中所学的处理器和接口等技术应用于实际设计中。经过中断、 PWM定时器、 串口、 SIO、 GPIO等技术在实验平台上进行综合设计, 在理论和实验的基础上进一步提高综合设计能力。二. 课程设计内容及功能要求1. 经过一个PWM定时计数器, 采用定时中断的功能, 设计能够在LED上进行时分秒显示的时钟; 2. 经过键盘实现对钟的功能;3. 实现闹钟的功能, 闹钟的时间由键盘输入进行设定;4. 将时钟在超级终端上显示; 时间的设定能够经过超级终端实现;三功能实现1.总体功能框图 N Y Y2.详细设计: (

2、将所设计的各部分的功能程序框图及相关程序代码进行详细的描述) #includeuhal.hmyuart.hKeyBoard.hTimer.hIsr.h44b.h#include Zlg7289.hdef.hlcd320.hint Timer3INTCount=0;int hour = 0 ;int minute = 0 ;#pragma import(_use_no_semihosting_swi) / ensure no functions that use semihosting int main(void) int clock_h = 23 ; int clock_m = 59 ; in

3、t clock_s = 0 ; int key ; int val=0; ARMTargetInit(); /开发版初始化 Zlg7289_Reset(); Init_Timer3(100,16,40000, 0); INTS_OFF();/Disable interrupt in PSR SetISR_Interrupt(INT_TIMER3_OFFSET, Timer3_ISR,0); Open_INT_GLOBAL(); Open_INT(BIT_TIMER3); INTS_ON();/Enable interrupt in PSR Start_Timer3(); Uart_Printf

4、(n); /lcd屏*lcd屏*lcd屏* LCD_Init(); LCD_ChangeMode(DspTxtMode);/转换LCD显示模式为文本显示模式 while(1) /*对钟*/ while(!(rPDATG&ZLG7289_KEY) /有按键按下时进入while死循环, 松开时跳出 key=Zlg7289_ReadKey(); /按键值赋给key 。/ Stop_Timer3() ; /防止中断影响键盘扫描, 关掉中断。 Delay(100); /延时防止时序错误。 if( key = 18 | key = 10 | key = 2 ) /对钟键按下是。 if( key = 18)

5、 /秒设置, 键盘3按下时扫描值为18 Delay(1000);Delay(1000); /延时让数码管频率显示可见。 Timer3INTCount = Timer3INTCount + 1 ; if(Timer3INTCount59) Timer3INTCount = 0 ; if( key = 10 ) /秒设置, 键盘2按下时扫描值为10 minute = minute + 1 ; /分钟加一 if(minute 59 ) /分钟大于59时清零 minute = 0 ; / Timer3INTCount = 0 ; /秒清零 if( key =2 ) /原理同分钟 hour = hour

6、 + 1 ; if(hour 23 ) hour = 0 ; LED_Display(Timer3INTCount , minute , hour); /在数码管显示时分秒%d:%dn,hour,minute,Timer3INTCount); /在超级终端显示时分秒 /闹钟设置*闹钟设置*闹钟设置* else if( key =1 key = 9| key = 17 ) /原理参照对钟设置 if( key = 1) clock_h = clock_h + 1 ; if( clock_h clock_h = 0 ; if( key =9 ) clock_m = clock_m + 1 ; if(

7、 clock_m 59 ) clock_m = 0 ; if( key = 17 ) LED_Display(clock_s , clock_m , clock_h); else ; / Start_Timer3(); /闹钟判断*闹钟判断*闹钟判断* while( hour = clock_h & minute = clock_m & key != 1 &= 9 &= 17 &= 2 &= 10 &= 18 ) / 闹钟时间到且闹钟启动时, 进入下面的闹钟显示 / Uart_Printf( time is over ! geting up now ! n LCD_printf(r%d ,rT

8、CNTO3);ZLG7289.hextern Timer3INTCount , hour , minute ;void Init_Timer3(U8 prescaler1,U8 divider3,U16 countb3,U16 compb3) U8 div; switch(divider3) case 2: div=0x00;break; case 4: div=0x01; case 8: div=0x02; case 16: div=0x03; default: /prescaler1 is for timer2&3 /Fre(Timer)=MCLK/(prescaler+1)/divider rTCFG0&=(0xff8); rTCFG0|=(prescaler1 /All interrupt,select MUX input for TimerN rTCFG1&=(0x0f24|0x0f12); rTCFG1|=(div rTCMPB3=compb3; rTCNTB3=countb3; rTCON|=(0x0119);/Auto reloadvoid Start_Timer

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1