版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、要求:利用动态扫描在数码管上显示出从765432开始以1/10秒的速度往下递减直至765398并保持显示765398。 当数码管上数减到765398时,停止并保持3s,3秒后数码管上显示出“HELLO”。到此保持。 即(6个数码管显示765432)(以1/10秒的速度往下递减)(当减到765398时,保持该数字3s)(用5个数码管显示HELLO,并一直保持下去)说明:试验板上一共有8个数码管,P2口的(P2.0,P2.1,P2.2)接74HC573锁存器控制8个数码管的位选,PO口控制8个数码管的段选。试验板的电路图如下:在代码中定义:P2=No_2按道理说,在显示HELL
2、O时,第一次应该选中第3个数码管(No_2 = 0x03)显示“H”,然后到最后一个数码管(No_2 = 0x07)显示“0”,再循环。可是这样显示的是“LOHEL”,“H”滞后两位。当我把第一次改为(No_2 = 0x01)时,再从(No_2 = 0x03到No_2 = 0x07)循环。这样正好显示“HELLO”。以下为实际图形 (1)数字显示(2)显示HELLO初始化函数: void ints()No_2=0x01;/为什么不是0x03?num
3、=765432;TMOD=0x01;TH0=(65536-n)/256;TL0=(65536-n)%256;TH1=(65536-10000)/256;TL1=(65536-10000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1; 显示HELLO函数(在定时器0中断中调用该函数,扫描频率为5ms) void displya_hello()P2=No_2;No_2+;if(No_2=0x08)No_2=0x03;P0=helloi;i+;if(i=5)i=0;具体的整个代码如下#include<reg52.h>#define
4、uint unsigned int#define ulong unsigned long int#define uchar unsigned char#define n 5000/扫描频率5ms/次#define max 765398/数码表停留的值uchar code table=0x3f,/16进制数编码表0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39, 0x5e,0x79,0x71;uchar code hello=0x76,0x79,0x38,0x38,0x3f;/HELLO编码表sbit D=P37;uchar
5、tt0,tt1,No_1,No_2,i,j;ulong num;uchar a6;void ints();void display_num();void displya_hello();/*主函数*/void main()ints();/初始化while(1);/等待中断/*初始化函数*/void ints()i=0;j=0;tt0=0;tt1=0;No_1=0x02;No_2=0x01;/为什么不是0x03?num=765432;TMOD=0x01;TH0=(65536-n)/256;TL0=(65536-n)%256;TH1=(65536-10000)/256;TL1=(65536-100
6、00)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;/*定时器中断0*/void timer0() interrupt 1TH0=(65536-n)/256;TL0=(65536-n)%256;tt0+;if(tt0=1)/动态显示递减的数码值tt0=0;if(num>max)display_num();elseif(j<30)/延时3s,并保持显示max值display_num();else/动态显示HELLOdisplya_hello();/*定时器中断1*/void timer1() interrupt 3TH1=(65536-10000)/256;TL1=(65536-10000)%256;tt1+;if(tt1=10)tt1=0;num-;if(num<max)num=max;j+;/用于延时3sif(j>30)j=30;a0=num/100000;/分离数字a1=num%100000/10000;a2=num%10000/1000;a3=num%1000/100;a4=num%100/10;a5=num%10;/*数码递减显示函数*/void display_num()P2=No_1;No_1+;if(No_1=0x08)No_1=0x02;P0=tableai;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资阳市高新区2025年公开招聘社区专职工作人员的备考题库(50人)附答案详解(完整版)
- 心脏介入术后康复期营养支持方案个体化
- 心肌组织工程支架的电性能优化策略
- 2024年黄冈市税务系统遴选笔试真题汇编附答案解析
- 2025年六安市直机关遴选公务员笔试真题汇编含答案解析(夺冠)
- 心理行为干预对糖尿病低血糖恐惧
- 心理测量工具虚拟化应用研究
- 2025年甘肃省平凉市灵台县百里镇招聘大学生村文书备考题库含答案详解(研优卷)
- 2025上海闵行区古美路街道招聘社区综合协管员18人备考题库及答案详解(全优)
- 萍乡市安源区2025年面向社会公开招聘社区工作者备考题库【11人】及完整答案详解一套
- 工地流动车辆管理制度(3篇)
- 颅内出血课件
- 初级营销员知识技能测试试题
- 2025中共湘东区委统战部招聘2人备考题库带答案解析
- 母公司子公司协议合同
- 《传染病护理(第二版)高职》全套教学课件
- DB33T 2430-2022 长期护理保险护理服务供给规范
- 《淞沪会战》课件
- 产品合格证出厂合格证A4打印模板
- 【高分复习笔记】郝大海《社会调查研究方法》(第2版)笔记和课后习题详解
- GB/T 2934-2007联运通用平托盘主要尺寸及公差
评论
0/150
提交评论