嵌入式课程设计--ARM控制8段数码管和点阵数码管模块设计_第1页
嵌入式课程设计--ARM控制8段数码管和点阵数码管模块设计_第2页
嵌入式课程设计--ARM控制8段数码管和点阵数码管模块设计_第3页
嵌入式课程设计--ARM控制8段数码管和点阵数码管模块设计_第4页
嵌入式课程设计--ARM控制8段数码管和点阵数码管模块设计_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、嵌入式课程设计-ARM限制8段数码管和点阵数码管模块设计?ARM空制8段数码管和点阵数码管模块?课程设计报告系别:计算机与电子信息工程系专业班级:学生姓名:学号:指导教师:课程设计时间:2021年5月16日2021年6月25日ARM入式系统课程设计任务书一、设计,调查报告/论文,题目课题:ARM限制8段数码管和点阵数码管模块设计二、设计,调查报告/论文,主要内容1学习LED相关知识,了解74HC273片对LED点亮的工作机制,熟练阅读74HC273S片资料.2设计ARMf8段数码管和点阵数码管的硬件工作原理图.实现ARM-LINUXF的数码管和点阵管LED驱动程序.三、原始资料UP-TECHS

2、2410/P270DV献入式实当平台,2410经典版快速开始手册,2410经典实验指导书,?嵌入式系统原理与应用技术?.四、要求的设计,调查/论文,成果,使用74HC27哪动LED管点亮;,设计ARMW8段数码管和点阵数码管的硬件工作原理图;,实现ARM-LINUX下的数码管和点阵管LED驱动程序设计.,在实验完成的根底上完成课程设计报告的撰写,根据模板的格式书写,要求有软件流程图和调试过程.1五、进程安排1准备和审题,讲解原理0.5天2系统分析13总体设计和硬件的完成1.54详细设计25撰写课程设计报告16课程设计成果验收0.57正式提交课程设计报告和系统源程序0.5六、主要参考资料2410

3、经典实验指导书?嵌入式系统原理与应用技术?8段共阳极数码管资料8*8点阵的资料ARWF发板硬件原理图和底板的硬件原理图74HC273芯片资料指导教师,签名,:20年月日2目录1 .引42 .课程设计目课程设计题目的53.描述和要求54.课程设计报告内容51 .1实验原理51.1.1 74HC273原理71.1.2 八段数码管71.1.3 8*8点阵LED原理82 .2硬件工作原理图.错误未定义书签.92.1.1 ARM与8段数码管的原理图102.1.2 ARM与8*8点阵的原理图103 .3程序分析错误未定义书签113.1.1 重要代码片断分123.1.2 编译应用程序123.1.3 下载调试

4、135.心得体会136.参考献1334 .引言LED电子显示是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕.它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体.由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应水平强等优点而日渐成为显示媒体中的佼佼者.在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示的设计制造技术与应用水平上都得到了迅速的提升,生产也得到了迅速的开展,并逐步形成产业,成为光电子行业的

5、新兴产业领域.LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的开展过程.随着信息产业的高速开展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志.近年LED显示屏已广泛应用于室内、外需要进行效劳内容和效劳宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等.目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造本钱相比照拟低的场合,使用大、小屏幕LED点阵显示器是比拟经济适用的,它可以用单片机限制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型.LED之所以受到广

6、泛重视而得到迅速开展,是与它本身所具有的优点分不开的.这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定.LED的开展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向开展.45 .课程设计目的1)使用74HC27哪动LED管点亮.2)设计ARMW8段数码管和点阵数码管的硬件工作原理图.3)实现ARM-LINUXF的数码管和点阵管LED驱动程序设计.6 .课程设计题目描述和要求(1)使用74HC27哪动LED管点亮.学习LED相关知识,熟练阅读74HC273片资料,了解74HC273片对LED点亮的工作机制.(2)

