
#include<reg52h>
#define uchar unsigned char
#define duan P0 //共阴数码管的阳极端口
sbit wei1=P2^4; //共阴数码管的阳极端口,我的是四位的,下面语句中把1,2关了,只用到了3,4。
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管0~9的十六进制码
void delay(uchar xms) //软件延时
{
int i,j;
for(i=xms;i>0;i--)
for(j=125;j>0;j--);
}
void display(int tens,ones) //用来显示数字的函数,显示此时的十位,个位。
{
int i,j;
for(i=2;i>0;i--)//通过改变i和j的值,可以改变计时时间。
for(j=50;j>0;j--)
{
wei3=1;//扫描原理。
wei4=0;
duan=num[tens];
delay(5);
wei3=0;
wei4=1;
duan=num[ones];
delay(5);
}
}
void main()
{
int onesp=0,tensp=0;//定义ones place和tens place。
wei1=0;
wei2=0;
while(1)
{
for(tensp=9;tensp>=0;tensp--)
{
for(onesp=9;onesp>=0;onesp--)
{
display(tensp,onesp);//调用函数显示此时的数字。
}
}
}
}
这个程序测试可用,从99计数到00。只用了比较简单知识,不涉及定时器和系统中断。不懂可以追问。
首先在KEIL窗口中找到一个小榔头一样的图标叫做Options of Target,点击它,跳出一个窗口。在这个窗口中写入你的单片机所使用晶振的频率,然后在OUTPut那个选项页中将“Creat Hex”打钩选中。这样你再编译程序(编译按键就在小榔头的左边第二个两个箭头的那个)就会产生一个HEX文件,所谓的程序下载也就是把这个HEX文件烧制到单片机中。
其次,是把HEX文件烧到单片机中。这里的方法很多,取决于你的单片机板子上用的下载口了。
一般最常看到的是使用单片机板上的串口下载,那么首先需要一条USB转串口线。然后你的电脑需要安装一个烧制软件叫做STC_ISP_V483。这个网上很多,可以下载一个然后安装。打开后你首先需要做的就是选择单片机型号,然后点击“打开程序文件”选择相应的HEX文件,然后选择COM口,这个可以在电脑的设备管理器中找到,你的串口线插到电脑上以后就会有的,当然你需要先安装串口线的驱动(USB转串口线插到电脑上后会自动跳出来要求安装),这个也可以在网上找到。在最高波特率那里你可以选择9600,不过我的是115200,也可以用我就懒得动它了。然后点击“DownLoad”就可以了,下面的窗口里出现“请给MCU上电”的信息时你再把板子的电源键打开,就可以了。
其实你可以去网上找一份郭天祥的《十天学会单片机》的视频资料,照着上面的学就可以了。基本上可以知道个大概。
以上就是关于keil写程序 单片机二位数码管显示倒计时全部的内容,包括:keil写程序 单片机二位数码管显示倒计时、(1/3)求,如何用Keil软件编写一个在STC89C52单片机上运行的有声的倒计时程序要求:1.时间可以自己设...、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)