| 注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 | 
|  | 
| 首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 | 
| 选择分类:当前分类——学单片机   相关联或者相类似的文章:    常用电机与控制—步进电机(601) 比基尼(601) 电感的总结(600) 5. 广告灯(利用取表方式)(600) 直流稳压电源电路 (600) 步进电机程序控制(600) 电容容量的数字标注解释(599) 破俗套(599) 如何正确使用电烙铁(598) 一款应急灯电路(598) 用单片机制作测速仪 (598) 四个DS1820温度读取C源程序 (598) 中国知识产权第一案内幕(598) 最大的谎话 (598) 猫头鹰和它的孩子(597) 电子元器件使用须知(三)(597) 数字集成电路4060引脚图及特点(596) 铅酸蓄电池的维护技术(596) 上拉(或者下拉)电阻(596) 滤波(596) 首页 前页 后页 尾页  本站推荐: | 5.                   广告灯(利用取表方式) 1.      实验任务  利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。 2.      电路原理图    图4.5.1 3.      系统板上硬件连线    把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。 4.      程序设计内容  在用表格进行程序设计的时候,要用以下的指令来完成 (1).  利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。 (2).  利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。 因此,只要把控制码建成一个表,而利用MOVC 工,@A+DPTR做取码的操作,就可方便地处理一些复杂的控制动作,取表过程如下图所示: 5.        程序框图 图4.5.2 6.      汇编源程序                              ORG 0  START:               MOV DPTR,#TABLE  LOOP:                CLR A                              MOVC A,@A+DPTR                              CJNE A,#01H,LOOP1                              JMP START  LOOP1:              MOV P1,A                             MOV R3,#20                              LCALL DELAY                              INC DPTR                             JMP LOOP  DELAY:              MOV R4,#20  D1:                     MOV R5,#248                              DJNZ R5,$                              DJNZ R4,D1                             DJNZ R3,DELAY                              RET  TABLE:              DB 0FEH,0FDH,0FBH,0F7H                              DB 0EFH,0DFH,0BFH,07FH                             DB 0FEH,0FDH,0FBH,0F7H                              DB 0EFH,0DFH,0BFH,07FH                                            DB 07FH,0BFH,0DFH,0EFH                              DB 0F7H,0FBH,0FDH,0FEH                              DB 07FH,0BFH,0DFH,0EFH                              DB 0F7H,0FBH,0FDH,0FEH                              DB 00H, 0FFH,00H, 0FFH                              DB 01H                              END  7.      C语言源程序  #include <AT89X51.H>  unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,                              0xef,0xdf,0xbf,0x7f,                              0xfe,0xfd,0xfb,0xf7,                              0xef,0xdf,0xbf,0x7f,                              0x7f,0xbf,0xdf,0xef,                              0xf7,0xfb,0xfd,0xfe,                              0x7f,0xbf,0xdf,0xef,                              0xf7,0xfb,0xfd,0xfe,                              0x00,0xff,0x00,0xff,                              0x01};  unsigned char i;  void delay(void)  {    unsigned char m,n,s;    for(m=20;m>0;m--)    for(n=20;n>0;n--)    for(s=248;s>0;s--);  }  void main(void)  {    while(1)      {        if(table[i]!=0x01)          {            P1=table[i];            i++;            delay();          }          else            {              i=0;            }      }  }  1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。  2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! | 
| 本站协议 |
 版权信息 | 
 关于我们 | 
 本站地图 | 
 营业执照 | 
 发票说明 | 
 付款方式 | 
 联系方式 深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389 |