📄 display.lst
字号:
1: #include <pic.h>
2: #include "total.h"
3:
4: const unsigned char number_handle[16] = {0xAF,0x03,0x9D,0x97,0x33,0xB6,0xBE, //数字的字模
5: 0x83,0xBF,0xB7,0xBB,0x3E,0xAC,0x1F,0x00,0x10};
6:
7: /************************************************************************************************
8: * 函数名称: void SelectDisplay273(void)
9: * 功能: 选通控制显示数据输出的74HC273
10: * 入口参数: 无
11: * 出口参数: 无
12: * 全局变量: PORTE_DisplayOut
13: * 调用模块: 无
14: * 设计者: 饶阳胜
15: * 日期: 05/2/28
16: ************************************************************************************************/
17: void SelectDisplay273(void) //选通273,让数据送到595中。
18: {
19: asm("nop");
20: ENABLE_DISPLAY = false; //RE1为显示数据输出273的选通脚
21: asm("nop");
22: ENABLE_DISPLAY = true;
23: asm("nop");
24: }
25:
26: /************************************************************************************************
27: * 函数名称: void display(unsigned char *ptr)
28: * 功能: 数据显示
29: * 入口参数: *ptr 指向要显示的数据的指针
30: * 出口参数: 无
31: * 全局变量: PORTD_SerIn,PORTD_Srck,PORTD_Rck,NumberHandle[]
32: * 调用模块: void SelectDisplay273 选通显示数据输出芯片74HC273
33: * 设计者: 饶阳胜
34: * 日期: 05/2/28
35: ************************************************************************************************/
36: void Display(unsigned char *ptr)
37: {
38: unsigned char i; //显示的位数变量(外环)
39: unsigned char j; //数据位变量(内环)
40: unsigned char DisplayTemp; //临时数据变量
41: static bit NumberSelect; //当前要显示的高位还是低位数字
42:
43: NumberSelect = false; //初始化为显示高位
44:
45: for (i = 0; i < 8; i++){
46: if(NumberSelect == false){
47: DisplayTemp = number_handle[*ptr >> 4]; //得到要显示数字的字模值
48: NumberSelect = true; //更新高低位标志
49: }
50: else{
51: DisplayTemp = number_handle[(*ptr++) & 0x0F]; //得到要显示数字的字模值
52: NumberSelect = false; //更新高低位标志
53: }
54: for (j = 0; j < 8; j++){
55: SER_IN = DisplayTemp >> (7 - j); //得到当前要输出的数据位状态
56: SelectDisplay273(); //选通数据位输出
57: SRCK = false; //串行时钟拉低
58: SelectDisplay273(); //选通串行时钟输出
59: SRCK = true; //串行时钟拉高
60: SelectDisplay273(); //选通串行时钟输出
61: }
62: }
63: RCK = false; //并行时钟拉低
64: SelectDisplay273(); //选通并行时钟输出
65: RCK = true; //并行时钟拉高
66: SelectDisplay273(); //选通并行时钟输出
67: }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -