STC12C5204ADPLEDPWater-lamp.zip

  • PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 14KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 22
    下载次数
  • 2011-07-26 09:06
    上传日期
STC12C5204AD单片机上流水灯演示程序,即8个二极管依次点亮,又依次灭掉,演示了程序的执行过程
STC12C5204ADPLEDPWater-lamp.zip
  • 【实验03】LED流水灯
  • LED.Uv2
    2.1KB
  • LED.M51
    4.8KB
  • STC12C5410AD.H
    4KB
  • LED.hex
    614B
  • LED_Opt.Bak
    841B
  • LED.LST
    7.4KB
  • LED_Uv2.Bak
    1.7KB
  • LED.plg
    2.6KB
  • LED
    3.1KB
  • LED.Opt
    847B
  • LED.c
    3.9KB
  • LED.lnp
    38B
  • LED.OBJ
    3.2KB
内容介绍
#include <reg52.h> //调用头文件,可以去KEIL软件下去查找at89x52单片机的头文件 sbit hc138_a=P2^0; //定义IO口,具体可以去查看原理图 sbit hc138_b=P3^3; //定义IO口,具体可以去查看原理图 sbit hc138_c=P3^4; //定义IO口,具体可以去查看原理图 sbit hc138_en=P2^4; //定义IO口,具体可以去查看原理图 sbit V1=P1^0; //定义IO口,具体可以去查看原理图 sbit V2=P1^1; //定义IO口,具体可以去查看原理图 sbit V3=P1^2; //定义IO口,具体可以去查看原理图 sbit V4=P1^3; //定义IO口,具体可以去查看原理图 sbit V5=P1^4; //定义IO口,具体可以去查看原理图 sbit V6=P1^5; //定义IO口,具体可以去查看原理图 sbit V7=P1^6; //定义IO口,具体可以去查看原理图 sbit V8=P2^1; //定义IO口,具体可以去查看原理图 unsigned char code liushui_tab[64]= { 0x01, //0b00000001, //0 0x02, //0b00000010, 0x04, //0b00000100, 0x08, //0b00001000, 0x10, //0b00010000, 0x20, //0b00100000, 0x40, //0b01000000, 0x80, //0b10000000, 0xc0, //0b11000000, 0xe0, //0b11100000, 0xf0, //0b11110000, //10 0xf8, //0b11111000, 0xfc, //0b11111100, 0xfe, //0b11111110, 0xff, //0b11111111, 0xfe, //0b11111110, 0xfc, //0b11111100, 0xf8, //0b11111000, 0xf0, //0b11110000, 0xe0, //0b11100000, 0xc0, //0b11000000, //20 0x80, //0b10000000, 0x80, //0b10000000, 0x40, //0b01000000, 0x20, //0b00100000, 0x10, //0b00010000, 0x08, //0b00001000, 0x04, //0b00000100, 0x02, //0b00000010, 0x01, //0b00000001, 0x02, //0b00000010, //30 0x04, //0b00000100, 0x08, //0b00001000, 0x10, //0b00010000, 0x20, //0b00100000, 0x40, //0b01000000, 0x80, //0b10000000, 0x40, //0b01000000, 0x20, //0b00100000, 0x10, //0b00010000, 0x08, //0b00001000, //40 0x04, //0b00000100, 0x02, //0b00000010, 0x01, //0b00000001, 0x03, //0b00000011, 0x06, //0b00000110, 0x0c, //0b00001100, 0x18, //0b00011000, 0x30, //0b00110000, 0x60, //0b01100000, 0xc0, //0b11000000, //50 0x00, //0b00000000, 0x01, //0b00000001, 0x05, //0b00000101, 0x15, //0b00010101, 0x55, //0b01010101, 0x57, //0b01010111, 0x5f, //0b01011111, 0x7f, //0b01111111, 0xff, //0b11111111, 0x00, //0b00000000, //60 0xaa, //0b10101010, 0x55, //0b01010101, 0x00, //0b00000000, //63 }; sbit B_0=B^0;//方便位操作 sbit B_1=B^1; sbit B_2=B^2; sbit B_3=B^3; sbit B_4=B^4; sbit B_5=B^5; sbit B_6=B^6; sbit B_7=B^7; unsigned char ycon1; unsigned int ycon; //--------------------------------------- //名称: 主函数 //作者:cby //网站:宁波单片机开发网 //网址:www.nbdpj.com //邮箱:nbdpj@nbdpj.com //日期:20100901 //----------------------------------------- void main() { hc138_a=1; //将74HC138的A=B=C=1,以选通Y7为低电平,此处如果不明白 hc138_b=1; //请查看相关于74HC138的资料,此时数码管被关闭 hc138_c=1; //发光二极管被选通 hc138_en=1; //74HC138有效 V1=0; //关掉V1 V2=0; //关掉V2 V3=0; //关掉V3 V4=0; //关掉V4 V5=0; //关掉V5 V6=0; //关掉V6 V7=0; //关掉V7 V8=0; //关掉V8 while(1) { if(++ycon>40000) //延时40000个软件周期,非精确定时 { ycon=0; //清零以备下次重新计数 ycon1++; //40000个周期后,运行一步 ycon1&=0x3f; //因为本参数涉及到查表程序,表格长度为64(0-63),本语句限制最大范围为63 B=liushui_tab[ycon1]; //将表格内容送入8位数据总线 V1=B_0; //liushui_tab[]表格中的0位对应V1 V2=B_1; //liushui_tab[]表格中的1位对应V2 V3=B_2; //liushui_tab[]表格中的2位对应V3 V4=B_3; //liushui_tab[]表格中的3位对应V4 V5=B_4; //liushui_tab[]表格中的4位对应V5 V6=B_5; //liushui_tab[]表格中的5位对应V6 V7=B_6; //liushui_tab[]表格中的6位对应V7 V8=B_7; //liushui_tab[]表格中的7位对应V8 } } }
评论
    相关推荐