欢迎来到天天文库
浏览记录
ID:51496147
大小:163.50 KB
页数:26页
时间:2020-03-25
《PIC单片机原理及应用(第七章).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单片机的性能优劣在很大程度上取决于I/O端口功能的强弱,PIC16F877PDIP型单片机共有40个管脚,其中有33个是I/O引脚。33个I/O引脚归属于5个端口,分别为PORTA(6)、PORTB(8)、PORTC(8)、PORTD(8)、PORTE(3),其中括号内的数字为该端口的位数。第7章I/O端口PIC16F877单片机有5个I/O端口,它们的设计思想和内部结构都是不同的,即使同一个端口各个引脚的内部结构也存在差异。但就其通用的输入/输出功能,基本具有类同的线路结构。7.1I/O端口功能的通用结构基本端口内部结构3个锁存器,2个
2、三态门控制电路,与门和或门,场效应管。7.1.1设置端口的输入/输出状态定义输入端线输入→“1”→方向锁存器D2→Q=1→或门、与门封闭→P、N截止→数据输出通道封锁→数据只能输入定义输出端线输入→“0”→方向锁存器D2→Q=0→或门、与门开放→P或N导通→数据输出通道打开→数据输出7.1.2查询端口的输入/输出状态RDTRIS:读取方向寄存器的内容7.1.3从端口输入数据I/O端口输入数据→TRIS“1”→P、N截止→输出截止外部I/O引脚数据→输入锁存器D3→读信号→数据输入7.1.4从端口输出数据I/O端口输出数据→TRIS“0”→
3、P或N导通→输出数据输出数据“1”内部数据线“1”→输出锁存器D1→写信号CK→D1锁存→Q=0→P导通、N截止→I/O引脚“1”2.输出数据“0”内部数据线“0”→输出锁存器D1→写信号CK→D1锁存→Q=1→P截至、N导通→I/O引脚“0”7.1.5I/O端口分析1.端口寄存器刷新“读入”-“修改”-“写入”操作2.端口驱动能力PIC单片机端口引脚可以直接驱动LED显示器和小型继电器。3.端口其他功能PIC16F877的33个I/O引脚多数都有多重复用功能。特殊:RB3、RB6、RB7→MPLAB-ICD是串行编程专线。[例题7-1]
4、PIC单片机直接驱动多位数码管显示,将20H、21H、22H数据存储器中的数(0~9)在3位数码管中显示,其中的数据会不断更新。请编写动态扫描程序。八段显示数值(0-9)编码00000000XXXXXXXX查表实例begafdcRB0RB1RB2RB3RB4RB5RB6bcdefgW寄存器I/OB口011011010000010101101101gafdcbea;;数码管显示子程序;SHUBWEQU23H;定义百位变量SHUSWEQU24H;定义十位变量SHUGWEQU25H;定义个位变量CUONTEREQU26HXSHMOVF20H,W
5、;调用查表子程序CALLCHABIAO;调用动态扫描子程序MOVWFSHUBWCALLSAOMIAOMOVF21H,WCALLCHABIAOMOVWFSHUSWCALLSAOMIAOMOVF22H,WCALLCHABIAOMOVWFSHUGWCALLSAOMIAORETURN;动态扫描显示子程序SAOMIAO;SAOMIAOINCFCOUNTER;计数器加一MOVFCOUNTER,WMOVLW03HANDWFCOUNTER,W;屏蔽高6位,低2位有效ADDWFPCL,F;循环显示指针GOTOBACK;不显示GOTOLBWEI;转向显示百位
6、GOTOLSWEI;转向显示十位GOTOLGWEI;转向显示个位LBWEIMOVLW04HMOVWFPORTA;选通百位MOVFSHUBW,WMOVWFPORTC;从C口显示百位内容GOTOBACKLSWEIMOVLW02HMOVWFPORTA;选通十位MOVFSHUSW,WMOVWFPORTC;从C口显示十位内容GOTOBACKLGWEIMOVLW01HMOVWFPORTA;选通个位MOVFSHUGW,WMOVWFPORTC;从C口显示个位内容BACKRETURN;查表子程序CHABIAO;CHABIAOADDWFPCL,F;查表,字形
7、码RETLW02H;"0"RETLW0CEH;"1"RETLW0A0H;"2"RETLW88H;"3"RETLW4CH;"4"RETLW09H;"5"RETLW01H;"6"RETLW8EH;"7"RETLW00H;"8"RETLW08H;"9";ENDPIC16F877单片机共有六个专用功能模块,几乎每一个或多或少都与I/O端口有关系,有些涉及到控制引脚,有些作为数据输入输出通道。I/O端口寄存器:数据寄存器和方向寄存器。基本I/O端口功能的设置非常方便,只要对I/O端口的方向寄存器TRIS进行定义即可。某个引脚对应位:设置为1定义为输
8、入状态,设置为0定义为输出状态。7.2I/O端口寄存器及其初始化数据寄存器:PORTA(05H)、PORTB(06H)、PORTC(07H)、PORTD(08H)、PORTE(09H)。方向寄
此文档下载收益归作者所有