




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1目录摘要2ABSTRACT3第一章引言4第二章S3C44B0X控制器介绍621S3C44B0X控制器管脚622SAMSUNGS3C44B0X介绍8第三章ARM开发工具简介1231ARM开发工具综述1232ARMSTD安装和应用13第四章S3C44B0X内部资源编程2041LED显示2042键盘控制2343数码管显示2444中断控制25第五章机器人的设计2751硬件结构2752软件设计3153结论44第六章展望45参考文献2摘要ARMT7TDMI是通用的32位RISC微处理器成员之一,在非常低的功耗和价格下提供了很高性能。SAMSUNGS3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微处理器解决方案。它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本,该芯片集成了8KBCACHE、外部存储器控制器、LCD控制器等,是一款高效的微处理器。关键词ARMT7TDMI32位微处理器SAMSUNGS3C44B0X66MHZ3ABSTRACTTHEARM7TDMIISAMEMBEROFTHEADVANCEDRISCMACHINESARMFAMILYOFGENERALPURPOSE32BITMICROPROCESSORS,WHICHOFFERVERYHIGHPERFORMANCEFORVERYLOWPOWERCONSUMPTIONANDPRICESAMSUNGSS3C44B0XMICROPROCESSORISDESIGNEDTOPROVIDEACOSTEFFECTIVEANDHIGHPERFORMANCEMICROCONTROLLERSOLUTIONFORHANDHELDDEVICESANDGENERALAPPLICATIONSTHES3C44B0XWASDEVELOPEDUSINGAARM7TDMICORE,UPTO66MHZ。TOREDUCETOTALSYSTEMCOST,S3C44B0XALSOPROVIDESTHEFOLLOWING8KBCACHE,OPTIONALINTERNALSRAM,LCDCONTROLLERANDSOON,WHICHISAHIGHPERFORMANCEMICROPROCESSORSKEYWORDSARM7TDMI32BITMICROPROCESSORSS3C44B0X66MHZ4第一章引言ARM(ADVANCEDRISCMACHINES)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费、教育类、多媒体、DSP和移动式应用等。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括INTEL、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。ARM架构是面向低预算市场设计的第一款RISC微处理器。ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。CPU内核ARM7小型、快速、低能耗、集成式RISC内核,用于移动通信。ARM7TDMITHUMB这是公司授权用户最多的一项产品,将ARM7指令集同THUMB扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。ARM9TDMI采用5阶段管道化ARM9内核,同时配备THUMB扩展、调试和HARVARD总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。体系扩展THUMB以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。嵌入式ICE调试由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。微处理器ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T低价、低能耗、封装式常规系统微型处理器,配有高速缓存(CACHE)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。ARM940T、920T系列低价、低能耗、高性能系统微处理器,配有CACHE、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。STRONGARM性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给INTEL。SA110处理器、SA1100PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。ARM7500和ARM7500FE高度集成的单芯片RISC计算机,基于一个缓存式ARM732位内核,拥有内存和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口ARM7500FE则增加了一个浮点运算单元以及对EDODRAM的支持。特别适合电视顶置盒和网络计算机(NC)。WINDOWSCE的POCKETPC只支持ARMWINDOWSCE可支持多种嵌入式处理器,但基于WINDOWSCE的POCKETPC则只支持ARM一种。微软在对SH3、MIPS、ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较好的选择。由于目前ARM在手持设备市5场占有90以上的份额,只支持ARM,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。由于ARM开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性。ARM微处理器的特点ARM微处理器的特点采用RISC架构的ARM微处理器一般具有如下特点1、体积小、低功耗、低成本、高性能;2、支持THUMB(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定;。ARM微处理器的应用领域到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域1、工业控制领域作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。2、无线通讯领域目前已有超过85的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。3、网络应用随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。4、消费类电子产品ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。5、成像和安全产品现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。ARM运用和机器人设计ARM作为一项刚刚发展起来的新技术,具有很强的发展力。由于是新生技术,因此在高校中只有研究生才开设这门课程,或者研究生在做研究型工作。而在本科生中,由于各种原因,至今还没有开设这门课程。因此,选择这个题目,一方面是希望能够在本科的学习阶段学习这门新技术,另一方面也是为以后在本科生开设这门课程做准备开发实验系统。在现有的(实验室拥有的设备)机器人的设计中,用的是摩托罗拉公司的68HC12单片机来进行开发的。因此该设计希望将S3C44B0X运用在机器人身上,利用S3C44B0X优势,结合开放源码的UC/OSII操作系统,开发出性能更高、可靠性更好的机器人。6第二章S3C44B0X控制器介绍21S3C44B0X控制器管脚OM10输入OM10设置S3C44B0X在测试模式和确定NGCS0的总线宽度,逻辑电平在复位期间由这些管脚的上拉下拉电阻确定ADDR240输出地址总线输出相应段的存储器地址DATA310输入输出数据总线,总线宽度可编程为8/16/32位NGCS70输出芯片选择,当存储器地址在相应段的地址区域时被激活存取周期和段尺寸可编程NWE输出写允许信号,指示当前的总线周期为写周期NWBE30输出写字节允许信号NBE30输出在使用SRAM情况下字节允许信号NOE输出读允许信号,指示当前的总线周期为读周期NXBREQ输入NXBREQ总线控制请求信号,允许另一个总线控制器请求控制本地总线,NXBACK信号激活指示已经得到总线控制权。7NXBACK输出总线应答信号。NWAIT输入NWAIT请求延长当前的总线周期,只要NWAIT为低,当前的总线周期不能完成。ENDIAN输入它确定数据类型是LITTLEENDIAN还是BIGENDIAN,逻辑电平在复位期间由该管脚的上拉下拉电阻确定NRAS10输出行地址选通信号。NCAS30输出列地址选通信号。NSRAS输出SDRAM行地址选通信号。NSCAS输出SDRAM列地址选通信号。NSCS10输出SDRAM芯片选择信号。DQM30输出SDRAM数据屏蔽信号。SCLK输出SDRAM时钟信号。SCKE输出SDRAM时钟允许信号。VD70输出LCD数据线,在驱动4位双扫描的LCD时,VD30为上部显示区数据,VD74为下部显示区数据。VFRAME输出LCD场信号,指示一帧的开始,在开始的第一行有效。VM输出VM极性变换信号,变化LCD行场扫描电压的极性,可以每帧或可编程多少个VLINE信号打开。VLINE输出LCD行信号,在一行数据左移进LCD驱动器后有效。VCLK输出LCD点时钟信号,数据在VCLK的上升沿发送,在下降沿被LCD驱动器采样。TOUT40输出定时器输出信号。TCLK输入外部时钟信号输入。EINT70输入外部中断请求信号。NXDREQ10输入外部DMA请求信号。NXDACK10输出外部DMA应答信号。RXD10输入UART接收数据输入线。TXD10输出UART发送数据线。NCTS10输入UART清除发送输入信号。NRTS10输出UART请求发送输出信号。IICSDA输入输出IIC总线数据线。IICSCL输入输出IIC总线时钟线。IISLRCK输入输出IIS总线通道时钟选择信号线。IISDO输出IIS总线串行数据输出信号。IISDI输入IIS总线串行数据输入信号。IISCLK输入输出IIS总线串行时钟。CODECLK输出CODEC系统时钟。SIORXD输入SIO接收数据输入线。SIOTXD输出SIO发送数据线。SIOCK输入输出SIO时钟信号。SIORDY输入输出当SIO的DMA完成SIO操作时的握手信号。AIN70ADC模拟信号输入AREFT输入ADC顶参考电压输入。AREFB输入ADC底参考电压输入。AVCOM输入ADC公共参考电压输入。P700输入输出通用I/O口(一些口只有输出模式)。8NRESET复位信号,NRESET挂起程序,放S3C44B0X进复位状态。在电源打开已经稳定时,NRESET必须保持低电平至少4个MCLK周期。OM32输入OM32确定时钟模式。EXTCLK输入当OM32选择外部时钟时的外部时钟输入信号线,不用时必须接高(33V)XTAL0模拟输入系统时钟内部振荡线路的晶体输入脚。不用时必须接高(33V)EXTAL0模拟输出系统时钟内部振荡线路的晶体输出脚,它是XTAL0的反转输出信号。不用时必须悬空。PLLCAP模拟输入接系统时钟的环路滤波电容(700PF)。XTAL1模拟输入RTC时钟的晶体输入脚。EXTAL1模拟输出RTC时钟的晶体输出脚。它是XTAL1的反转输出信号。CLKOUT输出时钟输出信号NTRST输入TAP控制器复位信号,NTRST在TAP启动时复位TAP控制器。若使用DEBUGGER,必须连接一个10K上拉电阻,否则NTRST必须为低电平。TMS输入TAP控制器模式选择信号,控制TAP控制器的状态次序,必须连接一个10K上拉电阻。TCK输入TAP控制器时钟信号,提供JTAG逻辑的时钟信号源,必须连接一个10K上拉电阻。TDI输入TAP控制器数据输入信号,是测试指令和数据的串行输入脚,必须连接一个10K上拉电阻。TDO输出TAP控制器数据输出信号,是测试指令和数据的串行输出脚。VDDS3C44B0X内核逻辑电压(25V)VSSS3C44B0X内核逻辑地VDDIOS3C44B0XI/O口电源33VVSSIOS3C44B0XI/O地RTCVDDRTC电压25V或3V,不支持33VVDDADCADC电压25VVSSADCADC地22SAMSUNGS3C44B0X介绍SAMSUNGS3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件8KBCACHE、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。S3C44B0X体系结构用于手持设备和通用嵌入式应用的完整系统;16/32位RISC结构和带ARM7DMICPU核的功能强大的指令集;THUMB协处理器在保证性能的前提下使代码密度最大;片上ICE中断调试JTAG调试方式328位硬件乘法器;9S3C44B0X控制器内部资源简介系统管理支持大/小端模式;地址空间每个BANK32MB(一共256MB);每个BANK支持8/16/32位数据总线编程;固定的BANK起始地址和7个可编程的BANK;1个起始地址和尺寸可编程的BANK;8个内存BANK个用于ROM、SRAM;2个用于ROM/SRAM/DRAM;所有内存BANK的可编程寻址周期;在能量低的情况下支持DRAM/SDRAM自动刷新模式;支持DRAM的非对称/对称寻址;缓冲内存和内部SRAM;S3C44B0X微处理器体系结构框图104路带8K字节的联合缓存;不使用缓存的0/4/8K内容SRAM;伪LRU(最近最少使用)的替代算法;通过在主内存和缓冲区内容之间保持一致的方式写内存;当缓冲区出错时,请求数据填充技术;时钟和能量管理低能耗;时钟可以通过软件选择性地反馈回每个功能块;能量模式正常模式正常运行模式;低能模式不带PLL的底频时钟;休眠模式只使CPU的时钟停止;停止模式所有时钟都停止;用EINT或RTC警告中断从停止模式唤醒;中断控制器30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO;矢量IRQ中断模式减少中断响应周期;外部中断源的水平/边缘模式;可编程的水平/边缘极性;对紧急中断请求支持FIQ(快速中断请求);带PWM的定时器5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器;可编程的工作循环,频率和极性;死区产生;支持外部时钟源;实时时钟全时钟特点毫秒、秒、分、小时、天、星期、月、年;32768KHZ运行;CPU唤醒的警告中断;时钟记号中断;通用输入输出端口8个外部中断端口;71个多路输入输出口;2个带DMA和中断的UART;支持5位,6位,7位,8位串行数据传送/接收;当传送/接收时支持双向握手;可编程波特率;支持IRDA10(1152KBPS);测试的循环返回模式;每个通道有2个内部32位FIFODMA与A/DDMA控制器;2路通用无需要CPU干涉的DMA控制器;112路桥式DMA控制器;采用6种DMA请求的桥式DMA支持IO到内存,内存到IO,IO到IO软件,4个内部功能块(UART,SIO,实时器,IIS),外部管脚;DMA之间可编程优先级次序;突发传送模式提高到FPDRAM、EDODRAM和SDRAM的传送率;A/D转换;10位多路ADC;最大500KSPS/10位;LCD控制器支持彩色/单色/灰度LCD;支持单扫描和双扫描显示;支持虚拟显示功能;系统内存作为显示内存;专用DMA用于从系统内存中提取图象数据;可编程屏幕尺寸;灰度16级;256色;看门狗定时器与I2C总线接口16位看门狗定时器;定时中断请求和系统复位;1个带中断的多主机I2C总线;串行,8位,双向数据传送器能够以100KB/S的标准模式和400KB/S的快速模式传送;IIS总线接口1个I带DMA的音频IS总线接口;串行,每路8/16位数据传送器;支持MSB数据格式;SIO(同步串行I/O)1个带DMA和中断的SIO;可编程波特率;支持8位串行数据传送/接收操作;操作电压范围内核25V;I/O30V到36V运行频率最高到75MHZ;封装160LQFP/160FBGA;12第三章ARM开发工具简介31、ARM开发工具综述根据功能不同,ARM应用软件的开发工具分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器和在线仿真器等,目前世界上约有四十家公司提供以上不同类别的产品。用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、项目管理及函数库的集成开发环境(IDE)一般来说是必不可少的。至于嵌入式实时操作系统、评估板等其他开发工具,则可以根据应用软件规模和开发计划选用。使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编和链接等全部工作,在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成。目前常用的调试方法有以下几种。1、指令集模拟器。部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作。但是,由于指令集模拟器与真实的硬件环境相差很大,所以,即使用户使用指令集模拟器调试通过的程序,也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。2、驻留监控软件。驻留监控软件是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口和串行端口等通信端口,与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、存储器的读写、寄存器的读写和断点的设置等。驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。ARM公司的ANGEL就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试的。不同的是,在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。驻留监控软件的不便之处在于它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发;同时,它占用目标板上的一部分资源,而且不能对程序的全速运行进行完全仿真。因此,对一些要求严格的情况,它是不适合的。3、JTAG仿真器。JTAG仿真器也称JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。JTAG仿真器比较便宜,连接比较方便。它通过现有的JTAG边界扫描与ARMCPU核通信,属于完全非插入式(即不使用片上资源)调试;它无须目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。另外,由于JTAG调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、AC和DC参数不匹配以及电线长度的限制等被最小化了。使用集成开发环境配合JTAG仿真器进行开发,是目前采用最多的一种调试方式。4、在线仿真器。在线仿真器使用仿真头完全取代目标板的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能,但这类仿真器为了能够全速仿真时钟速度高于100MHZ的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。42、ARMSTD13ARMSTD的英文全称是ARMSOFTWAREDEVELOPMENTKIT,是ARM公司为方便用户在ARM芯片上进行软件开发而推出的一整套集成开发工具。ARMSTD经过ARM公司逐年的维护和更新,目前的最新版本是252ARMSTD由于价格适中,同时经过长期的推广和普及,目前拥有最广泛的ARM软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成在自己的产品中,比如美国EPI公司的JEENI仿真器。32ARMSTD的安装和应用。一、安装SDT251点击SDT251安装程序中的SETUPEXE,出现如下安装界面一路点击NEXT继续,一般默认设置就行了,不需作任何修改了,最后完成安装。二、启动SDT251安装完毕,点击程序组中的ARMPROJECTMANAGER启动主程序之后出现主程序界面如下14三、新建工程点击菜单FILE下的NEW,选择PROJECT,新建一个工程15出现如下图所示的界面,在PROJECTNAME下键入工程的名字,这里采用默认模式PROJECT1,在PROJECTDIRECTORY下键入工程保存的路径设置好后,点击OK,出现如下图16四、添加自己的源码点击菜单PROJECT下的ADDFILETOPROJECT,在弹出的窗口中,浏览自己的PROJECT文件夹下面的程序代码,将代码添加到创建的项目。这时依次点击ARMEXECUTALEIMAGE、DEBUG、SOURCES前面的十字架,就会看到自己刚才添加成功的代码,双击任何一个代码文件就可以打开它进行编辑17五、改SDT251设置以生成FLASH代码先单击一下主程序窗口ARMEXECUTALEIMAGE下的DEBUG,然后点击如下菜单中的SET弹出如下窗口18点击ENTRYANDBASE,在READONLY下面的框里面输入0X0C000000,确认即可19六、编译项目生成初始化目标代码(放在FLASH中)现在选择菜单BUILD或者点击快捷图标就可以编译代码,点击FORCEBUILD之后就生成了二进制目标代码(BIN),这可以在项目文件夹下面找到。在主程序窗口下面的信息框可以看到编译的情况,包括警告和错误信息,最终代码生成的情况等等;20七、开启JTAGEXE后台运行通过并口JTAG进行硬件调试的,但实际上却是通过以太网的。这里面有一个转换软件JTAGEXE,它把发送到以太网的数据拦截下来,遵从JTAG协议,转换到并口上面,然后通过JTAG接口板,控制ARM板上面的CPU,进行硬件DEBUG。双击JTAGEXE,它就在后台运行了。八、DEBUG设置使用这种方式仿真,还要进行一些设置才行。点击DEBUG菜单或者快捷图标,出现ARMDEBUGGER程序窗口然后选择菜单OPTIONS下面的CONFIGDEBUGGER弹出如下窗口在TARGETENVIRONMENT下面选择REMOTE_A,然后点击CONFIGURE21在HEARTBEAT前面打勾,在ETHERNET后面输入你的计算机IP地址并确认。这里面肯定要你机子上面装有网卡,而且IP地址要指定了,如果是自动分配IP的话,就不太方便了,每次都要查找自己机子的IP。22第四章、S3C44B0X内部资源编程41LED显示1实现功能在开发板上实现两个LED的轮流点亮。2实现原理S3C44BOX芯片上共有个多功能的输入输出管脚,他们分为组I/O端口。两个位的输入输出口(端口和端口)两个位的输入输出口(端口和端口)一个位的输入输出口(端口)一个位的输出口(端口)一个位的输出口(端口)每组端口都可以通过软件配置寄存器来满足不同系统和设计的需要。在运行主程序之前,必须先对每一个用到的管脚的功能进行设置,如果某些管脚的复用功能没有使用,可以先将该管脚设置为I/O口。3硬件电路4参考程序VOIDTEST_LEDU8DAT/DAT9、10,对应开发板上的IO口WHILE1RPDATB0X1221RLCDSADDR10X2221000100000000000000000000000000002827MODESEL1016LEVELGRAYMODE|200LCDBASEU/16GRAY,LCDBANK,LCDBASEURLCDSADDR2M5DU32FRAMEBUFFER16SCR_XSIZELCD_YSIZE/21|MVALX84|C81X84/函数名LCD_CLR函数功能通过清显存来实现对液晶的清屏入口参数无调用函数无日期2004年4月/VOIDLCD_CLRVOIDU32I,JFORJ0J240JFORI0I40IFRAMEBUFFER16JI0X0/函数名DISP_HZ功能显示汉字,采用检测字库中的数据是否为1,1显示,0不显示因此只能显示两色。入口参数X横坐标,Y纵坐标,C灰度值(015),N汉字在字库中的位置调用函数PUTPIXEL画点函数/VOIDDISP_HZU32X,U32Y,U8C,U32N38U16A,B,I,JFORI0I16I/16行BBUFFER_HZKNIFORJ0J16J/16个BITABBB1IFA0X8000PUTPIXELXJ,YI,CELSEPUTPIXELXJ,YI,0/函数名DISP_PICTURE2功能显示一幅图片320240,采用画点的方式实现,只能实现固定的灰度显示。入口参数NUM为要显示的图片在图片库中的位置调用函数PUTPIXEL画点函数日期2004年4月/VOIDDISP_PICTURE2U8NUMU8A,B,I,J,NFORJ0J240JFORN0N40N/BBUFFER_PICTURE2NUMJNFORI0I8I/ABBB1/PUTPIXELU32X,U32Y,U8CIFA0X80PUTPIXEL8NI,J,15ELSEPUTPIXEL8NI,J,0/函数名DISP_PICTURE功能显示一幅图片320240,采用直接写显存的方式实现,可以实现16级灰度。入口参数无调用函数WRITEDISPLAYBUFFER日期2004年4月39/VOIDDISP_PICTUREVOIDU32I,JFORJ0J320JFORI0I40IWRITEDISPLAYBUFFERI,J/函数名DISP_PICTURE3函数功能画图函数,用画点的方式来实现画点调用函数PUTPIXEL日期2004年5月21日/VOIDDISP_PICTURE3VOIDU8I,J,N,CU32A,BFORJ0J240JFORN0N40N/BBUFFER_PICTUREJNFORI0I8I/ABBB4/PUTPIXELU32X,U32Y,U8CIFA0X00000000C0X00IFA0X10000000C0X01IFA0X20000000C0X02IFA0X30000000C0X03IFA0X40000000C0X04IFA0X50000000C0X05IFA0X60000000C0X06IFA0X70000000C0X07IFA0X80000000C0X08IFA0X90000000C0X09IFA0XA0000000C0X0AIFA0XB0000000C0X0BIFA0XC0000000C0X0CIFA0XD0000000C0X0DIFA0XE0000000C0X0EIFA0XF0000000C0X0F40PUTPIXEL8NI,J,CUART部分/函数名UART_INIT函数功能初始化UART0调用函数无日期/VOIDUART_INITINTMCLK,INTBAUDINTIIFMCLK0MCLKMCLK/UARTFIFOCONTROLREGISTERRUFCON00X0/EMPTY,4BYTE,NORMAL,NORMAL,FIFODISABLE/UARTMODEMCONTROLREGISTERRUMCON00/DISABLE,HLEVELINACTIVATENRTS/UARTLINECONTROLREGISTERRULCON00X3/NORMALMODEOPERATION,NOPARITY,1STOP,8BITS/UARTCONTROLREGISTERRUCON00X245/RXEDGE,TXLVEL,DISABLEIMEOUTINT,ENABLERXERRORINT,NORMAL,INTERRUPTREQUESTORPOLLINGRUBRDIV0INTMCLK/16/BAUD051/SETTINGBAUDFORI0I100I/函数名UART_GETCH函数功能接收函数调用函数无日期/CHARUART_GETCHVOIDWHILERUTRSTAT0/RECEIVEDATAREADYRETURNRDURXH0/函数名UART_SENDBYTE函数功能发送一个字节调用函数无41日期/VOIDUART_SENDBYTEINTDATAIFDATANWHILERUTRSTAT0DELAY10WRUTXH0RWHILERUTRSTAT0DELAY10WRUTXH0DATA/函数名UART_SENDSTRING函数功能发送字符串调用函数UART_SENDBYTE日期/VOIDUART_SENDSTRINGCHARPTWHILEPTUART_SENDBYTEPT/函数名UART_PRINTF函数功能在串口调试软件上显示调用函数VA_START,VA_START,UART_SENDSTRING,VA_END日期/VOIDUART_PRINTFCHARFMT,VA_LISTAPCHARSTRING256VA_STARTAP,FMTVA_STARTSTRING,FMT,APUART_SENDSTRINGSTRINGVA_ENDAP/函数名UART_GETSTRING函数功能接收字符串调用函数UART_GETCH,UART_PRINTF,UART_SENDBYTE42日期/VOIDUART_GETSTRINGCHARSTRINGCHARSTRING2STRINGCHARCWHILECUART_GETCHRIFCBIFINTSTRING2INTSTRINGUART_PRINTF“BB“STRINGELSESTRINGCUART_SENDBYTECSTRING0UART_SENDBYTEN/函数名UART_GETSTRING函数功能接收数调用函数UART_GETSTRING日期/INTUART_GETINTNUMVOIDCHARSTR30CHARSTRINGSTRINTBASE10INTMINUS0INTLASTINDEXINTRESULT0INTIUART_GETSTRINGSTRING43IFSTRING0MINUS1STRING
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国银行呼伦贝尔市满洲里市2025秋招笔试计算机基础专练及答案
- 中国银行开封市祥符区2025秋招笔试英语选词填空题专练50题及答案
- 工商银行崇左市龙州县2025秋招笔试银行特色知识专练及答案
- 中国银行昆明市官渡区2025秋招笔试英语阅读理解题专练30题及答案
- 邮储银行铜川市耀州区2025秋招笔试英语选词填空题专练50题及答案
- 中国银行吴忠市盐池县2025秋招笔试数量关系题专练及答案
- 中国银行保定市清苑区2025秋招笔试言语理解题专练及答案
- 2025辽宁长海县银龄教师招聘6人考前自测高频考点模拟试题附答案详解
- 2025年安徽师范大学出版社招聘4人模拟试卷附答案详解
- FedEx公司介绍教学课件
- 中医形神兼养
- GB/T 44241-2024虚拟电厂管理规范
- SYT 6680-2021 石油天然气钻采设备 钻机和修井机出厂验收规范-PDF解密
- 实用美术基础中职全套教学课件
- 子宫内膜癌的预防和早期发现
- 债权债务法律知识讲座
- 个人停车位租赁合同模板
- 食品保质期检测记录表
- 基于教育培训行业的客户关系营销研究
- 老年综合评估和老年综合征课件
- 设计院工作联系单(模板)
评论
0/150
提交评论