实验报告4--万年历综合实验_第1页
实验报告4--万年历综合实验_第2页
实验报告4--万年历综合实验_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告班级学号姓名同组人实验日期室温大气压成绩实验题目:万年历综合实验一、实验目的:本实验主要目的是通过解决一些实际问题,巩固和加深微机原理与接口技术”课程中所学的理论知识和实践能力,基本掌握计算机接口应用电路的一般设计方法,提高电子电路的设计和实践能力,加深对计算机 软硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。通过课本现有程序改写编程,实现时钟设有整点音乐报时,半点数码管显示,每隔30秒流水灯提醒,还可以随时手动按键使其响音乐来作为警报或人为约定的提示等功能。同时还可以用定时器来设定一次跳动 的时间,为实际生活所服务。二、实验仪器:微型电子计算机(含软件和

2、ADSv1_2、Easy ARM2131开发板。三、硬件电路设计及其描述3.1、复位电路由于ARM芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟 源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。本开发板的复位电路使用了带I2C存储器的电源监控芯片CAT1025JI-30,提高系统的可靠性,电路原理如图1.4所示。在图1.4中,信号nRST连接到LPC2131芯片的复位脚 RESET ,当复位按键 RST按下时, CAT1025JI-30的RESET引脚立即输出复位信号,使 LPC2131芯片复位。注意,使用 CAT1025JI-30芯片时, 其RESE

3、T引脚上的下拉电阻、 RESET引脚上的上拉电阻都是不能省略的。® K4 系绒&位电路3.2、系统时钟电路LPC2100系列ARM7微控制器可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHz )。倘若不使用片内PLL功能及ISP下载功能,则外部晶振频率 范围是1MHz30MHz,外部时钟频率范围是 1MHz50MHz ;若使用了片内 PLL功能或ISP下载功能,则外部晶振频率范围是10MHz25MHz,外部时钟频率范围是 10MHz25MHz。EasyARM2131开发板使用了外部 11.0592MHz晶振,电路如图1

4、.5所示。用11.0592MHz晶振的原因是 使串口波特率更精确,同时能够支持LPC2131微控制器芯片内部 PLL功能及ISP功能。、一二讥Fr - -丄nTYI3.3、键盘电路EasyARM2131开发板具有6个独立按键,分别为KEY1KEY6,如图1.8所示。由于P0 口作为输入时, 内部无上拉电阻,所以要使用R28R33等6个上拉电阻,当没有按键时,口线值为 1,当按键按下时为 0;其中,KEY1、KEY5所连接的口线为 P0.16、P0.20,这两个口分别与外部中断EINTO、EINT3复用,所以可用这两个按键进行外部中断的实验、唤醒掉电CPU的实验。KEY2、KEY3、KEY4和K

5、EY6所连的口线为P0.17、P0.18、P0.19、P0.21,可用作定时器的捕获输入。键盘电路通过JP8跳线器来选择连接。3.4、LED显示电路在显示方面,EasyARM2131开发板采用了一片 74HC595驱动一位静态共阳 LED数码管,如图1.9所示, 其时钟(SCK)、数据(SI)分别接到LPC2131的SPI接口的SCLK0、MOSIO ,这样就可以发送数据至U74HC595 ;片选(RCK,即74HC595输出触发端)与 P0.29 口连接,由P0.29控制74HC595数据锁存输出;而最高位 输出(SQH)连接到LPC2131的SPI接口的MISO0 ,可用来读回数据。这样连

6、接就可以进行SPI接口控制实验,并能把74HC595的移位输出读回来(由 MISO0读回)。这一部份电路通过 JP10跳线器来选择连接。在使用硬件 SPI接口主方式时, 要把SPI0/1的4个I/O 口均设置为 SPI功能,女口 P0.4、P0.5、P0.6、P0.7, 而且SSEL0/1引脚不能为低电平,一般要接一个10K Q的上拉电阻。另外,EasyARM2131开发板还具有 8个独立的发光二极 LED1LED9,由P1.18P1.25输出控制,输 出1时对应的LED熄灭,输出0时对应的LED点亮,电路如图1.10所示。这一部份电路通过 JP12跳线器 来选择连接。电路采用了 I/O 口灌

