版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-可编辑修改-计数器设计-、实习目的与要求1、设计的目的(1) 掌握51系列单片机的基本硬件结构及工作原理。(2) 掌握51系列单片机的汇编语言及基本程序设计方法。(3) 学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。(4) 掌握51系列单片机键盘显示电路的编程方法。2、设计要求(1) 设计十进制099的计数器,采用按键计数,数码管显示。(2) 采用按键产生计数值:按下按键,计数值增加1;(3) 采用2位数码管显示,计数初值为0;(4) 当计数达到99时,再次按下按键,计数值从1开始增加;(5) 设计一个按键,用于清空计数值。二、总体设计方案1、计数器的基本原理利用AT89S51单
2、片机来制作一个手动计数器,在 AT89S51单片机的P3.2管脚接一 个轻触开关,作为手动计数的按钮。再利用AT89S51单片机的复位键进行清零处理。同 时51单片机的P1.0 P1.7接共阴数码管的位选,作为0 99计数选择的位置。用单片 机的P0.0 P0.7接共阴数码管的段选,作为 00 99计数的显示,总体结构框图如图 1-1所示。电源键盘数码管显示2、模块电路分析(1) STC89C5单片机:它是一个低功耗,高性能CMOS位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦1000次的Flash只读程序存储器,器件采用ATMEL公司的高密
3、度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC8951引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的 STC8951可为许多嵌入式控制应用系统提供高性价比的解方 案。STC8951具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128bytes 的随机存取数据存储器(RAM,32个外部双向输入输出(I/O ) 口,5个中断优先级, 2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信,片内时钟振 荡器。其单片机的外围引脚有40个,分别是:第20脚和40脚分别是电源,即GND和Vcc;第9脚是复位脚R
4、ST第18脚是时钟XTAL2脚,片内振荡电路的输出端; 第19脚是时钟XTAL1脚,片内振荡电路的输入端;第 29脚:PSEN却,当访问外部 程序存储器时,此引脚输出负脉冲选通信号,PC的16位地址数据将出现在 P0和P2口上;第30脚:ALE/PROG当访问外部数据存储器时,ALE(地址锁存)的输出用于锁存地址的低字节;第31脚:EA/Vpp为程序存储器内外部选通信号; P0A0-P0A7.P1A0-P1A7.P2A0-P2A7.P3A0-P3A7 这32个引脚为数据的输出及输入引脚, 即 I/0 口。(2)键盘模块:它是 4个独立式键盘,其特点是一键一线,各键相互独立,每 个按键各接一条I
5、/O 口线,通过检测I/O输入线的电平状态,可以很容易的判断那 个键被按下,如图2-1所示。图2-1(3)电源和复位电路:AT89S52需 5V电压,所以可以采用 其供电,复位电路可采用上电复位、按键电平复位、按键脉冲复位 按键电平复位,如图2-2所示。USB接 口的5V电源对3种,本次采用图2-2(4) 显示模块:该模块由8位8段共阳极数码管组成,由 8个PNP型三极管分别驱动其发光,从左至右位控分别接于单片机的P1.7-P1.0中上,段控a-dP接于单片机的P0.0-P0.7 口上,使用动态显示从右向左循环点亮每一位数码管。如电路原理 图中的数码管电路如图 2-3所示。VCCDR1I4IC
6、7IDQ 1S55O1最-a- ir-nl d =XI 编三、软件编程1、程序流程图主程序开始初始化,然后键盘扫描,复位电路,计数器。当有键盘按键按下去时, 调整计数器值,数码管显示新值。当有复位键按下去时,计数器复为初值,重新按键计 数。当计数器计到100时初值复位1,又一次开始按键计数,程序流程图如图 3-1开始初始化程序图3-12、具体程序099计数器/#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned int/sbit key1=P3A2;/uchar nu m1,shi,ge ,n;/un sig ned c
7、har code disp_code=OxCO, 0xF9, 0xA4, OxBO, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90,/ 0-90 1 2 3 4 5 6 7 8 90x88, 0x83, 0xc6, 0xa1,0x86, 0x8e;/ 10-15/void display(uchar nu ml);void keys();void delay( uint z);/void mai n()key1=1;P0=0XC0;P仁 0Xfc;while(1)keys();display (nu ml);void keys() / 按键函数if(key1=0)del
8、ay(5);if(key1=0)nu m1+;if(num仁=100)num仁1;while(!key1);void delay(ui nt z) / 延时函数uint x,y;for(x=z;x0;x_)for(y=110;y0;y-);void display(uchar nu ml) /显示函数ge =n um1%10; P0=disp_codege; P1=0xfe; delay(1);shi =n um1/10;P0=disp_codeshi;P仁 0xfd;delay(1);四、系统调试1、硬件调试(1) 把电路板焊好后,先通过检查电路板表面检查是否有漏焊、错焊、接触不良等。(2)
9、 编写检测程序逐个点亮数码管,检查数码显示部分是否有硬件问题。(3) 编写检测程序检测矩阵扫描是否有硬件问题。2、程序调试重点就是这个部分,很多程序就是在调试过程中慢慢完善,先前所完成的程序部分只能算一个基本框架,当然,这一切是建立在硬件没用问题的基础上程序在进行调试时, 可以像硬件一样使用分模块调试,这样可以最迅捷的找出问题所在,不受其他模块的影响,我们在硬件调试时,一开始时51芯片不工作,经过反复检查后发现原来51芯片的 31脚(/EA/VPP)必须接入高电平才能使单片机在读取程序时优先访问内部程序存储器, 否则只访问外部程序存储器,而我们的程序是在内部的,故芯片不工作,我们随即在 31脚
10、外接VCC和限流电阻,在解决了这个后,硬件 0K了。软件调试时问题就比较多了,很多都是小问题,大多是因为在编写程序时一些地方 不够注意或笔误引起的,在这里就不过多解释,少部分是一些难以解决的大问题, 一是 在输入数字的储存上,开始打算只使用一个数组disp_code解决,但在编程时发现在数字转换为一个一个的编码中发现直接引用会引起数据混乱,最后在添入另一数组 str1后问题得到解决;二是输入数据在内部进行加减乘除时,加法乘法没有错误,但减法除法因为一次输出和二次输入数据的位置关系导致第二次运作时出现错误,最后我们调整了储存数据的变量,这个问题顺利的解决了,最后一个问题困扰我们最久,甚至 导致调
11、试过程一度中止,由于我们是2位数的运算,在数字显示过程中,出现了跳位现 象,当输如12时,数码管正常显示12,但将3输入后,数码管显示变为了 32,由于一 直找不出原因,这个问题一直得不到解决,最后我尝试改变display()函数和大循环中函数的位置循序后才能正常显示, 但这从理论上说不通,最后得出可能是受到延时函 数delay()的延时影响,导致数码管动态显示位码出错。五、总结及体会从这次课题设计任务中,学习到了很多,经过二十天的努力,老师的精心指导,还 有和在网上找到的一些资料,主要让我们掌握了数码管移位动态扫描显示的编程方法, 掌握了矩阵扫描的编程方法,掌握了数据在内部运算的编程方法, 这也是编程必须掌握 的知识。当然调试的时候也是一个重点,也收获良多,这其中就分硬件和软件两部分, 硬件只要注意一些焊接问题,对板子输入简单的程序进行检测。这个只要自己细心一点 都可以按照原理图做好,其中最重要,最麻烦,也是学到和掌握的东西最多的地方就是 软件调试了,这其中包括程序的编写检验,这样必须对程序的每部分都很熟悉,掌握每 句程序的再整个整体的作用。这样当出现问题是才能根据问题改变程序内容而达到目 的。出问题最多的也是这个地方,这也证明了我对程序的掌握还有欠缺, 不能熟悉的掌 握和运用程序,所以导致我们不能很快很好的完成课题任务。当然也还有很多细节方面 和人工的失
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳航空招飞英语能力测试题库及答案
- 商汤科技秋招面试题及答案
- 儿童语文观察研究报告
- 2026七年级上新课标中国早期人类的代表
- 2026年餐饮店特许经营合同
- 2025年瓦房店市教育系统招聘教师考试真题(含答案)
- 2025年中学语文教师招聘考试试卷及答案
- 2025年毕节市检察系统考试真题(附答案)
- 邯郸市丛台区2025年社区《网格员》真题汇编(含答案)
- 2025年定西市检察系统考试真题(附答案)
- TCWEA6-2019水利水电工程施工期度汛方案编制导则
- 胫骨平台骨折 课件
- 对口升学考试全真模拟试卷计算机专业(第2版)答案解析
- 中石化安全管理手册
- 应急物资储备方案76803
- GB/T 21666-2025失禁用尿便吸收辅助器具评价的一般指南
- 八年级下册数学北师大版第二单元复习教学设计教案1
- 地理-江苏省连云港市2024-2025学年高一上学期期末考试试题和答案
- 水利水电工程施工企业“三类人员”安全生产考核题库-(单选多选题库)
- 《电力储能系统用线束和连接器 第二部分:高压线束与连接器技术要求》
- 吉利收购沃尔沃案例分析课件
评论
0/150
提交评论