当前位置: 首页 > news >正文

做名片最好的网站怎样开发手机网站

做名片最好的网站,怎样开发手机网站,wordpress phpcms,网站怎么做联系我们页面/*----------------------------------------------- 内容#xff1a;如计算器输入数据形式相同 从右至左 使用行列扫描方法 中断方式可以有效提供cpu工作效率#xff0c;在有按键动作时才扫描#xff0c;平时不进行扫描工作 -------------------------------------…/*----------------------------------------------- 内容如计算器输入数据形式相同 从右至左 使用行列扫描方法         中断方式可以有效提供cpu工作效率在有按键动作时才扫描平时不进行扫描工作 ------------------------------------------------*/ #includereg52.h //包含头文件一般情况不需要改动头文件包含特殊功能寄存器的定义 #define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 #define KeyPort  P1 sbit LATCH1P2^2;//定义锁存使能端口 段锁存 sbit LATCH2P2^3;//                 位锁存 bit KeyPressFlag;//定义按键标志位 unsigned char code dofly_DuanMa[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,                                        0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F unsigned char code dofly_WeiMa[]{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码 unsigned char TempData[8]; //存储显示值的全局变量 void DelayUs2x(unsigned char t);//us级延时函数声明  void DelayMs(unsigned char t); //ms级延时 void Display(unsigned char FirstBit,unsigned char Num);//数码管显示函数 unsigned char KeyScan(void);//键盘扫描 unsigned char KeyPro(void); void Init_Timer0(void);//定时器初始化 void Init_INT0(void);  //外部中断0初始化和 /*------------------------------------------------                     主函数 ------------------------------------------------*/ void main (void) { unsigned char num,i,j;                   unsigned char temp[8]; Init_Timer0(); Init_INT0(); while (1)         //主循环   {   KeyPort0xf0;// 赋值用于中断检测  if(KeyPressFlag1)  {   KeyPressFlag0;  //按键标志清零以便下次检测   numKeyPro();       if(num!0xff)    {     if(i8)       {        temp[i]dofly_DuanMa[num];        for(j0;ji;j)           TempData[7-ij]temp[j];        }     i;     if(i9)//多出一个按键输入为了清屏 原本应该为8       {       i0;       for(j0;j8;j)//清屏          TempData[j]0;        }      }     }      } } /*------------------------------------------------  uS延时函数含有输入参数 unsigned char t无返回值  unsigned char 是定义无符号字符变量其值的范围是  0~255 这里使用晶振12M精确延时请使用汇编,大致延时  长度如下 Ttx25 uS  ------------------------------------------------*/ void DelayUs2x(unsigned char t) {     while(--t); } /*------------------------------------------------  mS延时函数含有输入参数 unsigned char t无返回值  unsigned char 是定义无符号字符变量其值的范围是  0~255 这里使用晶振12M精确延时请使用汇编 ------------------------------------------------*/ void DelayMs(unsigned char t) {        while(t--)  {      //大致延时1mS      DelayUs2x(245);      DelayUs2x(245);  } } /*------------------------------------------------  显示函数用于动态扫描数码管  输入参数 FirstBit 表示需要显示的第一位如赋值2表示从第三个数码管开始显示  如输入0表示从第一个显示。  Num表示需要显示的位数如需要显示99两位数值则该值输入2 ------------------------------------------------*/ void Display(unsigned char FirstBit,unsigned char Num) {       static unsigned char i0;        DataPort0;   //清空数据防止有交替重影        LATCH11;     //段锁存        LATCH10; DataPortdofly_WeiMa[iFirstBit]; //取位码         LATCH21;     //位锁存        LATCH20; DataPortTempData[i]; //取显示数据段码        LATCH11;     //段锁存        LATCH10;                i;        if(iNum)           i0; } /*------------------------------------------------                     定时器初始化子程序 ------------------------------------------------*/ void Init_Timer0(void) {  TMOD | 0x01;      //使用模式116位定时器使用|符号可以在使用多个定时器时不受影响               //TH00x00;          //给定初值  //TL00x00;  EA1;            //总中断打开  ET01;           //定时器中断打开  TR01;           //定时器开关打开 } /*------------------------------------------------                  定时器中断子程序 ------------------------------------------------*/ void Timer0_isr(void) interrupt 1  {  TH0(65536-2000)/256;          //重新赋值 2ms  TL0(65536-2000)%256;    Display(0,8);       // 调用数码管扫描 } /*------------------------------------------------ 按键扫描函数返回扫描键值 ------------------------------------------------*/ unsigned char KeyScan(void)  //键盘扫描函数使用行列逐级扫描法 {  unsigned char Val;  KeyPort0xf0;//高四位置高低四位拉低  if(KeyPort!0xf0)//表示有按键按下    {     DelayMs(10);  //去抖     if(KeyPort!0xf0)       {           //表示有按键按下         KeyPort0xfe; //检测第一行         if(KeyPort!0xfe)               {               ValKeyPort0xf0;                 Val0x0e;                 while(KeyPort!0xfe);               DelayMs(10); //去抖               while(KeyPort!0xfe);                return Val;             }         KeyPort0xfd; //检测第二行         if(KeyPort!0xfd)               {               ValKeyPort0xf0;                 Val0x0d;                 while(KeyPort!0xfd);               DelayMs(10); //去抖               while(KeyPort!0xfd);                return Val;             }         KeyPort0xfb; //检测第三行         if(KeyPort!0xfb)               {               ValKeyPort0xf0;                 Val0x0b;                 while(KeyPort!0xfb);               DelayMs(10); //去抖               while(KeyPort!0xfb);                return Val;             }         KeyPort0xf7; //检测第四行         if(KeyPort!0xf7)               {               ValKeyPort0xf0;                 Val0x07;                 while(KeyPort!0xf7);               DelayMs(10); //去抖               while(KeyPort!0xf7);                return Val;             }      }    }   return 0xff; } /*------------------------------------------------ 按键值处理函数返回扫键值 ------------------------------------------------*/ unsigned char KeyPro(void) {  switch(KeyScan())  {   case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值   case 0x7d:return 1;break;//1   case 0x7b:return 2;break;//2   case 0x77:return 3;break;//3   case 0xbe:return 4;break;//4   case 0xbd:return 5;break;//5   case 0xbb:return 6;break;//6   case 0xb7:return 7;break;//7   case 0xde:return 8;break;//8   case 0xdd:return 9;break;//9   case 0xdb:return 10;break;//a   case 0xd7:return 11;break;//b   case 0xee:return 12;break;//c   case 0xed:return 13;break;//d   case 0xeb:return 14;break;//e   case 0xe7:return 15;break;//f   default:return 0xff;break;  } } /*------------------------------------------------            外部中断0初始化 ------------------------------------------------*/ void Init_INT0(void) {   EA1;          //全局中断开   EX01;         //外部中断0开   IT01;         //边沿触发 } /*------------------------------------------------                  外部中断0程序 ------------------------------------------------*/ void ISR_INT0(void) interrupt 0  {  KeyPressFlag1;   //表明按键有动作可以进行按键扫描 }
http://www.yutouwan.com/news/393352/

