小程序控制单片机
“小程序控制单片机”相关的资料有哪些?“小程序控制单片机”相关的范文有哪些?怎么写?下面是小编为您精心整理的“小程序控制单片机”相关范文大全或资料大全,欢迎大家分享。
单片机入门小程序
51单片机的学习是一个动手实践的过程,很多同学在学习单片机的初期总是觉得很难,无法入门。本人根据自己的学习经历,结合自己刚学习单片机的体验,写下几个小的程序供大家参考,如能掌握如下几个小程序的思想与精髓,那么就已经探踏入了单片机的大门。学习单片机的核心就是动手实践,当我们通过自己的努力把第一个LED点亮时,我们就会信心加倍,之后的学习就会变得轻松!希望对大家有所帮助。
一个LED闪烁 #include 两个led闪烁 #include #define uchar unsigned char #define uint unsigned int void delay(); void main() { while(1) { P0=0xaa; delay(); P0=0x00; delay(); } } void dela
任务2 单片机控制单灯的亮灭
单灯的亮灭
任务1-2 任务
单片机控制单灯的亮灭
单灯的亮灭
一、任务目标1.单片机内部结构的了解 单片机内部结构的了解
2.单片机输入输出口的基本应用 单片机输入输出口的基本应用 3.伟福软件的作用及作用方法 伟福软件的作用及作用方法 4.编程器的作用及作用方法 编程器的作用及作用方法5.单片机基本连接电路 单片机基本连接电路
单灯的亮灭
二、任务要求
任务描述: 任务描述:用单片机控制一个 LED发光二极管不断闪烁。 LED发光二极管不断闪烁。 发光二极管不断闪烁
单灯的亮灭
三、相关知识(一)单片机的基本连线89C51管脚图
单灯的亮灭
三、相关知识(二)硬件电路
单灯的亮灭
89C51管脚 89C51管脚
1、电源:单片机使用的是5V电源,其中正极接40引脚VCC, 电源:单片机使用的是5V电源,其中正极接40引脚VCC, 5V电源 40引脚VCC 负极( 负极(地)接20引脚GND。 20引脚GND。 引脚GND 2、振蒎电路:在单片机内部已集成了振荡器,使用晶体振 振蒎电路:在单片机内部已集成了振荡器, 荡器, 18、19脚 只要买来晶振,电容,连上就可以了, 荡器,接18、19脚。只要买来晶振,电容,连上就可以了, 按图1接上即可。 按图1接上即可。 3、
单片机控制红绿灯程序
单片机控制红绿灯程序
LED EQU P1
ORG 0000H
LJMP START
ORG 0030H
START: MOV SP,#60H
LCALL
LCALL
LCALL
LCALL
LJMP S1 S2 S3 S4 START ;南北绿灯,东西红灯 ;南北黄灯,东西红灯 ;南北红灯,东西绿灯 ;南北红灯,东西绿灯闪转黄灯
S1: MOV A,#0CH ;南北绿灯,东西红灯 MOV LED,A
S2:
MOV R2,#100 ;延时10秒 LCALL DELAY RET MOV A,#14H ;南北灯黄灯,东西红灯 MOV LED,A MOV R2,#20 LCALL DELAY RET ;延时2秒
S3: MOV A,#21H ;南北红灯,东西绿灯 MOV LED,A
MOV R2,#100 LCALL DELAY RET ;延时10秒
S4: MOV A,#22H ;南北红灯,东西黄
单片机程序题库
1.实现片外数据存储器数据传送(2000H)-->(2100H) MOV DPTR,#2000H MOVX A,@DPTR MOV DPTR,#2100H MOVX @DPTR,A
2.查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H 单元中,要求查表求Y,存入片内RAM 21H单元。 1) ORG 1000H
SQU: MOV DPTR,#3000H ;确定表首地址(基地址) MOV A,20H ;取 X(变量:偏移量) MOVC A,@A+DPTR ;查表求Y=X2 MOV 21H,A ;保存Y(结果) RET ;子程序结束 … ;其它程序段 ORG 3000H ;常数表格首地址 TAB: DB 00,01,04,09,… ,225 ;平方表 END 2)ORG 1000H ;程序起始地址
SQU: MOV A,20H ;取X ADD A,#3 ;修正偏移量 MOVC A,@A+PC ;查表求Y=X2 (PC=1005H) MOV
单片机程序题
3.14 已知M1和M2单元中存放有两个16位无符号数X1和X2(低8位在前,高8位在后)试写出X1+X2并把结果放在M1和M1+1单元(低8位在M1单元,高8位在M1+1单元)的程序。设两数之和不会超过16位。 程序如下:
ORG 0500H ;X1的起始地址送R0 MOV R0,#M1 ;X2的起始地址R1 MOV R1,#M2 ;A?X1的低8位
MOV A,@R0 ;A?X1低8位+X2低8位,形成Cy ADD A ,@R1 ;和的低8位存M1 MOV @R0,A ;修改地址指针R0 INC R0 ;修改地址指针R1 INC R1 ;A<--X1高8位
MOV A, @R0 ;A<--X1高8位+X2高8位+Cy ADDC A,@R1 ;和的高8位存M1+1 MOV @R0,A ;停机 SJMP $ END
3.19 已知两个8位无符号乘数分别放在30H和31H单元中,试编出令它们相乘并把积的低8位放入32H单元中、积的高8位放入33H单元的程序。 程序如下: ORG 0100H
MOV R0 ,#30H ;R0<--第一个乘数地址 MOV A ,@R0 ;A<--第一个乘数 INC R0 ;修改乘数地址 MOV B,@R0 ;B<--第二个乘数 MUL AB ;A X B =BA
INC R0 ;修改目标单元地址 MOV @R0,A ;积的低8位--.>32H INC R0
单片机程序题
3.14 已知M1和M2单元中存放有两个16位无符号数X1和X2(低8位在前,高8位在后)试写出X1+X2并把结果放在M1和M1+1单元(低8位在M1单元,高8位在M1+1单元)的程序。设两数之和不会超过16位。 程序如下:
ORG 0500H ;X1的起始地址送R0 MOV R0,#M1 ;X2的起始地址R1 MOV R1,#M2 ;A?X1的低8位
MOV A,@R0 ;A?X1低8位+X2低8位,形成Cy ADD A ,@R1 ;和的低8位存M1 MOV @R0,A ;修改地址指针R0 INC R0 ;修改地址指针R1 INC R1 ;A<--X1高8位
MOV A, @R0 ;A<--X1高8位+X2高8位+Cy ADDC A,@R1 ;和的高8位存M1+1 MOV @R0,A ;停机 SJMP $ END
3.19 已知两个8位无符号乘数分别放在30H和31H单元中,试编出令它们相乘并把积的低8位放入32H单元中、积的高8位放入33H单元的程序。 程序如下: ORG 0100H
MOV R0 ,#30H ;R0<--第一个乘数地址 MOV A ,@R0 ;A<--第一个乘数 INC R0 ;修改乘数地址 MOV B,@R0 ;B<--第二个乘数 MUL AB ;A X B =BA
INC R0 ;修改目标单元地址 MOV @R0,A ;积的低8位--.>32H INC R0
单片机控制交通灯程序代码
#include<reg51.h>
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P32=P3^2;
unsigned int a1=0,a2=0,a3=0,time1=20,time2=3,flag=0;
unsigned char code led[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; main(void)
{
TMOD=0x11;
TH0=0xee;
TL0=0x00;
TR0=1;
ET0=1;
EA=1;
a1=time1;
while(1);
}
void timer0() interrupt 1
{
static unsigned char Bit=0,i=0,huan=0,deng=0,m=0,n=0,l=0,k=1;
TH0=0xee;
TL0=0x00;
if(flag==0||flag==3)
if(a1>0 && a2==0
单片机程序源代码
第二章
任务一:闪烁广告灯的设计
利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uchar unsigned char sbit LED1=P0^0; sbit LED2=P0^1; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main() { while(1) { LED1=0; LED2=1; delayms(500); LED1=1; LED2=0; delayms(500); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->D0,重复循环。 #include
单片机程序源代码
.
第二章
任务一:闪烁广告灯的设计
利用89c51单片机的端口控制两个LED(D0和D1),编写程序,实现两个LED互闪。 #include #define uint unsigned int #define uchar unsigned char sbit LED1=P0^0; sbit LED2=P0^1; void delayms(uint ms) { uint i; while(ms--) { for(i=0;i<120;i++); } } void main() { while(1) { LED1=0; LED2=1; delayms(500); LED1=1; LED2=0; delayms(500); } } 任务二:流水广告灯的设计 利用89c51单片机的端口控制8个LED(D0~D7)循环点亮,刚开始时D0点亮,延时片刻后,接着D1点亮,然后依次点亮D2->D3->D4->D5 ->D6->D7 ,然后再点亮D7->D6->D5->D4 ->D3->D2->D1->D0,重复循环。 #include #define uint unsigned int #
单片机实验参考程序
1. 存储块赋值
将内部RAM30H-40H的所有单元内容全部赋值为33H,并将这些单元的内容传递到片外RAM的0040H-0050H单元中。
要求:(1)简化精炼原程序;(2)有规律地修改内部RAM30H-40H中的数据
ORG LJMP ORG Start: MOV MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV INC MOV
MOV MOV MOV Main: MOV MOVX INC INC DJNZ MAIN2: LJMP END
00H Start
100H R0, #30H @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0 @R0, #33H R0, #30H
DPTR, #40H R7, #10H