当前位置:首页 > 读后感 > 单片机系统设计_单片机系统设计报告(参考模板)11
 

单片机系统设计_单片机系统设计报告(参考模板)11

发布时间:2019-07-18 09:23:33 影响了:

重庆科技学院

学生实习(实训)总结报告

院(系):__ ______ 专业班级:_____ _____

学生姓名:_________________ 学 号:___ _______

实习(实训) 地点:______ __ ____________

报告题目:__ 单片机系统综合训练——基于单片机的简易计算器设计

报告日期: 201 年 月 日

指导教师评语: _______________________________________

_________________________________________________________

成绩(五级记分制):______ _______

指导教师(签字):

实习(实训)总结报告的写法及基本要求

一、实习(实训)报告一般由标题和正文两部分组成

1. 标题:标题可以采取规范化的标题格式,基本格式为,“关于××的实习(实训)报告”。

2.正文:正文一般分前言, 主体, 结尾三部分。

(1)前言:主要描述本次实习(实训)的目的意义、大纲的要求及接受实习(实训)任务等情况。

(2)主体:实习(实训)报告最主要的部分, 详述实习(实训)的基本情况, 包括:项目、内容、安排、组织、做法,以及分析通过实习(实训)经历了哪些环节,接受了哪些实践锻炼,搜集到哪些资料,并从中得出一些具体认识、观点和基本结论。

(3)结尾:可写出自己的收获、感受、体会和建议,也可就发现的问题提出解决问题的方法、对策;或总结全文的主要观点, 进一步深化主题;或提出问题, 引发人们的进一步思考;或展望前景, 发出鼓舞和号召等。

二、对实习(实训)报告的要求

1.按照大纲要求在规定的时间完成实习(实训)报告,报告内容必须真实, 不得抄袭。学生应结合自己所在工作岗位的工作实际写出本行业及本专业(或课程)有关的实习(实训)报告。

2. 校外实习报告字数要求:不少于800字每周,累计实习3周及以上的不少于2000字。用A4纸书写或打印 (正文使用小四号宋体、行距1.5倍。其余排版要求以美观整洁为准) 。校内实习(实训)报告字数要求可适当减少,具体要求由院系依据课程特点规定。

3. 实习(实训)报告撰写过程中需接受指导教师的指导, 学生应在实习(实训)结束之前将成稿交实习(实训)指导教师。

三、实习(实训)考核的主要内容

1. 平时表现:实习(实训)出勤和实习(实训)纪律的遵守情况;实习(实训)现场的表现和实习(实训)笔记的记录情况、笔记的完整性。

2. 实习(实训)报告:实习(实训)报告的完整性和准确性;实习(实训)的收获和体会。

3. 答辩:在生产现场随机口试;实习(实训)结束时抽题口试。

目录

实习(实训)总结报告的写法及基本要求 ................................. 2

1. 功能描述(课程设计内容及要求) ............................................ 4

2 方案设计 .................................................................. 4

2.1 系统分析............................................................. 4

2.2 器件选择............................................................. 4

2.2.1 微处理器 ....................................................... 4

2.2.2 显示器 ......................................................... 5

2.2.3 按键 ........................................................... 5

3、硬件电路设计 ............................................................. 6

3.1 最小系统设计..................................................... 6

3.2 显示电路设计......................................................... 6

3.3 按键电路设计......................................................... 7

3.4 电源电路设计......................................................... 7

4、软件设计 ................................................................. 8

4.1 操作功能设计......................................................... 8

4.2程序编制思想 ......................................................... 8

4.3 主程序............................................................... 8

5 程序调试 ................................................................. 10

6 技术小结 ................................................................. 10

7基于单片机的简易计算器的使用说明.......................................... 10

8心得体会.................................................................. 11

9参考文献(最近3年)...................................................... 11

附录1:电路原理图.......................................................... 12

附录2:程序参考清单........................................................ 13

设计报告

1. 功能描述(课程设计内容及要求)

设计一个基于单片机的简易计算器设计

1)实现两位数的加减乘除运算;

2)实现矩阵键盘输入,由LED 数码管输出;

3)具有清零功能;

4)显示时钟,可以修改时间。(扩展功能)

2 方案设计

2.1 系统分析

根据系统功能要求,可将系统组成结构分成四大部分:矩阵键盘输入、MCU 单片机控制中心、数码管计算显示、复位显示,如下图为系统的组成结构图。其中,单片机控制中心和矩阵键盘是核心。MCU 根据矩阵键盘的按键输入,可得到两位数经过数学四则基本运算后的不同结果。数字显示完成矩阵键盘四则运算的信息。

系统组成结构图

