- 1、本文档共598页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机应用技术(C语言版);;单片机应用技术二层含义:;类似的教材名称和课程名称;;我们熟悉个人计算机(Personal Computer);
;DIP引脚分布 ;产品系列;单片机的特点及应用 ;单片机应用灯的控制;单片机应用交通灯的控制;单片机应用电子闹钟、万年历 ;单片机应用音乐播放器 ;单片机应用电子秤;单片机应用智能小车;单片机应用温湿度计;单片机应用智能电热水壶、电饭煲;单片机应用电子秤;单片机应用光度、色度计;单片机应用智能控制仪表;;各组成部分既相对独立,又相互交叉;硬件系统(RAM,IO,T/C,INT,UART);接口系统(LED,KEY,AD,DA,IO扩展);硬件开发工具——PROTEUS单片机仿真软件;软件系统;Keil C51是51单片机软件开发的C语言和汇编语言环境,可以进行纯软件仿真;
;;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;;第2章 单片机输入输出应用 ;;51系列单片机一般采用40只引脚的双列直插式(DIP——Dual In-line Package)封装结构;DIP引脚分布 ; 并行输入/输出电路结构;P0~P3小结;;任意模式霓虹灯显示 ;动手做——画出硬件电路图 ; Proteus的元件有RESPACK-8等,1为公共引脚,其它位每个电阻的另一个引脚
为避免连线复杂,Proteus可以采用网络标号,就是需要连接的两个点或更多的点用相同的网络标号标上,就与各点之间的连线等效了。;CPU的微操作必须在统一的时钟控制下才能正确进行, ;时钟电路;时序的定时单位:
时钟振荡周期P、机器周期、指令周期;复位的概念:
使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
复位方法:
必须使RST/VPD加上持续两个机器周期以上的高电平。
复位后的初始状态:
PC=0000H
P0~P3=0FFH , SP=07H
其他SFR均为00H,片内RAM为任意状态
;单片机复位条件: 必须使RST引脚持续2微秒高电平(外部时钟12MHz) ;3.LED发光限流电路;//功能:采用数组实现的任意变化的霓虹广告灯控制程序
#include reg51.h //包含头文件REG51.H
#define uchar unsigned char //定义数据类型
void delay(uchar x); //延时函数声明
void main() //主函数
{
uchar i;
uchar display[]={0xe7,0xdb,0xbd,0x7e};
while(1){
for(i=0;i4;i++)
{
P0=display[i]; // 显示字送P0口
delay(250); delay(250); //延时
}
}
};/****************延时函数t(ms)*************/
void delay(unsigned char t )
{
unsigned char j,k;
for(j=0;jt;j++)
{
for(k=0;k255;k++){}
}
};Keil C规定16进制数必须以 0x开头,比如 0x1表示一个16进制数,比如0xfe就是代表十六进制数fe,用二进制表示就是1111 1110。;数组分为一维、二维、三维和多维数组等,常用的是一维、二维和字符数组。
(1)一维数组的定义格式如下:
类型说明符 数组名[常量表达式];
例如“char a[5];”即定义字符数组a,有5个元素。
(2)数组元素的一般形式为:
数组名[下标]
例如:tab[5]、num[i+j]、a[i++]都是合法的数组元素。
(3)数组初始化赋值的一般形式为:
类型说明符 数组名[常量表达式]={值,值……值};
例如:int num[10]={ 0,1,2,3,4,5,6,7,8,9 };;动手做——pro
文档评论(0)