用中断模块和定时模块,当然还要加主程序和头文件,输出口定义等,看你的硬件连接方式,下面是延时子程序和一个中断程序,可类别编程。
/*延时子程序*/求大神在keil上帮写51单片机C语言程序
\/\/第一个实验:\/\/假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7\/\/假设K1按键在P2.3引脚#include<reg51.h>#include<intrins.h>sbit k1=P2^3;\/\/假设K1按键在P2.3引脚void main(){P0=0xfe;while(1){if(k1==0){while(k1==0);P0=_crol_(P0,1);}}}...
c51流水灯单片机程序
\/\/假设有8个LED通过上拉电阻接到P1端口, 高电平灯灭,低电平灯亮,逐个循环点亮 include <reg51.h> unsigned char data tab1[9]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};void delay(){ unsigned int data n;for (n=0;n<40000;n++){ ;} } void main(){ unsigned char...
C51单片机程序
TH0 = 0xf6;TL0 = 0xff;上两行是定时器\/计数器T0的初值,因为T0是16位的,所以用TH0表示高八位,TL0表示低八位 TH1 = 0xfd;TL1 = 0xfd;T1初值 TMOD = 0x21;定时器\/计数器模式控制寄存器 如图 GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1 GATE=0时,仅由TR0,TR1置位分...
c51单片机c语言交通灯的程序
使用C语言为C51单片机编写交通灯控制程序是完全可行的,通过合理地设置定时器、I\/O端口以及逻辑控制,可以实现交通灯的定时切换和状态显示。接下来,我将详细解释如何为C51单片机使用C语言编写交通灯控制程序。首先,我们需要了解C51单片机的基本结构和资源,包括其I\/O端口、定时器\/计数器等。通常,交通灯系...
试用单片机keil c51写出一条把片内RAM 50H~59H单元清零的程序.
正确程序如下:CLR A MOV R0, #50H LOOP: MOV @R0, A INC R0 CJNE R0, #5AH, LOOP SJMP END
设单片机系统如何编写一个完整的C51程序使P1.6和P1?
设单片机系统编写一个完整的C51程序使P1.6和P1,可以使用正确编码加上解压即可。一、过程:1、TMOD = 0X02;\/\/工作方式寄存器;2、TH0 = 56;\/\/8位的用TH;3、TL0 = 0;\/\/16位跟13位两个都用;4、EA = 1;\/\/开总中断;5、TR0 = 1;\/\/定时器开始计数,return。二、单片机简介:1、...
MCS-51单片机应用实验教程图书目录
1.1 实验系统构成 1.2 实验系统的三种运行模式第2章 2.1 创建KeilC51调试环境 2.2 新建工程项目 2.3 程序文件的编译和链接第3章 3.1 在线调试仿真功能特点 3.2 如何进入调试状态 3.3 调试前的准备工作 3.4 实例应用演示第4章 4.1 脱机Flash运行模式介绍 4.2 存储器配置步骤 ...
如何用C51单片机做出以下程序 “秒表是倒计时,从100秒开始倒计时 用数...
假设P0 P2接数码管,静态驱动,程序如下:include<reg52.h> define uchar unsigned char define uint unsigned int uchar num=100;uchar time=0;\/\/共阴数码管七段码 uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};void Delay1ms(uint i) \/\/1ms延时...
求单片机(c51)外部中断实验的c语言代码或者思路,要求在补充
include<reg51.h>#define uchar unsigned charvoid delay(void){uchar i,j;for(i=0;i<200;i++)for(j=0;j<120;j++);}void ext0() interrupt 0{uchar i;for(i=0;i<8;i++) { P2=0x00; delay(); P2=0xff; delay(); }}main(){uchar i;EX0=1;IT0=1;EA...
跪求单片机c51用汇编语言写的程序,功能为:8只发光二极管依次点亮,从...
void delay_nms(unsigned int n) \/\/延时n ms { n=n+1;while(--n)delay_nus(900); \/\/延时 1ms,同时进行补偿 } void main(){ unsigned int i;while(1){ for(i=8;i>0;i--){ if(i==8)P1=~0x01;\/\/P1_0所接二极管亮,下面依次是P1_1到P1_7(电路连接时二极管一端连P1_...