资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
-实验报告课程名称:单片机及接口技术试验 项目名称:数码管动态显示程序设计 姓名:- 专业:- 班级:1班 学号:-一、 实验预习部分:1、 运行上面的程序,计算显示程序每秒运行的次数? 答:因为50HZ以下可视, 让每个数码管之间以2ms动态显示 则8个都数码亮一次用时16ms 则一秒运行次数为1000ms/16ms约为63次。2、 请说明数码管的消隐如何实现 答:在程序中加入 P0=0xff或者P0=1即可。比如在以下显示学号程序中要实现学号的亮灭 (灭即当作消隐)过程。 while(1) uchar j;LEDCLK=0;LEDDIN=0;_nop_();LEDCLK=1;for(j=0;j8;j+) if(j=2) P0=0XFD; else P0=ledtablenumberj; delay_ms(2); P0=1; /让数码管消隐 LEDCLK=0; LEDDIN=1; _nop_(); LEDCLK=1; 二、 实验过程记录部分:1、实验程序(用数码管动态显示我的学号/)#include /包含52系列单片机SFR寄存器声明等的头文件#include / intrins头文件可用于移位、空操作指令等#define uint unsigned int / 数据类型宏定义#define uchar unsigned char / 数据类型宏定义sbit LEDCLK=P34; / 对LEDCLK和LEDDIN进行位声明sbit LEDDIN=P23; / 定义一个数码管包含17种显示情况的数组uchar code ledtable=0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,0xff;uchar number=4,3,0,1,0,1,0,2; /定义显示学号情况的数组void delay_ms(uint tms) / 延时函数 uchar i; while(tms-) for(i=123;i0;i-) main() /以下为主函数 uchar i; for(i=0;i8;i+) / 用for语句产生八个正脉冲完成初始化过程 LEDCLK=0; LEDDIN=1; _nop_(); LEDCLK=1; while(1) uchar j; LEDCLK=0; LEDDIN=0; _nop_(); LEDCLK=1; for(j=0;j8;j+) if(j=2) /通过条件判断强制在P0口输入0xfd显现效果- P0=0xfd; else P0=ledtablenumberj; / 通过数组嵌套显示学号代码 delay_ms(2); / 延时2ms 达到动态效果 LEDCLK=0; LEDDIN=1; _nop_(); LEDCLK=1 2、实验实物图 说明:如图所示 实验结果显示我的学号-实验成功。实验操作成绩(百分制)_ 实验指导教师签字:_三、 实验结果与讨论: 本次实验较成功。通过本次实验,我理解了数码管动态显示原理;理解了数码管动态显示电路的设计方法;基本掌握了数码管动态显示程序的设计方法。在实验中,我还懂得了要让小数点显示,可以在程序中加入一个条件语句加以判断即可实现 ;(比如要让第三和第六个小数点亮起 程序可以这么写if(j=3)Point=0.运用这之前要先对小数点位进行位声明比如sbit Point=P00)要让数码管消隐可在程序中写入P0=1;或者P0=0xff;(具体见实验预习部分程序)。实验报告成绩(百分制)_ 实验指导教师签字:_
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号