2.2 器件选择

2.2.1 微处理器

这一次的实验,选取微处理器从多方面考:成本低、性能高、能够满足功能要求等等。 它的特点十分广泛,有2个16 位定时器/ 计数器,PWM( 4 路)/ P C A(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/ 下降沿中断均可支

持) ,ISP (在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片。

这里,选取STC89C51芯片。因为其功能与普通51芯片相同,其价格非常低廉、程序空间大、资源较丰富、在线下载非常方便。同时,使用该芯片,编程上亦可采用所熟悉的KEIL 软件,使课程设计非常简单。

2.2.2 显示器

常见的显示器件LED 数码管和LCD 液晶器件。

LED 数码管能够显示数字和部分字符,价格便宜,硬件电路、软件编程均非常简单,而且使用动态扫描技术可节省大量硬件成本。LED 显示器结构,基本的半导体数码管是由七个条状发光二极管芯片按图12排列而成的,其具体结构有“反射罩式”、“条形七段式”及“单片集成式多位数字式”等。数码管是用于显示0,1,2,......9数字的显示器件,具体应用时,这些数字都是以BCD 编码形式表示,通过译码器加到显示管上。

LCD 液晶显示器件,显示字迹清晰、能够显示数字、字符和汉字,但价格比LED 非常高,编程复杂,软硬件调试都比较花时间。

系统显示主要还是数字,根据这两种显示器件的特性,选取LED 数码管器件。由于系统要求显示小时和分钟,采用四位数码管显示即可。

2.2.3 按键

这里的按键在矩阵键盘和单片机中实现。单片机中只需要一个模式键,其余实现数学四则基本运算的按键在矩阵键盘中。本实验中的矩阵键盘,采用四条IO 线作为行线,四条IO 线作为列线组成键盘。16个按键—0至9需十个按键,加减乘除四个按键,剩下是等于和清零键。

3、硬件电路设计

3.1 最小系统设计

单片机最小系统由单片机、电源、复位电路和晶振电路组成。在最小系统的基础上扩展部分模块可以实现我们需求的全部功能,在进行模块化设计的时候应该要注意各接口之间的电平兼容性。

图1

3.2 显示电路设计

该数码管显示电路由一个四位的七段数码管组成。数码管的原理还是比较简单的,但是值得注意的是,在设计的时候部分信号线能公用则公用,这样的连线会比较方便,也避免了跳线。

3.3 按键电路设计

设计成了一个矩阵键盘,由四行四列组成,该矩阵键盘的优点是节约连接芯片上的引脚。

3.4 电源电路设计

MCU 工作电压为5V 。为了使用方便,用USB 接口供电是最方便的,因此,系统采用USB 接口供电的方式,直接从USB 接口获取5V 电源。

4、软件设计

4.1 操作功能设计

根据系统功能描述,可以将功能大致分成三类:数学基本四则运算功能、清零功能、数码显示功能。

系统设有四个数码管,板子设有一模式键,其余十六个键在矩阵键盘里。通过矩阵键盘的输入,在数码管显示了相应的结果。键盘输入,单片机控制,数码管显示,步骤一环扣一环,步步为营,因此在数码管连接方面克服了共阳极数码管显示不清晰的困难。

菜单设计如下:

菜单1:实现数学四则基本运算,最后得出结果;

菜单2:当做完运算后,实现清零功能。

4.2程序编制思想

数码管采用动态扫描原理。所以系统需使用单片机定时器资源。定时时间可设为5ms ,即4位数码管,每5ms 扫描一位数码管,20ms 循环一次。

另一方面,按键接普通IO 口,所以按键管理程序所涉及到的识键、译键均需采用软件扫描的方法。这里选用定时扫描控制方式。

所以,程序编制思想为:使用定时器0(或1)完成数码管动态扫描,并对按键进行扫描。扫描到相应的按键时,如功能键,则执行相应的操作,如,切换菜单。切换菜单的方法,主要是通过程序定义一个变量,变量不同的值表示不同的菜单。

通过定义两个变量,分别储存第一次输入的数和第二次输入的数,又继续通过两个变量来确定输入的第几个数或者符号,然后再定义一个变量用来储存计算的结果,最后用数码管显示出来。

4.3 主程序

(程序流程图主要根据学生的思路来绘制)这里只给出数码管动态扫描所涉及的流程图。

5 程序调试

在程序编制当中易出现问题:定时器中断的用法、动态扫描的过程、按键与显示的对应,按键的消抖动等。

在实行矩阵键盘的加减乘除的时候,数码管得出来正确的结果,但是数码管灯一直在闪烁,我很迷茫,于是找了老师向她请教,结果是编译的程序有问题,通过在老师的指导和同学的帮助下,最终恢复了正常。我懂得了定时器中断是单片机内部中断, 它定义单片机多少时间中断检测一次,一般用于定时检测管脚数据,检测定义的标志位。

在实验中还出现了这样一个问题,矩阵键盘上的有一部分键按下之后没有响应,要么是整列要么是整行没有响应,于是我先想到了是不是程序出现了错误,是否在定义数字的时候有问题,结果发些没有问题,在不经意间,我碰到了接线,发些按键恢复了正常,最终得出的是接线不够灵敏,有点松动,让我虚惊一场,不过在调试过程中,这些都是我们去值得注意的问题。

6 技术小结

主要技术应包括:单片机最小系统结构、数码管显示技术、按键检测技术、系统功能设计、软硬件调试等技术。

本次课程设计我知道了按键的消抖动的重要性,按键的消抖动分为了硬件消抖和软件消抖,前者在键数较少时可用此方法消除键抖动;后者在键较多时,可以用此方法去消抖。

在扫描数码管时可以分为动态扫描和静态扫描,明白了动态扫描更容易实现,更加优化。

7基于单片机的简易计算器的使用说明

(开发一个单片机应用系统,正如开发一个产品,产品在开发完毕后,对用户来说,产品说明书是用户使用产品的主要手册,是用户对产品功能使用的主要技术支持,因此,写好产品使用说明非常重要)

使用说明主要包括:功能使用(见功能描述)、人机接口、操作说明(见菜单设计)等。

单片机系统综合训练----设计报告

待计算机的程序都准备完毕之后,按下单片机的模式键,数码管灯亮。此后,该矩阵键盘的第一列依次为加减乘除,第二列按键依次是3、6、9、=,第三列按键依次为2、5、8、清零键,第四列按键则依次表示为1、4、7、0键。对其中的某一数字按下一次表示的是一位数的加减乘除,若再按下同一或不同数字则表示的是两位数的加减乘除。此矩阵键盘实现的是两位数的加减乘除和清零。

8心得体会

不知不觉,三个星期的实训已经结束,时光飞逝,过去一个月的点点滴滴,历历在目,想起刚上第一节课的时候,老师的认真讲解,恍若梦中。

这三个星期学到了很多的内容,第一个星期,我好好的巩固了自己C 语言知识,并在图书馆借到了几本c 语言书来拓展我的知识面,我们需要做的是简易计算器,这个系统需要有键盘模块,显示模块等等。我迫使自己每天下午去图书馆翻阅资料。皇天不负有心人,我还是很顺利的完成了第一个星期的电路理论设计部分,在老师的指导下,把自己的电路做的更加的完美。这一个星期,虽然只是理论设计,没有动手,但是还是学到了许多在课堂上无法学到的知识。后面的时间就开始了软件设计与分析。虽然有很多不懂的地方,但在老师的帮助下,每天都有新的收获。最后完成了任务。

一个月一闪而过,感谢各位老师的淳淳教导,在这一个月的相处中,我从您们那里学到了很多优秀的品质,当然我自己的知识水平也得到了质的飞越!回顾这两个星期的实训,我学到了很多知识,在以后的生活工作中,谨记老师教导,积极面对未来!

9参考文献(最近3年)

[1]沈红卫. 单片机的智能系统设计与实现[M]. 北京电子工业出版社. 2005.

[2]李光飞, 楼然苗, 胡佳文, 等著. 单片机课程设计实例指导[M]. 北京航空航天大学出版社. 2005.

[3]汪德彪. MCS-51单片机原理及接口技术[M]. 北京电子工业出版社. 2004. [4]胡文金, 钟秉翔. 单片机应用技术实训教程[M]. 重庆大学出版社. 2005. [5]张毅刚, 彭喜元, 董继成. 单片机原理及应用[M]. 重庆大学出版社. 2003.

单片机系统综合训练----设计报告

附录1:电路原理图

12

附录2:程序参考清单

#include #define uchar unsigned char #define uint unsigned int uchar code

0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40,0x46,0x01,0x08,0x09}; uchar jian[4]={10,11,10,10}; uchar jia[4]={10,12,11,10}; uchar chu[4]={11,15,11,10}; uchar cheng[4]={15,11,15,10}; uchar deng[4]={15,10,10,10}; uchar cun[4]={10,10,10,10};

