预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共82页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微控制器系统设计与应用实验1.KEIL使用步骤2.单片机开发板使用方法,烧录程序步骤3.K1按下,8个流水灯从上到下逐个点亮,若K1断开,8个流水灯从下到上逐个点亮,然后依次循环 #include<reg51.H>//包含AT89X52.H头文件 sbitk1=P3^4; unsignedcharcodesz1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; voidDelay(unsignedintt) { unsignedinti,j; for(i=0;i<t;i++) {for(j=0;j<120;j++);} } voidmain() {unsignedcharm; while(1) { if(k1==0) {for(m=0;m<8;m++) {P1=sz1[m]; Delay(200);} } else {for(m=0;m<8;m++) {P1=sz1[7-m]; Delay(200);} } } } #include<AT89X52.H>//包含AT89X52.H头文件 #include<intrins.H> sbitk1=P3^4; voidDelay(unsignedintt) { unsignedinti,j; for(i=0;i<t;i++) {for(j=0;j<120;j++);} } voidmain(void) { P1=0xfe; while(1) { if(k1==0) {P1=_crol_(P1,1); Delay(200);} else {P1=_cror_(P1,1); Delay(200);} } } 1.LED数码管简介 (1)结构、工作原理 由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。 表十六进制数及空白字符与P的显示段码(3)LED数码管的显示方式 a.静态LED显示器电路 数码管的COM端接不变的高/低电平,每位数码管的a~g和h端与一个8位的I/O相连。 要在某一位数码管上显示字符时,只要从对应的I/O口输出其显示代码即可 特点为:数码管恒定地亮,显示某个数值,直到显示字符改变为止 适用场合:由于太占据I/O线,所以用于1个或较少数码管显示的场合。 b.动态LED显示器电路 每个数码管的COM端和不同的I/O口相连,每位数码管的a~g和h端接在一起,与一个8位的I/O相连。 要在某一位数码管上显示字符时,首先和该数码管COM端相连的I/O口有效,然后从对应的I/O口输出其显示代码即可 特点为:数码管轮流点亮 适用场合:由于可以节省I/O线,所以用于多个数码管显示的场合。2.应用 例1:设计电路,程序,使1位数码管(共阳)依次显示0~F,每个数字的显示时间是1s. 电路: 程序清单: #include<REG51.h> unsignedcharcodesz1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e} ; voiddelay(unsignedinta) { unsignedchari; while(a--) { for(i=0;i<120;i++); } } voidmain() { unsignedcharj; while(1) { for(j=0;j<16;j++) {P2=sz1[j]; delay(1000); } } } 看仿真效果例2:用开关控制LED显示 设计电路程序,用8个开关作为输入,8个发光二极管作为输出,显示8位开关的二进制数。 #include<reg51.h> voiddelay(unsignedinta) { unsignedchari; while(a--) { for(i=0;i<120;i++); } } voidmain() { unsignedcharm; while(1) {m=P2; P1=m; delay(1000); } } 例3:用开关控制数码管显示 设计电路和程序,用开关作为输入元件,用数码管显示4位开关的二进制数。(例如4个开关都闭合,则4个开关状态0000,则数码管显示0。以此类推) 程序清单: #include<REG51.h> unsignedcharcodesz1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83