51单片机课程设计报告基于8155的8LED显示电子码表设计

上传人:公**** 文档编号:433264574 上传时间:2022-10-18 格式:DOC 页数:20 大小:136.50KB
返回 下载 相关 举报
51单片机课程设计报告基于8155的8LED显示电子码表设计_第1页
第1页 / 共20页
51单片机课程设计报告基于8155的8LED显示电子码表设计_第2页
第2页 / 共20页
51单片机课程设计报告基于8155的8LED显示电子码表设计_第3页
第3页 / 共20页
51单片机课程设计报告基于8155的8LED显示电子码表设计_第4页
第4页 / 共20页
51单片机课程设计报告基于8155的8LED显示电子码表设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《51单片机课程设计报告基于8155的8LED显示电子码表设计》由会员分享,可在线阅读,更多相关《51单片机课程设计报告基于8155的8LED显示电子码表设计(20页珍藏版)》请在金锄头文库上搜索。

1、51单片机课程设计报告基于8155的8LED显示电子码表设计一、 实验目的 本次课程设计是基于51单片机在理论课程的基础上,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作。学习在理论课程的基础上,重点培养动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题。学习Proteus软件的MCS51单片机仿真。学习和完成的任务:1. 实验板的原理图结构研究2. 51单片机的编程技术二、 实验设备(1) 计算机一台(2) Proteus软件平台(3) Medwin软件平台三、 实验内容电子码表类:基于8

2、155的8LED显示电子码表设计基本要求: 1 设计秒表功能,精度为0。01秒。2 可同时记录和存储10个秒表数据。(连续记录并显示已存储记录数)3 秒表记录数据查询和清除功能。发挥部分:1 可根据速度误差用D/A转换器输出DC信号。2 可设定速度偏差范围,当超范围时通过蜂鸣器能发出提示音。3 有静音功能 动态显示格式:自定四、实验原理本次课程设计是在理论课程的基础上,目的在于培养我们的动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,并可能结合实际的实验板进行下载测试。在此基础上根据实验大纲的要求,按“51单片机课程设计选

3、题表” 每人一题(随机分配),实现其功能。单片机微型计算机简称单片机,是指在一块芯片体上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成一个完整的微型计算机。目前,新型单片机内还有A/D及D/A转换器、高速输入/输出部件、DMA通道、浮点运算等特殊功能部件。由于它的结构和指令功能都是按工业控制设计要求设计的,特别适用于工业控制及其数据处理场合,因此,确切的称谓是微控制器,单片机只是习惯称呼。(1)单片机的特点1)有优异的性能价值比。2)集成度高、体积小、有很高的可靠性。单片机把各个功能部件集成在一块芯片上,内

4、部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取措施,适合于恶劣环境下工作;也易于产品化。3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有及其丰富的转移指令、I/O口逻辑操作及位处理指令。一般来说,单片机的逻辑控制功能及运行速度高于同意档次的微机。4)单片机的系统扩展和系统配置都比较典型、规范,而且非常容易构成各种规模的应用系统。(2)单片机并行I/O接口的扩展单片机与外部交换信息是通过I/O接口电路来实现的。AT89C51单片机本身有4个8位的并行I/O口P0-P3,但实际使用时往往再增加些I/O口,以便与

5、外部设备交换数据。AT89C51单片机外部RAM和扩展I/O接口是统一编址的。用户可以把外部64KB RAM空间的一部分作为扩展I/O接口地址空间,每一个I/O接口相当于一个RAM存储单元,访问外部RAM存储单元就像访问外部I/O接口,即用“MOVX”指令对扩展I/O接口进行输入输出操作。查询式键盘属于独立式键盘,键盘的各个按键之间彼此是独立的且是最简单的键盘电路。每个键地接入一根数据输入线。如图所示。注意:由于每一个按键均需要一根I/O口线 ,当键盘按键数量比较多时,需要的I/O口线也较多,因此独立式键盘只适合于按键较少的应用场合。一般情况下,按键数等于占用I/O端口数。查询式键盘的结构图如

6、图所示:P1.0P1.1图2-5 查询式键盘的接口电路查询式键盘可以工作在多种方式下,中断方式、程序查询方式、定时查询发送和中断查询方式。在中断模式下,按键的数量受到外部中断源的限制。在有特殊需要的场合,还可以借用内部的定时器中断。所以在这种模式下,按键的数目小于外部中断源和单片机定时器数量之和。程序查询和定时查询类似,都是通过读I/O状态,当有键被按下时相应的I/O口线变为低电平,而未被按下的键对应的I/O口线保持为高电平,这样通过读I/O口状态可判断是否有键按下和哪一个键被按下。1. 键盘定义K1:开始、暂停记时K2:记录数据K3:计数器清零K4:查看存储数据2. 流程图(1) 主流程图开

7、始系统初始化键盘扫描数据转换(2)扫描键盘流程图开始初始化KEY1按下开始/暂停计时删除数据计数器清零NYNYYKEY2按下TR0= =1记录数据KEY3按下KEY4按下查看存储的数据结束NYYNN3. 主程序/*基于8155的8LED显示电子表设计*/#include#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*定义8155地址*/#define COM8155 XBYTE0X7FF8 /8155的命令口#define PA8155 XBYTE0X7FF9 /8155的PA#define PB8155

8、 XBYTE0X7FFA /8155的PB#define PC8155 XBYTE0X7FFB /8155的PC/*定义数码管显示的码值*/uchar code du_code=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /8段共阴极数码管显示码值 uchar dis_buf=0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f; /数码管显示缓存,格式为MM-NN-SSuchar code bit_code=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /数码管显示的位值/

9、*定义系统变量*/bit flag=0; /计时状态标志位bit flag1=0,flag2=0,flag3=0,flag4=0; /按键状态标志位uchar num,second,minute,hour;/秒表变量uchar count=0,count1=0; /计数器变量uchar num_store10,second_store10,minute_store10; /储存秒表数据变量uchar x; /记录数据计数器/*延时程序*/void delayms(uint z)uint y;for(;z0;z-)for(y=110;y0;y-);/*键盘扫描程序*/void keyscan()

10、 uchar m; m=PC8155; m=m&0x0f; if(m!=0x0f) delayms(20);/延时消抖 PB8155=0x0f;m=PC8155;m&=0x0f; if(m!=0x0f)/有键被按下 m=PC8155; m&=0x0f; switch(m) case(0x0e):flag1=1;break; /按键一被按下,其标志位置1 case(0x0d):flag2=1;break; /按键二被按下,其标志位置1 case(0x0b):flag3=1;break; /按键三被按下,其标志位置1 case(0x07):flag4=1;break; /按键四被按下,其标志位置1

11、 while(PC8155!=0x0f);/判断键是否松开 if(flag1=1)/按键一被按下,开始计时或停止计时TR0=TR0; /计时开关取反flag=0;flag1=0;/按键一标志位清零if(flag2=1)/按键二被按下 if(TR0=1)/秒表计时,记录数据 if(x10) minute_storex=minute; second_storex=second; num_storex=num; /记录秒表值 x+;/计数器加1 else /秒表停止,删除正在查看被记录的数据 if(flag=1)minute_storecount-1=0;second_storecount-1=0;num_storecount-1=0;/删除当前查看的记录数据 flag2=0;/按键二标志位清零if(flag3=1) /按键三被按下,计时数据清零 if(TR0=0)num=0;second=0;minute=0;flag=0; /数据清零flag3=0; /按键三标志位清零if(flag4=1)/按键四被按下,查询记录的数据 if(TR0=0) /判断计时状态

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号