7、电流的驱动方式来驱动 LED,这样做主要是因为I/O 口能提供的灌电流大于其拉电流,保证了 LED的显示亮度。3.5、蜂鸣器控制电路如图1.11所示,蜂鸣器使用 PNP三极管Q1进行驱动控制,当 P0.7控制电平输出0时,Q1导通,蜂 鸣器蜂鸣;当P0.7控制电平输出1时,Q1截止,蜂鸣器停止蜂鸣;若把 JP6选择断开连接,Q1截止,蜂鸣 器停止蜂鸣。Q1采用开关三极管 8550,其主要特点是放大倍数高hFE = 300,最大集电极电流ICM =1500mA,特征频率 fT = 100MHz。由于P0.7 口与SPI部件的SSEL0复用,所以此管脚上接一上拉电阻R22,防止在使用硬件 SPI总

8、线时由于SSEL0引脚悬空导致SPI操作出错。ttl 1.1 1 鮭吗料控制电路3.6实时时钟概述实时时钟(RTC,Real Time Clock )提供一套计数器在系统上电和关闭操作时对时间进行测量,RTC消耗的功率非常低。LPC2131的RTC时钟可由独立的32.768KHZ振荡器或基于 VPB时钟的可编程预分频器来提供。 另外,RTC还具有专用的电源管脚 Vbat,可连接到电池或其它器件使用的相同的3.3V电压上。要使RTC中断能够唤醒掉电的 CPU,必须选择外部时钟源。特性1、测量保持日历或时钟的时间通路;2、超低功耗设计,支持电池供电系统;3、提供秒、分、小时、日、月、年和星期;4、

9、指定的32KHZ振荡器或可编程 VPB时钟预分频器;5、 专用电源管脚可与电池或3.3V的电压相连结构RTC功能结构如图 4.116所示。圏4.116 RTC方植图寄存器描述RTC包含了许多寄存器,按照功能分成混合寄存器、时间寄存器、时间计数器、报警寄存器和预分频器 几组,见表4.76。* 4 7CtrH电亦徉鶴朕剜Mt 1*kftl'l EHTin訂窃帀kiiI1LR、p |«ISi估种宙杯町EW(WZ<M24«OorcISn.rM- Ti nii i <i«RO(IxlLKJ 24004CC?H4ii rtrtwiw 存 wR/WOnLiM

10、Jl-HrtlHCJILUHR/WOn Id *)2 I1M:IL'A2MII4冒抠种伽电詐住滸RJVV*OmJ±<MJZ40JO旳冋囱打腊凯LTilJwflj;4><3計立并时冋奇 陆“tAKl£LMJ24l 1crriMim i亢总H J冋窃盯1ROKcrriMi-;4JZ>'1耙HJ冋奇和折1ROOk1aOO2W1CBtirifi 1 这刷SIJCr.5tt/w*31020MISft莎旳</ afrtt/wIbLXM 侶 4U»IhlOlLIHLsd'»i-J亦仃黯JHJWUxftMJUZ li

