ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:737.54KB ,
资源ID:4539974      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(基于SCBOX的电子词典软件设计和实现.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于SCBOX的电子词典软件设计和实现.doc

1、基于S3C44BOX电子词典软件设计和实现 1 概述 此次基于ARM7电子词典系统开发作业,由我们小组4人合作完成,其中我关键负责软件方面开发,所做方面有英译汉软件功效实现,输入值软件识别功效实现和看门狗定时器实现。因为不怎么熟悉arm开发,基础是看着书做,设计思绪和方法、功效实现也全部是书上怎么来,自己就怎么实现,期望傅老师谅解,这块基础确实微弱。 2 S3C44BOX处理器介绍 2.1 S3C44BOX介绍 S3C44BOX微处理器片类集成ARM7TDMI核,采取0.25μm CMOS工艺制造,并在ARM7TDMI核基础上集成了丰富外围功效模块,便于低成本设计嵌入式系统应用系统。

2、片上集成关键功效以下: Ø 在ARM7TDMI基础上增加至8KBCache。 Ø 外部扩充存放器控制器(FP/EDO/SDRAM控制,片选逻辑)。 Ø LCD控制器(最大支持256色DSTN),并带有一个LCD专用DMA通道。 Ø 2个通用DMA通道2个带外部请求引脚DMA通道。 Ø 2个带有握手协议UART,1个SIO。 Ø 1个多主I2C总线控制器。 Ø 1个I2S总线控制器。 Ø 5个PWM定时器及1个内部定时器。 Ø 看门狗定时器。 Ø 71个通用可编程I/O口,8个外部中止源。 Ø 功耗控制模式:正常,低速,休眠和停止。 Ø 8路10位ADC。 Ø 含有日历

3、功效RTC(实时时钟)。 Ø PLL时钟发生器。 2.2 S3C44BOX特点 2.2.1 S3C44BOX体系结构  Ø S3C44BOX是基ARM7TDMI体系结构SOC。 Ø 集成了手持设备和通用嵌入式系统应用处理方案; Ø 16/32位RISC体系结构和ARM7TDMI处理器内核强大指令体系;  Ø Thumb代码压缩机,最大化代码密度同时保持了32位指令性能; Ø 基于JTAG片上集成ICE调试支持处理方案;  Ø 32×8位硬件乘法器;  Ø 实现低功耗SAMBA II(三星ARM处理器嵌入式微控制器总线体系结构)新型总线结构。 2.2.2 系统(存放)管

4、理 Ø 支持大/小端方法;  Ø 寻址空间:每bank32M字节(共256M字节);  Ø 支持每bank可编程8/16/32位数据总线宽度;  Ø 7个bank含有固定bank起始地址和可编程bank大小; Ø 1个bank含有可编程bank起始地址和bank大小; Ø 8个存放器bank:      -6个ROM,SRAM存放器bank;      -2个ROM/SRAM/DRAM(快速页面,EDO和同时DRAM); Ø 全部存放器bank含有可编程操作周期; Ø 支持外部等候信号延长总线周期;  Ø 支持掉电时DRAM/SDRAM自刷新模式; Ø 支持均匀/非均匀

5、DRAM地址。 2.2.3 Cache存放器和内部SRAM  Ø 4路组相联统一8KB指令/数据Cache;  Ø 未用Cache空间用来作为4/8 KB Cache存放空间可作为片内SRAM使用; Ø 支持LRU(近期最少使用)替换算法  Ø 采取保持主存放器和cache内容一致性“写穿式”策略 Ø 写存放器含有4级深度  Ø 当缓冲区犯错时,采取“请求数据优首先填充”技术  2.2.4 时钟和电源管理 Ø 低功耗  Ø 片上PLL使MCU工作时钟最大达成75MHz  Ø 能够经过软件设置各功效模块输入时钟  Ø 电源模式:正常,慢速,空闲和停止模式;    u

6、 正常模式 正常工作模式;  u 低速模式 不加PLL低时钟频率模式;  u 休眠模式 只停止CPU时钟;   u SL空闲模式 LCD控制器工作 u 停止模式 停止全部时钟;  Ø 经过EINT[7:0]或RTC报警中止从停止模式唤醒 2.2.5 中止控制器  Ø 30个中止源(看门狗定时器,6个定时器,6个UART,8个外部中止,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO)  Ø 采取向量化IRQ中止模式以降低中止延迟 Ø 可选电平/边缘模式触发外部中止  Ø 电平/边缘模式含有可编程优先级 Ø 支持FIQ

7、为紧急中止请求进行服务 2.2.6 定时器和PWM(脉宽调制)  Ø 5通道16位含有PWM功效定时器,1通道16位内部定时器(可进行基于DMA或中止操作)  Ø 可编程占空比周期,频率,和优先级  Ø 能产生死区  Ø 支持外部时钟源 2. 2.7 RTC(实时时钟)  Ø 充足时钟特征:毫秒,秒,分钟,小时,日,星期,月,年  Ø 32.768KHz时钟;  Ø 定时警报,可用于唤醒CPU;  Ø 可产生时钟节拍中止 2.2.8 通用I/O口  Ø 8个外部中止口  Ø 71个多功效输入/输出口  2.2.9 UART(异步串行通讯)  Ø 2通道UAR

8、T,可进行基于DMA或中止操作 Ø 支持5位,6位,7位或8位串行数据传输/接收  Ø 支持在发送/接收期间H/W握手功效 Ø 可编程波特率  Ø 支持IrDA 1.0(115.2Kbps)  Ø 支持用于测试回馈模式  Ø 每个通道含有2个内部32字节FIFO分别用于输入和输出  2.2.10 DMA(直接存放器操作)控制器  Ø 2通道通用DMA(直接存放器操作)控制器,不需要CPU干预  Ø 2通道DMA桥(外设DMA)控制器  Ø 支持I/O到存放器,存放器到I/O,I/O到I/O6种DMA请求: 软件,4个内部功效模块(UART,SIO,定时器,IIS),和外部

9、引脚。 Ø 在同时发生多个DMA之间含有可编程优先级次序;  Ø 采取猝发式传输模式以提升FPDRAM, EDODRAM和SDRAM数据传输速率;  Ø 支持在外部设备到存放器和存放器到外部设备之间采取fly-by模式  2.2.11 A/D转换器  Ø 8通道ADC  Ø 最大500k SPS/10-bit 2.2.12  LCD 控制器  Ø 支持彩色/黑白/灰度LCD屏 Ø 支持单路扫描和双路扫描  Ø 支持虚拟显示器功效  Ø 系统存放器用来作为显示缓存  Ø 用专门DMA来从系统存放器中取得图象数据  Ø 可编程屏幕大小  Ø 灰度等级:16级灰度; 

10、 Ø 最多256种颜色 2.2.13   看门狗定时器 Ø 16位看门狗定时器  Ø 在定时器溢出时发出中止请求或系统复位 2.2.14  I2C总线接口  Ø 1通道多主I2C总线,可进行基于中止操作模式 Ø 可进行串行,8位,双向数据传输,标准模式速度达成100Kbit/S,快速模式达成400Kbit/s 2.2.15  I2S总线接口  Ø 1通道音频I2S总线接口,可进行基于DMA操作  Ø 串行,每通道8/16位数据传输  Ø 支持MSB-justified数据格式  2.2.16 SIO(同时串行I/O)  Ø 1通道SIO,可进行基于DMA或中止操

11、作 Ø 可编程波特率  Ø 支持8位串行数据传输和接收操作  2.2.17 工作电压范围  Ø 内核2.5V, I/O口:3.0V到3.6V  2.2.18 工作频率  Ø 最大75MHz 2.2.19 封装  Ø 160LQFP/160FBGA  2.3 S3C44BOX功效结构框图 图1 S3C44BOX功效结构框图 2.4 S3C44BOX芯片引脚定义 图2 S3C44BOX芯片引脚定义图 3 基于S3C44BOX电子词典开发 嵌入式系统以其体积小,性能好,功耗低,可靠性高和面向行业应用特点已被广泛应用和各个领域。其中电子词典是嵌入式系统消

12、费电子领域经典应用实例,它含有完整输入/输出设备。 3.1 电子词典系统定义和需求分析 电子词典系统应含有以下功效要求: (1)能够经过键盘、触摸屏输入英文 a~z:实现字母输入; Page up/down:显示上/下一个被查询过单词; Line up/down:光标移至上/下一行,在单词输入过程中,在单词翻译区会有拼写相近单词显示,用Line up/down按键能够上下选择这些单词; Enter:翻译,将目前单词和词库中内容相比较,如有一致则显示其内容,不然给出提醒; Back space:退格,删除单词最末尾字母并将光标前移一位; 提供触摸屏输入六个功效键。 (2)提供

13、友好人机界面,将输入内容和翻译结果显示在LCD对应区域内。 (3)对输入单词即时翻译。 (4)能够记忆3个已经查询过单词。 图3-1 查询界面 3.2 电子词典方案设计 为实现电子词典功效需求,结合嵌入式系统软硬件协同技术设计,采取以下设计方案。 3.2.1硬件设计 依据ARM芯片选择标准,此处选择集成了丰富外围功效模块,便于低成本设计嵌入式应用系统S3C44BOX处理器作为系统主控制器。 利用其内置LCD控制器实现LCD控制接口; 利用I²C总线控制器实现键盘控制接口; 利用A/D转换器实现触摸屏控制接口; 利用UART实现调试接口; 利用GPIO连接LED灯显示相关

14、状态。 以上5个硬件部分开发中,其中第1,2,3,5本组其它同学完成,第4个部分UART实现调试接口开发和应用,在本文档中关键说明,由本人单独完成。 3.2.2软件设计 本电子词典软件只要完成键盘操作,菜单操作及LCD显示功效。依据软件模块化设计方法将系统软件分为3个模块;词库编写,功效控制软件设计,人机交互接口功效设计。我负责软件总体设计图,实现其基础功效。 其中按键分别含有以下功效: — a~z:实现字母输入; — Page up/down:显示上/下一个被查询过单词; — Line up/down:光标移至上/

15、下一行,在单词输入过程中,在单词翻译区会有拼写相近单词显示,用Line up/down按键能够上下选择这些单词; — Enter:翻译,将目前单词和词库中内如相比较,若一致则显示其内容,不然给出提醒; — Back space:退格,删除单词最末尾字母并将光标前移一位。 本电子词典系统还需要提供触摸输入,在触摸屏上划分出6个区域,分别对应键盘上6个功效键。 4 开发环境 电子词典硬件模块测试软件和无操作系统电子词典应用软件开发采取了相同交叉开发环境。宿主机PC机上运行ARM企业为方便用户在基于ARM内核处理器上进行软件开发而推出集成开发工具ARMADS(ARM Develo

16、per Suite)最新版本1.2在Codewarrior IDE(Integrate Development Environment)集成开发环境中编辑电子词典软件程序,经过交叉编译器和交叉链接器对软件进行编译,链接。最终生成可实施文件,经过在线仿真器Multi-ICE将此可真行文件下载到目标板运行。在线仿真器经过并口链接宿主机,经过JTAG接口链接目标机。串口线直接链接宿主机和目标板,在宿主机PC机上显示吊饰信息。为加紧软件开发进度,在电子词典硬件平台未建立起来以前先使用Embest EDUKIT 试验板作为目标本吊饰各功效模块软件。 5 开发功效说明和代码 5.1英译汉功效软件

17、 因为要查英文单词有两种输入方法:一个是经过在输入框中输入字母;另一个是经过上一行/下一行键在选择框里显示单词中进行选择,所以用参数Position表示输入方法(TRUE:输入框,FALSE:选择框查找)。具体实现步骤图所表示: /************************************************************ name: translate * func: Translation function implementation program * para: none * ret: none * modify: * c

18、omment *************************************************************/ U8 transate(S8* word,U8 Position,U8 No) { U8 k=0; Trans_Clear(); Dis_Chinese(20,55,Gui_WHITE,”正在查找,请等候!”); if(!Position) { strcpy(word,vocab[No].c); Disp_String(word,English_area.x0+5,English_area.y0+2); }

19、for(k=0;k

20、L_WNo); } /******************************************************************** * name: KeyboardInt * func: keyboard interrupt handler function * para: none * ret: none * modify: * comment: ********************************************************************/ void KeyboardInt(void)

21、{ int nTemp,i,j,k,m=0; char bbyte; rI_ISPC = BIT_EINT1; // clear pending bit char pbyte[10]; nTemp = key_read(); if(nTemp > -1) { // Lcd_Draw_HLine(10, 310, 80, WHITE, 50); input_char = nTemp; Lcd_DspAscII8x16(15,45,WHITE,word); switch(input_char) { case 0:

22、 num=1;break; case 1: num=2;break; case 2: num=3;break; case 3: num=4;break; case 4: num=5;break; case 5: num=6;break; case 6: num=7;break; case 7: num=8;break; case 8: num=9;break; case 9: count

23、er=1;break; case 10: counter=2;break; case 11: counter=3;break; case 12: m=1; Lcd_Draw_HLine(15+n-10, 15+n, 45, WHITE, 16); n-=10; word[wordIndex]='\0'; wordIndex--; break; /*if(n==0) { word[20]=0; wordIndex=0; Lc

24、d_Draw_HLine(10, 310,85, WHITE, 160); }break;*/ case 13: word[wordIndex]='\0'; wordIndex=0; for(i=0;i<20;i++) { if(strcmp(word,vocab[i].c)==0) { j=0; k=i; break; } else j=1; } if(j==0) {

25、//#ifdef Eng_v Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c); Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d); Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f); //#else Lcd_DspHz16(15,100,BLUE,vocab[k].e); //#endif } else { Lcd_DspHz16(15,120,BLUE,"未找到对应单词"); DelayMs

26、600); Lcd_DspHz16(15,120,WHITE,"未找到对应单词"); } break; case 14: word[wordIndex]='\0'; wordIndex=0; for(i=0;i<20;i++) { if(strcmp(word,vocab[i].c)==0) { j=0; k=i; break; } else j=1; } if(j==0

27、) { //#ifdef Eng_v Lcd_DspAscII8x16(15,40,BLUE,vocab[k].c); Lcd_DspAscII8x16(15,60,BLUE,vocab[k].d); Lcd_DspAscII8x16(15,80,BLUE,vocab[k].f); //#else Lcd_DspHz16(15,100,BLUE,vocab[k].e); //#endif } else { if(20>x>0) { for(

28、i = 0; i < 20; i++) vocab[x].c[i]=word[i]; word[i]='\0'; Lcd_DspAscII8x16(15,40,BLUE,vocab[x].c); x++; } else x=15; //Lcd_DspAscII8x16(15,45,BLUE,word); for(i = 0; i < 20; i++) word[i]='\0'; } break;

