一、LED模块
1.LED底层代码
1 | void Led_Disp(unsigned char addr, enable) |
2.基本调用方式
1 | ucLED[n]=x; |
二、按键模块
1.按键底层代码
1 | unsigned char Key_Read() |
2.基本调用方式
1 | switch(Key_Down)//下降沿 |
2.3 模式切换
第十届省赛真题
第十二届省赛真题
2.4 参数设置
第九届省赛真题
第八届省赛真题
2.5 参数保存
第五届省赛真题
第十一届省赛真题
2.6 特定使能
第十一届省赛真题
2.7 长按跳转 松手返回
第八届省赛真题
2.8 键盘输入
模拟训练二
2.9 长按短按 效果不同
三、数码管模块
1.数码管底层代码
1 | unsigned char seg_dula[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; |
2.基本调用方式
1 | Seg_Buf[X] = Y; |
3.3 显示整数变量
第十二届省赛真题
3.4 显示小数点变量
第十二届省赛真题
3.5 不同状态显示不同内容
第十二届省赛真题
3.6 高位熄灭
第十届省赛真题
3.7 选中单元闪烁
第八届省赛真题
四、继电器蜂鸣器
1.底层代码
1 | static unsigned char temp_1 = 0x00; |
…
NE555
绑定定时器0,应采用计数器模式
#超声波
1.超声波底层代码
1 | void Delay12us() //@12.000MHz |
2.PCA写法
1 | unsigned char Ut_Wave_Data() //超声波距离读取函数 |
#串口
1.串口底层
1 | /* 串口初始化函数 */ |
**2. **串口接收数据
模拟题
**3. **串口发送数据
模拟题
- 内存溢出:idata/xdata/data/code
第三部分 大模板
一、头文件声明区域
1 | /* 头文件声明区 */ |
二、变量声明区域
1 | /* 变量声明区 */ |
三、按键处理函数
1 | /* 键盘处理函数 */ |
四、信息处理函数
1 | /* 信息处理函数 */ |
五、其他显示函数
1 | /* 其他显示函数 */ |
六、串口处理函数
1 | /* 串口处理函数 */ |
七、定时器初始化函数
1 | /* 定时器0中断初始化函数 */ |
八、中断服务函数
1 | /* 定时器0中断服务函数 */ |
九、串口服务函数
1 | /* 串口1中断服务函数 */ |
十、主函数
1 | /* Main */ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Turin's Blog!