‘壹’ 单片机代码
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j;
P0=0xaa;
delay(250);
P0=0x55;
delay(250);
for(i=0;i<10;i++)
{
P0=0xfe;
for(j=0;j<8;j++)
{
P0=_crol_(P0,1);
delay(250);
}
}
while(1);
}
‘贰’ 什么是单片机源程序
首先,源程序就是通过用某种编程语言编码后,利用编译器编译成相应的可执行文件。
那么单片机的源程序就是,利用keil将写好的c代码文件编译成可执行的.HEX文件。
‘叁’ 求51单片机语言源程序
//程序功能:LED、蜂鸣器开0.5秒,关0.5秒
#include <REG52.H>
//工作频率12M,所以定时器脉冲频率为1M=1000000
#define F 12
#define ONE_SECOND (F*1000000/12) // 每秒脉冲数
#define TIMES 50 // 50ms中断一次
#define oTH0 (65536-ONE_SECOND*TIMES/1000) / 256
#define oTL0 (65536-ONE_SECOND/TIMES/1000) % 256
sbit LED=P1^0; //接LED
sbit BUZZER=P1^1; //接蜂鸣器
void Init_timer0(void)
{
//初始化定时器0
TMOD |= 0x1; // timer 0, mode 1, 16-bit
TH0 = oTH0;
TL0 = oTL0;
TR0 = 1;
ET0 = 1;
EA = 1;
}
void main(void)
{
Init_timer0();
while(1);
}
void timer0() interrupt 1 using 2
{
static unsigned char Ct; //中断次数计数器
Ct++;
if(Ct == 10)
{
//中断10次,开始0.5秒钟后,LED、蜂鸣器开
LED = 1;
BUZZER =1;
}
if(Ct == 20)
{
//中断20次,开始1秒钟后LED、蜂鸣器关
LED = 0;
BUZZER =0;
Ct =0 ; //计数清0,重新开始一个开关周期
}
TH0 = oTH0;
TL0 = oTL0;
}
‘肆’ 单片机代码
void delay(unsigned int x) //延时 x ms
{
unsigned int i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
延时1ms 即为使x=1;
这程序延时约1ms(x=1时用keil测出来约 0.96831272ms,近似1ms),用C语言很难做到准确的1ms。注意晶振为11.0592MHZ的时候用~
满意请采纳,不懂继续问
‘伍’ 单片机上的源代码和固件有什么区别
源代码就是人能看懂的程序代码,通常说写程序也就是写的源代码;固件是源码经过编译过后生成的目标程序,是二进制代码,一般为bin或hex格式,烧录进单片机能够被识别和执行。
‘陆’ 如何修改单片机的源程序
使用编程软件如(keil,iar软件)编写和修改程序。选择产生hex文件后,利用程序下载软件flashmagic等(单片机不同而不同)下载程序到单片机。单片机上电运行即可!找本单片机书籍,应该就有很详细的介绍!
‘柒’ 单片机源程序
这个简单,但是你没有按键的啊,你上面的按键是单片机复位用的啊,你必须在单片机P1.1端口在接个按键,我帮你写过程序啊!
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
**/
#include "REG52.H"
sbit LED1_INPUT = P1^0;
sbit KEY1_INTPT = P3^4;
void Delay_1ms(unsigned int Cnt)
{
unsigned int x, y;
for(x = Cnt; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
while(1)
{
if(KEY1_INTPT == 0)
{
Delay_1ms(10);
if(KEY1_INTPT == 0)
{
LED1_INPUT = ~LED1_INPUT;
}
while(KEY1_INTPT == 0);
}
}
}
‘捌’ 源码怎么下载到单片机
不是什么源码都可以写入任何一个型号单片机的,你需要根据不同型号的单片机设置建立不同的工程文件,设置好单片机的具体型号。根据源码生成编译后的hex或者obj等对应的格式文件才能使用仿真器或编程器写入。
‘玖’ 请教单片机代码,
#include
#define uchar unsigned char
uchar dis,led,cnt=0,run=0;
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbit key=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=10)
{
cnt=0;
P0=_crol_(P0,1);
run++;
run%=8;
if(run==0 && dis>0)dis--;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
P0=table[dis];
if(key==0)
{
while(key==0);
dis++;
}
}
}
‘拾’ 急求80c51单片机源码和电路图!!!!
二. 交通灯的设计程序框图
开始
↓
四个路口红灯亮
↓
东西绿灯亮,南北红灯亮,延时
↓
东西黄灯闪烁,南北红灯亮,延时
↓
东西红灯亮,南北绿灯亮,延时
↓
东西红灯亮,南北黄灯闪烁,延时
↓
三.交通灯程序的主程序
程序如下:
ORG 0000H
SJMP A3 ;四盏红灯亮
A3:MOV SP,#60H
MOV A, #24H
MOV P1, A
CLR P3.4
CLR P3.3
SETB P3.5
SETB P3.2 ;显示5秒
MOV R4,#05H
LOOP1:MOV R2,#03H
LCALL xian ;调显示子程序
DJNZ R4,LOOP1
MOV R4,#00H
MOV R2,#03H
LCALL xian
;东西绿灯亮,南北红灯亮
A2:MOV A,#0CH
CLR P3.5
MOV P1,A
SETB P3.3
CLR P3.4
SETB P3.2 ;显示20秒
MOV R4,#14H
LOOP2 :MOV R2,#03H
LCALL xian ;调显示子程序
DJNZ R4,LOOP2
MOV R4,#00H
MOV R2,#03H
LCALL xian ;调显示子程序
SETB P3.2
CLR P3.3 ; 显示5秒
MOV R4 ,#05H ;东西黄灯亮,南北红灯亮
LOOP9:MOV A,#14H
MOV P1 ,A
CLR P3.5
SETB P3.4
MOV R2,#02H
LCALL xian ;调显示子程序
MOV R2,#01H ;定时
LCALL DELAY ;调延时子程序
;南北红灯亮
MOV A ,#04H
MOV P1 ,A
CLR P3.4
CLR P3.5
MOV R2,#01H ;定时
LCALL DELAY ;调延时子程序
DJNZ R4,LOOP9
MOV R4,#00H
MOV R2,#03H
LCALL xian ;调显示子程序
;东西红灯亮,南北绿灯亮
A8: MOV A, #61H
MOV P1,A
CLR P3.4
CLR P3.3
CLR P3.2
SETB P3.5 ; 显示20秒
MOV R4,#14H
LOOP3: MOV R2,#03H
LCALL xian ;调显示子程序
DJNZ R4,LOOP3
MOV R4,#00H
MOV R2,#03H
LCALL xian ;调显示子程序
SETB P3.5
MOV R4 ,#05H
LOOP10: MOV R2,#02H
LCALL xian ;调显示子程序
; 东西红灯亮,南北黄灯亮
A0:MOV A,#0A2H
MOV P1,A
CLR P3.4
CLR P3.3
CLR P3.2
MOV R2,#01H ;定时
LCALL DELAY ;调延时子程序
; 东西红灯亮
MOV A,#20H
MOV P1,A
CLR P3.4
CLR P3.3
CLR P3.2
MOV R2,#01H ;定时
LCALL DELAY ;调延时子程序
DJNZ R4,LOOP10
MOV R4,#00H
MOV R2,#03H
LCALL xian ;调显示子程序
LJMP A2 ;延时子程序
DELAY:PUSH 2
PUSH 1
PUSH 0
DELAY1: MOV 1,#00H
DELAY2:MOV 0,#0B2H
DJNZ 0,$
DJNZ 1,DELAY2
DJNZ 2,DELAY1
POP 0
POP 1
POP 2
DJNZ R2 ,DELAY
RET
;显示子程序
xian: MOV A,R4
MOV B,#10
DIV AB
MOV R6,A
MOV DPTR,#TAB
MOV A,B
MOVC A,@A+DPTR
MOV SBUF,A
MOV R7,#0FH
H55S:DJNZ R7,H55S
MOV A,R6
MOVC A,@A+DPTR
MOV SBUF,A
MOV R7,#0FH
H55S1:DJNZ R7,H55S1
LCALL DELAY
RET
TAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h
DB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh
END