80C51单片机程序——点亮数码管(一位0-9循环显示)
#include //包含reg52.h头文件
#define uint unsigned int //宏定义uint的数据类型为unsigned int型
#define uchar unsigned char //宏定义uchar的数据类型为unsigned char型
sbit D1=P2^6;
sbit W1=P2^7;
uchar num;
uchar code table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管0-9
void delay(uint z); //声明延时子函数
void main()
{
D1=1; //关闭数码管显示
W1=0; //给锁存器送高电位,打开锁存器
while(1)
{
for(num=0;num<10;num++) //循环10次,0-9显示数字
{
D1=1; //关闭位口
P0=table[num]; //数码管显示数字
D1=0; //打开位口
delay(1000); //延时程序
}
}
}
void delay(uint z) //含参延时子函数
{
uint x,y; //在子函数中定义局部变量x,y
for(x=z;x>0;x--)
for(y=110;y>0;y--); //进入一次嵌套循环
}
关键字:80C51 单片机程序
引用地址:
80C51单片机程序(3)
推荐阅读最新更新时间:2024-03-16 14:47
51单片机16X16点阵上移C语言程序
前面已经分享了,点阵汇编语言,想信大家大部分用C语言较多了,下面我就将16X16点阵上移C语言程序分享出来,希望能帮到需要的朋友!本人此程序有经过实物测试的。并非随意弄出来的。并且有配视频效果,可以点击查看的视频祥见: http://www.tudou.com/programs/view/D0SCJyO4RBQ/ 下面是原理图,请大家祥细看看,不懂的帖子留言! #include reg52.h #define uchar unsigned char #define uint unsigned int #define LINE P0//定义行线IO口,即74HC154控制端 #define shudu 20//字移动的
[单片机]
51单片机程序及调试步骤实战经验
我刚参加工作的时候,用的是stc 51单片机的,51单片机不像stm32那样可以通过st-link在keil上面在线仿真。 有时候出现bug的时候,非常难找问题,要一段一段屏蔽然后测试。 在刚开始接触开发的时候,我非常不习惯用在线仿真,大概是因为没用过。 记得有一次进了一家公司做行车记录仪,用的台产GRAIN的单片机。 那时候基本上没什么资料,就一个dada sheet和demo程序。 在开发之前,老大安排了给我一个任务,就是把这个仿真环境先给搭起来。 相当于是他们原厂没有的东西,让我去搞定,这个芯片是基于Fa626TE core的32位控制器。 网上的资料太少了,光是测试搭建这个环境花了半个多月,最后还没搭建出来。
[单片机]
MCS51单片机的排序程序(ASM源代码)
MCS51单片机的排序程序(ASM源代码) ;内部RAM数据排序程序(升序) ;入口 :R0(起始地址),N(数据个数) ;占用资源:ACC,B,R5,R6,R7 ;堆栈需求:2字节 ;出口 :R0 ISELSORT :MOV R7,N DEC R7 ISST1 :MOV A,R7 MOV R6,A MOV A,R0 MOV R1,A MOV R2,A MOV B,@R1 ISST2 :INC R1 MOV A,@R1 CLR C SUBB A,B JC ISST3 MOV A,R
[单片机]
PIC单片机中的程序设计
P IC 单片机 (Peripheral Interface Controller)是一种用来开发去控制外围设备的 集成电路 (IC)。一种具有分散作用(多任务)功能的CPU。本内容讲述了PIC单片机中的程序设计方面的学习 1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 ORG ——地址定义伪指令 PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为: PIC16C54/55:1FFH PIC16C56:3FFH PIC16C57/58:7FFH 一般来说,PIC单片机的源程序并没有要求统一的格式
[单片机]
PIC单片机的读写93XCXX程序
TITLE R/W EEPROM LIST P = 16C54 ;Serial Eprom interface to PIC16C5X. ;REV 2.0 8/26/92. ; ;Define Equates: ; PIC54 EQU 1FFH ; PAGE ; ORG 0 START goto main ;run test program ; PAGE ; TRUE EQU 1 FALSE EQU 0 S93C46 EQU FALSE S93LC46 EQU FALSE S93C56 EQU FALSE S93LC56 EQU FALSE S93C66 EQ
[单片机]
51单片机对SAA7113初始化和控制的程序
用51单片机对7113初始化和控制 SAA7113的初始化就是对寄存器配置合适的参数,使其能够有符合要求的输出。寄存器配置通过I2C总线来进行,很多可以控制I2C总线的器件都可以作为主器件对7113进行初始化,这里介绍用51单片机初始化7113的例子。 51单片机和7113的硬件连接非常简单,只要把单片机的两个I/O口(如P1.0、P1.0)直接和7113的SCL、SDA管脚相连,再加上上拉电阻即可。 用单片机初始化7113的主要任务是程序的编写,首先要熟悉I2C总线协议,根据I2C总线的原理写出启动、停止、应答信号等的子程序,由子程序再写出发送、接收1个字节的程序,然后根据7113的寄存器操作格式写出读写寄
[单片机]
基于HX1838(HS0038)与STC10F04单片机的红外遥控器的读码程序
//此程序在硬件上测试通过,要弄懂的话就要去看看HT6221的时序图。 //此程序可以将读到的键值,地址码通过串口发送到计算机,上位机可用串口调试助手查看。 ///C51的红外解码程序,可以根据需要自己修改: //////////////////////////// //11.0592Mhz #include reg51.h //根据自己的接线来改 sbit IRIN = P3^2; //红外接收器数据线 sbit led = P3^7; //指示灯 //////////////////////////////////////////// //定义数组IRCOM,分别装解码后得到的数据 //IRCOM 低8位地址码 //IRCO
[单片机]