7、设计ARMf8段数码管和点阵数码管的硬件工作原理图.使用protel99SE或protues完成ARMW8段数码管和点阵数码管的硬件工作原理图.(3)实现ARM-LINUX下的数码管和点阵管LED驱动程序.熟悉掌握C语言根底知识;掌握在Linux下常用编辑器的使用Makefile的编写和使用;掌握Linux下的程序编译与交叉编译过程.4 .课程设计报告内容4.1 实验原理4.1.1 74HC273原理74HC2731一款高速CMO器件,74HC2735|脚兼容低功耗肖特基TTLLSTTL系歹I.74HC273M有八路边沿触发,D型触发器,带独立的D输入和Q输出.74HC273勺公共时钟CP和主

8、复位MR圃可同时读取和复位清零所有触发器.每个D输入的状态将在时钟脉冲上升沿之前的一段就绪时间内被传输到触发器对应的输出Qn上.一旦MR俞入电平为低,那么所有输出将被强制置为低,而不依赖于时钟或者数据输入.74HC273用于要求原码输出或者所有存储元件共用时钟和主复位的应用.74HC273勺芯片形状以及引脚分布如图4.1.0所示:574HC273c07*76655-44PvQDDQIQDDac到旧画到画回回回画HPinconfigurationMRL_Q0叵DO叵D1叵Q1巨Q2叵D2TD3叵3叵GND应OIP20,SO20.SSOP20andTSSOP20图4.1.074HC273的芯片形状

9、以及引脚分布图各个引脚的作用如下参照图4.1.0说明:引脚符号引脚编号说明-MR1主复位输入低复位Qn2,5,6,9,12,15,16,19触发器输出nDn3,4,7,8,13,14,17,18数据输入nGND10地CP11时钟输入上升沿触发Vcc20电源电压为了可以清楚地表达它的主要引脚的作用,下面是它的逻辑符号图图4.1.1:DOD1D2D311CPQ0Q313D40412D50515171618D719图4.1.1逻辑符号图主要引脚的功能如下所示:限制输入输出操作,MRCPDnQn复位LXXLQ输出HH上升沿HHQ输出LH上升沿LL-MR为高的使能所用的触发器,Dn脚的输入会在CP的上升

10、沿触发后传送给对应的Qn输出脚4.1.2八段数码管嵌入式系统中,经常使用八段数码管来显示数字或符号,由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛.结构:八段数码管由八个发光二极管组成,其中七个长条形的发光管排列成“日字形,右下角一个点形的发光管作为显示小数用,八段数码管能显示所有数字及部份英文字母.见图图4.1.2八段数码管类型:八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管;另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管.工作原理:以共阳极八段数码管为例,当限制某段发光二极管的信号为低电平时,对应的发光二

11、极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管那么相反,限制信号为高电平时点亮.电平信号根据dp,g,ea的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表如下:字符共阴极共阳极dpgfedcba0001111113FHC0H10000011006HF9H2010110115BHA4H3 010011114FHB0H40110011066H99H5 011011016DH92H6011111017DH82H7 0000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88HB011111007CH83H

12、C0011100139HC6HD010111105EHA1HE0111100179H86HF0111000171H8EH-0100000040HBFH8.1000000080H7FH熄灭0000000000HFFH显示方式:八段数码管的显示方式有两种,分别是静态显示和动态显示.静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管限制信号一直保持有效.动态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即限制信号按一定周期有效,在轮流点亮的过程中,点亮时间是极为短暂的约1ms,由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的.4.1.

13、38*8点阵LED原理图4.1.3为8*8点阵LED外观及引脚图,其等效电路如图4.1.4所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮.例如如果想使左上角LED点亮,那么Y0=1,X0=0即可.应用时限流电阻可以放在X轴或Y轴.0000-0000厂O,口,?.,JTa-比吃解.!,u小itw卿团图4.1.38X8点阵LED外观及引脚图图4.1.48X8点阵LED等效电路LED点阵的显示文字图形原理LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器.以8X8点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的

14、阳极连在一起共阴的接法,先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭.第8列之后,又重新燃亮第1歹I,反复轮回.当这样轮回的速度足够快每秒24次以上,由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形.该方法能驱动较多的LED限制方式较灵活,而且节省单片机的资源.4.2 硬件工作原理图4.2.1 ARM与8段数码管的原理图主定惠干平二条3迎缸S赵空丝更皿f予GWJ.江二1口拉工二图4.2.1ARM与8段数码管的原理图4.2.2 ARM与8*8点阵的原理图10图4.2.2ARM与8*8点阵