uchar figure=0,figure1=0,figure2=0,figure4=0,figure6=0; int figure5=0;

uchar time1=0,time2=0,Bit=0,b=0,c=0,aim=0,aim1=0,aim2=0; uchar answer=0,answer1=0; uchar temp=0; int a=0;

sbit P24=P2^4; sbit P25=P2^5; sbit P26=P2^6; sbit P27=P2^7;

sbit P21=P2^1; void delay() { uchar i=0,j=0; for(i=99;i>0;i--) for(j=99;j>0;j--); } void scan() {

if(aim>=3)aim=0;

P1=0xfd; temp=P1; if(temp!=0xfd) { delay(); if(temp!=0xfd) { switch(P1) { case 0xed: figure=3;

shuma[]={0x3F,

aim++; peak; case 0xdd: figure=6; aim++; peak; case 0xbd: figure=9; aim++; peak; case 0x7d: figure=14; peak; } while(temp!=0xfd) { P1=0xfd; temp=P1; } } }

P1=0xfe; temp=P1;

if(temp!=0xfe) {

delay(); if(temp!=0xfe) {

switch(P1) { case 0xee: figure=10; aim=0; aim1=1; aim2=0; peak; case 0xde: figure=11; aim=0; aim1=1; aim2=0; peak; case 0xbe: figure=12; aim=0; aim1=1; aim2=0; peak; case 0x7e: figure=13;

aim=0; aim1=1; aim2=0; peak; } while(temp!=0xfe) { P1=0xfe; temp=P1; } } }

P1=0xfb; temp=P1;

if(temp!=0xfb) {

delay(); if(temp!=0xfb) {

switch(P1) { case 0xeb: figure=2; aim++; peak; case 0xdb: figure=5; aim++; peak; case 0xbb: figure=8; aim++; peak; case 0x7b: figure=15; aim=0; peak; } while(temp!=0xfb) { P1=0xfb; temp=P1; } } }

P1=0xf7;

temp=P1; if(temp!=0xf7) { delay(); if(temp!=0xf7) { switch(P1) { case 0xe7: figure=1; aim++; peak; case 0xd7: figure=4; aim++; peak; case 0xb7: figure=7; aim++; peak; case 0x77: figure=0; aim++; peak; } while(temp!=0xf7) { P1=0xf7; temp=P1; } } } }

void display() { if(figure==15) { figure1=0; figure4=0; answer1=0; figure=0; aim=0;

aim2=0; aim1=0; }

if(aim2==0) { if(aim1==0) { cun[0]=figure1/10; cun[1]=figure1%10; cun[2]=10; cun[3]=10; if(aim==2) { figure1=10*figure1+figure; aim=0; aim2=1; } if(aim==1) { if(figure>=0&&figure=0&&figure

{ figure4=figure; } } cun[0]=figure4/10; cun[1]=figure4%10; cun[2]=10; cun[3]=10; } } Bit++; if(Bit>=4)Bit=0; P2|=0xf0; P0=shuma[cun[Bit]]; if(figure==14) { answer1=1; } if(figure==13) {

P0=shuma[chu[Bit]]; answer=4; } if(figure==12) {

P0=shuma[cheng[Bit]]; answer=3; } if(figure==11) {

P0=shuma[jian[Bit]]; answer=2; } if(figure==10) {

P0=shuma[jia[Bit]]; answer=1; } switch(Bit) {

case 0: P24=0;peak; case 1: P25=0;peak; case 2: P26=0;peak;

case 3: P27=0;peak; } }

void chuli() { if(answer1==1) { if(answer==1) { figure5=figure4+figure1; answer=0; aim=0; aim1=2; cun[0]=figure5/1000; cun[1]=(figure5%1000)/100; cun[2]=(figure5%100)/10;; cun[3]=figure5%10; } if(answer==2) { figure5=figure1-figure4; answer=0; aim=0; aim1=2; if(figure5>0) { cun[0]=figure5/1000; cun[1]=(figure5%1000)/100; cun[2]=(figure5%100)/10;; cun[3]=figure5%10; } if(figure5

aim=0; aim1=2; cun[0]=figure5/1000; cun[1]=(figure5%1000)/100; cun[2]=(figure5%100)/10;; cun[3]=figure5%10; } if(answer==4) { figure5=figure1/figure4; answer=0; aim=0; aim1=2; cun[0]=figure5/1000; cun[1]=(figure5%1000)/100; cun[2]=(figure5%100)/10;; cun[3]=figure5%10; } } }

void main() { TMOD|=0x01; TH0=0xf8; TL0=0xcd; EA=1; ET0=1; TR0=1; while(1) { chuli(); scan(); if(P21==0) { delay(); if(P21==0) { while(!P21); c++; if(c>=2)c=0; }

单片机系统综合训练----设计报告

}

}

}

void time3(void) interrupt 1 {

TH0=0xf8;

TL0=0xcd;

display();

}

21

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3