1. 求个PIC单片机补偿算法的c语言程序(单片机是PIC16F877)
邮件已发送,请查收!
2. c语言与16位单片机
天哪!
那就马上买个16位单片机的学习班吧,同时也能提供丰富的程序供参考。
要是楼主以前没有接触过这东东,要是一月能搞定,楼主也算是天才了。
///////////////////////////////////////////////////////////////
那就学学所用单片机的一些基本功能:IO口基本操作/通讯格式/中断/其它一些基本应用,所用的编程环境,还有一楼说的那些,本身的语言格式也很重要。总之很多。建议找个人带带。
即使学过C语言而没有学过单片机,一月内能做设计也算非常厉害了。
3. 单片机的学习方法
从刚开始接触单片机,到现在已经有3年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):在网上找学习资料,在网上看了很多。印像最深的要数王云老师的云龙51单片机视频教程,因为这个教程从基础到复杂的编程慢慢深入,边讲边写代码,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,这时对51单片机也就没有感到陌生了。通过视频让我知道了该怎样学习单片机,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言比汇编更好理解。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,买了一款51单片机开发板,然后就开始了我的学习之旅,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。围绕单片机的LED灯进行控制,通过控制LED灯的亮、灭,熟悉了51单片机的内部的各种资源,这样就能使我在很短的时间内,将51单片机内部的各个功能部件全部都使用到了。
第三步(项目实战的阶段):学习单片机的时候,虽然也编写了一些程序,但是那些都是一些很小的模块程序,并没有起到综合应用的目的,所以在这之后,我和另外一个学习硬件的同学一起组成了一个小的团队,进行项目实践开发,那时候,实验室的条件比价好,有很多的器件可以自己使用。所以,我们就设计了我们的第一个作品,基于单片机的液体点滴监控系统。做这个系统时,就将以前单片机所学的知识,做了一个综合的应用,包括有LCD1602控制,串口的控制等。
经过以上三个步骤的学习之后,对于51单片机的开发基本上就算入门了。而对于其他类型的单片机,如飞思卡尔单片机,LPC2148 ARM7单片机,PIC16F887等,虽然每个系列的功能不一样,但是最基本的编程思想还是一样的,不同的可能就是编译器,程序下载的软件等差别,所以有了51单片机的开发基础之后,学习其他单片机所采用的方法就是一个差异化的学习,学习各种单片机不同的地方,这样,就能很快的熟悉一款新的型号的单片机。
4. 求大虾帮忙看一下PIC单片机C语言程序.编译不通过,不知道错在哪了,求指导啊。。。。在线等
其实就是少了一句:
unsigned char i;
即主函数中的 i 没定义,其他没问题,我把单片机型号设置为PIC16F887.
但是,需要告诉你的是,现在只是没有语法错误而已。实际有否错你要根据硬件图和你想做的什么事来调试!
我是在PICC9.8的版本,MPLAB IDE是在8.63的版本下编译的,就是在函数上加上那一句就没有语法错误了!!!
5. 单片机c语言编程时会用到哪些常用的C语
关键字
用 途
说 明
auto
存储种类说明
用以说明局部变量,缺省值为此
break
程序语句
退出最内层循环
case
程序语句
Switch语句中的选择项
char
数据类型说明
单字节整型数或字符型数据
const
存储类型说明
在程序执行过程中不可更改的常量值
continue
程序语句
转向下一次循环
default
程序语句
Switch语句中的失败选择项
do
程序语句
构成do..while循环结构
double
数据类型说明
双精度浮点数
else
程序语句
构成if..else选择结构
enum
数据类型说明
枚举
extern
存储种类说明
在其他程序模块中说明了的全局变量
flost
数据类型说明
单精度浮点数
for
程序语句
构成for循环结构
goto
程序语句
构成goto转移结构
if
程序语句
构成if..else选择结构
int
数据类型说明
基本整型数
long
数据类型说明
长整型数
register
存储种类说明
使用CPU内部寄存的变量
return
程序语句
函数返回
short
数据类型说明
短整型数
signed
数据类型说明
有符号数,二进制数据的最高位为符号位
sizeof
运算符
计算表达式或数据类型的字节数
static
存储种类说明
静态变量
struct
数据类型说明
结构类型数据
swicth
程序语句
构成switch选择结构
typedef
数据类型说明
重新进行数据类型定义
union
数据类型说明
联合类型数据
unsigned
数据类型说明
无符号数数据
void
数据类型说明
无类型数据
volatile
数据类型说明
该变量在程序执行中可被隐含地改变
while
程序语句
构成while和do..while循环结构
附表1-1 ANSIC标准关键字
关键字
用 途
说 明
bit
位标量声明
声明一个位标量或位类型的函数
sbit
位标量声明
声明一个可位寻址变量
Sfr
特殊功能寄存器声明
声明一个特殊功能寄存器
Sfr16
特殊功能寄存器声明
声明一个16位的特殊功能寄存器
data
存储器类型说明
直接寻址的内部数据存储器
bdata
存储器类型说明
可位寻址的内部数据存储器
idata
存储器类型说明
间接寻址的内部数据存储器
pdata
存储器类型说明
分页寻址的外部数据存储器
xdata
存储器类型说明
外部数据存储器
code
存储器类型说明
程序存储器
interrupt
中断函数说明
定义一个中断函数
reentrant
再入函数说明
定义一个再入函数
using
寄存器组定义
定义芯片的工作寄存器
附表1-2 C51编译器的扩展关键字
附录二 AT89C51特殊功能寄存器列表(适用于同一架构的芯片)
符 号
地 址
注 释
*ACC
E0H
累加器
*B
F0H
乘法寄存器
*PSW
D0H
程序状态字
SP
81H
堆栈指针
DPL
82H
数据存储器指针低8位
DPH
83H
数据存储器指针高8位
*IE
A8H
中断允许控制器
*IP
D8H
中断优先控制器
*P0
80H
端口0
*P1
90H
端口1
*P2
A0H
端口2
*P3
B0H
端口3
PCON
87H
电源控制及波特率选择
*SCON
98H
串行口控制器
SBUF
99H
串行数据缓冲器
*TCON
88H
定时器控制
TMOD
89H
定时器方式选择
TL0
8AH
定时器0低8位
TL1
8BH
定时器1低8位
TH0
8CH
定时器0低8位
TH1
8DH
定时器1高8位
带*号的特殊功能寄存器都是可以位寻址的寄存器
6. 16F887单片机和mems通过spi通信,求c语言程序
看看单片机有没有spi接口,比较方便
也可以用IO口模拟,比较直观
仔细看芯片手册,就是几个命令有用
7. 单片机PIC16F886可以用C语言编程吗
PIC 系列 单片机都可以用 C语言 或者 汇编语言 编程,只是编译时要用PIC编译器。
(51系列 编译 用 51编译器)
8. 关于单片机16F887的ADC转换速度的编程问题
信息不全,无法提供程序:1、LED接在单片机的哪个口;2、LED是高电平还是低电平点亮;3、如何控制流水灯的速度?外面接按键,还是每过段时间自动改变,或者其他方式
9. 请教各位大神,我用MCC18编译MPLAB IDE V8.80的C语言时未能编译成功,单片机型号是16F877。求解!如下:
MCC18 不支持PIC16,你用picc或者xc8或者
10. 绘制一单片机最小系统电路图,编写程序控制P1.7口输出低电平,并点亮发光二极管。求大神解答哇😭
编程实现对 8 个 LED 的输出控制 将实验箱中的 8255 片选信号连接到 218H~21FH,将 8255 的 4 个寄存器地址(A、B、 C 端口及控制字寄存器端口)设置为 218H~21BH。将 8255 的端口 A 的 8 个引脚:PA0~PA7 与 8 个 LED 对应相连,然后打开实验箱电源,最后编程对 8 个 LED 进行显示控制。
程序清单:
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,21BH
MOV AL,80H
OUT DX,AL ;工作方式初始化
MOV DX,218H
MOV AL,0FEH ;设置输出数据,即显示模式
MOV CX,80 ;设置循环次数
LN: OUT DX,AL
ROL AL,1
CALL DELAY ;调用延迟程序
LOOP LN
MOV AH,4CH
INT 21H ;返回 dos
DELAY PROC ;延迟子程序
PUSH CX
MOV BX,2000
A0: MOV CX,3000
A1: LOOP A1
DEC BX
JNZ A0
POP CX
RET DELAY
ENDP
CODE ENDS
END START。吴鉴鹰单片机开发板。
从刚开始接触单片机,到现在已经有4年的时间了,在这期间学习和使用了51单片机、飞思卡尔单片机,LPC2138,PIC16F887等系列的单片机,每接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。
大家都知道,51单片机是最容易入门的,不仅因为其编程简单,更重要的是网上的资料非常丰富。所以一般学习单片机开发的都将51单片机作为入门开发的首选。我学习51单片机的时候是采用这样的一个步骤进行学习的:
第一步(熟悉的过程):买了一款51单片机开发板,然后就开始了我的学习之旅,刚开始的时候没有去看视频教程,而是对着一本实验教材进行学习,那本实验教材的名字记不清楚了,但是其内容就是围绕单片机的LED灯进行控制,将51单片机内部的各个功能部件全部都使用到了,这样就能使我在很短的时间内,通过控制LED灯的亮、灭熟悉了51单片机的内部的各种资源,这时对51单片机也就没有感到陌生了。所以,个人觉得,学习单片机,要从实验入手,先熟悉单片机再说,开发语言开始使用的是C语言。
第二步(进阶的过程):有了第一步的基础之后,接下来的便是进阶的过程,当时,我看的是郭天祥十天学会单片机的视频教程,因为这个教程从基础到复杂的编程慢慢深入,讲的比较的全面,而且也生动,所以那一阶段,也是我学习单片机进步最快的阶段,每次听课的时候,按照上面的实验,以及课堂上面调试程序时出现的一些问题,自己认真的在电脑上进行调试,并分析产生故障的原因,让我有了一定的开发基础。在看完了视频教程之后,后面又对基础的知识进行了下补习,主要是看单片机原理性的教材,因为有些细节性的东西还是要从教材上面获得。