计算器proteus_第1页
计算器proteus_第2页
计算器proteus_第3页
计算器proteus_第4页
计算器proteus_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、 成绩课程论文题 目: 计算器 学生姓名: 任 磊 学生学号: 1008030227 系 别: 电气信息工程学院 专 业: 电子信息工程 年 级: 10 级 任课教师: 张 水 锋 电气信息工程学院制2012年12月 目录摘要2课程任务与要求2方案论证2计算器工作流程图4单元电路:5 单片机芯片5 Lcd6026 矩阵盘8 晶振电路8 复位电路9 与门电路9 总图:10 心得体会10 参考文献11 附录11计算器的设计学生:任磊指导教师:张水锋电气信息工程学院电子信息工程摘要通过学习基于Proteus的51系列单片机设计与仿真之后,知道了Proteus能够对51系列的单片机控制的系统进行方正处

2、理。本次设计是结合大学学习的单片机课程与Proteus课程进行电子产品的设计。通过设计更好的理解计算器的工作原理,了解单片机的用法与开发,熟练掌握Proteus软件的使用。 关键字:单片机 Proteus 一 课程任务与要求本次课程的任务就是要以51系列单片机为核心实现一个简易的计算器,它的结构非常简单,外部主要由4*4矩阵键盘,复位电路和一个液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。要求:通过Proteus软件来实现设计的仿真,提高自己的编程水平,增加设计兴趣。通过做自己喜欢的设计,提高自学能力。为以后毕业走上工作岗位打下坚实的基础。二 方案论证 经

3、分析,计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机电路。具体如下:2.1数码管显示电路数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。功耗小,显示单一。2.2 LCD显示电路 LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程 序,微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD。2.3 4*4键盘扫描电路(中断式,扫描式,反

4、转式) 扫描电路常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按件被按下。扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查出按下的按键。综合以上所述采用中断式更加快捷方便,易于操作,适合我这样的新手完成。2.4 单片机微控制电路微控制电路

5、就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。三 计算器工作流程图16N本次功能键?状态清零清零键读取键码有键输入?初始化参数初始化LCD显示开始输入数值数字键功能键计算结果等待符号输入结果送显示缓冲等待数值输入结果送显示缓冲结果送显示缓冲LCD显示Y 图 3.1四 单元电路:4.1单片机控制芯片 图4.1AT89C516RD+:该电路的核心控制元件是AT89C516RD+。工作电压在3.3-5.5v之间。最高时钟频率0-80hz,存储器字节64k。P0口(32-39引脚)。既可作为输入输出端口,又可作为地址数据复用总线使用。当P0口作为输入输出口时,他是一个八

6、位准双向口。上电复位后处于开漏模式,P0口内部无上拉电阻所以P0口必须接10-4.7k上拉电阻,当作为地址/数据复用总线时。无需上拉电阻。EA(31脚) 正五伏电源外接晶振或外部振荡器引脚:XTAL1 (19脚)当采用芯片内部时钟信号时,接外部时接外部12M晶振的一个引脚。当采用外部时钟信号时,此脚应接地。XTAL2 (18脚) 当采用芯片内部时钟信号时,接外部时接外部12M晶振的一个引脚。当采用外部时钟信号时,此脚应接地。控制选通或电源复用引脚:RST(9脚):复位信号输入,vcc掉电时此脚可接上备用电源,在低功耗条件下保持内部RAM中数据ALE(30脚):ALE即允许地址锁存信号输出,当单

7、片机访问外部存储器时该引脚的输出信号用于锁存P0口的低8位地址。其输出的频率为时钟振荡频率的1/6,。PSEN(29脚):访问外部程序存储器选通信号,低电平有效,用于外部存储器的读操作。4.2 LCD1602显示电路 图4.23 LCD1602主要技术参数: 显示容量:16×2个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 4 引脚功能说明 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表 编号 符号 引脚 说明 编号 符号 引脚说明

8、1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄

9、存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 D0-d7口接STC89C516RD+ P0-P7进行数据传输。1、3口分别接Vcc和Vdd。4-6口分别接单片机rs rw e口。4.3 矩阵盘电路图4.3每个按键有他的行值和列值,当按下按键后根据电平高低的变换,检测出是哪个按键,跟据按键在程序中的所赋予的含义进行加

10、减乘除,完成操作。 4.4 晶振电路图4.4 每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。是单片机最小系统的重要组成部分。4.5 复位电路图4.5这个子模块是单片机的最小系统中的一部分,当程序出现乱码等情况时,按下复位程序重新开始运行,使计算继续进行。4.6 与门电路 图 4.6这个模块是本次设计的亮点利用三个与门矩阵盘的四列引线转换成一条与单片机相连极大的提高了单片机端口的利用率,为以后为计算机附加更多新的功

