小型数字系统设计课程设计说明书

小型数字系统设计课程设计说明书

ID:8478946

大小:2.49 MB

页数:16页

时间:2018-03-29

小型数字系统设计课程设计说明书_第1页
小型数字系统设计课程设计说明书_第2页
小型数字系统设计课程设计说明书_第3页
小型数字系统设计课程设计说明书_第4页
小型数字系统设计课程设计说明书_第5页
资源描述:

《小型数字系统设计课程设计说明书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、信电学院教学工作基本程序及规范附件23信息与电气工程学院课程设计说明书(200/200学年第学期)课程名称:小型数字系统设计题目:数字计算器专业班级:计算机3班学生姓名:王尚飞学号:指导教师:设计周数:设计成绩:2014年12月25日15信电学院教学工作基本程序及规范1、课程设计目的数字计算器的原理与设计是51单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一

2、次课程设计是有必要的。单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,数字计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,同时学习查阅资料、参考资料的方法。 本设计是基于51系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件选择AT89C51单片机和74

3、LS00,输入用4×4矩阵键盘。显示C51LCD显示。软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。选用编译效率最高的Keil软件进行编程,并用proteus仿真。2.1软件方面设计2.1.1系统分析系统主要包括主程序、键盘程序、LCD显示程序、运算程序。主程序主要是用来进行初始化,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应。键盘程序用来实现键盘的输入功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,使用行扫描法识别按键。

4、LCD显示程序用来显示运算过程和运算结果。运算程序用来接收键盘输入并进行运算。2.1.2系统设计#include//#include//#include/#include//#include//#include//#include#include/*库函数*///#include/*字符操作函数*/15信电学院教学工作基本程序及规范#defin

5、eUcharunsignedchar#defineUintunsignedint//LCM1602A端口地址定义charxdataLcd1602CmdPort_at_0x7cff;//E=1RS=0RW=0charxdataLcd1602WdataPort_at_0x7dff;//E=1RS=1RW=0charxdataLcd1602StatusPort_at_0x7eff;//CS=1RS=0RW=1#defineBusy0x80//忙判别位codeUcharexampl[]="counter:";//Uch

6、artab[]="-";voidDelay400Ms(void);voidDelay5Ms(void);voidLcdWriteData(chardataW);voidLcdWriteCommand(UcharCMD,UcharAttribC);voidLcdReset(void);voidDisplay(void);voidDispOneChar(Ucharx,Uchary,UcharWdata);voidePutstr(Ucharx,Uchary,Ucharcode*ptr);voidkbscan(void

7、);//键盘扫描函数voidkeycl(Ucharkeyvol);//键值处理voidleft(Ucharrx,Uchardate);//移位函数voidflagcon(void);//进入加减乘除等于相应的操做bitadd,subb,mul,div,equ,flag;//加,减,乘,除,"+""-""*""/""="Uchardat[]={'0','','','','','',};//存放数子串值Uchars[12];Ucharrdat;//按键次数longintlvalue,result;//左值,右值Uc

8、harnum;//floatresult;//结果//主程序voidmain(void)15信电学院教学工作基本程序及规范{Uchartemp;Delay400Ms();//启动时必须的延时,等待lcm进入工作状态LcdReset();//这也是必需的....初始化temp=32;ePutstr(0,0,exampl);//上面一行显示一个预定字符串while(1){kbscan();

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

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

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