发布时间 : 星期三 文章单片机 - 图文更新完毕开始阅读78d3d75683d049649a665890
}
for (i=0;i<=30000;i++); //延时程序 } P0=0xff;
//全亮
for (i=0;i<=30000;i++); //延时程序 }
实验二 数码管实验
一、实验目的
1、 掌握数码管显示原理(静态显示和动态显示)。 2、 掌握数码管显示编程。
二、设计题目
1. 1、实现数字1~9的循环跳变。
2. 在8位数码管上显示0、1、2、3、4、5、6、7
三、实验原理
数码管是一种半导体发光器件,是MCS-51单片机系统中用得非常多的一种输出通设
备,其基本单元是发光二级管。MCS-51单片机系统中最常使用的是8段数码管。
1、数码管显示原理
agfGNDababcdefgdpabcdefgdp+5V
fegbcdpd·edGNDcdp(a)(b)图4-1 数码管内部原理图
四、硬件电路设计参考
1、单位数码管静态显示
单位静态数码管模块电路及排线接口如图4-2所示。该数码管为共阳极数码管。
(1)、连接方法
用8PIN排线将JP3 与JP10 (单片机I/O P0口)连接,如图4-3所示。 (2)、硬件说明
使用单片机的P0口来驱动单位数码管8个LED,单位数码管是共阳极的,发光二极管的阳极接高电平,故赋P0口相应位为低电平时,就可以驱动数码管某段点亮。
图4-2 共阳极数码管接线图
图4-4 8位共阴极数码管接线图
1).实现数字1~9的循环跳变。 #include
tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; main() {
unsigned char i; unsigned int j;
while(1) {
for(i=0;i<10;i++)
{ //循环
P0=tab[i]; //循环查表 for(j=0;j<=50000;j++); //延时 } } }
2).在8位数码管上显示0、1、2、3、4、5、6、7 #include
table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07}; void delay() //延时函数 {
int i,j;
for(i=500;i>0;i--)
for(j=100;j>0;j--); } void main() {
int a;
P1=0xf7; //片选 while(1) {