| 注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 | 
|  | 
| 首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 | 
| 选择分类:当前分类——学单片机   相关联或者相类似的文章:    电子线路中的噪声(511) BA1404调频立体声发射芯片的原理与应用(511) BA1404/1404F 调频立体声发射电路(511) 用PROTEL DXP电路板设计的一般原则(510) 健忘(510) 10. 00-99计数器(509) 电热毯自动保护恒温器(509) 利用TL431作大功率可调稳压电源(509) 电子元器件基本常识:常见的液晶显示器(509) 业余条件下制作电路板七种方法(509) 也能称为“公益事业”(508) 什么是闪存和缓存(508) 数字化的优点(508) BH1417的高保真锁相环调频立体声发射模块(508) 婚前婚后(508) 半导体二极管的基本知识(508) 怎样用多个开关控制一盏灯(507) 实用电工速算口诀集(507) 浅谈干簧管的应用(506) 密封铅酸蓄电池充电器设计实例(506) 首页 前页 后页 尾页  本站推荐: | 10.            00-99计数器 1. 实验任务  利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如图19所示。  2. 电路原理图   图4.10.1 3. 系统板上硬件连线  (1.       把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2.       把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;  (3.       把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;  4. 程序设计内容  (1.       单片机对按键的识别的过程处理 (2.       单片机对正确识别的按键进行计数,计数满时,又从零开始计数;  (3.       单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。如何拆开十位和个位我们可以把所计得的数值对10求余,即可个位数字,对10整除,即可得到十位数字了。  (4.       通过查表方式,分别显示出个位和十位数字。 5.   程序框图 图4.10.2 6. 汇编源程序  Count                  EQU 30H  SP1                     BIT P3.7                              ORG 0  START:               MOV Count,#00H  NEXT:                MOV A,Count                              MOV B,#10                             DIV AB                              MOV DPTR,#TABLE                             MOVC A,@A+DPTR                              MOV P0,A                              MOV A,B                             MOVC A,@A+DPTR                              MOV P2,A  WT:                     JNB SP1,WT  WAIT:                 JB SP1,WAIT                              LCALL DELY10MS                             JB SP1,WAIT                              INC Count                              MOV A,Count                             CJNE A,#100,NEXT                              LJMP START  DELY10MS:       MOV R6,#20  D1:                      MOV R7,#248                              DJNZ R7,$                             DJNZ R6,D1                              RET  TABLE:              DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH                              END  7. C语言源程序  #include <AT89X51.H>  unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,                              0x6d,0x7d,0x07,0x7f,0x6f};  unsigned char Count;  void delay10ms(void)  {    unsigned char i,j;    for(i=20;i>0;i--)    for(j=248;j>0;j--);  }  void main(void)  {    Count=0;    P0=table[Count/10];    P2=table[Count%10];    while(1)      {        if(P3_7==0)          {            delay10ms();            if(P3_7==0)              {                Count++;                if(Count==100)                  {                    Count=0;                  }                P0=table[Count/10];                P2=table[Count%10];                while(P3_7==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 |