计数显示器实验报告 联系客服

发布时间 : 星期一 文章计数显示器实验报告更新完毕开始阅读6056b613f90f76c660371a66

洛阳理工学院实验报告

系别 计算机系 班级 B140502 学号 B14050226 姓名 韩亚辉 实验日期 2016-4-8 课程名称 单片机原理及应用 实验名称 计数显示器 成绩 实验目的:熟悉51单片机的基本输入/输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法。 实验条件:计算机一台、ISIS、Proteus软件 实验内容: (1) 提前阅读与实验3相关的阅读资料; (2) 参考实验原理图和实验元件清单,在ISIS中完成电路原理图的绘制; (3) 加载可执行文件,观察仿真结果,检验电路图绘制的正确性。 一、 实验原件清单 二、 根据原理图画出的实验图 三、 实验程序如下: #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 sbit LATCH1=P2^2;//定义锁存使能端口 段锁存 sbit LATCH2=P2^3;// 位锁存 sbit P3_7=P3^7;//定义按键位 unsigned char code dofly_DuanMa={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code dofly WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char TempData[8]; //存储显示值的全局变量 void Delay(unsigned int t); //函数声明 void Display(unsigned char FirstBit,unsigned char Num); main() { unsigned char num; while(1) { if(P3_7==0) { Delay(10); if(P3_7==0) { num++; if(num==100)//用于显示0~99 num=0; TempData[1]=dofly_DuanMa[num]; Delay(10); TempData[0]=dofly_DuanMa[num/10];//分解显示信息, 如要显示68,则68/10=6 68=8 } } void Delay(unsigned int t) { while(--t); } Delay(10); while(P3_7==0) {Display(6,2);} } } Display(6,2); void Display(unsigned char FirstBit,unsigned char Num) { unsigned char i; for(i=0;i