《单片机与语言优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机与语言优秀PPT.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机与语言第1页,本讲稿共32页课程目标n掌握嵌入式系统必要的硬件基础以及嵌入式编程思想n以上具有普遍性第2页,本讲稿共32页嵌入式系统的开发步骤n原理图设计n布线图设计n交PCB厂家制版焊接n软件初步验证n移植操作系统n应用程序的编写第3页,本讲稿共32页编译工具n本机编译(nativecompilation)q举例n交叉编译(crosscompilation)q举例第4页,本讲稿共32页Visual C+nwindows系统典型编译工具n本机编译工具n可建立多种类型的工程(project)n公司招聘的C语言面试题一般以VC为基准平台n我们使用控制台工程项目来练习C语言题目第5页,本讲稿共
2、32页voidtestf(int*p)*p+=1;main()int*n,m2;n=m;m0=1;m1=8;testf(n);printf(Datavalueis%d,*n);第6页,本讲稿共32页voidtestf(int*p)*p+=1;voidmain()int*n,m2;n=m;m0=1;m1=8;testf(&n);printf(Datavalueis%d,*n);第7页,本讲稿共32页单片机n嵌入式硬件技术基础n最小电路q电源q时钟输入q复位n交叉编译环境Keil介绍第8页,本讲稿共32页按键控制继电器n电路(P32按键,P14继电器)n程序设计第9页,本讲稿共32页按键控制继电器
3、(汇编)ORG0000HAJMPMAINMAIN:MOVC,P32JCJ1CPLP14J1:AJMPMAINEND第10页,本讲稿共32页按键控制继电器(C实现)#include“reg52.h”sbitKEY=P32;sbitJDQ=P14;voidmain()while(1)JDQ=KEY;第11页,本讲稿共32页按键控制继电器(并口方式C实现)#include“reg52.h”voidmain()unsingedcharucbuf;while(1)ucbuf=P3;if(ucbuf&0 x04)P1=P1|0 x10;elseP1=P1&0 xef;第12页,本讲稿共32页两种控制外设的
4、方式n对指令执行的正确理解ni/o方式(SETBCLR)n总线方式(MOVXMOVC)q种类q实现过程第13页,本讲稿共32页典型电路介绍(74LS373)n锁存器n下降沿有效第14页,本讲稿共32页典型电路介绍(或门)n74LS32第15页,本讲稿共32页典型电路介绍(38译码)n74LS138第16页,本讲稿共32页典型电路(74LS273)n8D触发器n上升沿有效n清0端第17页,本讲稿共32页第18页,本讲稿共32页nAB815P2nDBP0第19页,本讲稿共32页TE51实验板上8 LED实现n实现方式n地址计算n编程实现nunsignedcharxdata*ucpLed;第20页,
5、本讲稿共32页延时函数voiddelay()inti,j;for(i=0;i100;i+)for(j=0;j=8)i=0;第22页,本讲稿共32页串口实验nRS-232n波特率nKeil编程n超级终端第23页,本讲稿共32页串行通讯voidinit_com()TMOD=0 x20;TH1=0 xfd;TL1=0 xfd;TR1=1;SCON=0 x50;SM2=1;TI=1;voidmain()init_com();printf(“hello,worldn”);while(1);第24页,本讲稿共32页数码管工作原理n8段LEDq0 xc0,0 xf9,0 xa4,0 xb0,0 x99/0,
6、1,2,3,4q0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff;/5,6,7,8,9,offn扫描器件第25页,本讲稿共32页练习与作业n编写程序驱动TE51数码管n按键程序的编写,使8个按键分别对应8个LED(用汇编和C两种方式实现)n课题:温度采集系统的设计第26页,本讲稿共32页中断系统n系统有紧急事情的时候,处理器会先放下手中的事情,优先处理这个中断,处理完之后才回到以前的工作n中断优先级n中断嵌套n程序存储器结构第27页,本讲稿共32页外部中断n触发方式n边沿触发n电平触发n编程实验q启动(使能)中断q中断服务程序q汇编语言实现ORG0000HAJMPMAIN
7、ORG0003HAJMPINT00MAIN:SETBEX0SETBIT0SETBEAHERE:AJMPHEREINT00:CPLP14RETIEND第28页,本讲稿共32页外部中断(C语言实现)n中断函数的书写q初始化:中断使能qvoidint_0()interrupt0using0q中断号:n0外部中断0n1定时器0溢出n2外部中断1n3定时器1溢出n4串行口中断q关键字using0告诉编译器中断函数及其调用的函数将使用寄存器组0第29页,本讲稿共32页外部中断(C语言实现)#include“reg51.h”unsignedcharucLed=0 x55;voidint_0()interrupt0using0*(unsignedcharxdata*)0 x4000=ucLed;ucLed=ucLed;voidmain()EX0=1;/*INT0中断开*/IT0=1;/*下降沿触发*/EA=1;/*中断总开关*/while(1);第30页,本讲稿共32页练习及作业n利用定时器中断实现跑马灯n用中断方式实现串口收发第31页,本讲稿共32页预习n什么是uCos?nuCos的特点第32页,本讲稿共32页