K1K4控制数码管移位显示课程论文_第1页
K1K4控制数码管移位显示课程论文_第2页
K1K4控制数码管移位显示课程论文_第3页
K1K4控制数码管移位显示课程论文_第4页
K1K4控制数码管移位显示课程论文_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 成绩课程论文题 目: K1-K4控制数码移位显示 学生姓名: * 学生学号: * 系 别: 电气信息工程学院 专 业: 电子信息工程 年 级: 2011级 任课教师: * 电气信息工程学院制2013年12月目录摘  要:21发光二极管LED22 系统的设计方案32.1总体方案32.2时钟电路42.3复位电路52.4 LED 驱动电路52.5 按键部分63 软件设计63.1程序框图63.2 控制程序74 系统仿真及调试94.1仿真软件94.2 Proteus使用注意事项94.3程序仿真10参考文献12K1-K4控制数码移位显示学生:*指导老师:*电气信息工程学院电子信息工程摘

2、0; 要:单片微型计算机简称单片机,是典型的嵌入式微控制器单片机芯片常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。1发光二极管LED它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧

3、树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。发光二极管与小白炽灯泡和氖灯相比,发光二极管的特点是:工

4、作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示09十个数目。发光二极管(英语:Light-Emitting Diode,简称LED)是一种能发光的半导 4体电子元件。这种电子元件早在1962年出现,早期只能发出低光度的红光,之后发展出其他单色光的版本,时至今日能发出的光已遍及可见光、红外线及紫外线,光度也提高到相当的光度

5、。而用途也由初时作为指示灯、显示板等;随着技术的不断进步,发光二极管已被广泛的应用于显示器、电视机采光装饰和照明。LED只能往一个方向导通(通电),叫作正向偏置(正向偏压),当电流流过时,电子与空穴在其内复合而发出单色光,这叫电致发光效应,而光线的波长、颜色跟其所采用的半导体材料种类与掺入的元素杂质有关。 具有效率高、寿命长、不易破损、开关速度高、高可靠性等传统光源不及的优点。白光LED的发光效率,在近几年来已经有明显的提升,同时,在每千流明的购入价格上,也因为投入市场的厂商相互竞争的影响,而明显下降。虽然越来越多人使用LED照明作办公室、家具、装饰、招牌甚至路灯用途,但在技术上,LED在光电

6、转换效率(有效照度对用电量的比值)上仍然低于新型的荧光灯,是国家以后发展民用的去向!它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。2 系统的设计方案2.1总体方案AT89C51单片机有20个引脚,其中0口为一个8位漏级开

7、路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P

8、2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于

9、上拉的缘故。设计思路:由于AT89C51单片机的引脚具有以上性质,因此我们用P1口作为输入端,P2口作为输出端,通过控制输入端的电平高低从而控制输出引脚的电平高低,点亮对应的LED。通过P1口读入程序进,通过延时和循环控制使P2口引脚输出高低不同的电压并且依次循环,从而控制对应引脚接口的点亮与熄灭,实现移位循环。2.2时钟电路在设计时钟电路之前,让我们先了解下51 单片机上的时钟管脚:XTAL1(19 脚):芯片内部振荡电路输入端。XTAL2(18 脚):芯片内部振荡电路输出端。XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外

10、部时钟驱动。图2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的11.0592M 的石英晶振。和晶 8振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 50pF 之间。通常选取33pF 的陶瓷电容就可以了。另外值得一

11、提的是如果读者自己在设计单片机系统的印刷电路板(PCB) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压。2.3复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l 系列单片机的复位引脚RST(9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处

12、于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图2 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的

13、电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。2.4 LED 驱动电路首先我们要知道LED 的发光工作条件,不同的LED 其额定电压和额定电流不同,一般而言,红或绿颜色的LED 的工作电压为1.7V2.4V,蓝或白颜色的LED 工作电压为2.74.2V, 直径为3mm LED 的工作电流2mA10mA。在这里采用红色的3mm 的LED。其次,51 单片机(如本实验板中所使用STC89C52单片机)的I/O 口作为输出口时,拉电流(向外输出电流)的能力是A 级别,是不足以点亮一个发光二极管的。而灌电流(往内输入电流)的方式可高20mA,故采用灌电

14、流的方式驱动发光二极管。图1 LED的接法2.5 按键部分按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。最终画出硬件电路图如图2所示。图2系统电路图3 软件设计3.1程序框图软件设计规范的目的就是编写高质量的软件,降低编码阶段的错误率。设计一个高质量的软件有以下几点要求: 1)软件设计模块化,具有好的可重用性和可移植性。开始初始设置清除按键抖动 递增点亮K1是否按下YK2是否按下点亮上四个NYNK3是否按下点亮后四个Y全部熄灭K4是否按下NYN图2 Led流程图2)程序代码干净整洁,具有好的可维护性。3)不使用晦涩的语句,简洁易懂,

15、具有好的易懂性。 4)代码设计简明扼要,提高程序的运行效率以及程序所占用的内存空间。5)使用充足的程序说明,程序具有好的可读性。 综上所述:可重用性、可移植性、可维护性、易懂性、高效率性以及可读性。用C语言编程的思想来完成K1-K4控制LED移位的程序编写。3.2 控制程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int/延时void DelayMS(uint x)uchar i;while(x-) for(i=0;i<120;i+);/主程序void main()uchar k,t,K

16、ey_State;P0=0xff;P1=0xff;while(1)t=P1;if(t!=0xff)DelayMS(10);if(t!=P1) continue;/取得4 位按键值,由模式XXXX1111(X 中有一位为0,其他均为1)/变为模式0000XXXX(X 中有一位为1,其他均为0)Key_State=t>>4;k=0;/检查1 所在位置,累加获取按键号kwhile(Key_State!=0)k+;Key_State>>=1;/根据按键号k 进行4 种处理switch(k)case 1: if(P0=0x00) P0=0xff;P0<<=1;Dela

17、yMS(200);break;case 2: P0=0xf0;break;case 3: P0=0x0f;break;case 4: P0=0xff;4 系统仿真及调试4.1仿真软件Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持

18、主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。4.2 Proteus使用注意事项(1) 因为Proteus中自带的汇编编译器都是使用

19、命令行命令进行编译。在菜单Source->Define code generation tools打开的对话框中,有一项参数是Command Line,对于代码生存工具ASEM51来说,默认的命令行参数可能类似于%1 /INCLUDES:C:ProgramFilesLabcenterElectronicsProteus7ProfessionalTOOLSASEM51,其中%1代表的是源代码,/INCLUDES:后面跟着的是包含路径,该路径下的*.mcu文件即是通常的SFR定义文件。其实这一参数并不需要设置,通常我们的Command Line参数设置为%1即可。(2)另外,这个/INCLUDES:的路径参数设置也是有问题的。因为它的中间包含了空格,ASEM51汇编器会把它认为是几个参数,因而会出现too many parameters的错误。(3)同样的道理,如果你的汇编程序存储的路径或文件名中包含了空格或一些其它有可能使用命令行出现错误的字符,编译时也会出现错误.。(4)另外需要注意的是ASER5不支持$符号,即不能使用类似JMP $的命令。具体还有哪些使用中还需要注意的问题,欢迎跟贴。(5)文件名不能太长。4.3程序仿真首先我们要生成字符的字模,这需要通过字模软件来完成。生成好字模以后,因为软件设

温馨提示

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

评论

0/150

提交评论