想学单片机的来
2012年05月24日 点击:
编辑: hxjlm
/*********************************************************************************************
* 程序名 * 数码管亮
* 公司名 * 石家庄同行科技
* 编写人 * 何新建 QQ:494902952
* 日 期 * 2012年4月26日
* 支 持 * STC12LE5608AD 外部12MHZ晶振
* 接 口 * 3位共阳极数码管
* 说 明 * P2口2.7\2.6\2.5位采用推挽输出,P1口标准I/O口,练习板实验通过
*********************************************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar k,m;
uint j;
sfr P2M0=0x96;
sfr P2M1=0x95;
#define PA P2//定义位选赋予P2口
#define PB P1//定义段选赋予P1口
uchar code DSY_CODE[]=
{0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
//定义段码表0-9
void Delay_ms(uint x)//毫秒延时子程序
{
uint t;
while(x--)
{
for(t=120;t>0;t--);
}
}
void main()
{
P2M0=0xe0;//P2口定义推挽输出
P2M1=0x00;
m=0x01;//m=0x01;//定义无符号字符型变量并给数码管位选赐初值0000 0001=01
while(1)
{
for(j=0;j<3;j++){
m=_cror_(m,1);//m是数码管位,循环一次右移1位1000 0000
PA=m;//移位后的值赋予PA
for(k=0;k<10;k++)//k是数码管8段(0-9)10个数,循环10次
{
PB=DSY_CODE[k];//循环一次,调用一个段码
Delay_ms(500);//延时2次
}
if(PA==0x20){//PA=0x80时,只有P2.5位亮,并有1个警告
m=0x01;
}
}
}
}
* 程序名 * 数码管亮
* 公司名 * 石家庄同行科技
* 编写人 * 何新建 QQ:494902952
* 日 期 * 2012年4月26日
* 支 持 * STC12LE5608AD 外部12MHZ晶振
* 接 口 * 3位共阳极数码管
* 说 明 * P2口2.7\2.6\2.5位采用推挽输出,P1口标准I/O口,练习板实验通过
*********************************************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar k,m;
uint j;
sfr P2M0=0x96;
sfr P2M1=0x95;
#define PA P2//定义位选赋予P2口
#define PB P1//定义段选赋予P1口
uchar code DSY_CODE[]=
{0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
//定义段码表0-9
void Delay_ms(uint x)//毫秒延时子程序
{
uint t;
while(x--)
{
for(t=120;t>0;t--);
}
}
void main()
{
P2M0=0xe0;//P2口定义推挽输出
P2M1=0x00;
m=0x01;//m=0x01;//定义无符号字符型变量并给数码管位选赐初值0000 0001=01
while(1)
{
for(j=0;j<3;j++){
m=_cror_(m,1);//m是数码管位,循环一次右移1位1000 0000
PA=m;//移位后的值赋予PA
for(k=0;k<10;k++)//k是数码管8段(0-9)10个数,循环10次
{
PB=DSY_CODE[k];//循环一次,调用一个段码
Delay_ms(500);//延时2次
}
if(PA==0x20){//PA=0x80时,只有P2.5位亮,并有1个警告
m=0x01;
}
}
}
}
相关文章
- · 歪理邪说话单片机入门 2012-06-28
- · 红外线学习型无线遥控器,可控制8路家用电器,懒人的好帮手,电路图己上传 2013-02-21
- · 89c2051遥控测码程序及原理图 2012-12-21
- · MCU解密全攻略 2012-09-03
- · 分享电磁炉单片机HMS87C1202A程序 2012-10-06
- · PL2303在WIN8上的驱动[已更新下载地址] 2012-07-13
- · STC89C516RD+制作多功能闹钟遥控测码 2012-06-04
- · 经典的51单片机教程 例说51单片机C语言版 PDF下载 2012-06-16
- · 三菱FX系列PLC自学视频教程 2015-10-08
- · KEIL如何突破2K限制 2013-06-20