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

C51单片机程序实例

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

你的这个中断函数里面有个wihle(1).那么进入中断函数后,一直会在wihle(1)里面死循环。

TH0 = 0xf6; //T0定时器初值 -2303 TL0 = 0xff; TH1 = 0xfd; //波特率9600 TL1 = 0xfd; TMOD = 0x21; //定时器0位模式1,定时器2位模式2 PCON = 0x00; //波特率不加倍 WDCON = 0x00; //清狗 SCON = 0x50; //串口0工作与模式1,启动接收 SCON1 = ...

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

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点亮 } }

1、这是51系列单片机的晶振和复位电路。 2、C1,C2,X1构成晶振电路,X1是晶振,两个电容为负载电容,作用是容易启震和减小频率的温漂。 3、R1,C3组成复位电路,跟晶振没有关系。

#include"reg52.h" sbit Buzz = P1^6; sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; bit flagoff = 0; bit flagon = 1; bit Startinterval = 0; bit flag1s = 0; bit flag2s,flag3s,flag4s...

#include#include "intrins.h"#include "absacc.h"#define uchar unsigned charuchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};//0-9unsigned char disdat[4]="2018";sbit key=P3^0;void ext0() interrupt...

一.基于51的点阵屏显示:(1)点亮第一个8*8点阵: 1.首先在Proteus下选择我们需要的元件,AT89C51、74LS138、MATRIX-8*8-GREEN(在这里使用绿色的点阵)。在Proteus 6.9中8*8的点阵总共有四种颜色,分别为MATRIX-8*8-GREEN,MATRIX-8*8-BLUE,MAT...

用keil调试下,就可以知道结果了。 感觉楼主的分析是正确的…… 只是不清楚这个程序段的意图是对数组a[]的全部数据进行排序还是仅对其前9个数据排序。 printf("the unsorted numbers:\n"); for(i=0;i

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