51单片机50个实例代码
用51单片机写一个程序:用定时中断T0T1控制4个数码管显示1...
一般来说,每一个数码管点亮时间为1~2ms就可以了。如果某一个数码管点亮时间过长,则这个数码管的亮度过高,如果某一个数码管的点亮时间过短,则这个数码管的亮度过暗。因此我们必须设计一个定时器来定时点亮数码管,在该例子中,定时器的定时为5ms,即每个数码管点亮时间为5ms,扫描四个数码管的时间...
51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例
sbit GO_OUT =P3^5; \/\/需要检测的引脚 sbit LED =P3^4; \/\/显示led 引脚为低时候亮 void main() \/\/主程序 { while(1) \/\/主循环 { if(GO_OUT==0){ LED=1; \/\/引脚为低 led不亮 } else LED=0; \/\/ 否则led点亮 } } ...
51单片机的某个I\/O口 输出一组脉冲,求例子程序,谢谢了
\/\/ 定时时间 可以修改 TL0=(65536-2000)%256; EA=1; ET0=1; TR0=1; while(1) { \/\/ 开关调整 PWM 占空比 if(key10==0 && tt1==0) {tt1 = 1; Set_PWM0++;} \/\/ K1、K2 if(key11==0 && tt1==0) {tt1 = 1; Set_PWM0--;} if(key10==1 && key11==1)...
想利用51单片机做一个延迟30S的控制,求大神帮忙设计一下!
Y=1; \/\/反之35S之后的话开关闭合 while(X0==0); \/\/如果红外线开关35S以后关了 delay50ms(600); \/\/延迟开关30S之后 Y0=0; \/\/开路,设计完成 while(P2^1==0); \/\/这里给你设计了个等待复位按钮,方便你复位 goto start;L1:Y0=0; \/\/如果红外线开关在35S之内关了,与51...
求教一个简单单片机程序
问题:1,void main(void){ led = 0x00;\/\/这是要让led亮还是灭?如果是灭,那么led是共阴连接,52单片机的准双向IO根本没有那么大的拉电流去驱动led,除非你用的是能将IO配置成推挽输出的52单片机,否则led将一直是灭着的。open = 1;\/\/这是P0口的,有内部上拉或外部上拉电阻吗?如果没有,...
用汇编语言编写一个51单片机程序,实现电子秒表功能
;=== ;功能:本程序实现P0口的对数码管动态显示秒表的分、秒、1\/100秒;; 计时程序由中断服务程序实现,采用定时计数器T0工作方式1;; P2口实现对数码管的片选功能 ;=== ;===初始化===
求51单片机一个开关控制一盏灯c程序
include "reg51.h" \/\/ 试试 sbit k1 = P1^0;\/\/按键1 开关 sbit p6 = P1^6; \/\/输出1 灯 bit t1, t2;void main(void){ while(1){ if(k1==0 && t1==0) {t1=1; p6=~p6;} if(k1==1 ) {t1=0;} }} \/\/ 下面是四个开关,两个灯 的实例 http:\/\/zhidao.bai...
单片机请各位大侠解答
(1)振荡周期:也称时钟周期,是指为单片机提供时钟信号的振荡源的周期,一般实验板上为11.0592MHZ,12MHZ和24MHZ用的也比较多。(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。(3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内...
求写一个单片机控制LED灯程序
\/\/ 判断K1 、K2其中一个按键按下 if((KEY1_Exitm == 0) || (KEY2_Exitm == 0)){ Delay_1ms(5);if((KEY1_Exitm == 0) || (KEY2_Exitm == 0)){ \/\/ 按键按下点亮LED GPIO_Exio1 = 0;GPIO_Exio2 = 0;GPIO_Exio3 = 0;GPIO_Exio4 = 0;} while((KEY1_Exitm ==...
利用51单片机,6个数码管设计一秒表。要求:刚开始时间为12点(120000...
define uint unsigned int define show P2 code table[16]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 };code tuble[9]= { 0x00,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe };uchar t_h,t_m,t_s;bit KEY=1;sbit wela=...
邓州市壮筋回答: ORG 0000H MOV A, #01H LOOP:MOV P1, A ACALL DEL RL A SJMP LOOP DEL: MOV R0,#10 T1: MOV R1,#250 T3: MOV R2,#200 DJNZ R2,$ DJNZ R1,T3 DJNZ R0,T1 RET END
万阁17726074193问: 谁能提供一个51单片机程序吗??
邓州市壮筋回答:org 000h mov r1,50h mov r2,30h xunhuan:mov a,@r1 cjne a,#0aah,loop mov 51h,#01h loop:dec r1 djnz r2,xunhuan mov 51,#00h end
万阁17726074193问: 求写一段简单的51单片机C语言代码 - ?
邓州市壮筋回答: 单片机检测高电平.1、可以用外部中断,外接激光传感器最好用普通光耦隔离一下,顺便改成低电平触发单片机中断.然后用位移指令移动跑马灯,然后计数值加1. 2、可以用循环检测,也建议用光耦隔离先,在MAIN里面不断检测P00,发现变化后,再次检测以便确认,确认后同样位移一下跑马灯,然后计数加1.
万阁17726074193问: 求一些单片机课程设计实例,要用c语言编程的 - ?
邓州市壮筋回答: 一些?简单的只会用89C51,也许我们LED灯连接I/O口不一样,你要看看你单片机.①精确定时0.5S亮#include void main() { TMOD=0x20; TH1=0x06; TL1=...
万阁17726074193问: 求一段51单片机的程序 - ?
邓州市壮筋回答: sbit p1=p1^0; sbit p2=p1^0; void main() { aa=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1; //开总中断ET0=1; //开启T0中断TR0=1; //启动T0定时器 , 以上是用定时器0.if(aa==216000) //10800*50=3个小时...
万阁17726074193问: 基于51单片机的c语言程序 - ?
邓州市壮筋回答: #include <reg51.h> void delayms(unsigned char ms) { unsigned int i; i=1200; while(ms--) { while(i--) ; } } void main() { if(KEY1) LED1=1; else LED1=0;// if(!KEY2) { delayms(10); if(!KEY2) { LED2=!LED2; } while(!KEY2 ) ; } }
万阁17726074193问: 51单片机C语言程序?
邓州市壮筋回答: //你原来的b2,b2都是死循环,这是不行的,只有主函数才可以死循环. //你的主函数结构也有问题. //为你增加了一个按键检测的函数. //下列程序通过了实验测试. //b1输出的周期大约0.9s. //b2输出的周期大约0.6s. //K为触动开关,reg为红...
万阁17726074193问: 单片机编程 - ?
邓州市壮筋回答: 51单片机: MOV DPTR, #4000H MOV R0, #60H MOV R2, #16 MOV R3, #0 LP: MOVX A, @DPTR MOV @R0, A ADD A, R3 MOV R3, A INC DPTR INC R0 DJNZ R2, LP MOV DPTR, #5000H MOVX @DPTR, A END
万阁17726074193问: 51单片机简单程序?
邓州市壮筋回答: MOV DPTR,#1000H MOV B,#20 L1:MOVX A,@DPTR SETB ACC.7 MOVX @DPTR,A INC DPTR DJNZ B,L1
万阁17726074193问: 51单片机 串口程序 - ?
邓州市壮筋回答: 首先要确定串口调试助手的波特率也是2400,并接收要以十六进制数显示,最好发送也以十六进制数发送.程序没有问题,是因为发送的num1在0-255之间,而用串口调试助手的字符显示方式不是全部都能显示出来的,有一部分就是显示乱码的,而显示十六进制数就没有问题了.