完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include "bubblesort.h"
#include "LCD12864.h" #include "delay.h" #define uchar unsigned char extern uchar xdata window[16]; extern uchar xdata Line_1[16] ; extern uchar xdata Line_2[16] ; extern uchar xdata Line_3[16] ; unsigned int bubblesort(table *tab) { uchar i,j,done; i=0; done=1; while(i<=tab->length&&done) //最多进行tab->length次冒泡,没发生交换结束 { done = 0; for(j=1;j if(tab->R[j+1].key > tab->R[j].key) { tab->R[0] = tab->R[j]; tab->R[j] = tab->R[j+1]; tab->R[j+1] = tab->R[0]; done = 1; } i++; } return tab->R[1].key*1000 + tab->R[1].value; } void insert(table *tab,keytype k,Vtype v) { uchar pos=MAXSIZE; //从最末尾插入值 tab->R[pos].key = k; tab->R[pos].value = v; tab->length = pos; } void main() { unsigned int Buffer[8]; unsigned char a; table *pTab,tab; pTab = &tab; insert(pTab,1,1); bubblesort(pTab); insert(pTab,2,234); bubblesort(pTab); insert(pTab,3,234); bubblesort(pTab); insert(pTab,3,235); bubblesort(pTab); Buffer[0] = pTab->R[1].key; Buffer[1] = pTab->R[1].value; Buffer[2] = pTab->R[2].key; Buffer[3] = pTab->R[2].value; Buffer[4] = pTab->R[3].key; Buffer[5] = pTab->R[3].value; Buffer[6] = pTab->R[4].key; Buffer[7] = pTab->R[4].value; Line_2[3] = Buffer[0] + 48; Line_2[5] = Buffer[2] + 48; LCD12864_init_char(); while(1) { LCD12864_Display_char(1,0,Line_2); } } 结构体是这样定义的 #define MAXSIZE 30 typedef unsigned char keytype;typedef unsigned int Vtype; typedef struct{ keytype key; //排序码 Vtype value; //对应值}xdata recordtype; typedef struct{ recordtype R[MAXSIZE+1]; unsigned int length;}xdata table; 软件上仿真看,数据是对的,可是用12864显示值不对。不知道哪里出了错,希望帮忙找下问题,不胜感激。
|
|
相关推荐
4个回答
|
|
|
硬件飘过 不懂程序
|
|
|
|
|
|
唉~在线等啊!!
|
|
|
|
|
|
冒泡部分是跟LCD无关的, LCD不过是显示传递给它的内容而已,所以你可以在调用LCD显示前,通过串口把你要显示的已冒泡的数组内容发送出来,或者直接硬件仿真看。冒泡结果对则说明是你本身LCD的函数有问题
|
|
|
|
|
|
好的,谢谢。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16899 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:30 , Processed in 0.927633 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5477