导航:首页 > 操作系统 > 单片机flagt1

单片机flagt1

发布时间:2024-09-21 19:02:44

A. 单片机C语言编程

数码管显示程序放在18b20的那个定时器或电机的那个定时器么
像下面的程序一样,数码管显示,已经该时间时相应的数码管闪烁都用了同一个定时器
要是C51系列的单片机你程序发来看能不能给你整合下我邮箱[email protected]

void timer0(void)interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
temp++;
if(key.index1)//被选择的时间闪烁
{
shan++;
if(shan==30) flag&=~(1<<(key.index1+1));
if(shan==60){flag=flag|(1<<(key.index1+1));shan=0;}
}
if(temp==10)
{
temp=0;
tmiao++;
if(press)tmiao--;
if(tmiao==10)
{
tmiao=0;
miao++;
if(miao==60)
{
fen++;miao=0;
if(fen==60)
{
shi++;fen=0;
if(shi==100)shi=0;
}
}
}
}
P3=tmiao;
switch(tt)
{
case 0:if(flag_miao){dis_shuma(5,miao%10);}tt=1;break;
case 1:if(flag_miao){dis_shuma(4,miao/10);}tt=2;break;
case 2:if(flag_fen){dis_shuma(3,fen%10);}tt=3;break;
case 3:if(flag_fen){dis_shuma(2,fen/10);}tt=4;break;
case 4:if(flag_shi){dis_shuma(1,shi%10);}tt=5;break;
case 5:if(flag_shi){dis_shuma(0,shi/10);}tt=0;break;
default:break;
}
}

B. 单片机缩写的英文全称及中文名称

单片机缩写的英文全称是Microcontrollers,中文名称就是单片机。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

(2)单片机flagt1扩展阅读:

单片机的单机应用的范围:

1、测控系统。 用单片机可以构成各种不太复杂的工业控制系统、自适应控制系统、数据采集系统等, 达到测量与控制的目的。

2、智能仪表。 用单片机改造原有的测量、控制仪表, 促进仪表向数字化、智能化、多功能化、综合化、柔性化方向发展。

3、机电一体化产品。单片机与传统的机械产品相结合, 使传统机械产品结构简化, 控制智能化。

4、智能接口。 在计算机控制系统, 特别是在较大型的工业测、控系统中, 用单片机进行接口的控制与管理, 加之单片机与主机的并行工作, 大大提高了系统的运行速度。

5、智能民用产品。 如在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等许多产品中, 单片机控制器的引入, 不仅使产品的功能大大增强, 性能得到提高, 而且获得了良好的使用效果。

C. 单片机频率计

1.实验任务

利用51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过8位动态数码管显示出来。要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

2.电路原理图

见插图

3.程序设计内容

(1).定时/计数器T0和T1的工作方式设置,由图可知,T0是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的T0,最大计数值为fOSC/24,由于fOSC=12MHz,因此:T0的最大计数频率为250KHz。对于频率的概念就是在一秒只数脉冲的个数,即为频率值。所以T1工作在定时状态下,每定时1秒中到,就停止T0的计数,而从T0的计数单元中读取计数的数值,然后进行数据处理。送到数码管显示出来。

(2).T1工作在定时状态下,最大定时时间为65ms,达不到1秒的定时,所以采用定时50ms,共定时20次,即可完成1秒的定时功能。

4.C语言源程序

/******************************************************************************

*定时器+计数器测频

*

*file:frequency.c

*name:zhzhchang

*time:2010.3.17

*V1.0

*blog:http://blog.csdn.net/zhzht19861011

*Nots:本程序定义6个数码管,经过实测,在200HZ~50KHZ时结果较准确,误差小于0.4%,

*50KHZ以上频率未进行测量.据资料表明,可以测量到120KHZ,本程序未证明.

*********************************************************************************/

#include<reg52.h>

bitint_flag;//定时器01S到标志位

unsignedcharvolatileint_count;//定时器0中断次数

unsignedcharvolatileT1count;//定时器1中断次数

unsignedcharcodedofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码值0123456789

unsignedlongsum;//1S内脉冲总个数

unsignedcharled[6];//LED显示缓存

///////////////软件延时/////////////

voiddelay(unsignedintcnt)

{

while(--cnt);

}

///定时器0初始化

voidinit_t0(void)

{

TMOD=(TMOD&0xF0)||0x01;//定时器0工作于方式1

TH0=(65536-50000)/256;//定时50ms

TL0=(65535-50000)%256;

}

//定时器1初始化

voidinit_t1(void)

{

TMOD=(TMOD&0x0F)|0x50;//timer1forcount

TH1=0x00;

TL1=0x00;

}

//显示

voiddisp(void)

{

unsignedchari;

for(i=0;i<6;i++)

{

P0=dofly[(led[i])];//取显示数据

P2=5-i;//取段码

delay(100);//扫描间隙延时,根据单片机调整,延时1ms即可

}

}

///////////////////////////////////////////////////////

voidmain(void)

{

EA=1;//开总中断

init_t0();//初始化定时器

init_t1();

TR0=1;//定时器开始工作

TR1=1;

ET0=1;//开T0中断

while(1)

{

if(int_flag==1)

{

int_flag=0;

sum=TL1+TH1*256+T1count*65536;//计算1秒内的脉冲个数

//以下将数据格式化,转成LED可显示的BCD码

led[0]=sum%10;//最低位

sum=sum/10;

led[1]=sum%10;//第二位

sum=sum/10;

led[2]=sum%10;

sum=sum/10;

led[3]=sum%10;

sum=sum/10;

led[4]=sum%10;

led[5]=sum/10;

int_count=0x00;

T1count=0;

TH1=0x00;

TL1=0x00;

TR1=1;

}

disp();

}

}

//定时器0中断服务程序

voidint_t0(void)interrupt1

{

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

int_count++;

if(int_count==20)

{

TR1=0;

int_flag=1;

int_count=0x00;

}

}

//定时器1中断服务程序

voidint_t1(void)interrupt3

{

T1count++;

}

别说你的设计要求用汇编啊!!!

不过既然是课程设计,我这个只是给你参考,你自己一定要弄懂,变成自己的。我实测过,程序没问题,但用到你的硬件上可能需要改一下,因为你的硬件数码管不一定和我的硬件接法一样,但整体思路我都给你了。

阅读全文

与单片机flagt1相关的资料

热点内容
打孔式文件夹怎么装视频 浏览:27
php怎么学比较好 浏览:379
python中关于函数调用 浏览:362
debian系统命令行如何排序 浏览:407
车压缩机保修几年 浏览:307
linux同步脚本 浏览:664
福建新唐集成硬件加密 浏览:943
空调压缩机被破坏 浏览:105
现在学php怎么样 浏览:90
linuxchttp下载 浏览:770
大数据虚拟机云服务器 浏览:57
java与嵌入式开发 浏览:20
minios如何搭建文件服务器 浏览:1000
华为为啥有些压缩包解压不开 浏览:563
oracle可以编译存储吗 浏览:475
机械男和女程序员创业 浏览:799
自己怎么制作软件app 浏览:214
javajson字符串转java对象 浏览:230
必修一数学PDF 浏览:775
javascriptphpjsp 浏览:811