书签 分享 收藏 举报 版权申诉 / 101
上传文档赚钱

类型单片机高级语言C51程序设计课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3346603
  • 上传时间:2022-08-22
  • 格式:PPT
  • 页数:101
  • 大小:7.54MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《单片机高级语言C51程序设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 高级 语言 C51 程序设计 课件
    资源描述:

    1、单片机高级语言C51程序设计1单片机高级语言C51程序设计2一.C51语言的特点及其程序结构 1.C51特点 2.C51程序结构二.C51语言的标识符和关键字 1.C51扩展的标识符 2.C51扩展的关键字三.C51的数据类型及运算符 1.基本数据类型的长度 2.C51语言的扩展 3.特殊功能寄存器的数据类型 4.DATA存储类型 5.BDATA存储类型 6.IDATA 存储类型 7.PDATA和XDATA 存储类型 8.PDATA和XDATA 比较单片机高级语言C51程序设计3 9.CODE存储类型 10.存储模式 11.指针 11.1.通用指针 11.2.存储器指针 11.3.存储器指针和

    2、通用指针的比较四.编译预处理命令 1.C51的STDIO.H 2.C51的REG51.H(1)五.C51语言的程序流程控制 1.IF语句 2.SWITCH CASE语句 3.While和 do while 循环语句 4.For 循环语句单片机高级语言C51程序设计4六.函数 1.函数格式 2.重入函数 3.中断服务函数七.C51程序设计举例 1.例1-求数学式 2.例2-简单控制 3.例3-延时 4.例4-使用定时器0定时-查询方式 5.例5-使用定时器0定时-中断方式 6.例6-利用定时器1计数 7.C51开发环境 7.1.伟福模拟软件 7.2.uVision3集成开发环境 7.3.C51编

    3、译练习程序TEXT.C单片机高级语言C51程序设计5八.C51的应用 1.8051串行口扩展LED显示器接口与应用 2.DAC转换的接口与应用 3.ADC0809应用举例九.课本例题简介 1.例8-2 2.例8-5 3.例8-7 4.例8-8十.加一减一综合实践C51程序设计单片机高级语言C51程序设计6单片机高级语言C51程序设计7单片机高级语言C51程序设计8单片机高级语言C51程序设计9char data a,b,c,d;main()a=2;b=a;等效b=(a)c=a+b;等效c=(a+b)C51程序经WAVE6000编译后,点窗口-CPU窗口产生的界面:a/08Hb/09Hc/0AH

    4、变量a,b,c分别对应于内部数据存储器地址08H,09H,0AH.单片机高级语言C51程序设计10单片机高级语言C51程序设计11单片机高级语言C51程序设计12单片机高级语言C51程序设计13单片机高级语言C51程序设计14单片机高级语言C51程序设计15单片机高级语言C51程序设计16单片机高级语言C51程序设计17单片机高级语言C51程序设计18单片机高级语言C51程序设计19单片机高级语言C51程序设计20单片机高级语言C51程序设计21单片机高级语言C51程序设计22单片机高级语言C51程序设计23单片机高级语言C51程序设计24单片机高级语言C51程序设计25单片机高级语言C51程

    5、序设计26单片机高级语言C51程序设计271.绝对宏#include /加进包含文件#define ADC0809 XBYTE0X7FF8 /定义一个绝对地址rval=CBYTE0X006;/对一个绝对地址(字节)进行读rval=XWORD0X002;/对一个绝对地址(字)进行读DBYTE0X0002=5;/对一个绝对地址(字节)进行写PWORD0X002=57;/对一个绝对地址(字)进行写单片机高级语言C51程序设计282._at_关键字char xdata ADC0809;/定义一个变量ADC0809_at_0 xFFF8;/将某变量固定在某地址上单片机高级语言C51程序设计29单片机高级

    6、语言C51程序设计30单片机高级语言C51程序设计31单片机高级语言C51程序设计32单片机高级语言C51程序设计33单片机高级语言C51程序设计34单片机高级语言C51程序设计35单片机高级语言C51程序设计36单片机高级语言C51程序设计37单片机高级语言C51程序设计38单片机高级语言C51程序设计39单片机高级语言C51程序设计40单片机高级语言C51程序设计41单片机高级语言C51程序设计42单片机高级语言C51程序设计43单片机高级语言C51程序设计44单片机高级语言C51程序设计45格式:Alien 返回类型 函数名(参数表)编译属性重入属性中断属性寄存器组属性 Alien-用A

    7、lien,指示该函数按PL/M51函数的方式进行参数传递;缺省按C51方式进行。返回类型-增加了bit型,缺省,函数返回int(不是void)。函数名-大小写敏感,最多256字符。一般使用字母、数字、下划线,但数字不能打头。参数表-最多32个参数。编译属性-small、compact、large三种。重入属性-用reertrant说明该函数按可重入函数进行处理,缺省则说明该函数为不可重入函数。中断属性-用“interrupt 中断编号”说明该函数是中断函数,缺省则说明该函数为非中断函数。寄存器组属性-用“using 工作寄存器组编号“说明所用的寄存器组号,缺省则说明使用寄存器组0。单片机高级语

    8、言C51程序设计46单片机高级语言C51程序设计47单片机高级语言C51程序设计481.例1-求数学式单片机高级语言C51程序设计49 void main()delay(10);单片机高级语言C51程序设计50单片机高级语言C51程序设计51单片机高级语言C51程序设计52单片机高级语言C51程序设计53单片机高级语言C51程序设计54单片机高级语言C51程序设计55单片机高级语言C51程序设计56 运行WAVE6000软件(要先装KEIL编译器);新建一.C源程序并保存;新建一项目(文件-新建项目),然后自动分三步进行:A)、加入模块文件。选择.C文件再打开。B)、加入包含文件。如果没有包含

    9、文件(源程序#INCLUDE所包含的所有文件)。C)、保存项目。在打开的窗口中输入项目名称(名称可自定,扩展名.PRJ可不加,软件会自动添加)。编译调试。(其它的设置同汇编程序)单片机高级语言C51程序设计577.2.uVision3集成开发环境集成开发环境单片机高级语言C51程序设计58uVision3集成开发环境操作步骤集成开发环境操作步骤 运行KEIL 51软件;新建一.C的源程序并保存;新建一项目(文件-新建-新建过程),接着选择所要的单片机(如AT89C51);然后加入一.C的源程序(如右图);单片机高级语言C51程序设计59 做必要的设置,编译后生成.HEX文件(如右图,下方图中应

    10、选中产生.HEX文件);编译调试。单片机高级语言C51程序设计60单片机高级语言C51程序设计61单片机高级语言C51程序设计62单片机高级语言C51程序设计63org 0000hstart:mov p1,#00hmov p0,#0ffhstl:jb p0.0,$jnb p0.0,$cpl p1.0 sjmp stl end单片机高级语言C51程序设计64#include sbit P00=P00;sbit P10=P10;void delay(unsigned char n)unsigned char i,j;for(i=0;in;i+)for(j=0;j125;j+);void main(

    11、)P1=0X00;while(1)if(P00=0)delay(10);if(P00=0)while(!P00);P10=!P10;单片机高级语言C51程序设计65单片机高级语言C51程序设计66单片机高级语言C51程序设计67单片机高级语言C51程序设计68单片机高级语言C51程序设计69单片机高级语言C51程序设计70单片机高级语言C51程序设计71单片机高级语言C51程序设计72单片机高级语言C51程序设计73单片机高级语言C51程序设计74#include#include#define ADC0809 XBYTE0X7FF8/char xdata ADC0809;ADC0809_at_

    12、0 xFFF8;/要分两句写unsigned char code buf16=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E;unsigned char data temp,wei1,wei2;sbit P34=P34;sbit P35=P35;sbit P25=P25;sbit P26=P26;单片机高级语言C51程序设计75void delay(unsigned char n)unsigned char i,j;for(i=0;in;i+)for(

    13、j=0;j4;P1=bufwei1;P35=1;delay(2);P35=0;P1=bufwei2;P34=1;delay(2);P34=0;单片机高级语言C51程序设计76void main()TH1=255;TL1=31;TMOD=0X00;ET1=1;EA=1;TR1=1;while(1)ADC0809=0;/XBYTE0X7FF8=0;/可用 while(P25=0);while(P25=1);temp=ADC0809;/temp=XBYTE0X7FF8;/可用 display();单片机高级语言C51程序设计77void t11()interrupt 3TH1=255;TL1=31;

    14、P26=!P26;单片机高级语言C51程序设计78地址有锁存单片机高级语言C51程序设计79单片机高级语言C51程序设计80单片机高级语言C51程序设计81单片机高级语言C51程序设计82单片机高级语言C51程序设计83单片机高级语言C51程序设计84单片机高级语言C51程序设计85单片机高级语言C51程序设计86按课本图7-14输出正弦波单片机高级语言C51程序设计87单片机高级语言C51程序设计88单片机高级语言C51程序设计89单片机高级语言C51程序设计90单片机高级语言C51程序设计91单片机高级语言C51程序设计92 用如下的电路图,实现:按“加一”按钮显示加“1”,按“加二”按钮

    15、显示加“2”,按“减一”按钮显示减“1”,按“减二”按钮显示减“2”;计数的最大值为19,最小值为0;按“清0”按钮显示“0”(清0)。单片机高级语言C51程序设计93单片机高级语言C51程序设计94#includereg51.h/头文件#includemath.h/头文件unsigned char code disp_code10=0 x3F,/0 0 x06,/1 0 x5B,/2 0 x4F,/3 0 x66,/4 0 x6D,/5 0 x7D,/6 0 x07,/7 0 x7F,/8 0 x6F,/9;单片机高级语言C51程序设计95/定义sbitP20=P20;sbitP21=P21

    16、;sbitP22=P22;sbitP23=P23;sbitP36=P36;unsigned int count;/定义计数变量void delay(unsigned char n)/延时子程序unsigned char i,j;for(i=0;in;i+)for(j=0;i125;i+);单片机高级语言C51程序设计96void initial()/初始化程序EA=1;EX0=1;EX1=1;IT1=1;/选择INT1为脉冲触发方式 IT0=1;TMOD=0 x66;/T1模式2,自动重装TH1=TL1=TH0=TL0=0 xff;/计数一次中断ET1=ET0=1;TR1=TR0=1;单片机高

    17、级语言C51程序设计97display()/显示子程序 unsigned int temp;unsigned char disp_c4,i;temp=count;for(i=0;i=19)count=0;else count+;void count_interrupt1()interrupt 1 /T0中断子程序if(count=19)count=0;else count=count+2;单片机高级语言C51程序设计100void count_interrupt2()interrupt 2 /外部中断1子程序if(count=1)count=0;else count-;void count_interrupt3()interrupt 3 /T1中断子程序if(count=1)count=0;else count=count-2;单片机高级语言C51程序设计101main()/主程序initial();while(1)q0();/调用清0子程序display();/循环显示

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机高级语言C51程序设计课件.ppt
    链接地址:https://www.163wenku.com/p-3346603.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库