网站大量收购独家精品文档,联系QQ:2885784924

单片机基础与实践研讨.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机基础与实践研讨

* KEIL C51 程序设计 C51数据声明的一般格式: [类型说明符][修饰符] 标识符[=初值]…… 例如:unsigned char code Flag = 0x0f; 就是声明一个无符号的char型变量Flag,并给他赋初值为0x0f;并且声明他所在的存储空间在片内统一编址的ROM中。声明中,如果没有修饰符,则数据默认的存储空间为data型,也就是在片内RAM中。 * KEIL C51 程序设计 一般简单程序的结构 包含头文件 宏定义 公共变量 子函数 int function1( unsigned int x) { 变量定义 语句执行 } …… main() { …… } main() { 变量定义 初始化寄存器 do { …… } while(1) } 复杂一些的程序? * + - * / (加 减 乘 除) = = (大于 大于等于 小于 小于等于) == != (测试等于 测试不等于) || ! (逻辑与 逻辑或 逻辑非 ) (位右移 位左移) | (按位与 按位或) ^ ~ (按位异或 按位取反) C-51的运算符与基本语句 if 选择语句 switch/case 多分支选择语句 while 循环语句 do-while 循环语句 for 循环语句 KEIL C51 程序设计 * 最简系统与演示程序 * 示例-行列式键盘接口 # include reg51.h # define uchar unsigned char # define uint unsigned int void dlms( void ); uchar kbscan( void ); void main ( void ) { uchar key ; while(1) { key =kbscan ( ) ; dlms( ) ; } } void dlms( void ) { uchar i ; for ( i=200; i0; i- -) { } } * uchar kbscan ( void ) /* 键扫描函数 */ { uchar scode, recode; P1=oxf0 ; if ( ( P1 0xf0 ) ! =0xf0 ) /* 若有键按下 */ { dlms ( ) ; /* 延时去抖动 */ if (( P1 0xf0 )! = 0xf0 ) { scode =0xfe ; /* 逐行扫描初值 */ while (( scode 0x10 ) !=0 ) { P1=scode ; /* 输出扫描码 */ if (( P1 0xf0 )! =0xf0 ) /* 本行有键按下 */ { recode= ( P1 0xf0 ) | 0x0f ; return (( ~scode ) + (~ recode ) ) ; /* 返回特征字节码 */ }

文档评论(0)

yy558933 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档