相关文章:

  • 推广方案格式模板范文常德自助建站seo
  • 太原网站建设技术托管泰安网站建设哪家快
  • 网站被spider重复抓取能24小时挂机的云电脑
  • 网站换空间商什么意思seo在线诊断工具
  • 模板网站怎么做才美观原型样网站
  • 旅游区网站建设wordpress建立博客
  • 那个相亲网站做的比较好网站企划设计公司
  • 建站吧北京好的做网站的公司哪家好
  • 套版网站怎么做高端ppt模板
  • 网站seo文章wordpress减压完成后
  • 旗县政务网站建设工作方案网站建设推广视频
  • 网站编程需要什么语言南通网站排名公司
  • 脚本语言在网站开发中东莞网站建设平台
  • 哪些彩票网站可做代理赚钱第一次做怎么放进去视频网站
  • 南京本地网站建站广水网站定制
  • 百度推广需要备案的网站吗qq是谁的公司开发的
  • 怎么搭建局域网网站内蒙古最新消息今天
  • 重庆建设网站哪家专业中企动力科技股份有限公司南通分公司
  • 装饰网站的业务员都是怎么做的优化营商环境 提升服务效能
  • 移动端网站如何优化渠道推广策略
  • 网站开发需要学mvc吗滨湖区建设局网站
  • 怎么看一个网站有没有做301黑龙江学校网站建设
  • 怎样增加网站的权重企业服务app
  • 网站开发人员要求一年的百度指数
  • 列举免费域名注册的网站微网站 前景
  • 诸暨 外贸网站建设网站建设 app开发 小程序
  • 财务管理做的好的门户网站个人介绍微电影网站模板免费下载
  • 如何侵入网站服务器宣传册设计及网站建设
  • 自己做视频网站只能用地址连接电商系统源码公司哪家好
  • 什么网站可以自己做名片seo如何优化图片