❶ 51单片机开发模板制作温度显示按键控速风扇,程序编好,按键功能实现不了,求大神门帮忙看看,感谢,感谢
首先你这程序有问题,这四行不属于任何的子程序,编译都出错。
DisplayData[1] = smgan[temp / 10000];
DisplayData[2] = smgan[temp % 10000 / 1000];
DisplayData[3] = smgan[temp % 1000 / 100] | 0x80;
DisplayData[4] = smgan[temp % 100 / 10];DisplayData[5] = smgan[temp % 10];
把这四行改正后,编译后仿真运行程序,3个按键是起作用的。你感觉不起作用,是因为那3个按键,就是改变 flag 分别为0,1,2。可是,主程序中根据 flag 值不同,执行的却是同一个动作,都是 moto=1; (稍稍有一点区别,只是你感觉不出来)所以,按什么键都是这个动作,按不按都 一样,当然那就会觉得按键不起作用。那3个按键控制的动作要有区别呀,或者动作区别要大,才能看出来按键起作用啦。最简单,直接的方法是,按住按键不松手,看数码管是不是全灭啦,如果全灭了,说明按键就是起作用的。
❷ 在单片机中描述建立一个新的工程项目管理文件Project的完整步骤
CVAVR也采用project工程项目管理文件(.APR)来保存、记录、管理用户在系统软件开发中所使用和生成的各种文件,以及保存用户的开发环境配置参数和设置情况等。
图5-10 在CVAVR中创建新的工程项目
新建工程项目。CVAVR启动后,你将看到它的主工作界面。现在可以创建一个新的项目:
选择菜单栏中“File→New”,出现“Create New File”对话框。
选择Project选项,表示新建一个工程项目(图5-10),按“OK”按钮确认。
随后CVAVR出现一个对话框,询问用户是否使用需要在CVAVR系统的程序自动生成向导器的帮助下生成源程序的主结构框架。建议使用该功能,选择“Yes”进入CodeWizardAVR选择对话框。
在CVAVR系统的程序自动生成向导器的帮助下生成源程序的主结构框架。CVAVR系统的程序自动生成向导器是一个非常具有特点的功能。用户在它的帮助下,可以非常简单和方便的生成源程序的主结构框架,其中还包括了对AVR各个I/O寄存器初始化的代码。这使得用户不必频繁的查看手册,去确定各个标志的意义,以及计算初始设置值等。读者应逐步掌握和熟练使用该项功能。
确定使用AVR芯片的型号和系统时钟频率值。本例中,选择ATmega16,系统时钟频率为4M(参见图5-10)。
确定PORTC口的工作方式。本例中只使用了PORTC口的最低位,为输出方式工作,用于控制LED。图5-11给出对PORTC口初始化配置的界面,用鼠标点击“Bit 0”的方向为输出Out,输出初始值为1。
CodeWizardAVR选择对话框中还有许多对AVR各个功能部件的配置选择,由于本例非常简单,只用到PORTC的第0位,因此配置完成。读者可以仔细游览各个功能配置,配合CVAVR的HELP文件,了解其如何使用,同时也加深对AVR内部资源的熟悉和了解。
图5-11 PORTC口的初始化配置
好多西科的啊。这个图好像没贴起。
❸ 单片机模板
数码管分为共阴极和共阳极的
共阳极的数码管,它的阳极是高电平,用单片机P1口输出高电平时,当然不会发亮。
共阴极的数码管,它的阴极是低电平,用单片机P1口输出高电平时,当然会发光。
共阳极和共阴极的可以转换,将共阳极的换接成共阴极的,但是公共端接地。
❹ 51单片机如何建立工程
这一单片如何建立工程,这个你可以从市里面建立就可以了,非常简单。
❺ 单片机开发与典型工程项目实例详解的目 录
1.1 单片机的应用和特点 1
1.1.1 单片机的应用 1
1.1.2 主流单片机的种类及特点 3
1.2 MCS-51系列单片机的内部结构 7
1.3 MCS-51单片机的引脚功能与时序 9
1.3.1 MCS-51系列单片机引脚说明 10
1.3.2 MCS-51单片机的时序 16
1.4 MCS-51单片机的存储器组织 17
1.4.1 程序存储器 18
1.4.2 数据存储器 19
1.4.3 特殊功能寄存器 21
1.5 单片机最小系统 24
1.5.1 单片机最小系统 24
1.5.2 彩灯控制器的设计 25
1.5.3 顺序控制器的设计 27
1.6 本章小结 29 2.1 单片机C语言宏配置介绍 30
2.1.1 处理器的配置 30
2.1.2 ID区域 31
2.1.3 EEPROM数据 31
2.2 单片机数据结构 31
2.2.1 类型限定词 32
2.2.2 常数 33
2.2.3 变量 34
2.2.4 构造数据类型 38
2.2.5 函数 46
2.2.6 中断 49
2.2.7 C语言和汇编语言的嵌套使用 53
2.2.8 伪指令 54
2.3 MPLAB IDE编译器简介 57
2.3.1 MPLAB工程管理器(MPLAB Project Manager) 57
2.3.2 MPLAB文本编辑器(MPLAB Editor) 57
2.3.3 MPLAB软件仿真器(MPLAB-SIM Simulator) 58
2.3.4 MPLAB在线仿真器(MPLAB-ICE Simulator) 58
2.4 MPLAB IDE的安装和使用 58
2.4.1 MPLAB IDE的安装要求 58
2.4.2 MPLAB IDE的使用 59
2.4.3 实例应用 59
2.4.4 MPLAB IDE中的工程 62
2.4.5 MPLAB IDE工程的编译 65
2.4.6 MPLAB IDE的软件仿真 66
2.5 MCC18基础 68
2.5.1 MCC18的安装目录浏览 68
2.5.2 MCC18的语言执行流程 70
2.5.3 MCC18举例 70
2.5.4 MCC18的编译环境 72
2.5.5 MCC18和单片机的比较 73
2.6 单片机的混合开发 74
2.6.1 C51和汇编语言的性能比较 74
2.6.2 C51和汇编语言的混合编程 74
2.7 本章小结 79 3.1 单片机应用系统设计的流程 80
3.2 单片机应用系统两设计原则 82
3.2.1 硬件系统设计原则 82
3.2.2 应用软件设计原则 83
3.3 单片机的选型 83
3.3.1 单片机选型的原则 83
3.3.2 单片机选型参考 85
3.3.3 开发工具的选择 86
3.4 系统常见故障与调试 87
3.5 本章小结 88 4.1 数字滤波算法 89
4.1.1 算术平均值滤波 90
4.1.2 滑动平均值滤波 92
4.1.3 防脉冲干扰平均值滤波 93
4.1.4 中值滤波 95
4.1.5 一阶滞后滤波 96
4.2 数字PID控制算法 97
4.2.1 位置式PID控制算法 98
4.2.2 增量式PID控制算法 100
4.2.3 积分分离的PID控制算法 102
4.2.4 变速积分PID控制算法 103
4.3 本章小结 104 5.1 键盘设计的组成和分类 105
5.1.1 键盘的物理结构 106
5.1.2 键盘的组成形式 106
5.2 键盘接口的工作过程和工作方式 111
5.2.1 键盘的抖动干扰和消除方法 111
5.2.2 盘接口的工作过程 112
5.2.3 键盘的工作方式 112
5.3 键位置的判别方法 113
5.4 键盘接口设计的储存芯片和
5.4 相关协议 114
5.4.1 键盘接口设计的储存芯片 114
5.4.2 AT24CXX系列的芯片及I2C协议 114
5.4.3 A93CXX系列的芯片及SPI协议 124
5.5 键盘接口实现的工程实例 132
5.5.1 矩阵键盘接口的工程实例 132
5.5.2 矩阵式中断扫描键盘的设计 137
5.5.3 二进制编码键盘接口的工程实例 139
5.6 重点与难点 141 6.1 交通灯顺序控制 143
6.1.1 硬件系统的设计 143
6.1.2 反向器74F06 145
6.1.3 控制字 145
6.1.4 程序设计 145
6.2 设计一种基于模糊理论的单片机控制交通路口调度系统 148
6.2.1 系统的总体设计 148
6.2.2 十字路口调度系统模糊控制器的设计 149
6.2.3 电路设计 151
6.2.4 车流量检测电路 154
6.2.5 系统主程序和模糊控制程序设计 155
6.2.6 系统显示程序设计 157
6.3 重点与难点 159 7.1 显示屏显示原理及串行通信基本概念 161
7.1.1 显示屏显示原理 161
7.1.2 串行通信 163
7.1.3 阵列式LED显示屏的实现 166
7.2 显示屏硬件电路设计 166
7.2.1 硬件电路介绍 168
7.2.2 外扩数据存储器电路 170
7.3 列式LED显示屏显示程序的171
7.3.1 汉字点阵数据的提取 171
7.3.2 显示主程序 174
7.3.3 串口中断处理程序 176
7.3.4 显示驱动函数 179
7.3.5 外部存储器读写程序 181
7.3.6 串口通信程序 181
7.3.7 文字显示特效程序 182
7.4 本章小结 191 8.1 IC卡基础 192
8.1.1 IC卡的分类 192
8.1.2 IC卡的标准 194
8.2 接触型IC卡读写系统的开发 194
8.2.1 IC卡读写系统的时序 195
8.2.2 IC卡读写系统的硬件连196
8.2.3 IC卡读写系统的软件系统 197
8.3 基于SLE4442加密卡读写系统的开发 201
8.3.1 SLE4442卡的介绍 201
8.3.2 SLE4442的模式 203
8.3.3 SLE4442的操作命令 205
8.3.4 SLE4442读/写系统的软硬件设计 208
8.4 重点与难点 215 9.1 无刷直流电机控制原理 216
9.1.1 无刷直流电机的组成 217
9.1.2 无刷直流电机的工作原理 217
9.1.3 无刷直流电机的控制方法 219
9.2 无刷直流电机的工作特性 220
9.3 直流无刷电机控制的应用实现 221
9.3.1 总体设计概述 221
9.3.2 直流无刷电机控制的硬件设计 222
9.3.3 直流无刷电机控制的软件设计 224
9.3.4 无刷直流电机速度闭环控制系统 227
9.4 本章小结 230 10.1 永磁同步电机的结构与分类 231
10.2 永磁同步电机的矢量控制 232
10.3 永磁同步电机控制 236
10.3.1 控制电路设计 237
10.3.2 光电隔离电路设计 238
10.3.3 功率电路设计 239
10.4 永磁同步电机控制的软件实现 239
10.4.1 电压SVPVM的DSPIC33f软件实现 241
10.4.2 转子位置检测 243
10.4.3 AD转换模块 245
10.5 本章小结 246 11.1 汽车行驶记录仪功能介绍 247
11.2 简易汽车行驶记录仪的设计 249
11.2.1 汽车行驶记录仪的考虑因素 250
11.2.1 MSP430 251
11.2.2 车模拟信号的采集 254
11.2.4 数字信号采集电路 255
11.2.5 SST39VF160芯片介绍 257
11.3 记录仪的软件设计 257
11.3.1 软件流程图 258
11.3.2 数据存储格式 259
11.3.3 SST39VF160存储器数据读写的实现 259
11.4 数据采集的程序实现 263
11.5 本章小结 264 12.1 USB-GPIB控制器简介 265
12.1.1 认识USB 266
12.1.2 GPIB 269
12.2 USB-GPIB控制器的硬件电路设计 271
12.2.1 器件的选择 272
12.2.2 USB-GPIB控制器电路设计 278
12.3 USB-GPIB控制器的软件程序的实现 287
12.3.1 USB单片机协议控制芯片与主机(计算机)的数据交互 288
12.3.2 USB协议控制芯片与GPIB控制器的数据交互 299
12.4 USB-GPIB控制器固件的调试与固化 300
12.4.1 USB-GPIB控制器固件的调试 301
12.4.2 USB-GPIB控制器固件程序的固化 302
12.5 本章小结 303 13.1 研究抗干扰技术的重要性 304
13.2 干扰的分类 305
13.2.1 按噪声产生的原因分类 306
13.2.2 按噪声传导模式分类 306
13.2.3 按噪声波形及性质分类 307
13.3 干扰的耦合方式 308
13.4 单片机系统可靠性的设计任务与方法 310
13.4.1 单片机系统可靠性设计的任务 310
13.4.2 可靠性设计一般方法 311
13.5 本章小结 313 14.1 无源滤波器抗干扰 314
14.1.1 电容滤波器 315
14.1.2 电感滤波器 316
14.1.3 RC低通滤波器 316
14.1.4 1LC低通滤波器 318
14.1.5 低通滤波器的结构选择 319
14.1.6 低通滤波器的平衡结构与串联形式 319
14.2 有源滤波器抗干扰 321
14.2.1 一级低通有源滤波器 321
14.2.2 二级低通有源滤波器 322
14.3 去耦电路 324
14.3.1 尖峰电流的形成原理 324
14.3.2 去耦电容的配置 325
14.3.3 光电隔离 326
14.3.4 继电器隔离 328
14.3.5 变压器隔离 328
14.3.6 布线隔离 329
14.4 接地技术 330
14.5 本章小结 334 15.1 概述 335
15.2 指令冗余技术 336
15.2.1 单字节指令冗余 337
15.2.2 重要指令冗余 337
15.3 软件陷阱技术 337
15.3.1 未使用的中断向量区设置陷阱 338
15.3.2 RAM数据区中设置陷阱 338
15.3.3 未使用的EPROM数据区设置陷阱 339
15.3.4 非EPROM单片机空间设置陷阱 339
15.3.5 运行程序区设置陷阱 339
15.4 看门狗技术 339
15.4.1 硬件看门狗技术 340
15.4.2 软件看门狗技术 342
15.5 本章小结 345
❻ stm32工程模板是用来做什么的
工程模板里面集成了各个函数stm32是单片机,单片机的驱动是靠指令设置寄存器来实现的,stm32的库函数将寄存器封装成函数方便程序员写程序实现功能时调用,工程模板里面就集成了各个部分的库,比如.rcc.gpio.tim.pwm等,所以用工程模板写程序方便很多不用自己从底层寄存器写起,只需要写自己需要功能的程序就行。工程模板就是这个作用。
❼ 51单片机内部包含了哪六大模板
51单片机内部包含以下部分:
1、ROM,程序存储器,2K~64K。
2、RAM,128Byte~256Byte。
3、中断系统,5个中断源(两个外部中断,2个定时,一个串口)
4、IO口,32个IO口
5、指令系统,111条指令。
6、数据/地址总线及控制总线
❽ 为什么我以前建的stm32f10系列单片机的工程模板,现在用keil4打不开了
请贴上ERR CODE 我才好帮你分析啊
❾ 51单片机双机串口通信 一个单片机控制12864显示程序模板
我这里只有RS-485在单片机多机通信中的应用的,不过读懂程序就可以控制12864,不是很难,我同学都有做成功。
1、RS-485在单片机多机通信中的应用
主机程序
#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit p10=P1^0;
sbit p11=P1^1;
void main(void)
{
uchar i=0;
TMOD=0X20;//设置定时器1工作模式2
TH1=0XFF;
TL1=0XFF; //这里是假设晶振是11。0592的 波特率设置57600
SCON=0X40; //设置方式1 只能发送 不能接受
PCON=0X80;
TR1=1; // 启动T1
while(1)
{
if(p10==0)
{
SBUF=0x11; //次LED单片机的针头
while(TI==0);
TI=0;
while(p10==0);
}
if(p11==0)
{
SBUF=0x12; //次闪单片机的针头
while(TI==0);
TI=0;
while(p11==0);
}
}
}
从机2
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
bit flag=0;
sbit p20=P2^0;
void main(void)
{ uchar i=0;
TMOD=0X20;
TH1=0XFF;
TL1=0XFF; //这里晶振频率同主机是11。0592的波特率设置57600
SCON=0X50; //设置方式1 只能发送 不能接受
PCON=0X80;
TR1=1; // 启动T1
while(1)
{
while(RI==0);//采用查询的方法判断时候接受到数据
RI=0;
i=SBUF;
if(i==0x12)
p20=~p20;
i=0x00;
}
}
从机1
RS BIT P1.7
RW BIT P1.6
E BIT P1.5
KOU EQU P2
ORG 0030H
LOP: MOV SP,#5fH
MOV TMOD,#20H
MOV 40H,#00H
MOV TH1,#0FFH
MOV TL1,#0FFH
MOV SCON,#50H
MOV PCON,#80H
SETB TR1
ACALL LCD_MODEL ;初始化的模块
MOV KOU,#81H
ACALL READY
MOV DPTR,#TAB
ACALL WRITE ;显示的模块
MOV P2,#0C1H
ACALL READY
MOV DPTR,#TAB1
ACALL WRITE
xt: jnb RI,$
CLR RI
x: MOV A,SBUF
CJNE A,#11H,rel
INC 40H
MOV A,40H
CJNE A,#10,XTG
MOV 40H,#0
XTG: MOV P2,#0C9H
ACALL READY
MOV DPTR,#TAB2
ACALL WRITEx
AJMP xt
rel: ajmp xt
WRITEx:MOV A,40H
MOVC A,@A+DPTR
MOV KOU,A
ACALL WRITE1
RET
WRITE: MOV A,#00H
MOVC A,@A+DPTR
CJNE A,#0FFH,s
AJMP EXIT
S: MOV KOU,A
ACALL WRITE1
INC DPTR
AJMP WRITE
EXIT: RET
WRITE1:SETB RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
LCD_MODEL: MOV KOU,#01H
ACALL READY
MOV KOU,#03H
ACALL READY
MOV KOU,#00000110B
ACALL READY
MOV KOU,#00001100B
ACALL READY
MOV KOU,#38H
ACALL READY
RET
READY: CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY: MOV KOU,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB KOU.7,DELAY
RET
TAB: DB "Proteus 7.1" ,0FFH ;显示字库
TAB1: DB "Count:" ,0FFH
TAB2: DB "0123456789"
END
仿真图
❿ 怎么用keil写51单片机的c语言程序
建立工程,选取所用单片机具体型号,在引导下建立完成工程 选择c语言编程,建立模板,即可开始,写C语言代码。