一 课程设计内容:设计一个单片机秒表,该秒表可显示0.0到59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程.
二 课程设计的要求和数据
1 用单片机实现
2 以0.1秒为最小单位显示
3 秒表量程为0.0到59.9 用3位LED灯显示
4 个人根据情况设计加上清零,开始计时停止计时等功能
三 课程设计应完成工作
1 完成单片机秒表硬件和软件设计 绘制电路原理图
2 完成课程设计报告的撰写
P3接字码,P2接位码。没有加按键功能。
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
//数码管字型表,对应0,1,2,3,4,5,6,7,8,9//
uchar Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint Data[2]={0,0};
data Buffer[1]={0};
uint TIME=0; //倒计时时间
uint j;
sbit BEEP=P1^2;
sbit Point=P3^7;
void DelayMs(uint i )
{
for(;i!=0;i--)
{for(j=100;j!=0;j--) {;}}
}
void Display(uint *p) //动态显示函数,参数p为待显示的数组名
{
P2=0xfe;
P3=Table[p[2]]; //送字型码
DelayMs(3);
P2=0xfb;
P3=Table[p[1]]; //送字型码
Point=0;
DelayMs(3); //显示延时
P2=0xfd;
P3=Table[p[0]];
DelayMs(3);
}
void Process(uint i,uint *p)
{
p[0]=i/100;
i=i%100;
p[1]=i/10;
p[2]=i%10;
}
void main(void)
{
EA=1; IT1=1; ET0=1;
TMOD=0x01; //T0方式1计时0.01秒
TH0=65536-5000/256;
TL0=65536-5000%256;
TR0=1; //开中断,启动定时器
while(1)
{
Process(TIME,Data);
Display(Data);
if(TIME>599)
{
TIME=0;
}
}
}
/* 定时计数器0的中断服务子程序 */
void intserv1(void) interrupt 1 using 1
{
TH0=65536-5000/256;
TL0=65536-5000%256;
Buffer[0]=Buffer[0]+1; // 定时器T0的低四位赋值
if (Buffer[0]==10) // 百分秒进位
{
TIME+=1;
Buffer[0]=0;
}
}
单片机编程制作电子秒表能显示分(0-99),秒(0-59)
上周单片机实验课的内容是编一个秒表,在4位数码管中分别显示分和秒还有分秒,即最多可显示“9:59.9”。这里我用两个键实现了秒表的启动\/暂停和清零功能,
单片机编程制作电子秒表能显示分(0-99),秒(0-59)
上周单片机实验课的内容是编一个秒表,在4位数码管中分别显示分和秒还有分秒,即最多可显示“9:59.9”。这里我用两个键实现了秒表的启动\/暂停和清零功能,
单片机秒表显示0.0位怎么表示
3.显示函数 用8位数码管来进行显示,从左到右分别显示秒的百分位,秒的十分位,秒的个位,秒与毫秒的分界,毫秒的千分位,毫秒的百分位,毫秒的十分位,毫秒的个位。4.定时器的中断处理函数 通过中断处理将数值显示到数码管上 使用定时器定时为50us,所以Time每加一次为50us,2个定时器中断即是0.1...
数字式秒表设计(求PCB高手解答)
1、计数、显示及按键采集用单片机最简单,价格不贵,方便编程。2、数码管显示,要看你选型,有没有''的,我没用过,不知道了。'可以将数码管反过来用dot代,不足的'可用一个led了。呵呵,你也许不用显示'或'',那就更省心了。4、数据管驱动,可选595芯片。5、程序吗,选这个方案再写喽。
天猫两个手机时间不一样怎么抢茅台
第一步,我们把想抢的两瓶茅台加到购物车里面去,在时间到59.8~59.9秒的点击结算,然后快速点击右下角提交!第二步:为了更好的把握时间,可以下载一个悬浮时间秒表,随便在网上一搜就能搜到,我这里就不展开了 第三步:抢购流程就是这么简单,但是有几点细节需要注意一下,不知道你们发现没,当你...