ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:26.77KB ,
资源ID:16687805      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16687805.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机部分程序单片机的C语言应用程序设计Word文件下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机部分程序单片机的C语言应用程序设计Word文件下载.docx

1、sbit ad_busy=P33; /AD转换结束标志void ad0809(unsigned char *x); /AD转换函数,变量x为AD转换结果的指针unsigned char ADC0809(unsigned int nADAddrBase,unsigned char chChannel);main() unsigned int data i; static unsigned char data ad8;/ ad0809(ad); for(i=0;i8;i+) adi=ADC0809(0x7FF8,i); void ad0809(unsigned char *x) unsigned

2、char i,j;/ unsigned char adstate; unsigned char xdata *ad_adr; /指向外部存储空间的指针 ad_adr= IN0; /获得AD转换通道0的地址 *ad_adr =0; /启动AD转换 for(j=0;j2;j+); /延时,EOC在AD转换启动后10us行变成低电平 / while(adstate=P3&0x08)=0x00); /等待AD转换结束 while(ad_busy=0); /等待AD转换结束,AD转换结束后EOC变高电平 *x=*ad_adr; ad_adr+; x+;/返回值为无符号字符型,变量分别为AD转换器的基地址

3、,AD转换器的模拟通道unsigned char ADC0809(unsigned int nADAddrBase,unsigned char chChannel) unsigned char i,chADResult; unsigned char xdata *pADChannel; pADChannel=nADAddrBase+chChannel; *pADChannel=chChannel;i+); while(ad_busy=0); chADResult=*pADChannel; /读AD转换结果 return(chADResult);AD574 /绝对地址访问头文件,外部扩展接口时加

4、入此头文件#define ADCOM XBYTE0xFF7C /A0=0,R/C=0, CS=0;#define ADLO XBYTE0xFF7F /A0=1,R/C=1, CS=0;#define ADHI XBYTE0xFF7D /A0=0,R/C=1, CS=0;sbit bRead=P37; /读信号sbit bWrite=P36; /写信号sbit bADBusy=P10; /AD转换完成信号unsigned int AD574(); /AD转换程序 unsigned int nResult; nResult=AD574(); unsigned int AD574() bRead=0

5、; /使CE=1; bWrite=0; ADCOM=0; /启支动AD转换 while(bADBusy=1); return(unsigned int)(ADHI0;i-)DAC0832_P218_10_5/用8051单片机和0832数模转换器产生梯形波。梯形波的斜边采用步幅为1的线性波,幅度为00H80H,/水平部分靠调用延迟程序来维持。写出梯形波产生的程序。void TiXingBo(unsigned int chDelay,unsigned char chVol); TiXingBo(50,200);void TiXingBo(unsigned int chDelay,unsigned

6、char chVol)HD7279键盘显示控制程序/*/#define CMD_RESET 0xa4 /复位命令#define CMD_TEST 0xbf /测试命令#define DECODE0 0x80 /译码方式0#define DECODE1 0xc8 /译码方式1#define CMD_READ 0x15 /读键盘命令#define UNDECODE 0x90 /非译码方式#define RTL_CYCLE 0xa3 /循环左移#define RTR_CYCLE 0xa2 /循环右移#define RTL_UNCYL 0xa1 /左移#define RTR_UNCYL 0xa0 /右

7、移#define ACTCTL 0x98 /消隐控制#define SEGON 0xe0 /段点亮#define SEGOFF 0xc0 /段关闭#define BLINKCTL 0x88 /闪烁控制/* *void init(); /初始化程序void keyint(); /键盘中断服务程序void long_delay(void); /长延时程序void short_delay(void); /短延时程序void write7279(unsigned char cmd, unsigned char dta); / 往HD7279A中写命令unsigned char read7279(uns

8、igned char command); / 从HD7279A中读键值void send_byte(unsigned char out_byte); /往HD7279A中写入一个字节unsigned char receive_byte(void); /从HD7279A中读出一个字节void display(); /显示程序 /* I/O *sbit cs=P11; /片选信号接P1.1sbit clk=P12; /CLK信号接P1.2sbit dat=P10; /DATA信号接P1.0sbit key=P32; /键盘中断信号接P3.2/* HD7279A *unsigned char chK

9、ey; /键盘返回值bit bNewKey; /有新键值标志位。unsigned char dispdata6=7,8,0,0,0,0; /要显示的数据,六位void dispcode(unsigned char chData); /形成显示代码/主程序实验功能是按下一个键,显示出相应的键。 bit bt; bt=dat; init(); bNewKey=0; display(); if(bNewKey) /是否有新键按下 for(i=0;6;i+) /如果有则在显示器中显示出键值 dispdatai=chKey; display(); /显示 bNewKey=0; /清有新键按下标志 voi

10、d init() PX0=0; /*外部中断0优先级*/ IT0=0; /*外部中断0,低电平触发*/ IE0=0; /*外部中断0中断申请标志位*/ EX0=1; /*允许外部中断0*/ EA=1; send_byte(CMD_RESET); /HD7279A复位/按照实验箱的接法,接一个3*4小键盘,它们的键值分别是:/1:0x04;2:0x05;3:0x06;4:0x0c;5:0x0d;6:0x0e;7:0x14;8:0x15;9:0x0x16;*:0x1c;0:0x1d;#:0x1evoid keyint() interrupt 0 using 1 unsigned char temp

11、; temp=read7279(0x15);/读出键值 switch(temp) case 0x04: chKey=1; break; case 0x05: chKey=2; break; case 0x06: chKey=3; case 0x0c: chKey=4; case 0x0d: chKey=5; case 0x0e: chKey=6; case 0x14: chKey=7; case 0x15: chKey=8; case 0x16: chKey=9; case 0x1d: chKey=0; case 0x1c: chKey=10; case 0x1e: chKey=11; bNe

12、wKey=1; /表示有新的键按下/显示程序void display() unsigned char j;j+) write7279(0x80+j),dispdataj);/把显示数据输出/往HD7279A中写入一个字节.void send_byte( unsigned char out_byte) / EA=0; clk=0; /CLK变低电平 long_delay(); for (i=0; if (out_byte&0x80) /得到要输出的数据位,高位在先 dat=1; dat=0; clk=1; /CLK变高电平,这一位写入HD7279A寄存器 short_delay(); /延时 /CLK变低,为下一次写入数据作准备 out_byte=out_by

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1