单片机基础知识。
单片机的外部结构:
1、 dip40双列直插;
2、 p0,p1,p2,p3四个8位准双向i/o引脚;(作为i/o输入时,要先输出高电平)
3、 电源vcc(pin40)和地线gnd(pin20);
4、 高电平复位reset(pin9);(10uf电容接vcc与reset,即可实现上电复位)
5、 内置振荡电路,外部只要接晶体至x1(pin18)和x0(pin19);(频率为主频的12倍)
6、 程序配置ea(pin31)接高电平vcc;(运行单片机内部rom中的程序)
7、 p3支持第二功能:rxd、txd、int0、int1、t0、t1
单片机内部i/o部件:(所为学习单片机,实际上就是编程控制以下i/o部件,完成指定任务)
1、 四个8位通用i/o端口,对应引脚p0、p1、p2和p3;
2、 两个16位定时计数器;(tmod,tcon,tl0,th0,tl1,th1)
3、 一个串行通信接口;(scon,sbuf)
4、 一个中断控制器;(ie,ip)
c语言编程基础:
1、 十六进制表示字节0x5a:二进制为01011010b;0x6e为01101110。
2、 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
3、 +var表示对变量var先增一;var—表示对变量后减一。
4、 x |=0x0f;表示为 x = x | 0x0f;
5、 tmod = tmod & 0xf0 ) 0x05;表示给变量tmod的低四位赋值0x5,而不改变tmod的高四位。
6、 while( 1 );表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是。
第一章单片机最小应用系统:
单片机最小系统的硬件原理接线图:
1、 接电源:vcc(pin40)、gnd(pin20)。加接退耦电容0.1uf
2、 接晶体:x1(pin18)、x2(pin19)。注意标出晶体频率(选用12mhz),还有辅助电容30pf
3、 接复位:res(pin9)。接上电复位电路,以及手动复位电路,分析复位工作原理。
4、 接配置:ea(pin31)。说明原因。
具体接法如下图所示:
第二章基本i/o口的应用。
例1:用p1口输出一倍频方波。
#include <>为包含51资源的库文件。
void main ( void )
while (1==1)
注意:p0的每个引脚要输出高电平时,必须外接上拉电阻(如4k7)至vcc电源。
例2:用p1口输出一倍频方波,要求能用万用表测出方波。
其实,只需要在上面的程序中添加延时程序即可。
#include <>
void main ( void )
unsigned int i,j;
while (1==1)
例3:要求从p1口输出一方波,要求p1.7变化的最快,p1.0变化的最慢。
#include <>
void main ( void )
unsigned char m,n定义两个中间变量完成交换过程。
unsigned int i,j;
while (1)
void main ( void )
unsigned int i;
while (1)
关于driver
编写driver的目的是让程序能适应更多的场合,让我们的使用更加方便,大家可以把一些自己编过的有用的程序做成driver便于自己以后的使用。
下面介绍显示的驱动程序:
首先,定义一个头文档 <>描述可用函数,如下:
#ifndef _ leddriver_h防止重复引用该文档,如果没有定义过符号 _key_h_,则编译下面语句。
#define _ leddriver_h只要引用过一次,即 #include <>则定义符号 _key_h_
void ledprint ( unsigned char dat ) 数据缓冲区间,完成移位功能。
void ledwork ( void送数到显示数码管。
#endif
然后,定义函数体文档 如下:
#include <>
#include “
code unsigned char ledcode[16]= code是表示这个数组的存储空间。
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
unsigned char disbuf[4];
void ledprint (unsigned char dat)
disbuf[0] =disbuf[1]; 每次用后一个数冲掉前一个数,便于扩展显示位数。
disbuf[1] =disbuf[2];
disbuf[2] =disbuf[3];
disbuf[3] =dat;
void ledwork ( void )
static unsigned char i = 0; /static表示静态变量,指变量的赋值只在第一次定义的时候赋。
p2 |=0x0f;
p0 = ledcode[disbuf[i]];
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...