单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档
51单片机数码管显示实验
实验内容:
编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复。
C语言程序
#include
#define uint unsigned int
void display();
void num();
int i;
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表
void delayms(uint);
void main()
{
while(1)
{
num();
display();
}
}
void display()
{
P2=0xff;//消隐 P0连接段选,P1节位选
P1=0x00;//8个数码管同时显示
P2=table[i];//数码管显示数码0
delayms(1000);//延时5ms
}
void num()
{
if(i<9)
i++;
else
i=0;
}
void delayms(uint x)
{
uint i,j;
for(i=0;i
for(j=0;j<110;j++);
}
汇编语言:
ORG 0000H
LJMP MAIN
ORG 0100H
;P2连接段选,P1节位选
MAIN:MOV P1,#00H ;所有的数码管都显示
MOV R2,#00H ;从0开始显示
LOOP:MOV A,R2 ;为下面的基址加变址寄存器寻址方式做准备
MOV DPTR,#TAB1 ;把数组的首地址赋给DPTR
MOVC A,@A+DPTR ;取数组中的数字
MOV P2,A ;把取得的值送给P0口显示
ACALL DELAY ;延时一会
INC R2 ;为取下一个数加一
CJNE R2,#10,LOOP ;只要数小于10就继续循环显示
MOV R2,#00H ;如果加到10后重新从0开始
LJMP LOOP ;进入循环函数
;******************************************
TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H; 数组
DB 92H,82H,0F8H,80H,90H
RET
;******************************************
DELAY:MOV R3,#3;延时函数
DE1:MOV R4,#0FFH
DE2:MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,DE2
DJNZ R3,DE1
RET
;*************************************************
END
(3)编写程序学习数码管的动态显示,让8只数码管从从左往右显示1、2、3……8。
C语言程序:
#include
#define uint unsigned int
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表
void delayms(uint x);
void zuoyi();
void main()
{
int i;
while(1)
{
P1=0xfe;
for(i=0;i<8;i++)
{
P2=table[i];
delayms(3);
zuoyi();
}
}
}
void delayms(uint x)
{
uint i,j;
for(i=0;i
for(j=0;j<110;j++);
}
void zuoyi()
{
int a;
a=~P1;
a=a<<1;
P1=~a;
}
汇编语言:
;数码管动态显示
ORG 0000H
LJMP MAIN
ORG 0100H
;P0连接段选,P1节位选
MAIN
单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档相关推荐
- c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告-20210415215509.pdf-原创力文档...
中南大学 程序设计基础实践报告 题 目 设计一个和 window 系统类似的小游戏 [挖地雷] 学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程 1301 班 完成时间 2014.1 ...
- c语言单源最短路径问题实验报告,数据结构课程设计最短路径问题实验报告-20210320182652.docx-原创力文档...
IMB standardization office[IMB 5AB- IMBK 08- IMB 2C] IMB standardization office[IMB 5AB- IMBK 08- IM ...
- 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...
现功能,1L水由1KW电炉加热,要求水温在一定范围内人工设定,并能随着环境温度改变自动调节,以维持设定的温度不变. 矩阵键盘输入设定温度,LCD1602显示温度值,VB上位机绘制温度曲线 /***** ...
- 单片机c语言100例 的案例,51单片机C语言100个实例 [推荐下载】
51单片机c语言100例 ,墙裂推荐下载 附上目录 ************************************************************函数的使用和熟悉****** ...
- 单片机c语言程序开发洗衣机,基于51单片机洗衣机控制器的设计(附程序)☆
基于51单片机洗衣机控制器的设计(附程序)☆(任务书,开题报告,中期检查表,毕业论文21000字,程序) 摘 要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器.在工业生 ...
- 单片机c语言计数器测速,基于51单片机的光电编码器测速.doc
课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器.在位置控制系统中,由于电机既可能正转,也可能反转,所 ...
- 51单片机c语言的秒表设计,基于51单片机的计时器设计
描述 用51单片机的定时器0的方式1计时,结果用4位数码管显示,分别为秒十位,秒个位,毫秒百位,毫秒十位.所以总共最大计时为1分钟,精确到了0.01s.同时,加上3个独立按键,分别控制秒表的清零,暂停 ...
- 51单片机c语言编程的头文件,51单片机编程的头文件reg51.h详解
我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对 ...
- 蓄水池问题c语言编程,基于51单片机的蓄水池自动控制系统(35页)-原创力文档...
广西民族大学 第二次综合课程设计报告 论文题目 : 基于 51 单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业 : 自动化 年 级 : 2007 级 学 号 : 1072630101 ...
最新文章
- 通知 | 2017年清华-青岛数据科学研究院“RONG”奖学金即将开放申请
- Sublime Text 新建文件的模版插件: SublimeTmpl
- HTTP错误 500.23-Internal Server Error 检测到在集成的托管管道模式下不适用的ASP.NET设置...
- U3D 通过预置对象实现手动创建精灵
- 有关OVM社区产品经理对OVM的29个问题解答!
- 用idea编写代码作为生产者,Kafka接收其【持续】发来的广告日志信息【小案例】(二)
- HTTP的长链接和短链接说明
- C#趣味程序---真分数序列
- 【CodeForces - 761D 】Dasha and Very Difficult Problem (构造,思维)
- VirtualBox 上安装Debian 后分辨率设置
- Ubuntu下apt-get命令详解(转)
- 【Flink】FLink 提交报错 instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are
- PHP之内置web服务器
- 基础算法(三)---二分排序(Java)
- Win10系统重装过程(一键装机)
- 2017计算机考研参考书目推荐,2017年中山大学085211计算机技术考研参考书目推荐...
- domino-notes-Designer- java环境配置
- 基于 MySQL 排它锁实现分布式可重入锁解决方案
- GPFS 之 Quorum 深入解析
- Ubuntu16 上安装 福昕PDF阅读器(Foxit PDF Reader)