欢迎来到天天文库
浏览记录
ID:40819104
大小:37.00 KB
页数:5页
时间:2019-08-08
《单片机C语言编程初步知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机C语言编程基础单片机的外部结构: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部件:(
2、所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、一个串行通信接口;(SCON,SBUF)4、一个中断控制器;(IE,IP) 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。教科书的160页给出了针对MCS51系列单片机的C语言扩展变量类型。1、接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF2、接晶体:X1(PIN18)、X2(PIN
3、19)。注意标出晶体频率(选用12MHz),还有辅助电容30pF3、接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理4、接配置:EA(PIN31)。说明原因。 单片机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的低四位赋值
4、0x5,而不改变TMOD的高四位。6、While(1);表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;}6、P2=P3^0x0f//读取P3,低四位异或者1,即取反,然后输出数码管显示的单片机程序 我们在P1端口接一支共阴数码管SLED,在P2、P3端口接16个按键,分别编号为KEY_0、KEY_1到KEY_F,操作时只能按一个键,按键后SLED显示对应键编号。#include#defineSLEDP1#defineKEY_0P2^0#defineKEY_1P2^1#defineKEY_2P2^2#defineKEY_3P2^3#defin
5、eKEY_4P2^4#defineKEY_5P2^5#defineKEY_6P2^6#defineKEY_7P2^7#defineKEY_8P3^0#defineKEY_9P3^1#defineKEY_AP3^2#defineKEY_BP3^3#defineKEY_CP3^4#defineKEY_DP3^5#defineKEY_EP3^6#defineKEY_FP3^7CodeunsignedcharSeg7Code[16]=//用十六进数作为数组下标,可直接取得对应的七段编码字节//0123456789AbCdEF{0x3f,0x06,0x5b,0x4f,0x
6、66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(void){unsignedchari=0;//作为数组下标P2=0xff;//P2作为输入,初始化输出高P3=0xff;//P3作为输入,初始化输出高While(1){if(KEY_0==0)i=0;if(KEY_1==0)i=1;if(KEY_2==0)i=2;if(KEY_3==0)i=3;if(KEY_4==0)i=4;if(KEY_5==0)i=5;if(KEY_6==0)i=6;if(KEY_7==0)i=7;if(
7、KEY_8==0)i=8;if(KEY_9==0)i=9;if(KEY_A==0)i=0xA;if(KEY_B==0)i=0xB;if(KEY_C==0)i=0xC;if(KEY_D==0)i=0xD;if(KEY_E==0)i=0xE;if(KEY_F==0)i=0xF;SLED=Seg7Code[i];//开始时显示0,根据i取应七段编码}} 开关双键的输入:输入先输出高 一个按键KEY_ON接在P1.6与GND之间,另一个按键KEY_OFF接P1.7与GND之间,按KEY_ON后LED亮,按KEY_OFF后LED灭。同时按下LED半亮,LED保持后松开键
8、的状态,即ON亮OFF灭
此文档下载收益归作者所有