点阵式液晶显示屏的显示程序设计 - 单片机毕业论文报告
更新时间:2023-10-15 09:43:01 阅读量: 综合文库 文档下载
(此文档为word格式,下载后您可任意编辑修改!)
J I A N G S U U N I V E R S I T Y 单片机原理及应用
课程设计
学院名称: 计算机科学与通信工程 专业班级: 通信1002 学生姓名: 马彩霞 指导教师姓名: 赵念强
2013年 1 月
点阵式液晶显示屏的显示程序设计
一、设计目的
1.熟练掌握C51系统仿真开发系统的应用。
2.加强单片机的综合运用能力、提高单片机的软件编程和调试能力,为以后的学习和开发工作打下良好基础。
3.掌握的液晶的工作原理以及应用设计。
4.掌握小系统开发设计的流程以及设计思路。
二、设计方案
实验要求:
1)从下到上左到右滚动显示:自己设计的图片
2)能进行正常的模拟量采样值显示(温度、压力、电位) 。 3)未按键时菜单要可以停下来
设计思路:
由于实验指导书中做过液晶显示和模数转换得实验,根据两个实验的功能实现和流程原理进行设计
将程序分成四个模块:
主函数模块main.c 模数转换模块ADC.c 液晶显示模块KS0108.c 按键调试模块Test7179.c
其中让主函数模块做一些初始化和函数调用工作,模数转换模块主要是将温度,压力,点位的值转化为数字量供液晶显示用,液晶显示模块得到模数转换模块传递过来的数字量显示到液晶面板上,按键调试模块是输入按键显示温度,电压,压力等。
程序流程图: 1系统主流程图如下
2主函数流程图
3 显示模块流程图 4 模数转换模块流程图
主要的源程序及注释
主函数:
#include \
8-bit data words SPI0CFG|=0xC0; CKPOL =1;
SPI0CN = 0x03; Master mode; SPI enabled; flags cleared
EEPROM spec.) }
unsigned char Count1ms; void Timer0_Init (void) {
CKCON|=0x8;
TMOD|=0x1; 16Bit Count1ms=10;
TR0 = 0; STOP Timer0
TH0 = (-SYSCLK1000) >> 8; set Timer0 to overflow in 1ms TL0 = -SYSCLK1000;
TR0 = 1; START Timer0 IE|= 0x2; }
void Timer0_ISR (void) interrupt 1 1ms {
TH0 = (-SYSCLK1000) >> 8; TL0 = -SYSCLK1000;
if (Count1ms) Count1ms--; }
void Delay1ms(unsigned char T) {
Count1ms=T;
while (Count1ms); }
void Delay1s(unsigned char T) {
while (T) {
Delay1ms(200); Delay1ms(200); Delay1ms(200); Delay1ms(200); Delay1ms(200); T--; } }
char GetKeyValue(void); void init_adc(void);
unsigned int GetADCValue(char No);
void TestLCD(void);
void DispLCD(char *DispBuf,char num); void InitLCD(void); 初始化ˉLCD void ShowWenDu(void);
void Test7279(bit LoopFlag) ; void main (void) {
unsigned int w; char No,i,buf[5]; No=1;
WDTCN = 0xde;
WDTCN = 0xad; 关看门狗 SYSCLK_Init (); 初始化时钟 Timer0_Init();初始化定时器
PORT_Init (); 初始化IO口 SPI0_Init (); 初始化SPI0 init_adc();
CPT1CN|=0x80; 使能比较器1
REF0CN = 0x07; 使能片内参考电压 DAC0CN |= 0x80; 使能DAC0 DAC0H=0; DAC0L=0; EA=1; 开中断 Test7279(0);
loop: Test7279(0) ;关闭数码关显示 TestLCD(); InitLCD(); No=0;
w = GetADCValue(1); for (;;) {
i=GetKeyValue(); if ((i>=0)&&(i<=3)) {
No=i;
switch(No) {
case 1:
ShowWenDu();break; case 2:
ShowDianYa();break; case 3:
ShowYaLi();break; case 0:goto loop;break; default:
break; } }
w = GetADCValue(No); Delay1ms(30);
switch(No) {
case 1:
buf[0]=(w000)1000; buf[1]=(w00)100; buf[2]=' ';
buf[3]=(w0)10; buf[4]=(w); DispLCD(buf,1); showdu(); break; case 2:
buf[0]=(w000)1000; buf[1]=(w00)100; buf[2]=' ';
buf[3]=(w0)10; buf[4]=(w); DispLCD(buf,2); showfu(); break; case 3:
buf[0]=(w000)1000; buf[1]=(w00)100; buf[2]=' ';
buf[3]=(w0)10; buf[4]=(w); DispLCD(buf,3); showniu(); break; default: break; }}}
模数转换
#include \ left-justified
REF0CN = 0x07; enable temp sensor, on-chip VREF, and VREF output buffer mux_select = MUX_TEMP; CPU on-chip temp sensor
正在阅读:
点阵式液晶显示屏的显示程序设计 - 单片机毕业论文报告10-15
说服家长的三个小技巧10-24
仪器分析思考题及答案10-05
劳动法复习笔记--学法网的08-11
生物中考 专题十 生物与环境12-25
幼儿园大班教师述职报告09-26
摆渡人读书笔记05-13
基于虚拟化的系统安全增强及显卡透传研究05-03
如何发面蒸包子01-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 点阵式
- 单片机
- 程序设计
- 毕业论文
- 显示屏
- 液晶
- 报告
- 显示
- 课堂评价语
- 汽车教练员岗位职责
- 财务会计学期末考试试卷及答案
- 山东省省管国有企业担保管理办法
- 从女大学生失联事件浅析中国国情1 - 图文
- 20151222宁波市集士港中一片(CX06)控制性详细规划(批后公布)要点 - 图文
- 认识时间、观察物体总复习教学设计
- 《电气试验工》(初级)题库
- 重庆市育才中学2019届高三物理下册第一次月考试题
- 礼义小学校教师绩效考核方案
- 夏厅长讲稿
- 氯乙烯操作规程
- 红楼梦41—50回自测答案版
- 水产冷冻储存项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案
- 实习证明(模板)
- 2017春《心理学》作业满分
- 护理教育学论文
- 社区护理学试题与答案本科
- 2010年上半年银行业从业人员资格考试公共基础真题&答案解析
- 用VHDL语言实现数字电子钟的设计(EDA课程设计报告 含源程序)