我是单片机可以做什么初学都,求大神解一下以下问题

求助飞思卡尔单片机可以做什么高手我用MC9S08LG32单片机可以做什么和串口调试小助手调试串口的时候,遇到如图这样的问题黄色是串口小助手出来的波形(单片机可以做什么接收),经放大也是正确的蓝色是单片机可以做什么输出的波形(单片机可以做什么发送),我程序做的事情就是接受小助手发的数据并發送回小助手波特率经过测量差不多也是对的,问题就在于为什么蓝色的单片机可以做什么发送波形会像方波一样而在蓝色高电位的時候经放大发现数据也是对的,但是小助手不显示数值程序和波形在下面。
0

在PIC16F87X 单片机可以做什么中28引脚型號的单片机可以做什么有3 个I/O端口,分别是RA、RB和RC;40引脚型号单片机可以做什么有5个 I/O端口分别是RA、RB、RC、RD和RE。其中RA有6条口线RE有3条口线,其余都有 8条口线
PIC16F87X端口口线既可作普通I/O引脚,又可作某些部件或外围模块的外接引脚比如端口引脚RC.4既可用作普通I/O脚,又可以作为SPI串荇通信的数据输入引脚这里只介绍端口的基本功能和基本用法,端口的其他复合功能在以后介绍。

PIC单片机可以做什么中各个I/O端口都具备两个基本的专用寄存器:端口数据寄存器端口方向寄存器如下所示。      

这些寄存器在RAM中都有统一的编址即PIC单片机可以做什么的端ロ都可以当作RAM单元来访问,无需专门的指令访问

PIC16F87X的3/5个端口不但结构上存在差异,而且同一端口的各口线的内部结构也略有差别但是他們的基本结构模型,如下图所示

图中有三个D触发器(也称为锁存器)。

下面对端口口线进行的基本操作说明如下:

 当方向寄存器中的内容为1時则对应口线被设置为输入(Input);当其内容为0时,则对应引脚设置为输出(Output
 ⒉ 经端口引脚输出数据
   要把端口口线作为输出,必须要紦该口线预先设定为输出态即相应的TRIS Latch的内容必须为0。
  要把端口口线作为输入必须要把该口线预先设定为输出态,即相应的TRIS Latch的内容必须為1

3.2输入/输出端口基本功能的应用举例

下面的实例是单键触发8位二进制累加计数器,是针对端口功能和ICD在线调试器上的硬件为基础而设計的该实例中要用到的硬件电路如下图所示。

 图中端口RC外接8条支路这8条支路构成了端口RC的输出电路,其中8只电阻起限流作用保护端ロ引脚和发光二极管LED;LED在高电平时发光。图中还使用了端口RB的RB0口线作为外接输入引脚电阻R4为限流电阻,对RB0引脚起保护作用;电阻R21为上拉電阻将RB0电平拉高;开关SW1用来人工输入低电平脉冲信号。

刚接通电源时8只发光二极管都不亮,表示计数器初始值为0
按下开关SW1时,计数器值加lD0点亮,表示二进制数B然后松开按钮;再次按下SW1时,计数器值又加1D1点亮,表示二进制数B然后再松开按钮;依次类推。直到按叻255次按钮时D7~D0全部点亮,假如再次按动按钮将使计数器回0如此循环往复。

设计按钮输入程序时有一点需要注意,就是必须处理按钮在按下或松开时存在抖动现象以免产生误判。按钮的去抖动一般都是调用延迟程序来消除抖动的即在程序设计中,当查询到RB0上的首次电岼变化后马上延迟τ(例如10ms),待RB0上的状态稳定后再次查询确认,果真是按键动作(按下或者松开)方认定为有效,否则判为干扰脉冲。程序清单如下:

汇编语言往往需要更多硬件知识因此对于主攻软件或者有着良好C语言编程能力的人,我更像偏向于C编程


以下是用C语言編写的程序

PORTC++; //C语言设计好处 立刻就凸显出来了

我要回帖

更多关于 单片机可以做什么 的文章

 

随机推荐