11、k2Ms11 wj匚jj j播仃:mJHJW(KlitMJ2JO2e1 M 3W1ijlwi,:卞期黑门肘1 )HJ-.14-1 hIZKJVQ11W匚牢鼻&t/W1 JKl'.l7M orsri hJH奇费胖Et/W1 )x 1-1 -« iN¥ RAR1工第奇存nt盘/WBfe*cixFnimCA.I豊F旷廿紗州苦吭R/WB*A l WI Nr-好ttJ W佈狀2寺O»BmX240<MAl HOI HHrd-ii-HW*2n.wzMAi-rx)M)1 «l c HRifW"1 1 INI' S i I-.(AL

12、LXJWJ|!R/W<lkl2(MJ24C)7(JALL>L>Y11 n « «fjR/WU.kL:EMJ±4C74ALMON4j j jtt iiiR/WMlj 二RJW-4CJxlfc-tMJ'JtJlOTCIHwi i> mi(?r *vi ;:r 叶H/wCJ(JmUCMZIDNCFREI JtAC'1箕.HJWInxi:i:«kzic:iwi和障ffl命軸閒那骼王歼旳以血鬲檜册礙卄浇惜rt乜侍口勺轡咽+ mm KVC 1tR£- 葩叫窗價祖瑕城已忸fl +;WWHL-3.7、PWM脉宽调制器概述

13、LPC2131的脉宽调制器 (PWM , Pulse Width Modulator )建立在标准定时器 0/1之上。应用可在 PWM和 匹配功能当中进行选择。PWM基于标准的定时器模块并具有其所有特性。不过LPC2131只将其PWM功能输出到管脚。定时器对外设时钟(pclk)进行计数,可选择产生中断或基于 7个匹配寄存器,在到达指定的定时值时执行其它动作(设置为高/低电平、翻转或者无动作)。它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并 可选择在事件发生时产生中断。PWM功能是一个附加特性,建立在匹配寄存器事件基础之上。可独立控制上升沿和下降沿的位置,这样使PWM可以应用于更

14、多的领域。例如,多相位电机控制通常需要3个非重叠的PWM输出,而这3个输出的脉宽和位置需要独立进行控 制。两个匹配寄存器可用控制单边沿PWM输出。PWMMR0控制PWM周期率,另一个匹配寄存器(PWMMR1PWMMR6 )控制PWM边沿的位置。每个额外的单边沿PWM输出只需要一个匹配寄存器,因为所有 PWM输出的重复率速率是相同的。多个单边沿控制PWM输出在每个 PWM周期的开始,当PWMMR0发生匹配时,都有一个上升沿。3个匹配寄存器共同控制一个双边沿PWM输出。PWMMR0控制PWM周期速率,其它匹配寄存器控制(PWMMR1PWMMR6 )两个PWM边沿位置。每个额外的双边沿PWM输出只需

15、要两个匹配寄存器,因为所有PWM输出的重复率速率是相同的。使用双边沿控制 PWM输出时,指定的匹配寄存器控制输出的上升和下降沿。这样就产生了正脉冲(当 上升沿先于下降沿时)和负脉冲(当下降沿先于上升沿时)。特性1、 7个匹配寄存器,可实现 6个单边沿控制或 3个双边沿控制PWM输出,或这两种类型的混合输出:-连续操作,可选择在匹配时产生中断;匹配时停止定时器,可选择产生中断;-匹配时复位定时器,可选择产生中断。2、每个匹配寄存器对应一个外部输出,具有下列特性:匹配时设置为低电平;匹配时设置为高电平;匹配时翻转;匹配时无动作。3、 支持单边沿控制和/或双边沿控制的 PWM输出。单边沿控制 PWM

16、输出在每个周期开始时总是为高 电平,除非输出保持恒定低电平。双边沿控制PWM输出可在一个周期内的任何位置产生边沿。这样可同时 产生正和负脉冲。4、 脉冲周期和宽度可以是任何的定时器计数值。这样可实现灵活的分辨率和重复速率的设定。所有PWM输出都以相同的重复率发生。5、双边沿控制的 PWM输出可编程为正脉冲或负脉冲。6、匹配寄存器更新与脉冲输出同步,防止产生错误的脉冲。软件必须在新的匹配值生效之前将它们释 放。7、如果不使能PWM模式,可作为一个标准定时器。&带可编程32位预分频器的32位定时器/计数器。9、当输入信号跳变时 4个捕获寄存器可取得定时器的瞬时值,也可选择使捕获事件产生中断

17、。3.7.3 PWM的方框图图4.100所示为PWM的方框图。在标准定时器模块上增加的部分位于图的右边和顶端。图4.100的PWM输出逻辑允许通过 PWMSELn (在PWM控制寄存器PWMPCR中)位选择单边沿或者双边沿控制的 PWM输 出。l r Ri >2I " 帥宀AT將3円奇fr紹爲匹机谒右牌5moadQ4*韵询"霑r;P VvM-il=| f 刑MA MVA1_PWM5 FWM'EMMPWMS FWMEkIM户WMmP*WM'L MAAPWMifpru曲疔:hemI " 帥 r Ar 將 3I” 奇fr紹爲山踏僧新«WZ

18、EUi'*-PWMJ *卜佃MEH屉o|-*-FWM3-WMLUAJEi ROHl«薛PWM的功8h +* 个貝体的ttttM® 4.100 PWM A+H®3.8、SPI 接口概述LPC2131具有一个硬件 SPI (SPI, Serial Peripheral In terface )接口,它是一个同步、全双工串行接口, 最大数据位速率为时钟速率的 1/8,可以配置为主机或者从机。在同一总线上可以有多个主机或者从机,但同一时刻只能有一个主机和一个从机能够进行通信,在一次 数据传输过程中,主机向从机发送一字节数据,从机也向主机返回一字节数据。SPI可应用

19、于:串行存储器,如 DataFlash、三线EEPROM等;串行外设,如 ADC、DAC、LCD控制器、CAN控制器、 传感器等;外部协处理器。特性1、 两个完全独立的 SPI控制器;遵循串行外设接口(SPI)规范;2、同步、串行、全双工通信;组合的 SPI主机和从机;3、 最大数据位速率为输入时钟速率的1/8。结构SPI0接口中的SPI方框图见图4.47。spm: -iI4OS4 out MISO IH IXIl&O u3MOEI 住5 cn 讷 i 勺a uui *i>i概述LPC2131具有2个32位可编程定时/计数器,均具有 4路捕获、4比较路匹配并输出电 路。定时器对外

20、设时钟(pclk )周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择产生中断。可用于对内部事件进行计数的间隔定时器,或者通过捕获输入实现脉宽调制,亦可作为 自由运行的定时器。定时器0和定时器1除了外设基地址以外,其它都相同。3.9.2 特性带可编程32位预分频器的32位定时器/计数器;具有多达4路32位的捕获通道-当输入信号跳变时可取得定时器的瞬时值,也可结构定时器0和定时器1的方框图,见图4.85。*月;西祝津2 asM KW fr 0fro Ct

21、w fr a i抽缺市打at仝Iff伙奇仃W 3 *c-ap:3:cr (So" H W itgad i 孚 5>4»|更*CWMfcX.VAL't址1J d拧叙弋住*1- u- : -c .:* J : Ji(勺打药 s -dfciu f 迂 H空oEffl 4.85软件设计流程及其描述4.1程序概述此程序是多功能万年历,具有以下功能:1、利用实时时钟显示时间,利用定时器的功能使其两秒钟跳动一次;2、 进行整点报时:到了整点时用PWM音乐输出来报点;3、 SPI设置:当到了半点时数码管显示LPC2131来提醒人们;4、当时间到了 30秒时流水灯闪烁;5、 按

22、键设置:当按下按键 1时PWM音乐输出响应。4.2程序流程图LED融础它金示穽特址積團定时睛1匹®冥验濡朴幣I- 开始 、P125:18选择连接GPIO将点亮的LED 熄灭,即所有LED熄灭延时流水灯花样显示流程图按键音乐输出流程图五、程序清单/*功能 :运行RTC进行计时,将时间值通过串口向上位机发送。*上位机使用EasyARM软件,在仿真的万年历显示器显示结果。*说明 :通讯波特率115200, 8位数据位,1位停止位,无校验。*/#in elude "con fig.h"#i nclude "music.h"/*歌曲曲谱一虹彩妹妹*/co

23、nst ui nt32 HCMM= _LA, _SO, _MI, _LA, _SO, _MI,_LA, _LA, _SO, _LA,_LA, _SO, _MI, _LA, _SO, _MI,_RE, _RE, _DO, _RE,_MI, _MI, _SO, _LA, _DO1, _LA, _SO,_MI, _MI, _SO, _DO,_MI, _MI, _MI, _MI, _MI,_1LA,_1LA,_1SO,_1LA,;/*歌曲节拍 */const ui nt32 HCMM_L=_4, _8, _8, _4,【8, _8,8一 4一 8一 2一4, 8, 8, 4, 8, 8,_8, _4,

24、 _8, _2,_4, _8, _8, _8, _8, _8, _8,_8, _4, _8, _2, _ 一 一_4, _4, _4, _8, _8,_8, _4, _8, _2,;typedef struct UartModeuint8 datab; uint8 stopb; uint8 parity; UARTMODE; #defi ne BEEP #defi neHC595_/字长度5/6/7/8/停止位1/2/奇偶校验0 无校验,1奇校验,2 偶校验1 << 7/ P0.7控制蜂鸣器CS(1 << 29)/ P0.29 口为 74HC595 的片选const u

25、int32 LEDS8 = (0xFF << 18);/ P125:18控制 LED8LED1,低电平点亮const uint32 KEY1 = 1 << 16;/ P0.16 连接 KEY1const ui nt32 KEY2 = 1 << 17;const ui nt32 KEY4 = 1 << 19;/*功能描述:软件延时函数*/void Delay(uint8 dly)ui nt32 i;函数名称:Delayfor(; dly > 0; dly-) for(i = 0; i < 0x7FFFF; i+);/*函数功能:初始化串

26、口:设置工作模式和波特率。*入口参数 : baud 波特率*set模式设置(UARTMODE数据结构)*出口参数:返回1表示成功,0表示参数出错。*/uin t8 UART0_I nit (ui nt32 baud, UARTMODE set)uin t32 bak;函数名称:UART0_lnit()/参数过滤if (0 = baud) | (baud > 115200) return (0);if (set.datab < 5) | (set.datab > 8) return (0); if (0 = set.stopb) | (set.stopb > 2) ret

27、urn (0); if (set.parity > 4) retur n (0);/设置串口波特率U0LCR = 0x80;/ DLAB=1bak = (Fpclk >> 4) / baud;U0DLM = bak >> 8;U0DLL = bak & 0xff;/设置串口模式bak = set.datab - 5;if (2 = set.stopb) bak |= 0x04;if (0 != set.parity)set.parity = set.parity - 1; bak |= 0x08;bak |= set.parity << 4;U

28、0LCR = bak;return (0); /*函数名称: SendByte()* 函数功能:向串口 UARTO发送字节数据,并等待发送完毕。 *入口参数:data要发送的数据*出口参数:无*/void Sen dByte (ui nt8 data)UOTHR = data;while (UOLSR & 0X20) = 0);/ 等待数据发送/*函数名称PC_DispChar()*函数功能:向PC机发送显示字符。*入口参数:no显示位置*char 显示的字符,不能为 ff*出口参数:无* I void PC_DispChar (ui nt8 no, uint8 chr) _Se nd

29、Byte(0xff);Sen dByte(0x81);Se ndByte( no);Se ndByte(chr);Sen dByte(0x00);uin t8 con st SHOWTABLE10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /* * 函数名称:SendTimeRtc()*函数功能:读取RTC的时间值,并将读出的时分秒值通过串口送到上位机显示。*入口参数:无*出口参数:无*/void Sen dTimeRtc (void)uin t32 datas;uin t32 times;uin t32 bak;times =

30、CTIME0;/读取完整的时钟寄存器datas = CTIME1;bak = (datas >> 16) & 0xfff; / 获取 年PC_DispChar(0, SHOWTABLEbak / 1000);bak = bak % 1000;PC_DispChar(1, SHOWTABLEbak / 100);bak = bak % 100;PC_DispChar(2, SHOWTABLEbak / 10);PC_DispChar(3, SHOWTABLEbak % 10);bak = (datas >> 8) & 0x0f;/ 获取 月PC_DispC

31、har(4, SHOWTABLEbak / 10);PC_DispChar(5, SHOWTABLEbak % 10);bak = datas & 0x1f;/ 获取 日PC_DispChar(6, SHOWTABLEbak / 10);PC_DispChar(7, SHOWTABLEbak % 10); bak = (times >> 24) & 0x07;/ 获取 星期PC_DispChar(8, SHOWTABLEbak);bak = (times >> 16) & 0x1f;/ 获取 小时PC_DispChar(9, SHOWTABLEb

32、ak / 10); PC_DispChar(10, SHOWTABLEbak % 10);bak = (times >> 8) & 0x3f;/ 获取 分钟PC_DispChar(11, SHOWTABLEbak / 10); PC_DispChar(12, SHOWTABLEbak % 10);bak = times & 0x3f;/ 获取 秒钟PC_DispChar(13, SHOWTABLEbak / 10); PC_DispChar(14, SHOWTABLEbak % 10);函数名称:MSPI_I nit() /* *函数功能:初始化 SPI接口,设置为

33、主机。出口参数:尢*/ voidMSPI_I nit(void)/PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00005500; PINSEL0 = (PINSEL0 & (0xFF << 8) | (0x55 << SPCCR = 0x52;SPCR = (0 << 3) |(1 << 4) |(1 << 5)(0 << 6)(0 << 7);/设置管脚连接SPI 8);/设置SPI时钟分频/ CPHA = 0,数据在SCK的第一个时钟沿采样/ CPOL = 1,

34、 SCK为低有效/ MSTR = 1, SPI处于主模式/ LSBF = 0, SPI数据传输 MSB (位7)在先/ SPIE = 0, SPI中断被禁止/*函数功能:向SPI总线发送数据。 入口参数:data 待发送的数据 出口参数:返回值为读取的数据函数名称:MSPI_Se ndData()*/uin t8MSPI_Se ndData(ui nt8 data) -IOCLR = HC595_CS;/ 片选 74HC595SPI_SPDR = data; while( 0 = (SPI_SPSR & 0x80);/等待SPIF置位,即等待数据发送完毕IOSET = HC595_CS

35、; return(SPI_SPDR);/*/此表为LPC2131字模*/L Puint8 const LPC21317 = 0xC7, 0x8C, 0xC6, 0xA4, 0xF9, 0xB0, 0xF9;/*函数名称 函数功能 入口参数 出口参数RTCI ni t()初始化实时时钟无无*/ ui nt8 rcv_data;void RTCI nit (void)PREINT = Fpclk / 32768 - 1; / 设置基准时钟分频器PREFRAC = Fpclk - (Fpclk / 32768) * 32768;/禁止时间计数器CCR = 0x00; YEAR = 2009; MON

36、TH = 05; DOM DOW HOUR MIN SEC=8;=5;=8;=59;=50;CIIR = 0x01;/CCR = 0x01;/ui nt8 i;PINSEL0=0x02 << 14;/ P0.7选择PWM2功能/* PWM初始化*/PWMPR=0x00;/不分频,计数频率为 FpclkPWMMCR=0x02;/设置PWMMR0匹配时复位PWMTCPWMPCR=0x0400;/允许PWM2输出,单边PWMPWMMR0=Fpclk / 500;PWMMR2=PWMMR0 / 2;/ 50%占空比PWMLER=0x05;/ PWM0和PWM2匹配锁存PWMTCR=0x02

37、;/ 复位 PWMTCPWMTCR=0x09;/启动PWM输出for(i =0; i < 10; i+)SendTimeRtc():void PWM_music (ui nt8 n)设置秒值的增量产生1次中断启动RTCPWMMR0= Fpclk / HCMMi; / 设置输出频率PWMLER= 0x05;/更新匹配值后,必须锁存Delay(HCMM Li);/延时,控制播放速度PWMMCR= 0x04;PINSEL0 = 0x00000005|0x00000000;void GPIO BEEP (uint8 n)PINSEL0 = 0x00000000;/ 设置管脚连接 GPIOIO0D

38、IR= BEEP;设置BEEP控制口为输出IO0CLR = BEEP;/ BEEP 蜂鸣Delay(30);IO0SET = BEEP;PINSEL0 = 0x00000000|0x00000005;void SPI_7SegLed (ui nt8 n)ui nt8 i;PINSEL0 = 0x00005500;/ 设置 SPI 管脚连接PINSEL1 = 0x00000000;IODIR = HC595_CS;MSPI_I nit();/*显示LPC2131字样*/for(i=0; i<7; i+)rcv data = MSPI SendData(LPC2131i);/ 发送显示数据D

39、elay(10);/ 延时PINSEL0 = 0x00000000|0x00000005;void GPIO LEDS( uint8 n )/*流水灯花样,低电平点亮,注意调用时候用了取反操作*/const uint32 LED TBL = 0x00, 0xFF,/全部熄灭后,再全部点亮0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, / 依次逐个点亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, / 依次逐个叠加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x

40、01, / 依次逐个递减0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, /两个靠拢后分开0xA0, 0x50, 0x7e, 0x28, 0x14, 0x0A, 0x05, 0x82,0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81/ 从两边叠加后递减;ui nt8 i;PINSEL1 = 0x00000000;/ 设置管脚连接 GPIO/PINSEL2 = PINSEL2 & (0x08);/ P125:16 连接 GPIO IO1DIR = LEDS8;/设置LED1控制口为输出for(i=n

41、 ;i< n+20;i+)Se ndTimeRtc();/*流水灯花样显示*/IO1SET = (LED_TBLi) << 18);Delay(5);IO1CLR = (LED_TBLi) << 18);Delay(2);IO1SET =LEDS8;PINSEL0 = 0x00000005|0x00000000;/*函数名称 :main()*函数功能:读取实时时钟的值,通过串口发送出去。*/int main (void)UARTMODE uart0 set;PINSEL1 = 0x00000000;/ 设置管脚连接 GPIOPINSEL2 = PINSEL2 & (0x08);/ P125:16 连接 GPIOPINSEI0 = 0y00000000I0y00000005;/ 厶连接 IO 至到 UART0IO0DIR=BEEP;IOOSET=BEEP;/PINSEL1 = 0x00000000;/ 设置管脚连接 GPIOPINSEL2 = PINSEL2 & (0x08); P125:16 连接 GPIOIO1SET =LEDS8;IO1DIR = LEDS8;/设置LED1控制口为输出PWMMCR= 0x04;/*定时器0初始化*/T0TC= 0;/*定时器设置为0*/T0PR= 0;/*时钟不分频*/T0MCR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论