/
名称 : Delay()
功能 : 延时,延时时间为 10ms del。这是通过软件延时,有一定误差。
输入 : del
输出 : 无
/
void Delay(uint del)
{
uint i,j;
for(i=0; i<del; i++)
for(j=0; j<1827; j++) //这个是通过软件仿真得出的数
;
}
这个是晶振为12mhz的单片机延时10ms的程序,你只要在这个基础上减小一倍就行了,当然至于具体值还是要调试下的。
这是一个秒表,有按键实现 启动、暂停核清零功能。
#include <reg51H>
sbit P3_5 =P3^5;
unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};
unsigned char second;
unsigned char keycnt;
unsigned int tcnt;
void main(void)
{
unsigned char i,j;
TMOD=0x02;
ET0=1;
EA=1;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
while(1)
{
if(P3_5==0)
{
for(i=20;i>0;i--)
for(j=248;j>0;j--);
if(P3_5==0)
{
keycnt++;
switch(keycnt)
{
case 1:
TH0=0x06;
TL0=0x06;
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
keycnt=0;
second=0;
P1=dispcode[second/10];
P2=dispcode[second%10];
break;
}
while(P3_5==0);
}
}
}
}
void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==4000)
{
tcnt=0;
second++;
if(second==100)
{
second=0;
}
P1=dispcode[second/10];
P2=dispcode[second%10];
}
}
1、首先编写一段简单的代码,如下图所示,编辑一段简单的输出语句。
2、依次点击菜单栏内的编译→组建→执行,确保这段成率可以正确执行。
3、从运行结果来看程序正确,没有问题,然后找到exe可执行程序看其是否有闪退现象。
4、将C语言代码保存后打开代码所在的文件夹,该文件夹内有一个名为Debug的文件夹,exe可执行程序就在此文件夹内。
5、打开Debug文件夹内的exe可执行程序,未出现闪退,可清晰查看到程序运行结果。
#pragma warning(disable:4996)
#include<iostream>
#include<timeh>
#include<conioh>
using namespace std;
int main()
{
int t0=time(0),t1;
time_t it=new time_t;
int n = 0;
while (1)
{
t1 = time(0);
if (t1 - t0 == 1)
{
time(it);
cout << ctime(it) << endl;
cout << n++ << endl;
}
t0 = t1;
if (kbhit())break;
}
return 0;
}
以上就是关于周期为6MHZ的单片机延时10秒的子程序的怎么编全部的内容,包括:周期为6MHZ的单片机延时10秒的子程序的怎么编、用单片机的汇编语言编写一个(十秒秒表 的编程)、如何在一段C语言程序中添加一段计时中断程序 使程序在运行10秒后跳转至下一段程序!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)