29、 case 15: //Lcd_Draw_Box(10,40,310,80,GREEN); break; } if(num!=0&&counter!=0) { switch(3*(num-1)+counter-1) { case 0: bbyte='a';break; case 1: bbyte='b';break; case 2: bbyte='c';break; case 3: bbyte='d';bre

30、ak; case 4: bbyte='e';break; case 5: bbyte='f';break; case 6: bbyte='g';break; case 7: bbyte='h';break; case 8: bbyte='i';break; case 9: bbyte='j';break; case 10: bbyte='k';break; case 11: bbyte='l'

31、break; case 12: bbyte='m';break; case 13: bbyte='n';break; case 14: bbyte='o';break; case 15: bbyte='p';break; case 16: bbyte='q';break; case 17: bbyte='r';break; case 18: bbyte='s';break; case 19:

32、 bbyte='t';break; case 20: bbyte='u';break; case 21: bbyte='v';break; case 22: bbyte='w';break; case 23: bbyte='x';break; case 24: bbyte='y';break; case 25: bbyte='z';break; } num=0;counter=0; if(m==0) {

33、 word[wordIndex]=bbyte; wordIndex++; //n+=10; } } Lcd_DspAscII8x16(15,210,BLUE,word); // Uart_Printf("Key is:%x \r",input_char); } } 5.2输入键值识别功效软件 本电子词典设计中共有26个字母键和6个功效键。26各字母键键值对应于英文小写字母a——zASCII值97——122. 当有系统软件获取键值后,将依据目前键值做对应处理。具体代码实现以下: /

34、输入是字母键时对应处理*******************/ if(ucChar>0x60) { if((t==0)||(t>19)) { t=0; word_clear(); Trans_Clear(); } *((&ucChar)+1)=’_’; *((&ucChar)+2)=’\0’; Disp_String(&ucChar,(8*t+English_area.x0+5),English_area.y0+2); Word[t++]=ucChar; f_LineD=Word_List(wo

35、rd); } /****************输入是功效按键时对应处理是******************/ Else{ ucChar-=14; switch(ucChar){ case BACKSPACE: word[t]=’\0’; word[--t]=’_’; word_clear(); Trans_Clear(); Disp_String(word,Eng

36、lish_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE; Count_line=0; break; case PAGEUP: word_clear(); Trans_Clear();

37、 if(old==0) old=MAX_OLD; strcpy(word,oldword[--old]); Disp_String(word,English_area.x0+5,English_area.y0+2); f_LineD=Word_List(word); f_Word=TRUE;

38、t=strlen(word); break; case LINEUP: if(t!=0){ if(Count_Line!=0) Count_line--; LineMove(Count_line,UP); f_Word=FALSE; } break ; case ENTER: word[t+1]=’\0’; translate(word.f_Word,(f_lineD+Co

39、unt_Line-1)); if(old==MAX_OLD) old=0; strcpy(oldword[old++],word); f_LineD=0; Count_line=0; f_Word=TRU

40、E; for(;t>0;--t) word[t]=0; break; case LINEDOWN: if(t!=0){ if(Count_line<(ALL_WNo-f_LineD)) Count_line++; LineMove(Count_line,DOWN); f_Word=FALSE; } break;

41、 case PAGEDOWN: word_clear(); Trans_Clear(); If(old==MAX_OLD) old=0; strcpy(word,English_area.x0+5,English_area.y0+2);

42、 f_LineD=Word_List(word); f_Word=TRUE; t=strlen(word); break; default: Uart_Printf(0,”error %d”,ucChar); break; } 5.3已查单词记忆功效软件 当

43、按下翻译键以后,将翻译单词放入数组oldword[]中。MAX_OLD表示最多可记忆单词数量。要记忆单词数量若超出MAX_OLD,则将最早记忆单词覆盖。具体实现以下: · · · If (old==MAX_OLD) Old=0; Strcpy(oldword[old++],word); · · · 5.4 汉语词库编写和英语词库编写 为了简单起见,词库用结构体实现。此结构中包含4项:英文单词,词性,汉语释意和英文例句。具体实现以下: Typedef struct{ char c[20]: //英文单词

44、 char d[10]; //词性 char e[20]; //汉语意思 char f[50]; //例句 }str_word; Str_word vocab[16]={ {“a”,”indef.art”,”不定冠词:,”a bit more rest”}, {“add”,”v.”,”增加,计算”,”a bit that didn’t add up.”}, {“age”,”n.”,”年纪,时代”,”the age of a

45、dplescence.”} {“aid”,”v.”,”救援,资助,援助”,” I aided him in his enterprise.”}, {“all”,”adj.”,”总,多种”,”got into all manner of trouble.”,}, {“bad”,”n.”,”坏,有害”,”bad habits.”}, {“bag”,:n.”,”手提包”,” a field bag.”}, {“label”,”vt.”,”标注,分类”,”The bottle is labeled Poison.”} }; 5.

46、5看门狗定时器在嵌入式系统中功效概述 嵌入式系统工作环境复杂,比较轻易受到干扰,程序有可能出现运行不稳定、死机或停不了机即程序跑飞等现象,即未根据用户设计运行。那么在微控制器受到干扰进入错误状态后,使系统在一定时间间隔内进行复位。所以出于对嵌入式系统运行状态进行实时监测考虑,便产生了一个专门用于监测嵌入式程序运行状态电路,俗称看门狗定时器(Watch Dog Timer WDT)。 看门狗定时器包含一个数字计数器,该计数器能够从一个事先设置好数开始以不变速度减到0 。计数器速度是由一个时钟电路控制。假如计数器在系统恢复之前减到0 ,它就会向指定电路发送信号,通知它实施对应动作。当一个硬件

47、系统开启了WatchDog 功效时,运行在这个硬件系统之上软件必需在要求时间间隔内向WatchDog 发送一个信号(这个行为简称为“喂狗”) ,以免WatchDog 计时超时引发系统重启。不过必需清楚看门狗溢出时间(定时器溢出周期) ,以决定在适宜时候“喂狗”。看门狗WDT 有硬件看门狗和软件看门狗之分,不管是硬件看门狗还是软件看门狗实际上全部是一个可清零定时计数器。 S3C44B0X看门狗定时器是片内集成,所以属于软件看门狗。 当受到故障比如噪声或系统错误干扰时,S3C44B0X看门狗定时器能够继续控制器操作,它可用作一个一般16位定时器去请求中止服务。并可在每128MCLK后产生一个周

48、期复位信号。 看门狗定时器使用MCLK作为其唯一时钟源,MCLK是系统内部时钟。要产生对应看门狗定时器时钟,MCLK频率首先预分频,然后结果频率再分频。其中百分比因子和以后分频值,全部能够由看门狗定时器控制寄存器(WTCON)来决定。百分比因子有效范围值是0~255。频率预分频能够有四个选择分别是16分频、32分频、64分频和128分频。 看门狗控制程序 void wdtimer_test(void) { Int I; Uart_Printf(0,"\n\r WatchDog Timer Test Example\n"); rINTMSK = ~(B

49、IT_GLOBAL | BIT_WDT); //使能中止 pISR_WDT = (unsigned)wdt_int; //设置看门狗中止处理程序入口 f_nWdtIntnum = 0; //测试看门狗中止功效 rWTCON = ((MCLK/1000000-1)<<8) | (3<<3) | (1<<2); //时钟周期= 1/64/128, rWTDAT =7812; // 1s = 7812 * nWDTCountTime

50、 rWTCNT = 7812; rWTCON = rWTCON | (1<<5); // 使能看门狗 while(f_nWdtIntnum!=5); //测试看门狗复位功效 rWTCON = ((MCLK/1000000-1)<<8) | (3<<3) | (1<<2) | (1); //时钟周期=1/64/128,中止严禁,复位使能 Uart_Printf(0,"\nI will restart after 5 sec!!!\n"); rWTCNT = 7812*5; // 等候5s rWTCON = rWTCON | (1<<5); /

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服