欢迎来到天天文库
浏览记录
ID:20475806
大小:376.50 KB
页数:48页
时间:2018-10-10
《5 c语言在单片机中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言1引脚、端口与寄存器引脚,也叫做管脚,全称是输入输出引脚,英文是I/OPIN。引脚是单片机程序感知外部状态、控制外部电路的接口。就像我们的耳朵就是输入引脚,嘴是输出引脚,手就是输入输出引脚。引脚1引脚、端口与寄存器引脚1引脚、端口与寄存器端口端口,Port,是一组引脚的集合。就像一栋楼里面有好多房间,把他们按照楼层进行分组,本房间就是F1.38。430F135单片机把8个引脚组成一个端口,共有6个端口:P1、P2、P3、P4、P5、P6。1引脚、端口与寄存器P4OUT=0xFF;端口P41引脚、端口与寄存器寄存器inti;i=5;P4OUT=5;寄存器可以被看成预先定义的变量。
2、1引脚、端口与寄存器D0D1D2D3D4D5D6D7寄存器P4OUTP4.0P4.1P4.2P4.3P4.4P4.5P4.6P4.7端口P4LED灯P4OUT=0x05;1010000010100000101000003.3V0V3.3V0V0V0V0V0V1引脚、端口与寄存器变量一般是以字节为单位的;寄存器一般是以位为单位的;寄存器中,不同的位有不同的意义,具体要看数据手册或者书本。寄存器2C语言中的位操作十进制数、十六进制数、二进制数位与位或位异或位左移位右移2C语言中的位操作0000000100100011010001010110011101234567012345671000
3、100110101011110011011110111189ABCDEF891011121314152C语言中的位操作4个18个112个116个10x000F0x00FF0x0FFF0xFFFF15255409565535二进制十六进制十进制2C语言中的位操作位与两个操作数按位执行“与”操作A0xA7B0x2900100001结果0x2110100111001010012C语言中的位操作位与的应用(1)检测某个输入引脚的状态if(P1IN&0x01)2C语言中的位操作位与的应用(1)按键引脚P1.0寄存器P1IN.0if(P1IN&0x01)判定结果松开3.3V1真按下0V0假2C语
4、言中的位操作位与的应用(2)将变量或者寄存器的某个位或某些位清零。2C语言中的位操作D0D1D2D3D4D5D6D710100100位与的应用(2)P4OUT&=0xFE;01111111&=001001000P4OUT这里就是将C语言课程上讲过的位操作中的变量,换成了一个寄存器。2C语言中的位操作位或两个操作数按位执行“或”操作10101111结果0xAFA0xA7B0x2910100111001010012C语言中的位操作位或的应用(1)检测某个输入引脚的状态if((P1IN
5、0xFE)==0xFF)2C语言中的位操作位或的应用(1)按键引脚P1.0寄存器P1IN.0if((P1
6、IN
7、0xFE)==0xFF)判定结果松开3.3V1真按下0V0假2C语言中的位操作位或的应用(2)将变量或者寄存器的某个位或某些位,设置成1。2C语言中的位操作D0D1D2D3D4D5D6D710100100位或的应用(2)P4OUT
8、=0x13;11001000
9、=111011001P4OUT12C语言中的位操作位异或两个操作数按位执行“异或”操作10001110结果0x8EA0xA7B0x2910100111001010012C语言中的位操作位异或的应用将变量或者寄存器的某个位或某些位反转。P4OUT^=0xFF;2C语言中的位操作位左移将操作数按位执行“左移”操作A0xA7A
10、<<=2;10011100结果0x9C101001112C语言中的位操作位左移的应用(1)左移流水灯。P4OUT<<=1;2C语言中的位操作位左移的应用(2)乘2的N次幂,N是移动的位数。P4OUT<<=1;P4OUT*=2;2C语言中的位操作位右移将操作数按位执行“右移”操作A>>=2;00101001结果0x29A0xA7101001112C语言中的位操作位右移的应用(1)右移流水灯。P4OUT>>=1;2C语言中的位操作位右移的应用(2)除2的N次幂,N是移动的位数。P4OUT>>=1;P4OUT/=2;2C语言中的位操作位右移的应用(2)A=A/7;A=(A*37)/256;
11、A=(A*37)>>8;此处,需要执行除法,比较耗费时间用整数乘法替代除法1/7=36.57/256430支持硬件乘法位移也很快所以节省时间3语句变量类型ifforwhileswitch数组3语句——变量类型#defineBYTEunsignedchar#defineWORDunsignedint#defineBOOLWORD#defineFALSE0#defineTRUE1#defineFalse0#defineTrue1charintshortlong
此文档下载收益归作者所有