11、能提供了有利条件。五 总图:图5.1七 实验改进与心得体会很明显我的计算器处理数据及显示存在太大的局限性,我觉得主要还是我对程序中的运算模块理解不深,这点仍需大大加强。这个实验给我的感觉,硬件的处理比软件的设计要难很多。只要有一点不细心就会有产生错误,只要软件能行,仿真的硬件就能完美运行。可惜,我就败在LCD1602,刚开始怎么都调不好最后实在没办法,自己又重新查了资料。最终证实我之前的实验就是LCD的资料有错误。没知识真可怕!我在磕磕碰碰中,固执的认为LCD资料是正确的,经过改正反而使我对LCD初始化,LCD字符显示,3种不同的矩阵键盘扫描的方法,及软件上的巧妙技巧有了更好的了解。我在这次实

12、验上,感觉收获了很多.更增加了我对单片机设计的兴趣,为以后设计具有更多功能的计算器打下了坚实的基础。了解了自己还有很多东西要学。增强自己的动手能力。 参考文献【1】谭浩强 著 C语言程序设计第三版【2】康光华 陈大钦 张琳 主编电子技术基础模拟部分第五版【3】康光华 陈大钦 张琳 主编电子技术基础数字部分第五版【4】周荣富 曾技 主编 电子线路CAD【5】单片机原理与接口技术清华版【6】零基础学单片机C语言【7】黑色MSC51【8】物联网技术与应用【9】基于Protues的51系列单片机设计与仿真陈忠平附录:#include<reg51.h>#define CLEARSCREEN

13、LCD_write_command(0x01) #define uint unsigned int #define uchar unsigned char/*定义接口*/ #define LCDIO P0#define KEYBOARD P1/保留sbit LCD1602_RS=P20; sbit LCD1602_RW=P21; sbit LCD1602_EN=P22; /*/code uchar mayuan16='0','1','2','3','4','5','6','7

14、','8','9','0','/','*','-','+','='/不错,这个比较明了unsigned char code keycode=0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82,0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88;/键盘编码值()int i,j,k=1,s;/int t,t1,t2,a;/void delay(uchar);/延时/*定义函数*/void LCD_init(v

15、oid);/初始化函数void delay_nms(unsigned int n);/延时函数void LCD_write_command(unsigned char command);/写入指令函数void LCD_write_dat(unsigned char dat);/写入数据函数void delay_10ms();initial();uchar keyscan();/键盘扫描函数calc(uchar);/计算函数uchar num,temp,key,keynum;void main()/主函数LCD_init();delay_nms(100);while(1)initial();/有

16、中断KEYBOARD =0xf0;/键盘的列值全置高电平/*开中断*/initial()EA=1;/总开关EX0=1;/中断方式0开启IT0=0;/*/*中断函数*/void inter0() interrupt 0unsigned char n;delay_10ms();/延时if(INT0=0)/没键按下EX0=0;/关中断n=keyscan();calc(n);EX0=1;/开中断KEYBOARD=0xf0;/键盘的列值全置高电平/*/calc(uchar n)if(n<10)/键值小于10t1=t1*10+n;LCD_write_command(0x00);/写命令语句LCD_w

17、rite_dat(mayuann);/写数据函数elseif(n=10)LCD_init();t1=0;t2=0,t=0;k=1;elseif(n<15)t2=t1;t1=0;j=n;LCD_write_command(0x00);LCD_write_dat(mayuann);elseLCD_write_command(0x00);LCD_write_dat(mayuann);switch(j)case 11:t=t2/t1;break;case 12:t=t2*t1;break;case 13:t=t2-t1;break;case 14:t=t2+t1;break;if(t<=9

18、)LCD_write_command(0x00);LCD_write_dat(t+48);if(t>9)while(t>9)s=t%10;t=t/10;ak=s;k+;if(t<=9)LCD_write_command(0x00);LCD_write_dat(t+48);for(i=k-1;i>=1;i-)LCD_write_command(0x00);LCD_write_dat(ai+48);/*键盘扫描函数*/uchar keyscan()/键盘扫描KEYBOARD=0xf0;/键盘的列值全置高电平delay_10ms();/延时if(KEYBOARD!=0xf0)

19、/有键按下temp=KEYBOARD;/保存键盘此刻的键植delay_10ms();/延时if(KEYBOARD=temp)/再次确认键盘是否被按下uchar i;KEYBOARD=0x0f;/键盘的行值全置高电平delay_10ms();/10MS时间延时keynum=temp | KEYBOARD;/保存键盘的行值while(KEYBOARD!=0x0f);/松手检测for(i=0;i<16;i+)if(keycodei=keynum)return (i);return -1;/*/* 延时*/void delay_nms(unsigned int n) unsigned int i=0,j=0; for (i=n;i&

温馨提示

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

评论

0/150

提交评论