knrt.net
当前位置:首页 >> C51单片机编程 >>

C51单片机编程

LED BIT P1.0 KEY BIT P1.4 SPEAKER BIT P1.7 LOWCNT EQU 30H ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV LOWCNT,#0 LOOP: JB KEY,LOOP1 SETB LED JNB KEY,$ INC LOWCNT MOV A,LOWCNT CJNE A,#8,LOOP1 MOV LOWCNT,#0 LCALL FMQ SJMP LOOP LOOP1: ...

#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;...

#include#define uchar unsigned charuchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; //0到9uchar num,cnt,disn;uchar keyval,disk;uchar led[]={1,2,3,4};void dealdat(uchar a){led[0]=0;led[1]=0;led[2]=0;led[3]=0...

设单片机系统编写一个完整的C51程序使P1.6和P1,可以使用正确编码加上解压即可。 一、过程: 1、TMOD = 0X02;//工作方式寄存器; 2、TH0 = 56;//8位的用TH; 3、TL0 = 0;//16位跟13位两个都用; 4、EA = 1;//开总中断; 5、TR0 = 1;//定时器开始...

1;MOV DPTR,#2230HMOVX A,@DPTR2;MOV R0,30HMOV DPTR,#2000HLOOP: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR CJNE R0,#41H,LOOP RET3;MOV DPTR,#1000HMOV R0,#30HLOOP: MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR CJNE R0,#51H,LOOP RET

设闪光灯LED在P1^0,阳极接电源正极,阴极接单片机引脚,即单片机引脚给低电平时LED亮,设亮灭一次的时间是间隔是0.1S(可更改)程序如下 #include #define uint unsigned int #define uchar unsigned char sbit LED=P1^0; void delay(uint xms)...

#include#define uchar unsigned charuchar dat;void t0isr() interrupt 1{dat++;P0=dat;}main(){TMOD=0x06;TH0=0xff;TL0=0xff;TR0=1;ET0=1;EA=1;while(1);}

你可以在 百度 上搜索 “单片机播放音乐”,你会得到很多答案,也能比较深刻解决这个问题。 单片机发声音,是编程 在 接有 蜂鸣器 的端口 间歇的输出某种频率的脉冲。 单片机在端口输出频率脉冲的最简单的方法 是使用 延时。 void beep() { unsign...

sbit P10=P1^0 sbit 是位定义,51单片机是8位的,他有P0,P1,P2,P3这么几几组端口口,每组是8位的,P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P1.3, 如果我们要操作其中一组中的某个特定的位,要怎么办呢? 那就是要用到sbit这个东西 ,sbit P10=P1...

单片机没有这样的程序!!! 先不说 D1 = 1是点亮,还是点暗是否正确。 就算是对的你也看不到现象,你这程序跑到哪去了,只有写编译器的人知道。 改为: #include sbit D1=P1^0; void main() { D1 = 1; while(1); }

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com