15、的原理图4.3 程序分析4.3.1 重要代码片断分析unsignedcharLEDCODE10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90);/这个是10个数字的编码/在这里主要是用到编码的过程假设a是8字型数码管的最上一横,以顺时针以次列出b,c,d,e,f.中间那一横为g,如果要显示为0的话,由于在开发板中的连接是共阳极(请参考我们的电路图),所以只需要满足a,b,c,d,e,f为0即可,而g为1,由于两个数码管的中间是个点号,我们用h表示,并且总是让它置为1.由于我们在开发板的连接上可以看到a对应d0,b对应d1,h对应d7,所以当

16、想显示为0的时候,那么应该是11000000.转化成为16进制的数据,也就成了0Xc0.对应我们在LEDCODE【10】数组中的第一位.其他的每一位值,大家可以根据上面的方法依次类推.在for循环中我们写了如下语句.LEDWORD=(LEDCODEi8)|LEDCODE9-i;那是由于LEDWORD一个16位的数.我们是需要将两个8字数码管同时显示,所以将LEDCODEi左移8位,然后再加上个位使得十位和个位同时显示.至于显示点阵数码管还是显示8字数码管,主要是通过IOCTL函数中的命令来实现的,也就是在代码中出现的ioctl(fd,0x12,LEDWORD);ioctl(fd,0x11,LE

17、DWORD);下面分析这个IOCTL函数的原型staticints3c2410_led_ioctl(structinode*inode,structfile*filp,unsignedintcmd,unsignedintarg)11printk(DOTbufferis%xn,arg);switch(cmd)caseLED_TUBE_IOCTRL:/如果是0x11命令,那么点亮8字数码管return*(volatileunsignedshort*)s3c2410_led_tube_base=arg;caseLED_DIG_IOCTRL:如果是0x12命令,那么点亮点阵数码管return*(vol

18、atileunsignedshort*)s3c2410_led_dig_base=arg;default:returnprintk(yourcommandisnotexist);return0;其中宏定义#defineLED_TUBE_IOCTRL0x11#defineLED_DIG_IOCTRL0x12由于在s3c2410_led_init函数中s3c2410_led_tube_base=(unsignedint)ioremap(LED_TUBE_PHY_START,0x01);/IO映射s3c2410_led_dig_base=(unsignedint)ioremap(LED_DIG_PH

19、Y_START,0x01);/将物理地址转换成为虚拟地址由于我们操作的是虚拟地址,而不是物理地址,所以需要将物理地址转换成为物理地址.物理地址在开发板的电路图中有说明很清楚.在驱动中我们也有定义#defineLED_TUBE_PHY_START0x08000100#defineLED_DIG_PHY_START0x08000102所以上面IOCTL函数的功能就是当下达不同的命令时,也就是让不同的数码管显示其信息.在应用程序中我们还用到了一些延迟的函数,如jmdelay(1000);等.主要是给一些停顿,让人的视觉能够清楚的识别数码管中的数字.4.3.2 编译应用程序运行make产生test_l

20、ed可执行文件test_ledrootBCexp/basic#cd10_ledrootBC10_led#makearmv4l-unknown-linux-gcc-c-I.-Wall-O-D_KERNEL_-DMODULE-I/home/kernel/linux-2.4.18-2410cl/includes3c2410-led.c-os3c2410-led.oarmv4l-unknown-linux-gcc-I.-Wall-O-D_KERNEL_-DMODULE-I/home/kernel/linux-2.4.18-2410cl/include-c-otest_led.otest_led.crootBC2410-ClassicsLED#lsMakefilereadmes3c2410-led.cs3c2410-led.otest_ledtest_led.ctest_led.o4.3.3 下载调试切换到minicom终端窗口,使用NFSmount开发主机的/root/share到/host目然后进入/host/exp/basic/10_led目录,用insmods3c2410-led.o命令插录,入led驱动,并用lsmod命令查看是否已经插入./mnt/yaffsmount-tnfs172.16.38.133:/arm24

温馨提示

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

评论

0/150

提交评论