毕业设计(论文)-单片机计算器程序设计

毕业设计(论文)-单片机计算器程序设计

ID:6793447

大小:783.50 KB

页数:17页

时间:2018-01-25

毕业设计(论文)-单片机计算器程序设计_第1页
毕业设计(论文)-单片机计算器程序设计_第2页
毕业设计(论文)-单片机计算器程序设计_第3页
毕业设计(论文)-单片机计算器程序设计_第4页
毕业设计(论文)-单片机计算器程序设计_第5页
资源描述:

《毕业设计(论文)-单片机计算器程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、成都工业学院毕业设计(论文)题目:单片机计算器程序设计姓名:系(部):机电工程系专业:机电一体化指导教师:2011年01月10日目录设计要求……………………………………………………………1硬件系统设计……………………………………………………..11、LED接口电路……………………………………………….12、键盘接口电路………………………………………………….23、计算器逻辑电路图…………………………………………….2软件设计……………………………………………………………31、LED显示程序设计……………

2、………………………32、读键输入程序设计……………………………………..53、主程序设计……………………………………………..6系统调试与存在的问题………………………………………….14心得体会………………………………………………………….15参考文献………………………………………………………….16一、设计要求1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C”2.设计2位LED接口电路3.实现1位数的简单运算二、硬件系统设计1、LED接口电路简易计算器需要2

3、位8段码LED显示电路。用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。逻辑电路结构如下:2、键盘接口电路简易计算器需要4*4的行列式键盘。用8031单片机经8255A扩展4*4行列式键盘,8255A

4、的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。逻辑电路结构如下:3、计算器逻辑电路图将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下:三、软件设计1、LED显示程序设计LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如

5、下表:0~9七段数码管共阴级字形代码显示字型gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fh2位LED显示的程序框图如下:2、读键输入程序设计为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下:3、主程序设计(

6、1)数值送显示缓冲程序设计简易计算器所显示的数值最大位两位。要显示数值,先判断数值正负,如果是负值,则符号位显示“-”,然后将数值除以10,余数送显最最低位,判断商是否为0,若为0则返回,若不为0,则将商除以10,将余数送显高位。程序框图如下:(2)运算主程序设计首先初始化参数,送LED低位显示“0”,高位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键(“+”“-”“*”“/”“=”),是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=

7、”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。运算主程序框图如下所示:4、简易计算器源程序OUTBITequ07FFDh;位控制口OUTSEGequ07FFCh;段控制口INequ07FFEh;键盘读入口data1equ70hdata2equ71hdizhi1equ72hdizhi2equ73hLEDBufequ60h;显示缓冲ljmpStartLEDMAP:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,

8、77h,7ch,39h,5eh,79h,71hDelay:;延时子程序movr7,#0DelayLoop:djnzr7,DelayLoopdjnzr6,DelayLoopretDisplayLED:movr0,#LEDBufmovr1,#2;共2个八段管movr2,#b;从左边开始显示Loop:movdptr,#OUTBITmova,#0movx@dptr,a;关所有八段管mova,@r0movdptr,#OUTSEGmovx@dptr,a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。