1、#include <reg52.h>
2、#define uchar unsigned char
3、#define uint unsigned int
4、sbit LED = P0^0uchar T_Count = 0void main(){TMOD = 0x01TH0 = (65535-50000)/256TL0 = (65535-50000)%256IE = 0x82TR0 = 1while(1)}
5、void LED_Flash() interrupt 1{TH0 = (65535-50000)/256TL0 = (65535-50000)%256if(++T_Count == 20){LED = !LEDT_Count = 0}}
6、这个程序是1秒钟LED灯会亮与灭显示。
1单片机,拥有两个定时器,用来中断计数,分别是T0和T1。而52单片机和51单片机的定时器是一样的,只是52比51多了一个定时器/计数器T2,它们的设置都大同小异。
需要延时的时候,在程序中带参数调用DelayMs,参数传递给DelayMs的形式参数“unsigned char t”,t就有了数值。
“while(t--);”执行t个循环后退出,t个循环用了若干时间。
连续执行两条“DelayUs2x(245)”,原理同第1,2步,也用了若干时间。
以上执行用的时间就是你延时的时间。
问题点:程序有失误,DelayMs里的while(t--)后边不能有分号,这样t个循环才能作用到下边的两条“DelayUs2x(245)”
第一步打开桌面的开始菜单键在下面程序和文件搜索里面打“cmd”然后会出现如下的窗口界面。
请点击输入图片描述
然后在最上面大家会看到一个cmd程序你右键它以管理员的身份运行如下图红色标头所指,也可以搜索完成后直接回车都能打开这个“cmd”程序。
请点击输入图片描述
打开后大家会看到如下窗口在窗口内输入“shutdown”(注意在输入这个单词以前一定先打一个空格用空格把它和前面的程序隔开,小编以前犯过这样的错误导致延时关机失败)输入完成后敲击回车。
请点击输入图片描述
敲击回车后大家就会看到如下窗口这个意思就是程序告诉你各个指定命令的作用大家可以详细看一下如果不想这么麻烦小编会告诉大家直接的运行程序你输入后回车运行就行了,在这里我们主要用的就是“s(关闭计算机的意思)”“t(延时关闭的时间)”这两个程序命令。
请点击输入图片描述
大家要注意的是如果你想马上关闭计算机而不是延时关闭一定要用到这个命令“f”这个意思是强制关闭你的电脑运行程序的命令,你平时关闭电脑是如果留意的话就会看到在你关闭计算机的时候会显示一个窗口显示正在强制关闭程序,因为计算机在关闭的时候一定要关闭你的程序后在关机比如什么qq啊浏览器啊文件夹啊游戏啊这些都是如果关机前你没关它会帮你关闭的,用cmd马上关机一定要用到“f”命令,如果你要延时关闭就不用啦。
请点击输入图片描述
以上说的话对你都有很大的作用你必须了解尤其是那个“f”命令要懂得什么时候使用。那么下面就是小编告诉大家的延时/定时关机计算机的程序“
空格,shutdown,空格,-,s,空格,-,t,空格,30
”(逗号是用来隔断作用的你输入的时候不用打)这句话的意思就是计算机将要在30秒内关闭后面的30就是30秒的意思单位是秒,如果用cmd马上关闭计算机shutdown的后面要加上“空格,-,f”这时t的那个程序语句就不用写了
回车就OK啦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)