推广 热搜: PLC  PLC编程  电子  自动  控制  LED  步进电机  机器人  AT89S51  控制器 

PIC单片机指令系统

   日期:2016-05-28     浏览:179    评论:0    
核心提示:PIC系列单片机按其产品的规模,指令系统也不尽相同,分基本级产品、中级型产品和高级型产品三类。最基本的PIC16C5X系列单片机每条指令的字长为12位,只有33条指令。中级产品

 PIC系列单片机按其产品的规模,指令系统也不尽相同,分基本级产品、中级型产品和高级型产品三类。最基本的PIC16C5X系列单片机每条指令的字长为12位,只有33条指令。中级产品的指令字长为14位,有37条指令。而高级产品的指令字长却为16位,共有58条指令。

    我们看看PIC16C5X系列单片机的指令系统,这33条指令可分成3类:

     [1].面向字节操作类指令

     [2].面向位操作类指令

     [3].面向常数和控制操作类指令

    对于字节操作类指令,“f”是文件寄存器指针,“d”为目标指针。文件寄存器用于确定32个文件寄存器中指令所用的寄存器。对于PIC16C57单片机,FSR(专用寄存器)中位5,6选择寄存器块。目标指针声明操作结果的存放地址,如果“d”等于0,声明结果在w寄存器,若“d”为1,结果则送至指令指明的文件寄存器中。

    对于位操作指令,“b”是位指针,它用于标明操作的位,“f”是文件寄存器指针,它用于指明位所在的文件寄存器。

    对于立即数和控制类指令,“k”表示8或9位的内容,或者表示立即数的值。

    PIC系列单片机的一个指令周期需4个时钟周期。除了条件测试为真或程序计数器被指定执行所改变,例如“DECFSZ”或“CALL”指令外,所有指令执行仅需一个指令周期。假设时钟振荡频率选为4.0MHz,一个指令周期就是1us,那么绝大部分的指令运行只需1us,而上述少数的指令执行时间则需2us。

    基本级产品指令系统实用于PIC16C5X系列单片机,如PIC16C52/54/56/57/58等产品。而中级型产品指令系统则实用于PIC16C6X/7X/8X等中级产品。高级型指令系统实用于PIC17CXX系列高级单片机。

·PIC16C5X实现键盘和LED显示  接口电路

    主控制器采用PIC16C54,显示驱动电路采用串入并出移位寄存器74LS164,74LS164为普通的TTL电路,价格低,并且键值读入、显示驱动均可使用该芯片完成。图1给出了8个按键和两位LED共阳数码管的电路,接一片74LS164可扩展一个8位并行口,用以连接一位七段数码管LED,段选口作静态显示或作为键盘中的列地址线使用。

    根据上述原理,我们可任意扩展按键的数量和显示数码管的位数。键盘中,每增加一根行线,可增加8个按键,而显示电路中,每增加一位74LS164,可增加一位LED数码管。74LS164输出(Q0-Q7)作为LED的段驱动时,只能连接共阳数码管。多片LS164连接时,低位的Q7要与高位的A、B端相连,这样才能实现多片移位。

    · 软件设计

    我们这里只给出了简单的演示程序,读者可根据相似的原理编写适合自己要求的应用程序。系统复位后,CPU先向U1、U2送出串行的16位数据,将数码管清“0”,而后等待键盘输入,CPU不断扫描查询键盘的行、列地址线。当有键按下时,在数码管低位显示相应的数字,而高位始终实现“0”。

http://www.21iic.com  无线模组

 
打赏
 
更多>同类 嵌入式
0相关评论

推荐图文
推荐 嵌入式
点击排行

网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报