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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

自定义MacroWord格式文档下载.docx

1、 / 和上面的参数一起混的,犯规-这两个的用法在后面体现#define READY 0x7e 自定义数据类型typedef unsigned char Byte; / 一个字节typedef unsigned int Word; / 一个字,两个字节typedef bit Bool; / 模仿布尔型变量/typedef sbit Port; / 本想用自定义一个端口类型的变量,比较方便,但是这句话步知道为何通不过编译 定义MAX7219寄存器#define REG_NO_OP 0x00 / 定义空操作 register#define DIG_1 0x01 / 定义数码管1 register#d

2、efine DIG_2 0x02 / 定义数码管2 register#define DIG_3 0x03 / 定义数码管3 register#define DIG_4 0x04 / 定义数码管4 register#define DIG_5 0x05 / 定义数码管5 register#define DIG_6 0x06 / 定义数码管6 register#define DIG_7 0x07 / 定义数码管7 register#define DIG_8 0x08 / 定义数码管8 register#define REG_DECODE 0x09 / 定义解码控制 register#define R

3、EG_INTENSITY 0x0a / 定义显示亮度 register#define REG_SCAN_LIMIT 0x0b / 定义扫描限制 register#define REG_SHUTDOWN 0x0c / 定义shutdown模式 register#define REG_DISPLAY_TEST 0x0f / 定义display test#define INTENSITY_MIN 0x00 / 定义最低显示亮度#define INTENSITY_MAX 0x0f / 定义最高显示亮度/* 定义硬件引脚连接*/sbit DATA=P20; / MAX7219的数据口sbit LOAD=

4、P21; / MAX7219的锁存端口sbit CLK=P22; / MAX7219的时钟端口/sbit HOST_SWITCH=P00; / 主持人开关的接口sbit HOST_START=P00; /主持人按键,用来重新开始的按键 startsbit HOST_CANCEL=P01; /主持人用来取消抢答的按键 clearsbit SWITCH1_3=P14; / 调节倒计时时间的拨码开关,下划线前面的号代表开关的序号,下划线后面的号代表该开关的数值sbit SWITCH2_2=P15; / 同上sbit SWITCH3_2=P16;sbit SWITCH4_1=P17;sbit BEEP

5、=P07; /定义蜂鸣器端口sbit LS138_C=P24; /定义译码器输入端sbit LS138_B=P25; /同上 sbit LS138_A=P26; /同上sbit LS138_E1=P27; /定义译码器使能端 定义全局变量Byte data intrCounter; / 计时器中断次数Byte data beginNum; / 开始倒计时的时间Byte data counterBack; / 将中断次数放在里面以备后用Byte data showNum; / 数码管正在显示的时间Bool data isStart; / 是否开始抢答 Bool data isFoul; / 是否

6、犯规Bool data isPressed; / 是否有抢答的键按下Byte data number_temp; / 用来记录P1口上次状态的一个变量code unsigned char C51BOX23 _at_ 0x43;/* 共阴极七段数码管显示对应段查询表(数字0-9分别对应code_table0-9)*/Byte code code_table_zheng10=0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b;Byte code code_table10=0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,

7、0x00,0x04; 函数声明void MAX7219_SendByte (Byte dataout);void MAX7219_Write (Byte reg_number, Byte dataout);void MAX7219_DisplayChar(Byte digit, Byte character);void MAX7219_Clear (void);void MAX7219_SetBrightness (Byte brightness);void MAX7219_DisplayTestStart (void);void MAX7219_DisplayTestStop (void);

8、void MAX7219_ShutdownStart (void);void MAX7219_ShutdownStop (void);void MAX7219_Init (void);void Delay10ms(void);Bool GetHostStartKey (void);Bool GetHostCancelKey (void);void GetCounter(void);Byte GetPressed(Byte KeyState);void IT0_Init(void);void Timer0_Overflow();void PressedHandle(Byte keyPressed

9、);void GetOrFoulHandle(Bool state);void CancelHandle();void SPEAKER_count (void); /声明倒计时声音函数void SPEAKER_start(void); /声明开始抢答声音函数void SPEAKER_get(void); /声明抢到声音函数void SPEAKER_foul(void); / 声明犯规声音函数* MAX7219_SendByte()* 描述: 向MAX7219传送一个字节的数据* Arguments : dataout = data to send* Returns : none*/void M

10、AX7219_SendByte (Byte dataout)Byte i;for (i=8;i0;i-) Byte mask=1(i-1);/mask是个掩码,取位使用 CLK=0;/MAX7219的位传入是在时钟的上升沿之前,所以在每发一位之前都要变为低电平 if (dataout&mask) DATA=1; else DATA=0; CLK=1;/八个bit都传递完成后变为高电平,锁存* MAX7219_Write() 向 MAX7219 写命令 reg_number = register to write to* dataout = data to write to MAX7219未完

11、*/void MAX7219_Write (Byte reg_number, Byte dataout) LOAD=0;/也是锁存上升沿之前的,发这两个字节之前要变为低电平 MAX7219_SendByte(reg_number);/发送寄存器地址 MAX7219_SendByte(dataout);/发送数据 LOAD=1;/变为高电平,锁存/* MAX7219_DisplayChar() 使某一位显示一个数字 digit = digit number (0-7)* character = character to display (0-9, A-Z)*/void MAX7219_Displ

12、ayChar(Byte digit, Byte character) MAX7219_Write(digit, character);* MAX7219_Clear() 清除所有位的显示void MAX7219_Clear (void) Byte i; for (i=1; ij-);* GetHostStartKey() 取得主持人开始按键的键值 1-主持人按键; 0-主持人未按键Bool GetHostStartKey (void)if (HOST_START =1) return 0;else Delay10ms ();/如果发现主持人按键接通,要先延时100us,防止抖动if (HOST_START=1)else return 1;/延时时候还是接通,则判断为该键确实按下 * GetHostCancelKey() 取得主持人取消按键的键值Bool GetHostCancelKey (void)if (HOST_CANCEL =1)* GetCounter* Descriptio

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

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