编写一个完整的单片机C51程序

2022-12-30 22:30

编写一个完整的单片机C51程序,包括主程序和中断服务程序,采用单片机的定时器0工作方式1,定时器定时5ms,晶振频率12MHz,LED灯连接P1.0口,让LED灯1s钟闪烁一次。
3个回答
你正在考试吧?这个简单,就是考虑定时器中断一次时间不够,一次定时5ms,要中断200次,然后P1.0取反
#include
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
uchar T_Count = 0;
void main()
{
TMOD = 0x01;
TH0 = (65535-5000)/256;
TL0 = (65535-5000)%256;
IE = 0x82;
TR0 = 1;
while(1);
}

void LED_Flash() interrupt 1
{
TH0 = (65535-5000)/256;
TL0 = (65535-5000)%256;
if(++T_Count == 100)
{
LED = !LED;
T_Count = 0;
}
}
#include
sbit led=P1^0; //单片机管脚位声明
void main()
{
TMOD=0x01; //定时器TO工作在方式1
TH0=(65536-5000)/256; //装初值,12M晶振 1为1us; 5000为5000us=5ms;
TL0=(65536-5000)%256;
EA =1; //开总中断
ET0=1; //开定时器TO中断
TR0=1; //启动定时器
P1=0; //初始化P1口
while(1) ; //程序在这里等待中断发生
}
void T0_time() interrupt 1
{
unsigned char num;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
num++;
if(num==100) //0.5S (1s闪烁1次==0.5S亮0.5S灭)
{
num=0;
led=~led; //led状态取反
}
}
相关问答
编写c51程序?
1个回答2023-01-05 07:06
你可以和程序员面对面探讨一下
单片机c51!速求大神,跪求这个任务的详细程序怎么编啊,单片机c51
2个回答2023-01-02 14:50
可以吧原理图发给我我帮你弄,
世界第一编程高手编的程序
1个回答2024-03-08 13:56
与硬件不兼容
程序编程怎么写?
1个回答2024-02-01 22:25
1、步骤如下:编写设计环境,良好的编程习惯和风格不仅可以使程序代码更易于读懂和修改,更重要的是,它可以使程序的结构更加合理,有助于提高程序的执行效率。 2、[驱动器]:\\?\\程序\\英语1\...
全文
编程序。。。。
1个回答2024-03-02 15:06
#include int gcd(int x,int y) { int r; while((r=x%y)!=0) { x=y; y=r; ...
全文
编一个小程序
1个回答2024-03-02 06:44
MATLAB程序 for i=281:999 disp(sprintf('IP%d=172.18.%d.*',i,i-84)) end 999还可以改到更大 输出 IP281=172.18...
全文
编写程序,
1个回答2024-03-31 21:09
不管小写英文,还是大写英文,都对应一个ACSSII码。我看你的,除了X→A,Y→B,Z→C;前面都是有规律的。A的ACSSII码 65,65+3=68(D的ACSSII码)。最后三个单独判断。虽然这个...
全文
这个程序咋编
1个回答2024-03-30 04:21
#include int main() {int a[11][11]={0},i,j;  a[1][1]=1;  for(i=2;i<11;i++) for(j=1;j<=i;j++) ...
全文
如何编程序
1个回答2024-05-16 18:35
重在理解,你先去学Basic,再去学C,更快。不过,我建议你去学Pascal,这个更好理解,O(∩_∩)O~
编写一个小程序
1个回答2024-03-08 00:39
1.创建两个文本框分别用来输入起始年份和结束年份,再建一个按钮,并给它添加响应函数; 2.在响应函数中,编写代码。首先,将两个文本框的字符类型的文本转化成整形格式,保存在两个整形变量中;其次,调用fo...
全文
热门问答