第10章C51应用实训.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
//-----主程序----- void main() { init8279(); //8279初始化 while(1) ; //程序停止在后面 } 思考题: 如果将上面的程序改成左端输入,则段码的顺序应该如何送? 跟据上面的程序进行改写成显示“―― 8279――” 如果在送段码的位置后面加delay()后会出现什么结果,请验证 如果将C8279=0x90;这条语句改为0x80后,程序的执行效果是什么样? 编写程序,实现9~0的倒计时程序,要求数字固定显示在第3个数码管上。 实验2、8279键盘显示实验 实验内容:在七段数码管上显示“8279. -- ”,按实验箱上的0~F键在,数码管“-”的位置上显示按上的键值 实验参考程序: //---8279键盘显示实验--- //-----头文件引用------ #includereg51.h #includeabsacc.h //-----宏声明----- #define D8279 XBYTE[0x8700] //8279 数据口地址 #define C8279 XBYTE[0x8701] //8279 状态/命令口地址 #define uchar unsigned char #define uint unsigned int //-----变量定义----- uchar code ledseg[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5E,0x79,0x71};//LED显示常数表 //-----延时子程序----- void delay() { uint k,j; for(k=0;k100;k++) { for(j=0;j500;j++); } } //----8279初始化子程序----- void init8279() { C8279=10; //置8279工作方式 C8279=0x38; //置键盘扫描速率 C8279=0xd1; //清除 LED 显示 delay(); C8279=0x90; D8279=0x40; //显示8279. -- D8279=0x40; D8279=0x00; D8279=0x00; D8279=0xef; D8279=0x27; D8279=0x5b; D8279=0x7f; } //-----主程序----- void main() { init8279(); //8279初始化 while(1) { uchar key; while((C82790x0f)==0x00); //无键按下,等待 C8279=0x40; //读FIFO RAM命令 key=D8279; key=(key0x3f); //取键盘数据低6位 C8279=0x80; //置显示位置 D8279=ledseg[key]; //显示 } } 全速运行程序后,屏幕上显示“8279 ――”字样,并在最后一个“-”位置显示所按下按键的值 思考题: 修改程序,使按键按下后显示在第一个“-”的位置,如何进行修改 修改程序,按一下键盘上的“A”键,然后清屏,并做9~0的倒计时 培训14 A/D、D/A实验 实验1:A/D转换实验 利用实验板上的ADC0809做A/D转换器,利用实验板上的电位器W1提供模拟量输入。编制程序,将模拟量转换成二进制数字量,用发光二极管显示。 ADC0809是八位逐次逼近法A/D转换器,每采集一次一般需100us。中断方式下,A/D转换结束后会自动产生EOC信号,经一级74LS14反相后与8051的INT0相接。 本示例程序采取了中断处理来正确读取A/D转换的结果。用户也可以用延时来保证A/D转换完成。读取结果由P1口送至八位发光二极管显示。 实验电路如图10-11所示: 图10-11 ADC0809与单色灯模块 示例程序: //---A/D转换--- //-----头文件引用------ #include Reg51.h #include absacc.h //-----宏声明----- #define A_DPORT XBYTE[0x8000]//0809通道0地址 #define uchar unsigned char //-----变量定义----- bit bdata bz=0;//定义标志 uchar val; //-----初始化----- void first(void) { IT0=1;

文档评论(0)

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

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

1亿VIP精品文档

相关文档